型單片機(jī)和以太網(wǎng)控制器實(shí)現(xiàn)嵌入式以太網(wǎng)接口的設(shè)計(jì)_第1頁(yè)
型單片機(jī)和以太網(wǎng)控制器實(shí)現(xiàn)嵌入式以太網(wǎng)接口的設(shè)計(jì)_第2頁(yè)
型單片機(jī)和以太網(wǎng)控制器實(shí)現(xiàn)嵌入式以太網(wǎng)接口的設(shè)計(jì)_第3頁(yè)
型單片機(jī)和以太網(wǎng)控制器實(shí)現(xiàn)嵌入式以太網(wǎng)接口的設(shè)計(jì)_第4頁(yè)
型單片機(jī)和以太網(wǎng)控制器實(shí)現(xiàn)嵌入式以太網(wǎng)接口的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、【W(wǎng)ord版本下載可任意編輯】 型單片機(jī)和以太網(wǎng)控制器實(shí)現(xiàn)嵌入式以太網(wǎng)接口的設(shè)計(jì) 由于嵌入式技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,以太網(wǎng)接口在嵌入式系統(tǒng)中的應(yīng)用越來(lái)越廣泛,以太網(wǎng)接口不僅通信速度快,傳輸可靠,使用和配置方便,而且不受地域限制(廣域網(wǎng)和局域網(wǎng)均可)。但通常使用的以太網(wǎng)控制器如RTL8019、DM9008、AX88796L CS8900A 、LAN91C111等都是為個(gè)人專用計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的,這些器件不僅接口電路復(fù)雜,體積厚度較大,而且比較昂貴。Silabs(Silicon Laboratories)公司的獨(dú)立單芯片以太網(wǎng)控制器CP2200是工業(yè)界體積、性能的單芯片10BASE-T以太網(wǎng)控制器

2、, CP2200可以為具有11個(gè)以上端口I/O引腳的任何微控制器或主處理器增加以太網(wǎng)通信功能。 本文使用通用型單片機(jī)C8051F020、以太網(wǎng)控制CP2200和經(jīng)過(guò)自行裁剪的TCP/IP協(xié)議棧,構(gòu)成了嵌入式系統(tǒng)的以太網(wǎng)接口。 1、微控制器C8051F020 C8051F0202是美國(guó)Silabs公司推出的C8051F系列單片機(jī)中的通用型單片機(jī)。C8051系列是片上系統(tǒng)(SOC)單片機(jī)。片上系統(tǒng)(SOC)是把計(jì)算機(jī)常用的一些數(shù)字和模擬外設(shè)等全部都做在一塊芯片上,使它成為一個(gè)完整的模擬數(shù)據(jù)采集與控制系統(tǒng),這使得以8051為內(nèi)核的單片機(jī)上了一個(gè)新的臺(tái)階。 C8051F020是完全集成的混合信號(hào)系統(tǒng)級(jí)

3、MCU芯片,100腳TQFP(Thin Quad Flat Packeage)封裝,MCU可在工業(yè)溫度范圍(-45到+85)內(nèi)工作,具有高速、流水線構(gòu)造,與8051的微控制器內(nèi)核CIP-51兼容。 2、以太網(wǎng)控制器CP2200 CP2200是Silabs(Silicon Laboratories)公司于近期推出的一款針對(duì)工業(yè)控制領(lǐng)域的以太網(wǎng)控制器,集成了IEEE 802.3以太網(wǎng)媒體訪問控制器(MAC)、10Base-T物理層(PHY)和8KB非易失性FLASH存儲(chǔ)器的單芯片以太網(wǎng)控制1器。8位并行總線接口支持Intel和Motorola總線方式,可以使用復(fù)用或非復(fù)用方式尋址。 CP2200有

4、28腳QFN和48腳TQFP兩種封裝。28腳QFN封裝只支持復(fù)用方式尋址。有方式選擇引腳,用于選擇總線接口方式。 CP2200有8KB片內(nèi)FLASH存儲(chǔ)器,可用于存儲(chǔ)用戶常數(shù)、Web服務(wù)器內(nèi)容或作為通用非易失性存儲(chǔ)器。FLASH存儲(chǔ)器的6個(gè)存儲(chǔ)單元是工廠預(yù)編程的48位MAC地址,這樣可以從大多數(shù)嵌入式系統(tǒng)的生產(chǎn)過(guò)程中消除必不可少的序列化步驟。 CP2200完全兼容100/1000 BASE-T網(wǎng)絡(luò),可以工作在全雙工或半雙工模式,自適應(yīng),能開展自動(dòng)極性檢測(cè)和糾正,具有碰撞自動(dòng)重發(fā)功能,能自動(dòng)填充和生成CRC,支持廣播和多播MAC尋址。工作的溫度范圍在-40C到+85C 之間。 圖1 CP2200

5、的系統(tǒng)構(gòu)造圖 3、以太網(wǎng)接口硬件設(shè)計(jì) 在嵌入式系統(tǒng)中,擴(kuò)展以太網(wǎng)接口,通常有下面兩種方法: 1.以太網(wǎng)接口由不帶網(wǎng)絡(luò)接口控制器的嵌入式處理器和以太網(wǎng)接口芯片組成。以太網(wǎng)接口芯片和嵌入式處理器通過(guò)總線相連。此方法通用性強(qiáng),不受處理器的限制,但由于處理器和網(wǎng)絡(luò)通過(guò)外部總線交換數(shù)據(jù),速度慢。 2.選擇帶有以太網(wǎng)接口的嵌入式處理器。這種方法要求嵌入式處理器有通用的網(wǎng)絡(luò)接口控制器。處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過(guò)內(nèi)部總線,速度快。 這里選用前一種方法來(lái)實(shí)現(xiàn)嵌入式系統(tǒng)的以太網(wǎng)接口,其主要由C8051F020單片機(jī)和單芯片以太網(wǎng)控制器CP2200構(gòu)成,如圖2所示,單片機(jī)控制數(shù)據(jù)采集和傳輸,以太網(wǎng)控制器CP2200負(fù)

6、責(zé)將數(shù)據(jù)發(fā)送到因特網(wǎng)或從網(wǎng)絡(luò)上接收數(shù)據(jù)包。 本以太網(wǎng)接口單元是中國(guó)民航總局科技基金項(xiàng)目“機(jī)場(chǎng)噪聲自動(dòng)監(jiān)測(cè)與數(shù)據(jù)傳輸?shù)难芯颗c實(shí)現(xiàn)”中Internet接入設(shè)備的重要組成部分。Internet接入設(shè)備的主要功能是將噪聲數(shù)據(jù)傳送到Internet局域網(wǎng)上。單片機(jī)將從現(xiàn)場(chǎng)采集的數(shù)據(jù),通過(guò)以太網(wǎng)控制器芯片發(fā)送到Internet上,以太網(wǎng)服務(wù)器端接收該數(shù)據(jù)包。服務(wù)器發(fā)送數(shù)據(jù)的流向與之相反,來(lái)自服務(wù)器的以太網(wǎng)幀數(shù)據(jù),通過(guò)RJ45接口送到以太網(wǎng)控制器,處理后的數(shù)據(jù)包再送入單片機(jī)協(xié)議棧。 這里使用的是48引腳的CP2200,這樣可以不用工作在復(fù)用模式。單片機(jī)C8051F020與以太網(wǎng)控制器CP2200采用并口相連

7、接,CP2200有一個(gè)8位的并行主機(jī)接口用于訪問該設(shè)備上的直接存放器。串行口代表數(shù)據(jù)采集,CP2200通過(guò)RJ45接口接入Internet網(wǎng)。 4、以太網(wǎng)接口軟件設(shè)計(jì) 4.1 CP2200驅(qū)動(dòng)程序 以太網(wǎng)中,網(wǎng)絡(luò)接口就是一個(gè)以太網(wǎng)控制芯片及其驅(qū)動(dòng)程序。以太網(wǎng)接口驅(qū)動(dòng)程序包含管理控制器芯片與網(wǎng)絡(luò)協(xié)議棧中上一層之間通信的程序代碼,為了在以太網(wǎng)上傳送IP數(shù)據(jù)報(bào),IP層將數(shù)據(jù)報(bào)傳遞給以太網(wǎng)控制器的驅(qū)動(dòng)程序,驅(qū)動(dòng)程序指示以太網(wǎng)控制器傳送以太網(wǎng)幀。在接收來(lái)自網(wǎng)絡(luò)的IP數(shù)據(jù)報(bào)時(shí),以太網(wǎng)控制器檢查目標(biāo)地址是否與接口硬件地址或控制器可接收的組播或廣播地址一致,如果一致,則控制器檢查錯(cuò)誤,驅(qū)動(dòng)程序把數(shù)據(jù)報(bào)或出錯(cuò)指

8、示傳遞給IP層。 這里以太網(wǎng)接口驅(qū)動(dòng)程序主要是CP2200的初始化配置和收發(fā)配置。 (1) CP2200復(fù)位初始化 CP2200復(fù)位初始化過(guò)程可以確保設(shè)備正常工作。復(fù)位開始時(shí),首先要等待復(fù)位引腳升高,然后等待振蕩器初始化完成,振蕩器初始化完成后會(huì)發(fā)送一個(gè)中斷信號(hào)。之后是CP2200自身初始化,可以通過(guò)檢測(cè)INT0中斷狀態(tài)存放器確定自身初始化的完成。由于系統(tǒng)默認(rèn)的是允許所有的中斷,通過(guò)設(shè)置INT0EN和INT1EN關(guān)閉哪些不被主處理器處理的中斷事件。初始化過(guò)程還包括物理層(PHY)的初始化,以及媒體訪問層(MAC)的初始化。配置接收過(guò)濾器,系統(tǒng)復(fù)位后,過(guò)濾器允許廣播包和組播包,通過(guò)設(shè)置RXFIL

9、T存放器可以決定是接收還是忽略諸如廣播、組播、短幀(幀長(zhǎng)度小于64字節(jié))或者CRC錯(cuò)誤的幀等。初始化完成后,接收緩沖區(qū)為空,CP2200開始準(zhǔn)備發(fā)送或接收數(shù)據(jù)。 (2) 數(shù)據(jù)的接收和發(fā)送 單片機(jī)C8051F020通過(guò)使用CP2200的直接和間接存放器來(lái)控制CP2200,直接存放器可 以訪問RAM緩沖區(qū),F(xiàn)LASH存儲(chǔ)區(qū),間接的MAC配置存放器及其它的狀態(tài)和控制存放器。CP2200具有2K(0 x00000 x07FF)字節(jié)的發(fā)送緩沖區(qū)和4K(0 x00000 x0FFF)字節(jié)的接收緩沖區(qū),它們共享相同的地址空間,都使用RAMADDRH:RAMADDRL指針訪問,每個(gè)緩沖區(qū)都有一個(gè)專門的數(shù)據(jù)存放

10、器。其中CP2200發(fā)送數(shù)據(jù)的流程圖如圖3所示: 使用隨機(jī)儲(chǔ)存器訪問方法將該包裝入發(fā)送緩沖區(qū): a.將RAMADDRH:RAMADDRL設(shè)為0 x0000。 b.將個(gè)字節(jié)寫入 RAMTXDATA。 c.將RAMADDRH:RAMADDRL加1。 d.將另一個(gè)數(shù)據(jù)字節(jié)寫入 RAMTXDATA. e.重復(fù)步驟c和d直到整個(gè)包全部裝入發(fā)送緩存區(qū)。 f.長(zhǎng)度小于64字節(jié)的幀需要填充為至少64字節(jié)。 g.將TXENDH:TXENDL設(shè)置為一個(gè)字節(jié)的地址。該地址值必須大于等于0 x0040。 4.2 TCP/IP協(xié)議棧的設(shè)計(jì) 我們結(jié)合項(xiàng)目的實(shí)際需要,自行開發(fā)了簡(jiǎn)化的TCP/IP協(xié)議,實(shí)現(xiàn)的協(xié)議包括UDP協(xié)

11、議、IP協(xié)議、ARP協(xié)議、ICMP協(xié)議、TCP協(xié)議以及一個(gè)簡(jiǎn)單的HTTP協(xié)議。各協(xié)議自成一個(gè)模塊,可以根據(jù)實(shí)際需要,選擇使用全部的協(xié)議或部分協(xié)議,由于本應(yīng)用主要使用UDP協(xié)議傳輸數(shù)據(jù),因此,TCP部分和HTTP部分可以不使用,去掉這兩個(gè)模塊不會(huì)影響系統(tǒng)的正常工作。 在實(shí)現(xiàn)時(shí),每種協(xié)議的格式都定義為一個(gè)構(gòu)造體,發(fā)送數(shù)據(jù)時(shí),只需將應(yīng)用數(shù)據(jù)由高層傳遞到下一層,每層協(xié)議會(huì)自動(dòng)添加本層協(xié)議所需的報(bào)首內(nèi)容,如,發(fā)送UDP數(shù)據(jù)時(shí),將數(shù)據(jù)傳給UDP層,UDP層會(huì)在數(shù)據(jù)之前參加源目的端口號(hào)和目的端口號(hào)以及數(shù)據(jù)報(bào)長(zhǎng)度和校驗(yàn)和等8個(gè)字節(jié)的UDP報(bào)首信息,然后交給IP層處理,IP同樣地在UDP報(bào)文前參加IP報(bào)首信息,

12、然后發(fā)送給下一層。IP層發(fā)送時(shí)先從ARP Cache中查詢目的IP地址對(duì)應(yīng)的MAC地址,如果有,則將該MAC地址放入相應(yīng)位置,然后發(fā)送;如果找不到目的MAC地址則需要發(fā)送ARP請(qǐng)求包,廣播請(qǐng)求擁有該IP地址的MAC地址,收到ARP回復(fù)包后,再將該IP數(shù)據(jù)發(fā)送到下一層,在IP報(bào)之前再封裝上源MAC和目的MAC地址以及幀類型后,就可以由CP2200開展數(shù)據(jù)的發(fā)送,CP2200會(huì)自動(dòng)添加幀首用于幀同步的8字節(jié)前導(dǎo)符和的幀校驗(yàn)序列,真正將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上。 5、 結(jié)論 本論文的創(chuàng)新點(diǎn):本文設(shè)計(jì)的以太網(wǎng)接口采用新型的單芯片以太網(wǎng)控制器CP2200,可以實(shí)現(xiàn)不同數(shù)據(jù)的網(wǎng)絡(luò)實(shí)時(shí)傳輸,具有穩(wěn)定的工作性能、抗干擾抗震性能和較低的系統(tǒng)開發(fā)成本。簡(jiǎn)化的TCP/IP協(xié)議棧,既防止了通用嵌入式TCP/IP的移植工作,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論