作者:鄒程,魏銀庫,劉憶輝
主要芯片介紹
·SX52BD是Ubicom公司生產的一款RISC指令集的高速單片機。程序存儲器采用Flash,片內容量為4096字節,重復寫周期1萬次以上;數據存儲器是SRAM,片內容量為262×8位。SX52BD采用4個階段傳遞(接收-解碼-執行-寫入),所以每一時鐘周期執行1條指令。當最大操作頻率達到100MHz時,指令以每10ns的時鐘周期運行。通過串口或并口可以對芯片進行在線編程,芯片還有在線調試支持邏輯。該單片機的最大特點就是虛擬外設功能,即通過軟件對I/O口進行靈活的配置, CPU通過執行虛擬軟件模塊直接驅動I/O口實現硬件外設功能(如UART、I2C、SPI、Caller ID、FSK等)。
·Cirrus公司的CS8900A是用于嵌入式設備的低成本以太局域網控制器。它的高度集成設計使外部器件大大減價。CS8900A包括片上RAM、10Base-T傳輸
和接收濾波器,以及帶24mA驅動的直接ISA總線接口,設置好其內部各個寄存器的值,芯片就可以自動開通網絡接口,由于使用RJ45連接器,所以利用E2023芯片把網絡中的信號進行轉換。
·AT24LC256是Atmel公司生產的一種串行256KB的 EEPROM存儲器,它通過2根數據線與外界通信,兼容I2C總線接口,可分別設為硬件和軟件寫保護,高達10萬次的擦寫,40年以上的數據保護,主要用來存儲網頁信息。
硬件設計
硬件設計原理圖如圖1所示。
圖1 硬件設計原理圖
CS8900A有三種工作模式:I/O模式、存儲器模式和直接存儲器模式,默認為I/O模式,通過程序可變換成其它模式。CS8900A的三種工作模式各有優缺點,本設計中采用的是I/O模式。CS8900A共有8個16位的I/O口,這8個I/O口與片內的8個16位寄存器相對應。如圖1所示,CS8900A采用8位的數據總線方式和SX52BD的RB口相連。地址線和SX52BD的RA口相連。復位后,SX52BD對CS8900A有唯一地址。
與24X256有關的電路,除了上述的和CS8900A連接的部分外,還有PROG接口、晶振和復位電路。其中,PROG接口用于編程和調試,用一個4引腳的接頭引出OSC1、OSC2、VCC和地用于編程和調試,也可以通過串口接振蕩器引腳進行在線串行編程。
CS8900A片內集成了一個10Mbps的以太網收發器,以及所有用于和局域網通信的模擬和數字電路,通過一個電磁隔離器E2023直接和局域網相連。RJ45為網絡接頭,可接10Mbps或100Mbps的網絡集線器。
需要注意的是,在PCB布線時數字信號和模擬信號不能混合,信號線不能走在CS8900A下面,輸出變壓器離RJ45盡量近,傳輸線和接收線的終端匹配電阻和電容應盡量靠近CS8900A。
軟件設計
本設計的軟件部分分為四部分,主要實現網絡協議棧的四層結構:數據鏈路層、網絡層、傳輸層和應用層
數據鏈路層
數據鏈路層的實現主要由SX52BD控制網卡芯片CS8900來完成。系統工作時,SX52BD首先對網卡芯片進行初始化,即寫寄存器LINECTL、RXCTL、RCCFG、BUSCT。發數據時,寫控制寄存器TXCMD,并將發送數據長度寫入TXLENG,然后將數據依次寫入PORT0口,網卡芯片將數據組織為鏈路層類型并添加填充位和CRC校驗送到網絡。
網絡層
SX52BD100的協議棧中,網絡層的實現就是執行IP協議包,在發送時,要把發送出去的消息進行IP打包,即加上IP包頭,使之符合IP數據包的格式發送到物理層;將接收到的來自物理層的數據包進行IP解包,即去掉包頭,送到TCP層。
傳輸層
傳輸層的實現,即對TCP層的實現。在SX52BD的協議棧中,對TCP層的編程通過TCP API(應用程序接口)來進行。TCP的API主要包括下面的函數和變量:
發送數據或接收數據。接收數據時,從IP層來的數據經過狀態機去掉TCP包頭后再送到應用層;發送數據時,狀態機在數據前面加上TCP包頭再發送到IP層。接收數據時,需要用到的TCP API函數為TCPAppRxBytes()、TCPAppRxData()和TCPAppRxDone();發送數據時,需要用到的TCP API函數為TCPAppTxBytes()、TCPAppTxData()和TCPAppTxDone()。需要注意的是在建立了TCP連接后才可以發送數據。
應用層
應用層的實現,先把源文件下載到AT24C256,,SX52BD通過智能信息表來來管理AT24C256中的資源。當一個請求到來時,一個8位的無用信息對統一資源定位器進行運算(8位字符加運算),再將得到的數據乘以2,并把這個結果作為一個索引區中的一個值。在AT24C256中建立了查找表,憑著這個值在E2PROM中去查表,從而找到相應的資源。
應用
本文的英特網終端已應用到高速公路導引系統中,終端將高速公路上顯業屏的信息及狀態通過網絡能夠實時傳送到監測中心計算機,監測中心軟件通過GPRS網絡與終端進行雙向通信。本文的終稿很好的滿足了系統實時監測的需要。
責任編輯:gt
-
單片機
+關注
關注
6032文章
44514瀏覽量
632962 -
控制器
+關注
關注
112文章
16198瀏覽量
177398 -
局域網
+關注
關注
5文章
747瀏覽量
46243
發布評論請先 登錄
相關推薦
評論