<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)實(shí)現(xiàn)嵌入式因特網(wǎng)終端的設(shè)計(jì)

          基于單片機(jī)實(shí)現(xiàn)嵌入式因特網(wǎng)終端的設(shè)計(jì)

          作者: 時(shí)間:2011-12-22 來源:網(wǎng)絡(luò) 收藏

          主要芯片介紹

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

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

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

          硬件設(shè)計(jì)

          硬件設(shè)計(jì)原理圖如圖1所示。

          圖1 硬件設(shè)計(jì)原理圖

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

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

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

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

          軟件設(shè)計(jì)

            本設(shè)計(jì)的軟件部分分為四部分,主要實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議棧的四層結(jié)構(gòu):數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層

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

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

            網(wǎng)絡(luò)層

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

            傳輸層

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

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

            應(yīng)用層

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

            應(yīng)用

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



          關(guān)鍵詞: SX52BD

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();