新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機實現(xiàn)嵌入式因特網終端的設計

基于單片機實現(xiàn)嵌入式因特網終端的設計

作者: 時間:2011-12-22 來源:網絡 收藏

主要芯片介紹

·是Ubicom公司生產的一款RISC指令集的高速單片機。程序存儲器采用Flash,片內容量為4096字節(jié),重復寫周期1萬次以上;數(shù)據(jù)存儲器是SRAM,片內容量為262×8位。采用4個階段傳遞(接收-解碼-執(zhí)行-寫入),所以每一時鐘周期執(zhí)行1條指令。當最大操作頻率達到100MHz時,指令以每10ns的時鐘周期運行。通過串口或并口可以對芯片進行在線編程,芯片還有在線調試支持邏輯。該單片機的最大特點就是虛擬外設功能,即通過軟件對I/O口進行靈活的配置, CPU通過執(zhí)行虛擬軟件模塊直接驅動I/O口實現(xiàn)硬件外設功能(如UART、I2C、SPI、Caller ID、FSK等)。

·Cirrus公司的CS8900A是用于嵌入式設備的低成本以太局域網控制器。它的高度集成設計使外部器件大大減價。CS8900A包括片上RAM、10Base-T傳輸和接收濾波器,以及帶24mA驅動的直接ISA總線接口,設置好其內部各個寄存器的值,芯片就可以自動開通網絡接口,由于使用RJ45連接器,所以利用E2023芯片把網絡中的信號進行轉換。

·AT24LC256是Atmel公司生產的一種串行256KB的 EEPROM存儲器,它通過2根數(shù)據(jù)線與外界通信,兼容I2C總線接口,可分別設為硬件和軟件寫保護,高達10萬次的擦寫,40年以上的數(shù)據(jù)保護,主要用來存儲網頁信息。

硬件設計

硬件設計原理圖如圖1所示。

圖1 硬件設計原理圖

  CS8900A有三種工作模式:I/O模式、存儲器模式和直接存儲器模式,默認為I/O模式,通過程序可變換成其它模式。CS8900A的三種工作模式各有優(yōu)缺點,本設計中采用的是I/O模式。CS8900A共有8個16位的I/O口,這8個I/O口與片內的8個16位寄存器相對應。如圖1所示,CS8900A采用8位的數(shù)據(jù)總線方式和的RB口相連.地址線和SX52BD的RA口相連。復位后,SX52BD對CS8900A有唯一地址。

  與24X256有關的電路,除了上述的和CS8900A連接的部分外,還有PROG接口、晶振和復位電路。其中,PROG接口用于編程和調試,用一個4引腳的接頭引出OSC1、OSC2、VCC和地用于編程和調試,也可以通過串口接振蕩器引腳進行在線串行編程。

  CS8900A片內集成了一個10Mbps的以太網收發(fā)器,以及所有用于和局域網通信的模擬和數(shù)字電路,通過一個電磁隔離器E2023直接和局域網相連。RJ45為網絡接頭,可接10Mbps或100Mbps的網絡集線器。

  需要注意的是,在PCB布線時數(shù)字信號和模擬信號不能混合,信號線不能走在CS8900A下面,輸出變壓器離RJ45盡量近,傳輸線和接收線的終端匹配電阻和電容應盡量靠近CS8900A。

軟件設計

  本設計的軟件部分分為四部分,主要實現(xiàn)網絡協(xié)議棧的四層結構:數(shù)據(jù)鏈路層、網絡層、傳輸層和應用層

  數(shù)據(jù)鏈路層

  數(shù)據(jù)鏈路層的實現(xiàn)主要由SX52BD控制網卡芯片CS8900來完成。系統(tǒng)工作時,SX52BD首先對網卡芯片進行初始化,即寫寄存器LINECTL、RXCTL、RCCFG、BUSCT。發(fā)數(shù)據(jù)時,寫控制寄存器TXCMD,并將發(fā)送數(shù)據(jù)長度寫入TXLENG,然后將數(shù)據(jù)依次寫入PORT0口,網卡芯片將數(shù)據(jù)組織為鏈路層類型并添加填充位和CRC校驗送到網絡。

  網絡層

  SX52BD100的協(xié)議棧中,網絡層的實現(xiàn)就是執(zhí)行IP協(xié)議包,在發(fā)送時,要把發(fā)送出去的消息進行IP打包,即加上IP包頭,使之符合IP數(shù)據(jù)包的格式發(fā)送到物理層;將接收到的來自物理層的數(shù)據(jù)包進行IP解包,即去掉包頭,送到TCP層。

  傳輸層

  傳輸層的實現(xiàn),即對TCP層的實現(xiàn)。在SX52BD的協(xié)議棧中,對TCP層的編程通過TCP API(應用程序接口)來進行。TCP的API主要包括下面的函數(shù)和變量:

發(fā)送數(shù)據(jù)或接收數(shù)據(jù)。接收數(shù)據(jù)時,從IP層來的數(shù)據(jù)經過狀態(tài)機去掉TCP包頭后再送到應用層;發(fā)送數(shù)據(jù)時,狀態(tài)機在數(shù)據(jù)前面加上TCP包頭再發(fā)送到IP層。接收數(shù)據(jù)時,需要用到的TCP API函數(shù)為TCPAppRxBytes()、TCPAppRxData()和TCPAppRxDone();發(fā)送數(shù)據(jù)時,需要用到的TCP API函數(shù)為TCPAppTxBytes()、TCPAppTxData()和TCPAppTxDone()。需要注意的是在建立了TCP連接后才可以發(fā)送數(shù)據(jù)。

  應用層

  應用層的實現(xiàn),先把源文件下載到AT24C256,,SX52BD通過智能信息表來來管理AT24C256中的資源。當一個請求到來時,一個8位的無用信息對統(tǒng)一資源定位器進行運算(8位字符加運算),再將得到的數(shù)據(jù)乘以2,并把這個結果作為一個索引區(qū)中的一個值。在AT24C256中建立了查找表,憑著這個值在E2PROM中去查表,從而找到相應的資源。

  應用

  本文的英特網終端已應用到高速公路導引系統(tǒng)中,終端將高速公路上顯業(yè)屏的信息及狀態(tài)通過網絡能夠實時傳送到監(jiān)測中心計算機,監(jiān)測中心軟件通過GPRS網絡與終端進行雙向通信。本文的終稿很好的滿足了系統(tǒng)實時監(jiān)測的需要。



關鍵詞: SX52BD

評論


技術專區(qū)

關閉