新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DSP的高速數據采集系統設計方案

        基于DSP的高速數據采集系統設計方案

        作者: 時間:2010-11-05 來源:網絡 收藏

        2.2 USB接口

        USB 通用接口芯片可分為3 種。一種是專門為USB 應用設計的USB 芯片,一種是建立在現有芯片系列基礎上的USB 芯片,還有一種是只處理USB 通信,必須被一個外部微控制器所控制的USB 芯片。該設計采用CH372屬于最后一種。

        CH372 內置了USB 通訊中的底層協議,具有省事的內置固件模式和靈活的外置固件模式。在內置固件模式下,CH372 自動處理默認端點0 的所有事務,本地端DSP 只要負責數據交換,所以DSP 程序非常簡潔。在外置固件模式下,由外部DSP 根據需要自行處理各種USB 請求,從而可以實現符合各種USB 類規范的設備。

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

        2.3 AD 轉換器

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

        3、軟件設計

        該數據系統的軟件由USB 驅動程序、DSP 程序和PC 機應用程序3 大模塊構成。

        3.1 USB 驅動

        USB 設備驅動是應用程序和硬件之間的接口,起著承上啟下的作用。CH372 套件包括CH372 芯片和計算機端的CH372 驅動程序。在本地端,CH372 芯片以內置的固件程序自動處理了USB 通訊中的基本事務;在計算機端,驅動程序以及動態鏈接庫等軟件向計算機應用層提供應用層接口。

        它內部提供API 函數供應用程序使用,以實現對USB 設備的打開、關閉、讀寫等操作。此設計中USB 設備驅動采用USB 芯片廠商提供的驅動程序CH372DRV.EXE,安裝驅動程序CH372DRV.EXE 后,在應用程序中調用動態鏈接庫CH375DLL.DLL 提供的API 函數來打開、關閉、和讀寫USB 設備。

        DSP 和USB 芯片通信時,CH372 芯片占用兩個地址位,當A0 引腳為高電平時選擇命令端口,可以寫入命令;當A0 引腳為低電平時選擇數據端口,可以讀寫數據。DSP 通過8 位并行口對CH372 芯片進行讀寫,所有操作都是由一個命令碼、若干個輸入數據和若干個輸出數據組成,部分命令不需要輸入數據,部分命令沒有輸出數據。命令操作步驟如下:

        ①、在A0=1 時向命令端口寫入命令代碼;

        ②、如果該命令具有輸入數據,則在A0=0 時依次寫入輸入數據,每次一個字節;

        ③、如果該命令具有輸出數據,則在A0=0 時依次讀取輸出數據,每次一個字節;

        ④、命令完成,可以暫停或者轉到①繼續執行下一個命令。

        CH372 芯片專門用于處理USB 通訊,在接收到數據后或者發送完數據后,CH372 以中斷方式通知DSP 進行處理。DSP 通過CH372 芯片接收數據的處理步驟如下:

        ①、當CH372 接收到USB 主機發來的數據后,首先鎖定當前USB 緩沖區,防止被后續數據覆蓋,然后將INT 引腳設置為低電平,向DSP 請求中斷;

        ②、DSP 進入中斷服務程序,首先執行GET_STATUS 命令獲取中斷狀態;

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

        ④、由于通過上述GET_STATUS 命令獲取的中斷狀態是“下傳成功”,所以DSP 執行RD_USB_DATA命令從CH372 讀取接收到的數據;

        ⑤、CH372 在RD_USB_DATA 命令完成后釋放當前緩沖區,從而可以繼續USB 通訊;

        ⑥、DSP 退出中斷服務程序。



        關鍵詞: 采集數據

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 包头市| 咸阳市| 拉孜县| 晋宁县| 德保县| 云阳县| 乌什县| 通渭县| 屏东县| 鄯善县| 龙里县| 温州市| 唐河县| 彩票| 固原市| 沁阳市| 洪泽县| 密云县| 贵定县| 梅河口市| 垣曲县| 中山市| 永新县| 龙川县| 凌海市| 梅河口市| 红安县| 赫章县| 皋兰县| 平湖市| 太湖县| 兰考县| 新邵县| 沁阳市| 伊川县| 江西省| 昆山市| 彩票| 司法| 康乐县| 资溪县|