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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案

          基于DSP的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案

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

          2.2 USB接口

          USB 通用接口芯片可分為3 種。一種是專門為USB 應(yīng)用設(shè)計(jì)的USB 芯片,一種是建立在現(xiàn)有芯片系列基礎(chǔ)上的USB 芯片,還有一種是只處理USB 通信,必須被一個(gè)外部微控制器所控制的USB 芯片。該設(shè)計(jì)采用CH372屬于最后一種。

          CH372 內(nèi)置了USB 通訊中的底層協(xié)議,具有省事的內(nèi)置固件模式和靈活的外置固件模式。在內(nèi)置固件模式下,CH372 自動(dòng)處理默認(rèn)端點(diǎn)0 的所有事務(wù),本地端DSP 只要負(fù)責(zé)數(shù)據(jù)交換,所以DSP 程序非常簡(jiǎn)潔。在外置固件模式下,由外部DSP 根據(jù)需要自行處理各種USB 請(qǐng)求,從而可以實(shí)現(xiàn)符合各種USB 類規(guī)范的設(shè)備。

          CH372 與 TMS320F2812 之間以非總線方式連接,連接框圖如圖2 所示。CH372 的8 位數(shù)據(jù)口D0 ~D7 分別掛在TMS320F2812 的GPIOA0 ~ GPIOA7 準(zhǔn)雙向I/O 口上,命令數(shù)據(jù)地址選擇端A0,讀信號(hào)選擇端RD,寫(xiě)信息選擇端WR 和中斷輸出端INT 分別與TMS320F2812的GPIOA9、GPIOA10、GPIOA11 和GPIO8(CAP1)相連,片選引腳CS 接地。

          2.3 AD 轉(zhuǎn)換器

          該系統(tǒng)采用MAXIM 公司的MAX1308 型號(hào)的AD 轉(zhuǎn)換器,MAX1308 獨(dú)立的采樣保持(T/H)電路為每個(gè)通道提供同時(shí)采樣,MAX1308 提供±5V 輸入范圍,輸入故障容限為±16.5V。其ADC 在0.9micro;s 內(nèi)完成2 個(gè)通道的轉(zhuǎn)換,在1.98µs 內(nèi)完成多達(dá)8 個(gè)通道的轉(zhuǎn)換,8 個(gè)通道轉(zhuǎn)換時(shí)每通道吞吐率為456kSPS。其他特性包括20MHz 的T/H 輸入帶寬、內(nèi)部時(shí)鐘、內(nèi)部(+2.5V)或外部(+2.0V 至+3.0V)基準(zhǔn)以及低功耗省電模式。20MHz、12 位雙向并行數(shù)據(jù)總線用來(lái)提供轉(zhuǎn)換結(jié)果,并可接受數(shù)字輸入分別激活每一路通道。工作在+4.75V 至+5.25V 模擬電源與+2.7V 至+5.25V 數(shù)字電源下,全速運(yùn)行時(shí),總電源電流為57mA,工作溫度為-40℃至+85℃擴(kuò)展溫度范圍。

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

          該數(shù)據(jù)系統(tǒng)的軟件由USB 驅(qū)動(dòng)程序、DSP 程序和PC 機(jī)應(yīng)用程序3 大模塊構(gòu)成。

          3.1 USB 驅(qū)動(dòng)

          USB 設(shè)備驅(qū)動(dòng)是應(yīng)用程序和硬件之間的接口,起著承上啟下的作用。CH372 套件包括CH372 芯片和計(jì)算機(jī)端的CH372 驅(qū)動(dòng)程序。在本地端,CH372 芯片以內(nèi)置的固件程序自動(dòng)處理了USB 通訊中的基本事務(wù);在計(jì)算機(jī)端,驅(qū)動(dòng)程序以及動(dòng)態(tài)鏈接庫(kù)等軟件向計(jì)算機(jī)應(yīng)用層提供應(yīng)用層接口。

          它內(nèi)部提供API 函數(shù)供應(yīng)用程序使用,以實(shí)現(xiàn)對(duì)USB 設(shè)備的打開(kāi)、關(guān)閉、讀寫(xiě)等操作。此設(shè)計(jì)中USB 設(shè)備驅(qū)動(dòng)采用USB 芯片廠商提供的驅(qū)動(dòng)程序CH372DRV.EXE,安裝驅(qū)動(dòng)程序CH372DRV.EXE 后,在應(yīng)用程序中調(diào)用動(dòng)態(tài)鏈接庫(kù)CH375DLL.DLL 提供的API 函數(shù)來(lái)打開(kāi)、關(guān)閉、和讀寫(xiě)USB 設(shè)備。

          DSP 和USB 芯片通信時(shí),CH372 芯片占用兩個(gè)地址位,當(dāng)A0 引腳為高電平時(shí)選擇命令端口,可以寫(xiě)入命令;當(dāng)A0 引腳為低電平時(shí)選擇數(shù)據(jù)端口,可以讀寫(xiě)數(shù)據(jù)。DSP 通過(guò)8 位并行口對(duì)CH372 芯片進(jìn)行讀寫(xiě),所有操作都是由一個(gè)命令碼、若干個(gè)輸入數(shù)據(jù)和若干個(gè)輸出數(shù)據(jù)組成,部分命令不需要輸入數(shù)據(jù),部分命令沒(méi)有輸出數(shù)據(jù)。命令操作步驟如下:

          ①、在A0=1 時(shí)向命令端口寫(xiě)入命令代碼;

          ②、如果該命令具有輸入數(shù)據(jù),則在A0=0 時(shí)依次寫(xiě)入輸入數(shù)據(jù),每次一個(gè)字節(jié);

          ③、如果該命令具有輸出數(shù)據(jù),則在A0=0 時(shí)依次讀取輸出數(shù)據(jù),每次一個(gè)字節(jié);

          ④、命令完成,可以暫?;蛘咿D(zhuǎn)到①繼續(xù)執(zhí)行下一個(gè)命令。

          CH372 芯片專門用于處理USB 通訊,在接收到數(shù)據(jù)后或者發(fā)送完數(shù)據(jù)后,CH372 以中斷方式通知DSP 進(jìn)行處理。DSP 通過(guò)CH372 芯片接收數(shù)據(jù)的處理步驟如下:

          ①、當(dāng)CH372 接收到USB 主機(jī)發(fā)來(lái)的數(shù)據(jù)后,首先鎖定當(dāng)前USB 緩沖區(qū),防止被后續(xù)數(shù)據(jù)覆蓋,然后將INT 引腳設(shè)置為低電平,向DSP 請(qǐng)求中斷;

          ②、DSP 進(jìn)入中斷服務(wù)程序,首先執(zhí)行GET_STATUS 命令獲取中斷狀態(tài);

          ③、CH372 在GET_STATUS 命令完成后將INT 引腳恢復(fù)為高電平,取消中斷請(qǐng)求;

          ④、由于通過(guò)上述GET_STATUS 命令獲取的中斷狀態(tài)是“下傳成功”,所以DSP 執(zhí)行RD_USB_DATA命令從CH372 讀取接收到的數(shù)據(jù);

          ⑤、CH372 在RD_USB_DATA 命令完成后釋放當(dāng)前緩沖區(qū),從而可以繼續(xù)USB 通訊;

          ⑥、DSP 退出中斷服務(wù)程序。



          關(guān)鍵詞: 采集數(shù)據(jù)

          評(píng)論


          技術(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); })();