《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 嵌入式TCP/IP協議單片機技術在網絡通信中的應用

嵌入式TCP/IP協議單片機技術在網絡通信中的應用

2008-12-25
作者:陳學泉 關宇東

??? 摘? 要: 介紹了嵌入式TCP/IP" title="TCP/IP">TCP/IP協議單片機在網絡通信中的數據傳輸技術。將TCP/IP協議嵌入到單片機中,借助網卡芯片CS8900實現了單片機在局域網內和通過局域網在因特網上的數據傳輸。 用戶終端以單片機系統板為媒介,通過網絡與遠程數據終端實現數據通信。?

??? 關鍵詞: TCP/IP協議? 單片機? 因特網? 局域網? 網卡芯片

?

??? 在因特網上,TCP/IP協議每時每刻保證了數據的準確傳輸。在數據采集領域,如何利用TCP/IP協議在網絡中進行數據傳輸成為一個炙手可熱的話題。在本系統中,筆者利用TCP/IP協議中的UDP(用戶數據報協議)、IP(網絡報文協議)、ARP(地址解析" title="地址解析">地址解析協議)及簡單的應用層" title="應用層">應用層協議成功地實現了單片機的網絡互連,既提高了數據傳輸的速度,又保證了數據傳輸的正確性,同時也擴展了數據傳輸的有效半徑。?

1 TCP/IP協議簡介?

??? TCP/IP協議是一套把因特網上的各種系統互連起來的協議組,保證因特網上數據的準確快速傳輸。參考開放系統互連(OSI)模型,TCP/IP通常采用一種簡化的四層模型,分別為:應用層、傳輸層、網絡層、鏈路層" title="鏈路層">鏈路層。

??? (1)應用層 ?

??? 網絡應用層要有一個定義清晰的會話過程,如通常所說的Http、Ftp、Telnet等。在本系統中,單片機系統傳遞來自Ethernet和數據終端的數據,應用層只對大的數據報作打包拆報處理。?

??? (2)傳輸層 ?

??? 傳輸層讓網絡程序通過明確定義的通道及某些特性獲取數據,如定義網絡連接的端口號等,實現該層協議的傳輸控制協議TCP和用戶數據報協議UDP。在本系統中使用UDP數據報協議。?

??? (3)網絡層?

?? ?網絡層讓信息可以發送到相鄰的TCP/IP網絡上的任一主機上,IP協議就是該層中傳送數據的機制。同時為建立網絡間的互連,應提供ARP地址解析協議,實現從IP地址到數據鏈路物理地址的映像。?

??? (4)鏈路層?

??? 由控制同一物理網絡上的不同機器間數據傳送的底層協議組成,實現這一層協議的協議并不屬于TCP/IP協議組。在本系統中這部分功能由單片機控制網卡芯片CS8900實現。?

2 硬件框圖?

??? 如圖1所示,系統提供RJ45接口連接Ethernet網絡,并且提供一個串口" title="串口">串口給用戶使用。系統板可以將從Ethernet上過來的IP數據報解包后送給串口,也可將從串口過來的數據封裝為IP包送到局域網中。外部RAM使用61C1024(128KB),從而為數據處理提供了很大的緩存; 使用E2PROM——X25045,既可以作為看門狗使用,也可以將IP地址、網卡物理地址和其他參數保存在里面。?

?

?

??? CS8900芯片是Cirrus Logic公司生產的一種局域網處理芯片,它的封裝是100-pin TQFP,內部集成了在片RAM、10BASE-T收發濾波器,并且提供8位和16位兩種接口,本文只介紹它的8位模式。?

??? NE103是一種脈沖變壓器,在CS8900的前端對網絡信號進行脈沖波形變換。?

3 工作原理?

3.1 CS8900的工作原理?

??? CS8900與單片機按照8位方式連接,網卡芯片復位后默認工作方式為I/O連接,基址是300H,下面對它的幾個主要工作寄存器進行介紹(寄存器后括號內的數字為寄存器地址相對基址300H的偏移量)。?

??? ·LINECTL(0112H)?

?? ?LINECTL決定CS8900的基本配置和物理接口。在本系統中,設置初始值為00d3H,選擇物理接口為10BASE-T,并使能設備的發送和接收控制位。?

??? ·RXCTL(0104H)?

??? RXCTL控制CS8900接收特定數據報。設置RXTCL的初始值為0d05H,接收網絡上的廣播或者目標地址同本地物理地址相同的正確數據報。?

??? ·RXCFG(0102H)?

??? RXCFG控制CS8900接收到特定數據報后會引發接收中斷。RXCFG可設置為0103H,這樣當收到一個正確的數據報后,CS8900會產生一個接收中斷。?

??? ·BUSCT(0116H)?

??? BUSCT可控制芯片的I/O接口的一些操作。設置初始值為8017H,打開CS8900的中斷總控制位。?

??? ·ISQ(0120H)?

??? ISQ是網卡芯片的中斷狀態寄存器,內部映射接收中斷狀態寄存器和發送中斷狀態寄存器的內容。?

??? ·PORT0(0000H)?

??? 發送和接收數據時,CPU通過PORT0傳遞數據。?

??? ·TXCMD(0004H)?

??? 發送控制寄存器,如果寫入數據00C0H,那么網卡芯片在全部數據寫入后開始發送數據。?

??? ·TXLENG(0006H)?

??? 發送數據長度寄存器,發送數據時,首先寫入發送數據長度,然后將數據通過PORT0寫入芯片。?

??? 以上為幾個最主要的工作寄存器(為16位),CS8900支持8位模式,當讀或寫16位數據時,低位字節對應偶地址,高位字節對應奇地址。例如,向TXCMD中寫入00C0H,則可將00h寫入305H,將C0H寫入304H。?

??? 系統工作時,應首先對網卡芯片進行初始化,即寫寄存器LINECTL、RXCTL、RCCFG、BUSCT。發數據時,寫控制寄存器TXCMD,并將發送數據長度寫入TXLENG,然后將數據依次寫入PORT0口,如將第一個字節寫入300H,第二個字節寫入301H,第三個字節寫入300H,依此類推。網卡芯片將數據組織為鏈路層類型并添加填充位和CRC校驗送到網絡。同樣,單片機查詢ISO的數據,當有數據來到后,讀取接收到的數據幀。讀數據時,單片機依次讀地址300H,301H,300H,301H...。?

3.2 單片機工作流程

??? 如圖2所示,單片機首先初始化網絡設備。網卡的IP地址和物理地址存在X25045中,單片機復位后首先調取這些數據以初始化網絡。?

?

?

??? 單片機主要完成數據的解包打包。當有數據從RJ45過來,單片機對數據報進行分析,如果是ARP(物理地址解析)數據包,則程序轉入ARP處理程序(因為在網絡上正是ARP協議將IP地址和物理地址相映射)。如果是IP數據包且傳輸層使用UDP協議,端口正確,則認為數據報正確,數據解包后,將數據部分通過串口輸出。反之,如果單片機從串口收到數據,則將數據按照UDP協議格式打包,送入CS8900,由CS8900將數據輸出到局域網中。?

??? 可以知道,單片機主要處理協議的網絡層和傳輸層,鏈路層部分由CS8900完成。因單片機將數據接收后完整不變地通過串口輸出,所以將應用層交付用戶來處理,用戶可以根據需求對收到的數據進行處理。?

??? 在單片機的程序處理中,包含了完整的APR地址解析協議。通過在單片機中正確設置網關、子網掩碼等參數,實現了通過局域網單片機與外部因特網上的終端設備的數據通信。?

4 應用?

??? 這種嵌入了TCP/IP協議的單片機系統板,具有成本低、硬件少、占用面積少、傳輸速度快、使用方便等優點。適用于現有的網絡傳輸系統,有著廣泛的應用前景,特別是數據采集、數據傳輸領域。目前,在屏幕板數據成像、遠程數據采集系統中被使用。?

參考文獻?

1 Douglas E.comer,David L.Stevens著. 張 娟, 王海譯. 用TCP/IP進行網際互連.北京:電子工業出版社,1998?

2 雷 斌,楊建華,黃超.Visual C++6.0網絡編程技術.北京:人民郵電出版社,2000?

3 Postel, J. Internet Protocol. RFC 760? USC/Information??Sciences Institute,January 1980.?

4 Postel,J. User Datagram Protocol. RFC 768? USC/Information Sciences Institute,August 1980.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品视频免费观看| 久久久综合精品| 亚洲欧洲在线播放| 欧美有码视频| 性刺激综合网| 欧美一二三视频| 欧美在线免费观看| 久久激情综合网| 欧美中文字幕在线视频| 欧美亚洲在线| 欧美一区亚洲| 久久国产精彩视频| 久久激情视频久久| 亚洲第一天堂av| 亚洲国内在线| 亚洲精品日韩综合观看成人91| 亚洲国产日日夜夜| 91久久久久久久久| 亚洲伦理网站| 亚洲视频免费| 亚洲欧美在线视频观看| 欧美在线观看天堂一区二区三区| 欧美一区二区国产| 久久九九久精品国产免费直播| 久久夜色精品国产欧美乱| 美女在线一区二区| 欧美日韩第一页| 国产精品久久久久久久久久妞妞| 欧美视频在线观看免费| 国产精品外国| 国产专区精品视频| 亚洲国产精品免费| 一区二区三区国产精华| 亚洲欧美日韩国产综合| 亚洲成在人线av| 日韩视频在线免费观看| 亚洲综合丁香| 久久免费99精品久久久久久| 久久综合久久综合久久综合| 欧美黄色日本| 国产精品入口夜色视频大尺度| 国产午夜亚洲精品羞羞网站| 精品成人在线视频| 日韩视频一区二区三区| 亚洲影院一区| 亚洲国产色一区| 亚洲一区二区三区四区视频| 久久国产黑丝| 欧美不卡高清| 欧美午夜一区二区| 国语精品一区| 亚洲日本va午夜在线电影| 亚洲欧美国产不卡| 91久久综合| 午夜精品久久久| 男女激情视频一区| 国产精品红桃| 在线看成人片| 亚洲欧美另类在线观看| 亚洲另类视频| 久久国产一二区| 欧美日韩免费观看一区=区三区| 国产日韩精品在线播放| 亚洲人成在线免费观看| 欧美一区二区三区日韩视频| 亚洲最新视频在线| 久久蜜桃精品| 国产精品任我爽爆在线播放 | 欧美专区18| 亚洲深夜影院| 美女亚洲精品| 国产欧美视频一区二区| 亚洲精品视频免费观看| 欧美一区二区成人| 亚洲天堂av高清| 老鸭窝毛片一区二区三区 | 亚洲经典三级| 久久精品国产亚洲a| 亚洲永久精品国产| 欧美精品成人| 狠狠色丁香久久婷婷综合丁香| 一区二区三区四区在线| 亚洲乱码国产乱码精品精| 久久精品国产久精国产思思| 欧美三区美女| 亚洲激情网站免费观看| 久久成人免费视频| 欧美中文在线观看国产| 欧美日韩中文另类| 亚洲黄色成人| 亚洲国产精品久久久久婷婷老年| 欧美一区二区三区男人的天堂 | 免费一区二区三区| 国产亚洲精品一区二区| 亚洲一区二区三区成人在线视频精品| 亚洲精品日韩精品| 免费在线看一区| 韩国在线一区| 欧美一区二区女人| 性久久久久久久久久久久| 欧美日韩免费观看一区三区| 亚洲国产欧美另类丝袜| 亚洲国产精品t66y| 久久久蜜桃一区二区人| 国产情侣一区| 亚洲欧美精品| 欧美一区二区三区电影在线观看| 国产精品福利网站| 宅男精品视频| 亚洲免费在线视频一区 二区| 欧美日韩精品久久久| 亚洲精品一区二区三| 亚洲精品久久久久久久久| 欧美丰满少妇xxxbbb| 狠狠色综合一区二区| 久久国产精品99国产| 久久理论片午夜琪琪电影网| 国产香蕉97碰碰久久人人| 欧美在线播放| 久久亚洲一区| 在线观看亚洲a| 亚洲精品国产系列| 欧美日本高清视频| 亚洲毛片av| 亚洲欧美另类国产| 国产精品爽黄69| 欧美一区视频| 免费欧美日韩| 亚洲精品日韩在线| 亚洲一区亚洲二区| 国产精品毛片高清在线完整版| 亚洲免费视频观看| 久久九九国产精品| 在线高清一区| av成人手机在线| 国产精品高清免费在线观看| 亚洲免费视频一区二区| 久久久精品国产一区二区三区| 一区在线免费观看| 亚洲免费av电影| 国产精品www.| 欧美一级电影久久| 免费不卡在线观看av| 亚洲精品久久久蜜桃| 亚洲综合色视频| 国产在线播精品第三| 亚洲精品一品区二品区三品区| 欧美日韩国产一级片| 亚洲一级片在线观看| 久久国产精品亚洲77777| 亚洲第一精品久久忘忧草社区| 在线视频精品一| 国产欧美另类| 亚洲精品乱码久久久久久久久 | 欧美伊人久久久久久久久影院| 欧美.日韩.国产.一区.二区| 亚洲伦理在线| 久久国产精品一区二区三区| 精品1区2区| 亚洲综合社区| 黄色小说综合网站| 一区二区欧美激情| 国产视频自拍一区| 日韩视频在线免费观看| 国产精品普通话对白| 亚洲福利专区| 国产精品国产三级国产aⅴ浪潮| 久久av一区| 欧美丝袜一区二区三区| 久久精品国产久精国产爱| 欧美日韩国产一区二区三区地区| 亚洲一线二线三线久久久| 欧美91视频| 亚洲免费视频成人| 欧美精品久久久久a| 亚洲欧洲99久久| 欧美精品一区二区三区蜜桃| 亚洲欧美日韩国产一区二区三区| 欧美mv日韩mv国产网站| 亚洲免费一在线| 欧美日韩成人一区二区三区| 欧美一进一出视频| 欧美日韩影院| 亚洲激情av| 国产精品丝袜xxxxxxx| 日韩视频一区二区三区在线播放免费观看 | 久久亚洲国产成人| 一区二区三区视频在线 | 欧美精品粉嫩高潮一区二区| 亚洲女人小视频在线观看| 欧美理论电影网| 久久精品国亚洲| 国产精品国产亚洲精品看不卡15| 亚洲电影免费在线| 国产精品一级二级三级| 99re6热在线精品视频播放速度| 国内成人自拍视频| 午夜精品短视频| 亚洲每日在线| 欧美成人一区二区在线|