關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于ARM-LPC2368的網(wǎng)絡(luò)接口的設(shè)計(jì)與實(shí)現(xiàn)

基于ARM-LPC2368的網(wǎng)絡(luò)接口的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2008-06-27 來源:網(wǎng)絡(luò) 收藏
摘 要: 本文以微處理器LPC為核心、DP83848C為以太網(wǎng)物理層接口芯片,詳細(xì)地介紹了嵌入式以太網(wǎng)接口的實(shí)現(xiàn)方法?!∈紫葘?duì)微處理器LPC和物理層芯片DP83848C作了簡(jiǎn)單的介紹,然后給出了基于LPC的以太網(wǎng)接口的硬件設(shè)計(jì),最后簡(jiǎn)述了其軟件的實(shí)現(xiàn)過程。
關(guān)鍵詞: 嵌入式系統(tǒng),以太網(wǎng),LPC2368,DP83848C

1 引言

隨著Internet技術(shù)的迅速發(fā)展,人們對(duì)信息共享的要求也不斷提高。目前,嵌入式系統(tǒng)已經(jīng)滲透到我們生活的每個(gè)角落,它與的完美結(jié)合,為我們共享信息提供了很大的便利。PHILIPS公司的LPC2368是一款優(yōu)秀的微處理器,基于它的嵌入式系統(tǒng)如果沒有以太網(wǎng)接口,那么其應(yīng)用價(jià)值也就會(huì)大打折扣。因此,就整個(gè)系統(tǒng)而言,以太網(wǎng)接口電路應(yīng)是必不可少的,但同時(shí)也是相對(duì)較復(fù)雜的。

以太網(wǎng)接口電路主要由MAC控制器和物理層接口(Physical Layer,PHY)兩大部分構(gòu)成。LPC2368內(nèi)嵌一個(gè)以太網(wǎng)控制器,支持精簡(jiǎn)的媒體獨(dú)立接口(Reduced Media Independent Interface,RMII)和帶緩沖DMA接口(Buffered DMA Interface,BDI),可在半雙工和全雙工模式下提供10M/100Mbps的以太網(wǎng)接入。因此,LPC2368內(nèi)部實(shí)際上己經(jīng)包含了以太網(wǎng)MAC控制,但并未提供物理層接口,所以,需要外接一片物理層芯片以提供以太網(wǎng)的接入通道。在這里選用National Semiconductor公司的DP83848C作為以太網(wǎng)物理層接口芯片,它提供了包括MII/RMII/SNI接口,可以很方便地與LPC2368連接。

LPC2368DP83848C的介紹

2.1 微處理器LPC2368

LPC2368是基于ARM7TDMI-S內(nèi)核的32位微控制器,可在高達(dá)72MHz的頻率下操作,其功能強(qiáng)大且成本效率高,支持 10/100Ethernet、全速(12Mbps)USB 2.0 和 CAN 2.0B;具有高達(dá)512KB的片內(nèi)Flash、58KB的SRAM、10 位 A/D 和 D/A 轉(zhuǎn)換器和一個(gè) IRC 振蕩器,還帶有 SD 存儲(chǔ)卡接口可供選擇,100引腳LQFP封裝(14141.4mm)。廣泛應(yīng)用于工業(yè)控制、POS系統(tǒng)、協(xié)議轉(zhuǎn)換、加密系統(tǒng)等領(lǐng)域[1]。

2.2 物理層芯片DP83848C

DP83848C是一個(gè)10/100Mb/s單端低功耗物理層器件,有幾種智能降功耗模式,包括有25MHz時(shí)鐘輸出,很容易通過外接變壓器和雙絞線媒體接口;支持兩種IEEE 802.3u MII和RMII Rev 1.2,方便了設(shè)計(jì);集成的亞層支持10BASE-T和100BASE-TX以太網(wǎng)協(xié)議;低功耗小于270mW、3.3V MAC接口;可配置的SNI接口;48引腳LQFP封裝(7x7mm)。DP83848C作為一種以太網(wǎng)物理層收發(fā)器,廣泛應(yīng)用于高端外圍設(shè)備、工業(yè)控制和工廠自動(dòng)化操作、通用的嵌入式應(yīng)用領(lǐng)域[2]。

硬件部分設(shè)計(jì)

3.1 電路框圖

 LPC2368與DP83848C連接比較簡(jiǎn)單,直接通過RMII接口連接即可。連接好后,DP83848C再通過隔離變壓器和RJ45接口接入傳輸媒體,其電路框圖如圖1所示。

圖 1  微控制器LPC2368與PHY芯片DP83848C的以太網(wǎng)接口電路框圖

3.2 以太網(wǎng)接口實(shí)際電路原理圖設(shè)計(jì)

DP83848C支持幾種MAC接口方式:(1)MII;(2)RMII (Reduced MII);(3)10 Mb 串行接口(Serial Network Interface,SNI)。在這里我們使用的是RMII接口方式,通過設(shè)置引腳pin39和pin6來確定,如表1所示。

MII方式選擇

MII_MODE (pin39)

SNI_MODE (pin6)

MAC Interface Mode

0

0或1

MII Mode

1

0

RMII Mode

1

1

10 Mb SNI Mode

由表1可以看出,pin39應(yīng)接上高電平,pin6應(yīng)接上低電平。同時(shí)因?yàn)樵谛酒瑑?nèi)部pin6下拉,默認(rèn)為0,所以只要設(shè)置pin39接上高電平即可,這樣微處理器LPC2368就可以同PHY芯片DP83848C通過RMII接口方式連接。它們之間通過RMII接口連接,芯片和控制器連接所使用的引腳數(shù)目會(huì)比較少,且數(shù)據(jù)傳送速率是每次2位,即頻率50MHz,所以需要一個(gè)50MHz的晶體振蕩器連接到pin34 X1腳。

在RMII方式下,主要使用到的引腳有:1串行管理:MDC(pin31)、MDIO(pin30); 2MAC數(shù)據(jù):TX_EN(pin2)、TXD[1:0](pin4 pin3)、RX_ER(pin41)、CRS_DV(pin40)、RXD[1:0](pin44 pin43); 3時(shí)鐘:X1(pin34 ,RMII 參考時(shí)鐘是50MHz)、X2(pin33)。

Pin27置高使得DP83848C以100Mbps的速率工作, LED顯示DP83848C的工作狀態(tài)。16ST8515為網(wǎng)絡(luò)隔離變壓器,其主要是起信號(hào)傳輸、阻抗匹配、波形修復(fù)、雜波抑制以及高電壓隔離等作用,以保護(hù)系統(tǒng)的安全。通過protel 99 SE畫出電路原理圖如圖2所示。



圖2 以太網(wǎng)接口實(shí)際電路原理圖


4 軟件實(shí)現(xiàn)過程

軟件的實(shí)現(xiàn)主要有三個(gè)部分:系統(tǒng)的初始化、數(shù)據(jù)的發(fā)送和接收。

初始化部分完成以太網(wǎng)接口在使用之前的初始化工作,主要包括設(shè)置相關(guān)的寄存器、分配和初始化發(fā)送與接收緩沖區(qū)等。

4.1 以太網(wǎng)工作原理

在網(wǎng)絡(luò)接口層對(duì)應(yīng)的數(shù)據(jù)包是完整的以太網(wǎng)幀格式的,因此要實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收就必須按以太網(wǎng)IEEE802.3協(xié)議來進(jìn)行,該協(xié)議所定義的幀結(jié)構(gòu)如表2所示。

2:標(biāo)準(zhǔn)的以太幀格式

同步位

分隔位

目的地址

源地址

幀類型

數(shù)據(jù)段

填充

校驗(yàn)位

56Bit

8Bit

48Bit

48Bit

16Bit

1500Byte

可選

32Bit

每個(gè)網(wǎng)卡在出廠的時(shí)候有個(gè)全球固定的物理地址(MAC地址)。當(dāng)總線上的一個(gè)節(jié)點(diǎn)發(fā)送一個(gè)數(shù)據(jù)幀,總線上其他的網(wǎng)絡(luò)節(jié)點(diǎn)都拷貝該數(shù)據(jù)幀,每個(gè)節(jié)點(diǎn)檢查數(shù)據(jù)幀的目的物理地址,如果和自己的物理地址匹配的話,該節(jié)點(diǎn)的網(wǎng)卡就接受該數(shù)據(jù)幀傳給上層協(xié)議處理,反之如果不匹配,該節(jié)點(diǎn)就丟棄數(shù)據(jù)幀。

4.2 發(fā)送與接收數(shù)據(jù)幀

采用中斷的方式發(fā)送和接收數(shù)據(jù)。

發(fā)送數(shù)據(jù)幀:將要發(fā)送的數(shù)據(jù)封裝成以太幀,并寫入發(fā)送緩沖區(qū);檢測(cè)網(wǎng)絡(luò)中有無數(shù)據(jù)在傳送,即上一個(gè)幀是否發(fā)送完畢,如果網(wǎng)絡(luò)中仍有數(shù)據(jù)在傳送,則暫時(shí)不能發(fā)送幀,若網(wǎng)絡(luò)中沒有數(shù)據(jù),則可以立即發(fā)送此幀;在發(fā)送該幀時(shí),可同時(shí)封裝下一個(gè)數(shù)據(jù)幀,并將其寫入第二個(gè)發(fā)送緩沖區(qū);當(dāng)中斷服務(wù)程序檢測(cè)到第一個(gè)數(shù)據(jù)幀發(fā)送完畢時(shí),則可發(fā)送下一個(gè)數(shù)據(jù)幀。重復(fù)以上過程,直到所有數(shù)據(jù)幀都發(fā)送完畢。發(fā)送數(shù)據(jù)幀的流程圖如圖3所示。

接收數(shù)據(jù)幀:等待直到有數(shù)據(jù)幀到達(dá),將此數(shù)據(jù)幀保存到FIFO緩存中,然后察看該數(shù)據(jù)幀的目的地址,若為NIC的MAC地址或廣播地址,并且經(jīng)檢驗(yàn)沒有出錯(cuò),則把此數(shù)據(jù)傳送到接收緩沖中,并向處理器提出中斷,將接收到的數(shù)據(jù)幀從 NIC本地緩存連續(xù)讀人到系統(tǒng)內(nèi)存中。接收數(shù)據(jù)幀的流程圖如圖4所示。

圖3 發(fā)送數(shù)據(jù)幀流程圖

圖4 接收數(shù)據(jù)幀流程圖

5 結(jié)束語(yǔ)

本文講到了利用微處理器LPC2368和PHY芯片DP83848C來設(shè)計(jì)以太網(wǎng)接口。由于微控制器LPC2368和物理層芯片DP83848C的優(yōu)良性能,使得該接口電路具有結(jié)構(gòu)簡(jiǎn)單、體積小、功耗低等許多優(yōu)點(diǎn),是實(shí)現(xiàn)嵌入式系統(tǒng)與網(wǎng)絡(luò)連接的不錯(cuò)選擇。

本文作者創(chuàng)新點(diǎn):使用功能強(qiáng)大的微處理器LPC2368,通過精簡(jiǎn)的媒體獨(dú)立接口與物理層芯片進(jìn)行連接,在保證同樣功能的情況下,使得布線更加簡(jiǎn)單,可以大大減小設(shè)計(jì)時(shí)的出錯(cuò)率。

參考文獻(xiàn)

[1]. LPC2364/6/8/78 User manual.

[2]. DP83848C User manual.

[3]. ARM微控制器基礎(chǔ)與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社, 2005.

[4]. 付沖,陳英,馬希敏,張永元.一種通用嵌入式系統(tǒng)以太網(wǎng)與實(shí)現(xiàn)[J].山東大學(xué)學(xué)報(bào),2005.6,35(3):93- 97.

[5]. 呂昌泰,羅永剛.嵌入式以太網(wǎng)接口的研究與設(shè)計(jì)[J].微計(jì)算機(jī)信息.2006,22(8-2):68- 70.

[6]. 葛永明, 林繼寶.嵌入式系統(tǒng)以太網(wǎng)[J].電子技術(shù)應(yīng)用.2002,3:25- 27.

[7].微計(jì)算機(jī)信息-嵌入式與SOC(中旬)



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉