新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于DSP/BIOS的數字電視傳輸流網絡采集系統設計

        基于DSP/BIOS的數字電視傳輸流網絡采集系統設計

        作者: 時間:2010-05-12 來源:網絡 收藏


        軟件

        的軟件主要是通過TCP/IP開發包NDK來實現的。該開發包支持TCP/IP協議,并占用較少的資源。NDK僅用200kB~250kB的程序空間和95kB的數據空間即可支持常規的TCP/IP服務。所以,NDK很適合目前嵌入式系統的硬件環境,是實現開發的重要工具。

        系統軟件的框圖如圖4所示。



        圖4 軟件系統圖

        具體流程:系統配置主要在初始化函數中完成,此初始化函數將在.cinit初始化后,并在/初始化和main函數之前調用。系統配置需要開啟INT8中斷,也就是EDMA中斷,并設置GPIO7引腳為高電平,從而使PLD模塊始終處于初始狀態。TCP/IP協議配置在任務線程中完成,主要實現服務器IP地址和網關的配置。當其完成后,系統就會觸發一個軟件中斷,在軟件中斷程序中,服務器會產生一個用于偵聽的端口,并開始偵聽上的請求。此時,服務器已經處于待命狀態,等待客戶機的請求。

        當客戶機的請求到來時,系統首先會使GPIO7引腳變為低電平,PLD模塊開始發送數據。當其接收到一個完整的傳輸流數據包后,就會發一個中斷給,DSP啟動EDMA,用ping-pong的方式接收數據進入特定的存儲器,當接收完一個完整的傳輸流數據包后,會產生硬件EDMA中斷,中斷程序主要是設置特定的標志位為1,然后退出硬件中斷,重新回到軟件中斷程序。當軟件中斷程序檢測到特定的標志位為1時,就會開始傳輸在存儲器中的傳輸流數據包給客戶機。當一個數據包傳輸完畢后,特定的標志會被置0,系統等待下一個數據包的到來。

        當客戶機要求停止傳輸的請求到來時,系統會重新使GPIO引腳變為高電平,PLD模塊回到初試狀態。此時,系統也會處于待命狀態,繼續偵聽網絡。

        系統初始化

        初始化配置主要包括EMIF總線配置、中斷配置和底層網絡配置3個部分。初始化工作首先在DSP/的全局參數配置窗口進行設置,然后調用初始化函數進行配置。

        在DSP/的全局配置窗口主要設置了DSP的工作時鐘頻率為600MHz,選擇使用的片級支持庫CSL為DM643的庫,選用小端訪問模式,片內256kB的SRAM全部用于Cache,并調用初始化函數dm643_init()。

        TCP/IP協議配置

        初始化程序dm643_init()完成后,系統將進入各個線程。首先,系統會觸發任務線程TSK0,在TSK0任務線程中執行函數StackTest(),其首先調用NC-SystemOpen()函數,完成協議棧及其所需內存的初始化,然后新建一個系統配置句柄hCfg = CfgNew();,并實現服務器IP地址和網關的配置。在本系統中,IP地址配置為192.168.0.2;子網掩碼為255.255.255.0;網關地址為192.168.0.1。配置好之后,系統會觸發一個軟件中斷,并做好偵聽網絡的準備。

        網絡偵聽

        前面在任務線程中已經配置了IP地址和網關,下面就要在軟件中斷中設置端口并進行偵聽。首先,在開始使用報路之前,必須分配一個文件環境fdOpenSession( TaskSelf() )給這個報路。接著就可以創建一個報路對象stcp = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP),并設置端口sin1.sin_port = htons(1000),在這里設置端口號為1000,當然也可以設置其他的端口號。然后把端口號與報路對象綁定bind( stcp, (PSA) sin1, sizeof(sin1)。最后進入偵聽狀態listen( stcp, 1)。

        數據的接收

        當客戶端要求傳輸數據的信號到來后,系統會使GPIO7引腳變為低電平,PLD模塊開始發送數據。DSP通過EDMA方式來接收數據。EDMA可以在沒有CPU參與的情況下,由EDMA控制器完成DSP存儲空間內的數據搬移。系統主要采用EDMA的ping-pong方式來連續接收數據。用ping-pong方式的目的是為了使接收操作和發送操作分開進行,增強程序的操作性和可讀性。

        限于篇幅,網絡發送部分不再贅述。

        結語

        本系統的硬件和軟件功能已經實現,網絡傳輸的速度為2MBps。按照此速度,假設傳輸流中的空包百分比為40%,可以傳輸5MBps的傳輸流數據,至少可以傳輸2~3路的TS流節目。因此,可以證明本系統的方法合理、有效。

        本文引用地址:http://www.104case.com/article/166711.htm

        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 房山区| 乐都县| 弥勒县| 揭阳市| 柘荣县| 康乐县| 鄄城县| 花莲市| 巩义市| 那坡县| 波密县| 山阳县| 科技| 曲沃县| 巴林左旗| 弥渡县| 昌都县| 稻城县| 罗江县| 临湘市| 娄底市| 安远县| 长子县| 沙雅县| 临武县| 闸北区| 灵寿县| 台江县| 金寨县| 莎车县| 济源市| 酉阳| 无棣县| 新闻| 石首市| 琼结县| 天津市| 九江县| 理塘县| 隆昌县| 安西县|