www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式硬件

TCP/IP是因特網上傳輸數據所必需的協議, 這種網絡通信模式在PC之間的實現已經完善, 但是體積、價格等因素限制了其應用的范圍。因此, 基于TCP/IP 協議與以太網的嵌入式系統(tǒng)網絡通信設計成為目前一個熱門的話題。本系統(tǒng)實現了在以TI公司的TMS320DM643為核心的嵌入式系統(tǒng)中,對數字電視傳輸流(TS)信號進行采集并在以太網中傳輸。利用本系統(tǒng)可輕松地實現在局域網中對數字電視傳輸流信號的傳輸、調度。數字電視傳輸流信號源是針對歐洲數字有線廣播系統(tǒng)標準(DVB-C)的數字有線電視信號。網絡接入硬件在以TMS320DM643為核心的嵌入式系統(tǒng)中實現,網絡接入軟件采用了TI公司針對C6000系列DSP推出的TCP/IP NDK(Network Developer’s Kit)網絡開發(fā)包來實現。

系統(tǒng)電路設計

電路主要由5部分組成。數字電視傳輸流網絡采集系統(tǒng)框圖如圖1所示。



圖1 數字電視傳輸流網絡采集系統(tǒng)框圖

其主要功能是通過傳輸流接口模塊采集數字電視信號進入PLD(Cyclone EP1C6Q240C8)芯片,進行必要的處理后,將信號發(fā)送到DSP(TMS320DM643)芯片存儲起來,并進行算法處理。通過TMS320DM643對BCM5221進行必要的配置,將存儲在TMS320DM643內的數據通過BCM5221傳送到局域網中,并通過計算機接收數據。

傳輸流接口模塊

傳輸流接口模塊由CY7B933輸入接口芯片及其電器接口電路組成。CY7B933輸入接口電路是點對點的傳輸模塊,可以通過光纖、同軸電纜和雙絞線進行高速的串行數據傳輸。輸入接口符合DVB-ASI的接口標準。輸入接口接收到串行位流后,通過內部PLL時鐘同步恢復數據的時鐘信息,并對位流進行串并轉換、解碼和傳輸檢錯等操作。這種輸入接口能靈活地把高速點對點串行數據轉變成并行數據,而且應用領域廣泛,包括各種服務器、存儲器和視頻傳輸的應用。

PLD控制模塊

在項目中,此部分硬件選用的是Altera公司的EP1C6Q240C8芯片。

此模塊的主要功能是實現與CY7B933接收芯片的接口,把數據從CY7B933接收進來,并緩存數據。這部分功能均由VHDL語言編寫的功能模塊實現。主要有兩個功能模塊:RECEIVE與FIFO。RECEIVE模塊主要負責從CY7B933接收數據字段;FIFO模塊主要負責緩存數據。

RECEIVE模塊

RECEIVE模塊的功能是實現與CY7B933接收芯片的接口,把數據從CY7B933接收進來。其工作方式是以一個傳輸流包為邊界接收數據的。

首先,RECEIVE模塊會檢測傳輸流包的邊界,通過查找包頭字節(jié)(固定為0x47)間的字節(jié)數來確定。因為包中數據也可能含有0x47,所以要犧牲3個包的數據來檢查3次。當發(fā)現0x47這個字節(jié)的時候,就會觸發(fā)一個內部的計數器開始計數。當計數到188后,如果下一個字節(jié)又是0x47,說明傳輸流包屬于188個字節(jié)的包,那么計數器被清零;如果下一個字節(jié)又是0x47,說明傳輸流包屬于188個字節(jié)的包,那么計數器被清零,否則計數器清零并重新開始檢測邊界。

當檢測到邊界以后,RECEIVE模塊開始接收數據包。計數器會從零開始計數,在接收數據的過程中使能wrreq輸出有效信號,同時把數據輸出到下一級。當計數到188時,表示一個數據包接收完成。當一個包的數據接收完之后,計數器清零,并置ts188,保持高電平一個時鐘周期。下一個周期檢測數據是否為0x47,如果是,說明是下一個數據包的邊界;否則,說明出現了錯誤,并重新回到上一段所說的檢測數據包邊界的狀態(tài)。

此外,PLD模塊內會有一個專用計數器記錄空包數,當接收到數據包后,會首先檢測此數據包是否為空包,如果是空包,PLD模塊會把這個空包刪除,并在計數器中加1。如果接收的不是空包,就會把計數器的值加到這個數據包的私有字段中,并緩存到FIFO。然后計數器自動清零。這樣處理數據包的目的是為了減少網絡傳輸的數據流量,從而可以傳輸更多的傳輸流數據。把計數器的值加入私有字段是為了在計算機接收到數據后,可以把原來的空包恢復出來,從而保證原傳輸流數據的完整性。

FIFO模塊

FIFO模塊的功能是從RECEIVE模塊接收數據,并緩存起來。當RECEIVE模塊接收完一個完整的傳輸流數據包之后,會發(fā)送ts188或ts204的中斷信號給DSP,DSP就會啟動EDMA功能從FIFO模塊接收數據。DSP與FIFO模塊采用異步連接的方式,具體的接收操作在DSP部分說明中再加以描述。

DSP算法處理模塊

此模塊主要由以TMS320DM643為核心的嵌入式系統(tǒng)組成。主要實現從PLD模塊接收傳輸流數據包,把數據包打包成TCP/IP格式,并實現對網絡接口(BCM5221)控制模塊的初始化,然后把數據包傳送到網絡模塊。

為了實現上述功能,必須建立起一套以TMS320DM643為核心的基本系統(tǒng)。

系統(tǒng)的具體配置

時鐘配置:EMIF內核時鐘ECLKIN是133MHz。此外,系統(tǒng)的外設總線、EDMA傳輸和L2存儲器的工作時鐘為CPU內核時鐘的1/2,即300MHz;片上定時器的工作時鐘為CPU內核時鐘的1/8,即75MHz。

中斷配置:TMS320DM643除了RESET和NMI引腳提供外部不可屏蔽中斷請求輸入以外,還有兩個外部中斷引腳GP0[5]/EXT_INT5、GP0[7]/EXT_INT7,以提供可屏蔽的外部中斷請求輸入。系統(tǒng)中,EXT_INT5外部中斷用作PLD模塊的請求接收數據信號,每當PLD模塊接收完一個傳輸流包,就會發(fā)送一個外部中斷信號給DSP,通知DSP接收數據。此外,EDMA中斷用于接收完一個包的數據后做后續(xù)處理。



系統(tǒng)對EMIF的使用情況:

系統(tǒng)在CE0空間擴展了4M×64bit的SDRAM存儲器(MT48LC4M32BPG),用于存儲程序與數據。SDRAM的工作時鐘由TMS320DM643的ECLKOUT1提供,與EMIF的工作時鐘頻率相同,本系統(tǒng)中默認ECLKIN為其時鐘源,即133MHz。

系統(tǒng)在CE1空間擴展了4M×8bit的Flash存儲器(Am29LV033C)。在對Flash進行讀/寫訪問前,需要通過EMIF的CE1控制寄存器CE1CTL,將CE1空間配置為8-bit異步存儲器接口,及讀/寫時序。

系統(tǒng)在CE2空間擴展了與FIFO模塊連接的接口。在DSP看來,FIFO模塊可視為8bit異步只讀存儲器。FIFO模塊的讀使能信號rdreq與TMS320DM643的CE2片選信號連接;FIFO模塊的讀時鐘信號rdclk與TMS320DM643的ARE讀使能信號連接。

以太網接口

TMS320DM643上集成有一個EMAC+MDIO片上外設,EMAC是Ethernet Media Access Controller的縮寫,即以太網媒體訪問控制器,MDIO是Management Data Input/Output的縮寫,即管理數據輸入/輸出模塊。EMAC+MDIO用于為以太網物理層(PHY)器件提供接口,其中,EMAC為接口以太網PHY提供數據通路,MDIO為接口以太網PHY提供管理信息通路。

TMS320DM643的網絡接口原理框圖如圖2所示。圖2描述了EMAC+MDIO與DSP中間有一個EMAC 控制模塊。它主要包含一些必備的、使EMAC更加有效使用DSP的存儲空間,控制其復位、中斷的一些邏輯。

這些寄存器的地址空間為:0x1C800000~0x1C803FFF。



圖2 TMS320DM643的網絡接口原理框圖

網絡接口控制模塊

本系統(tǒng)用Broadcom公司的BCM5221作為10/100Base-TX以太網收發(fā)器,BCM5221的MII接口與TMS320DM643的MII接口對接。具體接口如圖3所示。RJ45連接器選用AMP公司的406549-1,其上帶兩個LED指示燈,右邊的LED為綠色,用作指示連接狀態(tài)。左邊的為黃色,正常情況下用來指示數據傳輸。



圖3 TMS320DM643與PHY設備連接框圖

電源模塊

系統(tǒng)包括4組電源:系統(tǒng)外接穩(wěn)壓電源,把220V的交流電源電壓轉換成5V直流電壓;PLD模塊電源由兩種電源供電,分別是3.3V和1.5V;TMS320DM643需要兩種電源,分別為CPU核心和周邊的I/O接口供電。周邊I/O電壓要求3.3V,CPU核心電壓只要1.4V;網絡接口控制模塊采用3.3V電源供電。

系統(tǒng)軟件設計

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

系統(tǒng)軟件的框圖如圖4所示。



圖4 軟件系統(tǒng)圖

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

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

當客戶機要求停止傳輸的請求到來時,系統(tǒng)會重新使GPIO引腳變?yōu)楦唠娖?,PLD模塊回到初試狀態(tài)。此時,系統(tǒng)也會處于待命狀態(tài),繼續(xù)偵聽網絡。

系統(tǒng)初始化

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

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

TCP/IP協議配置

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

網絡偵聽

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

數據的接收

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

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

結語

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉