基于DS80C410串口至以太網(wǎng)接口轉(zhuǎn)換器的實(shí)現(xiàn)
介質(zhì)無(wú)關(guān)接口(MII):包括兩個(gè)基本模塊,即MII I/O模塊和MII管理模塊。MII I/O模塊提供獨(dú)立的發(fā)送和接收數(shù)據(jù)路徑和物理層網(wǎng)絡(luò)狀態(tài)信號(hào)輸入,MII管理模塊執(zhí)行2線串行通訊總線便于訪問物理層寄存器。
地址檢測(cè)模塊(Address Check):監(jiān)控所有輸入數(shù)據(jù)包的目的地址,根據(jù)CPU配置的過濾標(biāo)準(zhǔn)決定是轉(zhuǎn)發(fā)還是丟棄。地址檢測(cè)結(jié)果和幀類型信號(hào)位一起由BCU存入數(shù)據(jù)包接收狀態(tài)字中。
發(fā)送/接收緩沖寄存器(Tx/Rx):DS80C410用8KB內(nèi)部SRAM作為發(fā)送/接收數(shù)據(jù)包的緩沖寄存器,CPU可用MOVX指令訪問數(shù)據(jù)存儲(chǔ)器,BCU也可以訪問SRAM,在需要存儲(chǔ)或找回以太網(wǎng)數(shù)據(jù)包信息時(shí)可自動(dòng)讀/寫緩沖寄存器。
電源管理模塊(Power Management):可以通過CPU設(shè)定為休眠模式,在不處理以太網(wǎng)通信時(shí)以便節(jié)省電源[1]。
2.2 LXT972ALC簡(jiǎn)介
LXT972ALC是一個(gè)遵守快速以太網(wǎng)協(xié)議的接口收發(fā)芯片,支持10/100MAC的標(biāo)準(zhǔn)MII,它是物理層設(shè)備,完成參考模型中以IEEE802.3標(biāo)準(zhǔn)定義的物理編碼子層、物理媒體附加層和物理媒體獨(dú)立子層的功能。LXT972ALC設(shè)備實(shí)現(xiàn)了標(biāo)準(zhǔn)IEEE802.3定義的MII提供了從MAC到LXT972ALC數(shù)據(jù)傳輸?shù)莫?dú)立通道。每一個(gè)通道都有各自的時(shí)鐘、數(shù)據(jù)總線和控制信號(hào)[3]。MAC每一次發(fā)送都使用先導(dǎo)模式,當(dāng)LXT972ALC檢測(cè)到先導(dǎo)符時(shí),它發(fā)送一個(gè)幀開始符,然后進(jìn)行編碼和發(fā)送數(shù)據(jù)包的剩余部分,包含包數(shù)據(jù)和CRC。當(dāng)包結(jié)束時(shí),LXT972ALC發(fā)送包結(jié)束分解符,然后轉(zhuǎn)為發(fā)送空閑標(biāo)識(shí)符。
2.3 轉(zhuǎn)換器的硬件連接
基于DS80C410串口至以太網(wǎng)接口轉(zhuǎn)換器的硬件連接如圖2所示。
串口采用MAX202實(shí)現(xiàn)TTL電平到RS232電平的轉(zhuǎn)換,通過RS232標(biāo)準(zhǔn)接口(DB9)接入外部串口設(shè)備。以太網(wǎng)收發(fā)器的輸出經(jīng)過網(wǎng)絡(luò)變壓器的隔離接入RJ45通過5類雙絞線電纜連接10/100BASE-T以太網(wǎng)。
3 軟件部分
DS80C410 MCU內(nèi)部64KB的ROM程序中包含完全符合工業(yè)標(biāo)準(zhǔn)的完整的TCP/IP IPv4/v6 協(xié)議棧,搶占式調(diào)度程序和可以裝載應(yīng)用程序的網(wǎng)絡(luò)引導(dǎo)程序、串口引導(dǎo)裝載程序。系統(tǒng)啟動(dòng)時(shí),ROM對(duì)單片機(jī)的串口0進(jìn)行初始化,微控制器通過串口0和開發(fā)主機(jī)通信,向Flash寫入程序。應(yīng)用程序使用Java來(lái)開發(fā),借助軟件開發(fā)工具包TINI SDK在開發(fā)主機(jī)上完成,TINI SDK將DS80C410中的硬件部分虛擬成Java的類,通過調(diào)用相關(guān)的方法實(shí)現(xiàn)對(duì)硬件的操作。TINI SDK提供了Java程序的運(yùn)行環(huán)境,在主機(jī)上開發(fā)Java應(yīng)用程序經(jīng)過轉(zhuǎn)換,即可在目標(biāo)系統(tǒng)上運(yùn)行。以串口設(shè)備到以太網(wǎng)服務(wù)器數(shù)據(jù)流傳輸程序?yàn)槔?,包括串口到以太網(wǎng)主線程、維持線程,串口發(fā)送、串口接收子線程。各流程圖分別如圖3 、4、5、6所示:
評(píng)論