《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > DSP控制的以太網(wǎng)通信解決方案
DSP控制的以太網(wǎng)通信解決方案
來源:微型機(jī)與應(yīng)用2014年第7期
趙 鵬,,孫培德
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,,上海 201620)
摘要: 為了實(shí)時(shí)采集基于DSP的電力電子變換電路控制器的運(yùn)行數(shù)據(jù),通過ARM芯片及以太網(wǎng)PHY控制器芯片提供一種以太網(wǎng)通信解決方法,。采用DSP中的SPI串行接口與ARM中的SPI進(jìn)行數(shù)據(jù)交換,利用ARM中帶有的EMAC控制器以及以太網(wǎng)控制芯片DP83848設(shè)計(jì)出以太網(wǎng)控制器,,實(shí)現(xiàn)以太網(wǎng)通信,。考慮到系統(tǒng)簡(jiǎn)化及數(shù)據(jù)速率問題,,在通信協(xié)議方面采用UDP協(xié)議,,采用LabVIEW設(shè)計(jì)以太網(wǎng)上位機(jī)界面。
Abstract:
Key words :

摘  要: 為了實(shí)時(shí)采集基于DSP的電力電子變換電路控制器的運(yùn)行數(shù)據(jù),,通過ARM芯片及以太網(wǎng)PHY控制器芯片提供一種以太網(wǎng)通信解決方法,。采用DSP中的SPI串行接口與ARM中的SPI進(jìn)行數(shù)據(jù)交換,利用ARM中帶有的EMAC控制器以及以太網(wǎng)控制芯片DP83848設(shè)計(jì)出以太網(wǎng)控制器,,實(shí)現(xiàn)以太網(wǎng)通信,。考慮到系統(tǒng)簡(jiǎn)化及數(shù)據(jù)速率問題,,在通信協(xié)議方面采用UDP協(xié)議,,采用LabVIEW設(shè)計(jì)以太網(wǎng)上位機(jī)界面。
關(guān)鍵詞: DSP,;ARM,;DP83848;LabVIEW,;以太網(wǎng)通信

 隨著以太網(wǎng)技術(shù)在工業(yè)控制領(lǐng)域的迅速發(fā)展,、性能的不斷提高和成本的迅速降低,使其在新一代工業(yè)自動(dòng)化網(wǎng)絡(luò)中廣泛應(yīng)用,。在采用TI公司的DSP芯片TMS320F2812作為電力電子變換電路控制器核心時(shí),,為了監(jiān)控控制器的運(yùn)行狀況,可以采用串口通信,。這種方式結(jié)構(gòu)簡(jiǎn)單,,但滿足不了速度、精度以及通信距離的要求,。將帶有EMAC控制器的ARM處理器(LPC1768)與DP83848組成以太網(wǎng)控制器構(gòu)成一個(gè)通信轉(zhuǎn)接器,,ARM與DSP通過SPI通信,以太網(wǎng)接口與上位機(jī)通信,,則能滿足實(shí)時(shí),、高精度監(jiān)控的需要,。
1 以太網(wǎng)控制器的主要特點(diǎn)
 以太網(wǎng)控制器DP83848是TI推出的一款48個(gè)引腳的以太網(wǎng)控制器,可為嵌入式應(yīng)用提供低引腳數(shù),、低成本且高效,、低功耗的以太網(wǎng)解決方案。利用DP83848可以實(shí)現(xiàn)高速外圍器件的設(shè)計(jì)以及工業(yè)自動(dòng)化網(wǎng)絡(luò)的控制,。其主要特點(diǎn)有以下幾個(gè)方面,。
 (1)3.3 V供電的低功耗設(shè)計(jì)(典型值小于270 mW),,0.18 μm的CMOS技術(shù)。
?。?)3.3 V的MAC接口,。
 (3)支持10BASE-T和100BASE-TX的以太網(wǎng)格式,。
?。?)完全兼容IEEE802.3標(biāo)準(zhǔn)。
?。?)可編程的LED連接,,10/100 Mb/s的模式選擇以及沖突檢測(cè)。
?。?)同時(shí)具有SNI,、MII和RMII接口。
 系統(tǒng)框圖如圖1所示,。

2 硬件系統(tǒng)的設(shè)計(jì)
 對(duì)于以太網(wǎng)控制器的設(shè)計(jì),,不但要考慮系統(tǒng)所具備的功能,也要考慮價(jià)格,、體積等因素,。這里采用ARM處理器LPC1768作為以太網(wǎng)的主控芯片。其采用低功耗設(shè)計(jì),,供電電壓為3.3 V,;主頻可達(dá)100 MHz;哈佛總線結(jié)構(gòu),;支持JTAG調(diào)試,;片內(nèi)有512 KB Flash存儲(chǔ)器,64 KB數(shù)據(jù)存儲(chǔ)器,;采用100引腳的LQFP封裝格式,。LPC1768與DP83848的硬件連接示意圖如圖2所示。

 以太網(wǎng)控制器工作在RMII模式下,,由參考時(shí)鐘REF_CLK,、發(fā)送使能TX_EN,、發(fā)送數(shù)據(jù)TXD[0:1]、接收數(shù)據(jù)RXD[0:1],、接收錯(cuò)誤RX_ER及載波偵聽/接收數(shù)據(jù)有效CRS組成,。關(guān)鍵引腳描述如下。
?。?)參考時(shí)鐘REF_CLK
 REF_CLK是一個(gè)連續(xù)時(shí)鐘,,可以為時(shí)鐘提供時(shí)序參考。REF_CLK由MAC層或外部時(shí)鐘源提供,。在RMII模式下,,數(shù)據(jù)以50 MHz的時(shí)鐘頻率一次傳送2 bit。因此,,RMII模式需要一個(gè)50 MHz有源振蕩器連接到X1腳,。
 (2)發(fā)送使能TX_EN
 TX_EN表示MAC層正在將要傳輸?shù)碾p位數(shù)據(jù)放到TXD[1:0]上,。TX_EN應(yīng)被前導(dǎo)符的首個(gè)半字節(jié)同步確認(rèn),,且在所有待傳雙位信號(hào)載入過程中都保持確認(rèn)。跟隨一幀數(shù)據(jù)的末2位之后的首個(gè)REF_CLK上升沿之前,,MAC需對(duì)TX_EN取反,。TX_EN的變化相對(duì)于REF_CLK是同步的。
?。?)發(fā)送數(shù)據(jù)TXD[1:0]
 RMII發(fā)送時(shí)序圖如圖3所示,。

 (4)接收數(shù)據(jù)RXD[0:1]
 RXD[0:1]轉(zhuǎn)換是與REF_CLK同步的,。在CRS_DV有效后的每個(gè)時(shí)鐘周期里,,RXD[1:0]接收DP83848C的2 bit恢復(fù)數(shù)據(jù)。在某些情況下(如數(shù)據(jù)恢復(fù)前或發(fā)生錯(cuò)誤),,則接收到的是RXD[0:1]的預(yù)確定值而不是恢 復(fù)數(shù)據(jù),。CRS_DV解除確認(rèn)后,RXD[0:1]為“00”,,表示進(jìn)入空閑狀態(tài),。CRS_DV確認(rèn)后,在產(chǎn)生正確的接收解碼之前,,DP83848C將保證RXD[0:1]=“00”,。
3 系統(tǒng)通信協(xié)議的分析與選擇
 (1)鏈路層協(xié)議的選擇
鏈路層最基本的功能是向該層用戶提供透明,、可靠的數(shù)據(jù)傳送基本服務(wù),,為了使鏈路層對(duì)網(wǎng)絡(luò)層進(jìn)行無差錯(cuò)的傳輸,鏈路層加強(qiáng)物理層傳輸?shù)脑急忍亓?,使之形成在邏輯上沒有錯(cuò)誤的數(shù)據(jù)鏈路,。在以太網(wǎng)傳輸數(shù)據(jù)時(shí)需識(shí)別地址,,因此采用MAC地址進(jìn)行標(biāo)識(shí),所以只有存在地址解析(ARP)協(xié)議,,才能實(shí)現(xiàn)IP地址到MAC地址的轉(zhuǎn)換功能,。
 (2)網(wǎng)絡(luò)層協(xié)議的選擇
 網(wǎng)絡(luò)層的基本功能是當(dāng)數(shù)據(jù)包在網(wǎng)絡(luò)中活動(dòng)時(shí),,處理其活動(dòng)的方法,。IP協(xié)議是最核心的協(xié)議,它負(fù)責(zé)系統(tǒng)與Internet進(jìn)行通信,。IP層有兩個(gè)功能:對(duì)IP報(bào)文報(bào)頭進(jìn)行正確性分析,,并對(duì)TCP和ICMP報(bào)文實(shí)行分流。使用Ping協(xié)議檢測(cè)網(wǎng)絡(luò)是否連通,。
?。?)傳輸層協(xié)議的選擇
 傳輸層協(xié)議主要在主機(jī)和單片機(jī)端到端的通信。傳輸層有兩種不相同的傳輸協(xié)議:傳輸層控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP),。考慮到系統(tǒng)簡(jiǎn)化和速度的要求,,采用UDP協(xié)議,。
4 系統(tǒng)軟件設(shè)計(jì)
 軟件設(shè)計(jì)分為以太網(wǎng)通信的實(shí)現(xiàn)以及DSP和ARM的SPI通信兩個(gè)部分。
4.1 以太網(wǎng)通信的實(shí)現(xiàn)
 以太網(wǎng)控制器DP83848對(duì)以太網(wǎng)鏈路層進(jìn)行控制,,LPC1768則完成其他層的協(xié)議調(diào)節(jié),,以太網(wǎng)控制器由LPC1768控制,完成整個(gè)以太網(wǎng)通信傳輸,。在實(shí)現(xiàn)通信時(shí),,首先控制DP83848復(fù)位,并初始化芯片中的寄存器,。當(dāng)滿足發(fā)送和接收條件時(shí),,系統(tǒng)開始發(fā)送和接收數(shù)據(jù)。當(dāng)滿足以下條件時(shí),,以太網(wǎng)控制器向LPC1768申請(qǐng)中斷,,即一幀數(shù)據(jù)發(fā)送結(jié)束、接收到一幀數(shù)據(jù)或出錯(cuò)等事件發(fā)生,。主控制器中斷后,,事件根據(jù)中斷狀態(tài)寄存器的內(nèi)容進(jìn)行分類處理。通信數(shù)據(jù)打包解包的完成由LPC1768內(nèi)部程序進(jìn)行處理,,系統(tǒng)復(fù)位后,,程序首先發(fā)送地址解析協(xié)議(ARP)請(qǐng)求,建立地址映射,,并且內(nèi)部中斷進(jìn)行定時(shí)更新,。LPC1768按照UDP協(xié)議格式打包,,送入DP83848,由此芯片控制數(shù)據(jù)鏈路層將數(shù)據(jù)輸出到局域網(wǎng)中,。反之,,當(dāng)有數(shù)據(jù)從局域網(wǎng)過來時(shí),DP83848產(chǎn)生外部中斷,,主控芯片可以對(duì)此作出相應(yīng)處理,。發(fā)送流程程序框圖如圖4所示,接收流程框圖如圖5所示,。

 

 

 DSP將采集的數(shù)據(jù)通過SPI方式發(fā)送給ARM,,存儲(chǔ)在ARM中的一個(gè)接收緩沖區(qū)中。當(dāng)數(shù)據(jù)接收完畢,,啟動(dòng)以太網(wǎng)通信,,將數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送給PC端,進(jìn)行數(shù)據(jù)的分析,。
5 上位機(jī)軟件的設(shè)計(jì)
 在上位機(jī)設(shè)計(jì)中,,本設(shè)計(jì)采用LabVIEW進(jìn)行軟件設(shè)計(jì),系統(tǒng)要求4通道顯示數(shù)據(jù),。當(dāng)數(shù)據(jù)傳送至上位機(jī),,LabVIEW程序利用其強(qiáng)大的數(shù)據(jù)處理能力將數(shù)據(jù)分解,并利用其方便快捷的圖形顯示界面取出4組數(shù)據(jù)進(jìn)行顯示,。LabVIEW編寫的上位機(jī)程序如圖8所示,,實(shí)驗(yàn)結(jié)果如圖9所示,可以看出分別顯示了4種不同數(shù)據(jù),。

 本設(shè)計(jì)以LPC1768和DP83848為核心,,提供了一種基于DSP的電力電子變換電路控制器中利用以太網(wǎng)傳輸數(shù)據(jù)的解決方案。從硬件,、軟件以及上位機(jī)3方面進(jìn)行了設(shè)計(jì),。經(jīng)實(shí)驗(yàn)驗(yàn)證,此方案確實(shí)可行,。
參考文獻(xiàn)
[1] 葉智祥.基于ARM的以太網(wǎng)轉(zhuǎn)換器研究及應(yīng)用[D].長春:長春理工大學(xué),,2010.
[2] 江俊輝.基于ARM的嵌入式系統(tǒng)硬件設(shè)計(jì)[J].微計(jì)算機(jī)信息,2005(72):120-122.
[3] 鄧紅德,,李陽,,吳佳楠.基于RL-ARM的嵌入式以太網(wǎng)與串口通信系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù),2012,,31(8):75-79.
[4] 董超,,朱軍,史勃.DSP以太網(wǎng)通信技術(shù)研究[J].工業(yè)自動(dòng)化及儀表,2012,,39(6):768-770.
[5] 李永輝,,謝志遠(yuǎn),耿烜.基于DSP的嵌入式TCP/IP協(xié)議的研究和實(shí)現(xiàn)[J].華北電力大學(xué)學(xué)報(bào),,2004,,31(2):77-79.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。