基于DSP的高速數據采集系統設計方案
DSP 通過CH372 芯片發送數據的處理步驟如下:
①、DSP 執行WR_USB_DATA 命令向CH372 寫入要發送的數據;
②、CH372 被動地等待USB 主機在需要時取走數據;
③、當USB 主機取走數據后,CH372 首先鎖定當前USB 緩沖區,防止重復發送數據,然后將INT引腳設置為低電平,向DSP 請求中斷;
④、DSP 進入中斷服務程序,首先執行GET_STATUS 命令獲取中斷狀態;
⑤、CH372 在GET_STATUS 命令完成后將INT 引腳恢復為高電平,取消中斷請求;
⑥、由于通過上述GET_STATUS 命令獲取的中斷狀態是“上傳成功”,所以DSP 執行WR_USB_DATA命令向CH372 寫入另一組要發送的數據,如果沒有后續數據需要發送,那么DSP 不必執行WR_USB_DATA 命令;
⑦、DSP 執行UNLOCK_USB 命令;
⑧、CH372 在UNLOCK_USB 命令完成后釋放當前緩沖區,從而可以繼續USB 通訊;
⑨、DSP 退出中斷服務程序;
⑩、如果DSP 已經寫入了另一組要發送的數據,那么轉到②,否則結束。
3.2 DSP 程序
DSP 程序是設計中很重要的組成部分,主要分為DSP 和USB 轉換芯片之間的通訊以及DSP 和數據采集芯片MAX1308 之間的通信。當計算機每次下傳數據塊或DSP 上傳數據塊成功時,DSP 的外部捕獲中斷CAP1就會收到CH372 的中斷請求信號。當DSP接收到計算機傳輸過來的采樣命令后就啟動MAX1308進行數據采集,根據計算機要求設置采樣頻率和采樣通道數目,采樣完成后,將數據一并打包傳給計算機。
DSP和采集芯片的連接采用的是總線連接方式,進行數據采集時,DSP通過總線的D0–D7 寫配置寄存器可以激活相應通道。配置寄存器中的位直接映射到相應通道,D0 控制通道0,D7 控制通道7 。把任意一位設為高電平,將激活相應的輸入通道;同樣,把任意一位設為低電平,將禁用相應通道。對少于8通道的器件,其中幾位沒有任何功能。寫配置寄存器時,將CS和WR 設為低電平,然后將D0–D7 位裝載到并行總線,再將WR 置為高電平。數據在WR 的上升沿鎖存。在轉換時序的任意時刻都能夠對配置寄存器進行寫操作。上電時,在啟動轉換之前寫入配置寄存器,以選擇有效通道。
內部時鐘模式下啟動一次轉換,需在采樣時間內將CONVST 置為低電平。當CONVST 為低電平時,T/H 捕獲信號,在CONVST 的上升沿轉換開始。一旦能夠讀取轉換結果,轉換結束信號(EOC)將給出一個低電平脈沖。當最后一個通道的轉換結果可以被讀取時,最后轉換結束信號(EOLC)跳變到低電平。
在EOLC 的下降沿,DSP 將CS 和RD 置為低電平,把第一個轉換結果置于并行總線。RD 連續的低電平脈沖將轉換結果順次放到總線上。時序中最后一個轉換結果讀取后,額外的讀脈沖可以使指針重新指向第一個轉換結果。
3.3 計算機應用程序
計算機應用程序主要完成數據的人機交互功能,用戶通過應用程序配置監測系統、控制數據采集的過程和顯示采集的數據。
4、結論
本系統采用DSP 和MAX125 進行數據采集,通過USB 進行數據傳輸。對單路的數據采集,可以實現800kSPS 的實時數據傳輸,8 路同步采集可以實現400kSPS 的實時數據傳輸。該系統的使用方法簡便、快捷、實時監測性好,可擴展性良好,抗干擾能力強。適當地改進硬件電路和程序就可以對更多采集點進行采集和監測。基于USB 和單總線的便攜式監測,必將被眾多領域廣泛應用。
評論