新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式TCP/IP協議單片機技術在網絡通信中應用

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

        作者: 時間:2013-10-16 來源:網絡 收藏

        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.

        5. X25045 datasheet http://www.dzsc.com/datasheet/X25045_722886.html.

        c++相關文章:c++教程


        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 衡南县| 托克托县| 潮州市| 临夏市| 昌邑市| 贵州省| 敖汉旗| 凌源市| 桐庐县| 潜山县| 绥棱县| 保定市| 楚雄市| 琼结县| 湘阴县| 外汇| 铁岭市| 资中县| 大丰市| 岳池县| 长岭县| 铜川市| 灵寿县| 蓝山县| 彰化市| 颍上县| 扶绥县| 奎屯市| 社会| 砀山县| 广饶县| 洞口县| 中江县| 贵港市| 双流县| 百色市| 沂水县| 长治县| 新营市| 汉阴县| 儋州市|