當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]由于嵌入式技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,以太網(wǎng)接口在嵌入式系統(tǒng)中的應(yīng)用越來越廣泛,以太網(wǎng)接口不僅通信速度快,傳輸可靠,使用和配置方便,而且不受地域限制(廣域網(wǎng)和局域網(wǎng)

由于嵌入式技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,以太網(wǎng)接口在嵌入式系統(tǒng)中的應(yīng)用越來越廣泛,以太網(wǎng)接口不僅通信速度快,傳輸可靠,使用和配置方便,而且不受地域限制(廣域網(wǎng)和局域網(wǎng)均可)。但通常使用的以太網(wǎng)控制器如RTL8019、DM9008、AX88796L CS8900A 、LAN91C111等都是為個人專用計算機系統(tǒng)設(shè)計的,這些器件不僅接口電路復(fù)雜,體積厚度較大,而且比較昂貴。Silabs(Silicon Laboratories)公司的獨立單芯片以太網(wǎng)控制器CP2200是工業(yè)界體積最小、性能最高的單芯片10BASE-T以太網(wǎng)控制器, CP2200可以為具有11個以上端口I/O引腳的任何微控制器或主處理器增加以太網(wǎng)通信功能【1】。

本文使用通用型單片機C8051F020、以太網(wǎng)控制CP2200和經(jīng)過自行裁剪的TCP/IP協(xié)議棧,構(gòu)成了嵌入式系統(tǒng)的以太網(wǎng)接口。

1. 微控制器C8051F020

C8051F020[2]是美國Silabs公司推出的C8051F系列單片機中的通用型單片機。 C8051系列是片上系統(tǒng)(SOC)單片機。片上系統(tǒng)(SOC)是把計算機常用的一些數(shù)字和模擬外設(shè)等全部都做在一塊芯片上,使它成為一個完整的模擬數(shù)據(jù)采集與控制系統(tǒng),這使得以8051為內(nèi)核的單片機上了一個新的臺階。

C8051F020是完全集成的混合信號系統(tǒng)級MCU芯片,100腳TQFP(Thin Quad Flat Packeage)封裝,MCU可在工業(yè)溫度范圍(-45℃到+85℃)內(nèi)工作,具有高速、流水線結(jié)構(gòu),與8051的微控制器內(nèi)核CIP-51兼容。

2. 以太網(wǎng)控制器CP2200【1】

CP2200是Silabs(Silicon Laboratories)公司于近期推出的一款針對工業(yè)控制領(lǐng)域的以太網(wǎng)控制器,集成了IEEE 802.3以太網(wǎng)媒體訪問控制器(MAC)、10Base-T物理層(PHY)和8KB非易失性FLASH存儲器的單芯片以太網(wǎng)控制[1]器。8位并行總線接口支持Intel和Motorola總線方式,可以使用復(fù)用或非復(fù)用方式尋址。

CP2200有28腳QFN和48腳TQFP兩種封裝。28腳QFN封裝只支持復(fù)用方式尋址。有方式選擇引腳,用于選擇總線接口方式。

CP2200有8KB片內(nèi)FLASH存儲器,可用于存儲用戶常數(shù)、Web服務(wù)器內(nèi)容或作為通用非易失性存儲器。FLASH存儲器的最后6個存儲單元是工廠預(yù)編程的唯一48位MAC地址,這樣可以從大多數(shù)嵌入式系統(tǒng)的生產(chǎn)過程中消除必不可少的序列化步驟。

CP2200完全兼容100/1000 BASE-T網(wǎng)絡(luò),可以工作在全雙工或半雙工模式,自適應(yīng),能進行自動極性檢測和糾正,具有碰撞自動重發(fā)功能,能自動填充和生成CRC,支持廣播和多播MAC尋址。工作的溫度范圍在-40°C到+85°C 之間。

3. 以太網(wǎng)接口硬件設(shè)計

在嵌入式系統(tǒng)中,擴展以太網(wǎng)接口,通常有下面兩種方法【3】:

1.以太網(wǎng)接口由不帶網(wǎng)絡(luò)接口控制器的嵌入式處理器和以太網(wǎng)接口芯片組成。以太網(wǎng)接口芯片和嵌入式處理器通過總線相連。此方法通用性強,不受處理器的限制,但由于處理器和網(wǎng)絡(luò)通過外部總線交換數(shù)據(jù),速度慢。

2.選擇帶有以太網(wǎng)接口的嵌入式處理器。這種方法要求嵌入式處理器有通用的網(wǎng)絡(luò)接口控制器。處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過內(nèi)部總線,速度快。

這里選用前一種方法來實現(xiàn)嵌入式系統(tǒng)的以太網(wǎng)接口,其主要由C8051F020單片機和單芯片以太網(wǎng)控制器CP2200構(gòu)成,如圖2所示,單片機控制數(shù)據(jù)采集和傳輸,以太網(wǎng)控制器CP2200負責(zé)將數(shù)據(jù)發(fā)送到因特網(wǎng)或從網(wǎng)絡(luò)上接收數(shù)據(jù)包。

本以太網(wǎng)接口單元是中國民航總局科技基金項目“機場噪聲自動監(jiān)測與數(shù)據(jù)傳輸?shù)难芯颗c實現(xiàn)”中 Internet接入設(shè)備的重要組成部分。Internet接入設(shè)備的主要功能是將噪聲數(shù)據(jù)傳送到Internet局域網(wǎng)上。單片機將從現(xiàn)場采集的數(shù)據(jù),通過以太網(wǎng)控制器芯片發(fā)送到Internet上,以太網(wǎng)服務(wù)器端接收該數(shù)據(jù)包.服務(wù)器發(fā)送數(shù)據(jù)的流向與之相反,來自服務(wù)器的以太網(wǎng)幀數(shù)據(jù),通過RJ45接口送到以太網(wǎng)控制器,處理后的數(shù)據(jù)包再送入單片機協(xié)議棧。

這里使用的是48引腳的CP2200,這樣可以不用工作在復(fù)用模式。單片機C8051F020與以太網(wǎng)控制器CP2200采用并口相連接,CP2200有一個8位的并行主機接口用于訪問該設(shè)備上的直接寄存器。串行口代表數(shù)據(jù)采集,CP2200通過 RJ45接口接入Internet網(wǎng)。

4. 以太網(wǎng)接口軟件設(shè)計

4.1 CP2200驅(qū)動程序

以太網(wǎng)中,網(wǎng)絡(luò)接口就是一個以太網(wǎng)控制芯片及其驅(qū)動程序。以太網(wǎng)接口驅(qū)動程序包含管理控制器芯片與網(wǎng)絡(luò)協(xié)議棧中上一層之間通信的程序代碼,為了在以太網(wǎng)上傳送IP數(shù)據(jù)報,IP層將數(shù)據(jù)報傳遞給以太網(wǎng)控制器的驅(qū)動程序,驅(qū)動程序指示以太網(wǎng)控制器傳送以太網(wǎng)幀。在接收來自網(wǎng)絡(luò)的IP數(shù)據(jù)報時,以太網(wǎng)控制器檢查目標(biāo)地址是否與接口硬件地址或控制器可接收的組播或廣播地址一致,如果一致,則控制器檢查錯誤,驅(qū)動程序把數(shù)據(jù)報或出錯指示傳遞給IP層。

這里以太網(wǎng)接口驅(qū)動程序主要是CP2200的初始化配置和收發(fā)配置。

(1) CP2200復(fù)位初始化

CP2200復(fù)位初始化過程可以確保設(shè)備正常工作。復(fù)位開始時,首先要等待復(fù)位引腳升高,然后等待振蕩器初始化完成,振蕩器初始化完成后會發(fā)送一個中斷信號。之后是CP2200自身初始化,可以通過檢測INT0中斷狀態(tài)寄存器確定自身初始化的完成。由于系統(tǒng)默認的是允許所有的中斷,通過設(shè)置INT0EN和INT1EN關(guān)閉哪些不被主處理器處理的中斷事件。初始化過程還包括物理層(PHY)的初始化,以及媒體訪問層(MAC)的初始化。最后配置接收過濾器,系統(tǒng)復(fù)位后,過濾器允許廣播包和組播包,通過設(shè)置RXFILT寄存器可以決定是接收還是忽略諸如廣播、組播、短幀(幀長度小于64字節(jié))或者CRC錯誤的幀等。初始化完成后,接收緩沖區(qū)為空,CP2200開始準(zhǔn)備發(fā)送或接收數(shù)據(jù).

 

(2) 數(shù)據(jù)的接收和發(fā)送

單片機C8051F020通過使用CP2200的直接和間接寄存器來控制CP2200,直接寄存器可

以訪問RAM緩沖區(qū),F(xiàn)LASH存儲區(qū),間接的MAC配置寄存器及其它的狀態(tài)和控制寄存器。 CP2200具有2K(0x0000–0x07FF)字節(jié)的發(fā)送緩沖區(qū)和4K(0x0000–0x0FFF)字節(jié)的接收緩沖區(qū),它們共享相同的地址空間,都使用RAMADDRH:RAMADDRL指針訪問,每個緩沖區(qū)都有一個專門的數(shù)據(jù)寄存器。其中CP2200發(fā)送數(shù)據(jù)的流程圖如圖3所示:

使用隨機儲存器訪問方法將該包裝入發(fā)送緩沖區(qū):

a.將RAMADDRH:RAMADDRL設(shè)為0x0000。

b.將第一個字節(jié)寫入 RAMTXDATA。[!--empirenews.page--]

c.將RAMADDRH:RAMADDRL加1。

d.將另一個數(shù)據(jù)字節(jié)寫入 RAMTXDATA.

e.重復(fù)步驟c和d直到整個包全部裝入發(fā)送緩存區(qū)。

f.長度小于64字節(jié)的幀需要填充為至少64字節(jié)。

g.將TXENDH:TXENDL設(shè)置為最后一個字節(jié)的地址。該地址值必須大于等于0x0040。

4.2 TCP/IP協(xié)議棧的設(shè)計

我們結(jié)合項目的實際需要,自行開發(fā)了簡化的TCP/IP協(xié)議[4],實現(xiàn)的協(xié)議包括UDP協(xié)議、 IP協(xié)議、ARP協(xié)議、ICMP協(xié)議、TCP協(xié)議以及一個簡單的HTTP協(xié)議。各協(xié)議自成一個模塊,可以根據(jù)實際需要,選擇使用全部的協(xié)議或部分協(xié)議,由于本應(yīng)用主要使用UDP協(xié)議傳輸數(shù)據(jù),因此,TCP部分和HTTP部分可以不使用,去掉這兩個模塊不會影響系統(tǒng)的正常工作。

在實現(xiàn)時,每種協(xié)議的格式都定義為一個結(jié)構(gòu)體,發(fā)送數(shù)據(jù)時,只需將應(yīng)用數(shù)據(jù)由高層傳遞到下一層,每層協(xié)議會自動添加本層協(xié)議所需的報首內(nèi)容,如,發(fā)送UDP數(shù)據(jù)時,將數(shù)據(jù)傳給UDP層,UDP層會在數(shù)據(jù)之前加入源目的端口號和目的端口號以及數(shù)據(jù)報長度和校驗和等8個字節(jié)的UDP報首信息,然后交給IP層處理,IP同樣地在UDP報文前加入IP報首信息,然后發(fā)送給下一層。IP層發(fā)送時先從ARP Cache中查詢目的IP地址對應(yīng)的MAC地址,如果有,則將該MAC地址放入相應(yīng)位置,然后發(fā)送;如果找不到目的MAC地址則需要發(fā)送ARP請求包,廣播請求擁有該IP地址的MAC地址,收到ARP回復(fù)包后,再將該IP數(shù)據(jù)發(fā)送到下一層,在IP報之前再封裝上源MAC和目的MAC地址以及幀類型后,就可以由CP2200進行數(shù)據(jù)的發(fā)送,CP2200會自動添加幀首用于幀同步的8字節(jié)前導(dǎo)符和最后的幀校驗序列,真正將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上。

5 結(jié)論

本論文的創(chuàng)新點:本文設(shè)計的以太網(wǎng)接口采用新型的單芯片以太網(wǎng)控制器CP2200,可以實現(xiàn)不同數(shù)據(jù)的網(wǎng)絡(luò)實時傳輸,具有穩(wěn)定的工作性能、抗干擾抗震性能和較低的系統(tǒng)開發(fā)成本。簡化的TCP/IP協(xié)議棧,既避免了通用嵌入式TCP/IP的移植工作,也避免了資源的浪費,同時便于修改和擴充。

CP2200是一款新型的單芯片以太網(wǎng)控制器,具有高性能的并行外部內(nèi)存界面,高達30 Mbps的操作速度可大幅縮短通訊時間,可使搭配的微控制器能以更高效率執(zhí)行通訊協(xié)議或其它程序?;贑P2200開發(fā)的以太網(wǎng)接口現(xiàn)以廣泛應(yīng)用于遠程檢測和監(jiān)視、嵌入式Web服務(wù)器、POS設(shè)備、遠程以太網(wǎng)-UART橋等領(lǐng)域,產(chǎn)生了良好的經(jīng)濟效益,具有廣闊的發(fā)展前景。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉