DSP的設計與應用:基於多核DSP的以太網通信接口設計
發布時間:2017-05-31 責任編輯:susan
【導讀】隨著DSP處理器在現代工業的應用越來越廣泛,DSPdegongnengbujinzhiyoukuaisuyunsuanchuli,haixuyaoyuqitachuliqihuozheshebeizhijianjinxingshishishujujiaohuan,yishixianziyuandegongxiang。yinci,zhenduibutongshebeidexuqiu,xuanzewending、快速和高效率的接口方式在當今數字信號處理係統設計中關鍵的組成部分。
DSP的應用
針對8核DSP TMS320C6678與外部設備進行數據通信的需求,以片上集成千兆以太網交換子係統為核心,選取芯片88E1111作為PHY設備,設計了千兆以太網通信接口的硬件電路。在嵌入式操作係統SYS/BIOS和網絡開發環境NDK上,完成了以太網底層驅動和TCP/IP協議的程序設計。通過DSP與上位機進行以太網通信測試,證明了以太網接口電路硬件及軟件的正確性和實用性。
隨著DSP處理器在現代工業的應用越來越廣泛,DSPdegongnengbujinzhiyoukuaisuyunsuanchuli,haixuyaoyuqitachuliqihuozheshebeizhijianjinxingshishishujujiaohuan,yishixianziyuandegongxiang。yinci,zhenduibutongshebeidexuqiu,xuanzewending、快速和高效率的接口方式在當今數字信號處理係統設計中關鍵的組成部分。
TI公司的8核處理器TMS320C6678(以下簡稱C6678)提供豐富的片上接口資源用於處理器與外設之間的通信,這些接口都可以用於DSP與外設之間的通信,但是靈活性有差異,使用SGMII接口來實現千兆以太網通信,可使得通信接口一般化,能夠適用於眾多的設備連接。本文針對C6678的芯片特點以及含有的接口資源,設計實現了千兆以太網通信,主要設計了以太網接口電路、網絡底層硬件驅動、TCP/IP協議的用戶程序,並完成了與上位機以太網通信測試,實現了數字信號高速有效地網絡傳輸。
1.C6678以太網交換子係統
C6678是基於KeyStone I構架的8核高性能、定點/浮點處理器,單核最高工作頻率可達1.25 GHz。C6678的以太網交換子係統包括2個以太網媒體訪問控製(Ethernet Media Access Controller,EMAC)、2個SGMII、1個管理數據輸入輸出(Management Data Input Output,MDIO)、3-Port以太網交換模塊以及網絡配置總線,其網絡交換子係統如圖1所示。

EMAC的作用是將交換子係統的內部信號轉換為GMII信號傳遞給SGMII模塊;MDIO控製物理層芯片執行對多數據流的控製輸入輸出。
2.PHY芯片88E1111
本文選擇C6678作為主芯片,由於C6678的千兆網絡交換子係統隻支持SGMII接口,所以本文選擇對SGMII接口的網絡數據傳輸具有較好兼容性的物理芯片88E1111。88E1111芯片的內部結構如圖2所示。
88E1111的介質接口有銅介質接口和光纖接口。銅介質接口為MDI[3:0],通過設置HWCFG_MODE[3:0]來選擇運行模式。 88E1111集成的MDIO模塊與EMAC的MDIO接口相連接,可將方便網絡控製端讀取物理芯片狀態寄存器,達到實時監測的效果。
3.硬件接口設計
本文設計的任務是基於C6678片內以太網交換子係統和片外PHY芯片88E1111及其外圍電路的接口設計。主要包括:C6678與88E1111芯片連接、88E1111芯片配置以及88E1111芯片與網絡介質連接。
3.1 C6678與88E1111芯片連接
C6678和PHY芯片88E1111的接口電路如圖3所示。88E1111工作在SGMII接口模式下,不需要TXCLK時鍾輸入,更有助於減少電路板上走線的數量,同時也可減少噪聲的產生。

主要的接口信號包括時鍾和數據信號如下:
MDIO_CLK:管理數據時鍾。該時鍾信號由C6678片上的MDIO模塊提供,該時鍾頻率通過配置MDIO的控製寄存器CONTROL中的CLKDIV位來控製實現。
SGMII_TXP和SGMII_TXN:串行發送差分數據線。連接DSP內部SerDes和物理芯片的S_IN管腳,DSP的SerDes通過該管腳向物理層發送串行數據,數據中包含發送數據時鍾信號。
SGMII_RXP和SGMII_RXN:串行接收差分數據線。連接DSP內部SerDes和物理芯片的S_OUT管腳,物理層芯片通過該接口將數據傳送到DSP的SerDes,數據中包含數據接收時鍾信號。
MDIO:管理數據I/O。可最多連接32個PHY設備到DSP的EMAC,並且可以枚舉所有PHY設備,讀取PHY設備狀態寄存器來監測PHY的連接狀態。數據幀結構符合802.3標準,包含讀寫指令、PHY地址、寄存器地址和數據等。
因為88E1111上集成的MDIO與C6678集成MDIO模塊進行連接時,電壓有所差別,前者電壓為2.5 V,後者電壓為1.8 V,所以在二者之間應該添加電壓轉換器。本文采用一片PCA9306,實現2.5 V和1.8 V之間的電平轉換,其連接電路如圖4所示。

3.2 88E1111芯片配置
88E1111與C6678的MDIO模塊相連接,MDIO最多可識別32個物理芯片,在使用物理芯片之前需要對其進行配置,配置內容主要包括芯片的地址、模式等。配置CONFTG[6:0]管腳定義可查詢文獻,本文配置的硬件電路如圖5所示,圖5中可以不使用電阻,本文為了測試方便,加一個0 Ω的電阻。

88E1111硬件配置完成後,係統將固定為一種接口方式,按照文獻的定義,物理芯片的地址為:PHY_ADDRESS=0’b00001,芯片模式為:不帶時鍾,自動協商的SGMII模式。
3.3 88E1111芯片與RJ45連接
88E1111和網絡介質之間無法直接連接,因傳輸速度在千兆級,所以更加需要設計合適的網絡隔離變壓器來降低傳輸損耗、回音和串擾。本文選擇千兆網口插座HR911130C,該插座內部自帶變壓器電路,隻需在外部連接濾波網絡便可實現網絡信號穩定地傳輸,如圖6所示。88E1111和 HR9111130C采用差分連接,在PCB布線時需要嚴格等長,且一般還需使用阻抗匹配網絡,如圖6中的R1和C1。

4.軟件程序設計
TI針對網絡開發發布了網絡開發套件(Network Development Kit,NDK),能將多個模塊的配置操作交給NDK網絡框架實現,同時數據分包和解析也無需程序員過多考慮,加速了網絡開發進程。NDK構建在實時操作係統SYS/BIOS之上,NDK通過OS抽象層與BIOS進行交互,同時BIOS的cfg配置文件能對NDK各模塊進行可視化查看。
本文基於多核DSP實時操作係統SYS/BIOS上,設計了以太網通信程序。該操作係統能夠提供較多的集成模塊,方便用戶編寫程序,且還有軟硬件中斷管理、多任務同步機製、多核通信機製和存儲器管理機製等,可為用戶進行多線程多任務開發提供模塊化的框架。以太網通信接口的軟件總體結構如圖7所示。

SYS/BIOS為wei整zheng個ge軟ruan件jian提ti供gong集ji成cheng開kai發fa環huan境jing,不bu僅jin擁yong有you適shi合he實shi時shi係xi統tong的de多duo線xian程cheng優you先xian搶qiang占zhan機ji製zhi,還hai可ke添tian加jia需xu要yao的de封feng裝zhuang庫ku,使shi得de編bian寫xie程cheng序xu時shi可ke以yi更geng加jia方fang便bian地di調tiao用yong庫ku函han數shu。NDK是DSP的網絡程序開發集成工具,其中,stack.lib給出了從頂層socket到底層PPP關於TCP/IP協議棧的封裝庫;nettool.lib提供用於socket網絡套接字和用於網絡應用開發工具的封裝庫;os.lib提供應用於SYS/BIOS和網絡編程套件之間的係統協調的封裝庫;hal.lib提供外圍設備和網協議棧之間接口的封裝庫;netctrl.lib提供DSP網絡編程的整體控製,可用來配置底層驅動和協議。
本文DSP片上係統軟件分為3部分:SYS/BIOS平台和NDK的TCP/IP協議棧建立和配置;用戶程序;編製底層驅動程序。
4.1 底層硬件驅動的實現
NDK的基本結構如圖7所示,可看出NDK開發套件與用戶程序、SYS/BIOS操作係統和底層硬件都有密切的聯係。NDK中網絡控製層和操作係統接口層與SYS/BIOS係統相連接,NDK的(de)硬(ying)件(jian)驅(qu)動(dong)層(ceng)用(yong)於(yu)控(kong)製(zhi)底(di)層(ceng)硬(ying)件(jian)驅(qu)動(dong)的(de)配(pei)置(zhi),這(zhe)些(xie)操(cao)作(zuo)和(he)配(pei)置(zhi)均(jun)可(ke)在(zai)網(wang)絡(luo)工(gong)具(ju)庫(ku)中(zhong)找(zhao)到(dao)相(xiang)應(ying)的(de)驅(qu)動(dong)函(han)數(shu),並(bing)可(ke)直(zhi)接(jie)由(you)用(yong)戶(hu)應(ying)用(yong)程(cheng)序(xu)來(lai)調(tiao)用(yong)實(shi)現(xian)。
這些功能主要包括:
(1)底層硬件驅動包括:MDIO模塊和EMAC模塊的初始化;PHY芯片搜索配置和狀態監測;EMAC/MDIO中斷使能。(2)TCP/IP協議棧的建立,配置接收和發送緩存區的大小,完成以太網數據的收發任務。(3)利用MDIO模塊,根據MDIO讀取的PHY狀態寄存器來監測其連接狀態,識別可以是CPU產生中斷的狀態變化事件,並將信息反饋。(4)關閉驅動,複位前麵對寄存器進行的操作,收回占用資源。
如圖7所示,硬件驅動包含在硬件驅動層hal.lib中,用戶需要對按照係統對驅動函數進行修改。C6000係列NDK的API封裝了許多固定的驅動函數,具有特定的功能,比如_llPacketSerivceCheck()的(de)作(zuo)用(yong)是(shi)檢(jian)測(ce)以(yi)太(tai)網(wang)數(shu)據(ju)包(bao)的(de)結(jie)構(gou),且(qie)將(jiang)檢(jian)測(ce)到(dao)的(de)結(jie)構(gou)信(xin)息(xi)反(fan)饋(kui)給(gei)協(xie)議(yi)棧(zhan)進(jin)行(xing)分(fen)析(xi)處(chu)理(li)。具(ju)體(ti)的(de)驅(qu)動(dong)程(cheng)序(xu)需(xu)要(yao)按(an)照(zhao)硬(ying)件(jian)係(xi)統(tong)的(de)配(pei)置(zhi)來(lai)進(jin)行(xing)設(she)計(ji),在(zai)C6678zhong,kezaijichengdujiaogaodepianshangxitongzhijieduiwangluotongxinmokuaidejicunqijinxingpeizhizhaxun,jiukeyiwanchengyingjiandicengqudong,shidedicengyingjiannenggouyouxiaodiyunxing。
4.2 DSP端網絡應用程序
DSP軟件設計是基於SYS/BIOS實時多任務操作係統和C語言,采用Socket套接字,創建TCP/IP客戶端(Client)和服務器端 (Server),Client負責與外部設備服務器端建立連接並接收數據包,Server用來向PC機發送處理後的數據包。接收任務和發送任務流程如圖 8所示。在C6678的內核Core0中建立兩個同步線程任務,即數據接收和發送任務,分別用來接收TCP服務器發送過來的數據和發送處理後的數據到PC 上位機中進行處理、存儲和顯示。

4.3 上位機測試程序
上位機測試程基於VC++的MFC界麵設計,使用套接字Socket進行網絡編程。程序中需設計兩個同步線程,用來實現數據的實時接收和動態顯示功能。使用TCP服務器端發送船體結構應力數據,經過DSP的接接收、處理和發送過程,最後發送到PC上位機進行數據動態顯示,結果如圖9所示。

5.結論
本文以8核處理器C6678為核心,對片上集成的以太網交換子係統接口硬件進行了研究,按照接口的特點設計了包括以太網交換子係統和物理芯片的接口連接、物理芯片與網絡介質接口連接的硬件係統,並完成了千兆以太網驅動,最終實現多核DSP C6678與上位機進行千兆以太網通信。通過與上位機進行網絡通信測試,結果顯示以太網數據通信接口能實時高效地進行網絡數據傳輸。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
微波功率管
微波開關
微波連接器
微波器件
微波三極管
微波振蕩器
微電機
微調電容
微動開關
微蜂窩
位置傳感器
溫度保險絲
溫度傳感器
溫控開關
溫控可控矽
聞泰
穩壓電源
穩壓二極管
穩壓管
無焊端子
無線充電
無線監控
無源濾波器
五金工具
物聯網
顯示模塊
顯微鏡結構
線圈
線繞電位器
線繞電阻



