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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Web的嵌入式DSP測(cè)控系統(tǒng)設(shè)計(jì)方案

          基于Web的嵌入式DSP測(cè)控系統(tǒng)設(shè)計(jì)方案

          作者: 時(shí)間:2012-07-23 來(lái)源:網(wǎng)絡(luò) 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/257342.htm

          技術(shù)被稱(chēng)為1990年至今最引人注目的應(yīng)用,沒(méi)有什么技術(shù)或工具像它那樣被廣泛應(yīng)用近年來(lái),技術(shù)正在逐漸向工業(yè)控制和嵌入式電子系統(tǒng)領(lǐng)域滲透,越來(lái)越多的嵌入式控制設(shè)備都具有了以太網(wǎng)接入功能,為客戶(hù)提供了一種方便、快速、通用性強(qiáng)、成本相對(duì)低廉的現(xiàn)場(chǎng)通信方式。

          DSP微處理器自問(wèn)世以來(lái),因其豐富的硬件資源、改進(jìn)的哈佛結(jié)構(gòu)、高速數(shù)據(jù)處理能力和強(qiáng)大的指令系統(tǒng),已被應(yīng)用到人們?nèi)粘W(xué)習(xí)、生產(chǎn)、生活、工作的各個(gè)方面。

          本文介紹了一個(gè)帶有嵌入式服務(wù)器的小型TCPIP協(xié)議棧,以TMS320F206為Web-Server,通過(guò)Web瀏覽器遠(yuǎn)程監(jiān)測(cè)傳感器采集的溫度、壓力值和電位器的輸入值,以及遠(yuǎn)程控制步進(jìn)電機(jī)。

          1、系統(tǒng)的硬件設(shè)計(jì)

          系統(tǒng)硬件設(shè)計(jì)主要包括電路部分和數(shù)據(jù)采集電路部分。系統(tǒng)框圖如圖1所示。

          圖1 系統(tǒng)框圖

          1.1 硬件電路

          是臺(tái)灣REALTEK公司生產(chǎn)的以太網(wǎng)控制器,其主要特性為:支持IEEE802.3;支持8位或16位數(shù)據(jù)總線;內(nèi)置16KB 的SRAM,用于收發(fā)緩沖;全雙工,收發(fā)同時(shí)達(dá)到10Mbps;支持10Base5,10Base2,10BaseT,能自動(dòng)檢測(cè)所連接的介質(zhì)。RTL8019AS與主機(jī)有3種接口模式,即跳線模式,PnP模式和RT模式。

          系統(tǒng)使用跳線接口模式,RTL8019AS的SMEMR和SMEMW引腳接高電平,屏蔽了遠(yuǎn)程自舉加載功能。由于DSP系統(tǒng)無(wú)DMA控制器,因此將RTL8019AS的AEN引腳接地。數(shù)據(jù)總線RTL8019AS的IOCS16引腳接高電平,選擇16位數(shù)據(jù)總線方式。TMS320F206的IO口讀速度很快,因此將RTL8019AS 的IOCHRDY 信號(hào)與TMS320F206的外設(shè)準(zhǔn)備好信號(hào)READY相連。

          TMS320F206的IO口控制信號(hào)IS,STRB,INFO等信號(hào)經(jīng)過(guò)GAL16V8B譯碼后與RTL8019AS的讀/寫(xiě)控制IOR,IOW及INFO等連接。步進(jìn)電機(jī)通過(guò)TMS320F206的IO口進(jìn)行控制。20F001N是雙絞線驅(qū)動(dòng)/接收器,內(nèi)部有2個(gè)傳輸變壓器,實(shí)現(xiàn)RTL8019AS與RJ45的連接。



          1.2 數(shù)據(jù)采集電路部分

          系統(tǒng)數(shù)據(jù)輸入包括溫度傳感器采集的溫度值、應(yīng)變片采集的壓力值和電位器的輸入值,前者由單總線數(shù)字溫度傳感器芯片DS18B20實(shí)現(xiàn),后二者經(jīng)過(guò)12并行模/數(shù)轉(zhuǎn)換芯片AD1674轉(zhuǎn)換后實(shí)現(xiàn)。

          DS18B20是美國(guó)DALLAS公司生產(chǎn)的增強(qiáng)型單總線數(shù)字溫度傳感器。其主要性能特點(diǎn)包括:采用單總線專(zhuān)用技術(shù),既可通過(guò)串行口線,也可通過(guò)其他I/0口線與微機(jī)接口,無(wú)須經(jīng)過(guò)其他變換電路,直接輸出被測(cè)溫度值(9位二進(jìn)制數(shù),含符號(hào)位);測(cè)溫范圍為-55℃~+125℃,測(cè)量分辨率為0.0625℃;內(nèi)含64位經(jīng)過(guò)激光修正的只讀存儲(chǔ)器ROM;用戶(hù)可分別設(shè)定各路溫度的上、下限;內(nèi)含寄生電源。

          AD1674是美國(guó)AD公司推出的一種完整的12并行模/數(shù)轉(zhuǎn)換單片集成電路2該芯片內(nèi)部自帶采樣保持器(SHA),10V基準(zhǔn)電壓源,時(shí)鐘源以及可以和微處理總線相接的暫存/三態(tài)輸出緩沖器。

          實(shí)際應(yīng)用時(shí),將程序中的IP地址設(shè)置為與所在局域網(wǎng)同一范圍,例如局域網(wǎng)的IP地址為196.618.2.X,則可將程序中的IP地址設(shè)置為196.168.2.10,并保證此IP地址不與其他網(wǎng)絡(luò)設(shè)備沖突。用網(wǎng)線將系統(tǒng)板接入局域網(wǎng)。在局域網(wǎng)內(nèi)任意一臺(tái)計(jì)算機(jī)打開(kāi)IE,在地址欄內(nèi)訪問(wèn)HTTP192.168.2.10,均可看到如圖2所示的網(wǎng)頁(yè)內(nèi)容。

          圖2 瀏覽器頁(yè)面效果

          2、系統(tǒng)的軟件設(shè)計(jì)

          軟件設(shè)計(jì)主要包括RTL8019AS驅(qū)動(dòng)程序設(shè)計(jì),建立與管理TCP連接,以及利用HTTP協(xié)議實(shí)現(xiàn)WebServer。

          2.1 RTL8019AS驅(qū)動(dòng)程序設(shè)計(jì)

          RTL8019AS驅(qū)動(dòng)程序主要包括初始化部分、數(shù)據(jù)包接收部分和數(shù)據(jù)包發(fā)送部分。

          初始化部分要進(jìn)行系統(tǒng)復(fù)位、初始化配置寄存器、初始化接收和發(fā)送緩沖區(qū)、設(shè)置以太網(wǎng)接口的物理地址以及初始化中斷等。

          對(duì)接收到的數(shù)據(jù),RTL8019通過(guò)MAC和CRC校驗(yàn)后,由FIFO保存到接收緩沖區(qū),接收滿(mǎn)一幀后,以中斷或寄存器標(biāo)志方式通知主處理器。FIFO邏輯對(duì)收/發(fā)數(shù)據(jù)做16字節(jié)的緩沖,以降低對(duì)本地DMA請(qǐng)求的頻率。

          向以太網(wǎng)上發(fā)送數(shù)據(jù)時(shí),RTL8019會(huì)首先將一幀數(shù)據(jù)通過(guò)遠(yuǎn)程DMA通道送到發(fā)送緩沖區(qū),然后發(fā)出傳送命令。RTL8019發(fā)送完上幀數(shù)據(jù)后,再開(kāi)始發(fā)送當(dāng)前數(shù)據(jù)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();