基于DSP的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案
DSP 通過(guò)CH372 芯片發(fā)送數(shù)據(jù)的處理步驟如下:
①、DSP 執(zhí)行WR_USB_DATA 命令向CH372 寫(xiě)入要發(fā)送的數(shù)據(jù);
②、CH372 被動(dòng)地等待USB 主機(jī)在需要時(shí)取走數(shù)據(jù);
③、當(dāng)USB 主機(jī)取走數(shù)據(jù)后,CH372 首先鎖定當(dāng)前USB 緩沖區(qū),防止重復(fù)發(fā)送數(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í)行WR_USB_DATA命令向CH372 寫(xiě)入另一組要發(fā)送的數(shù)據(jù),如果沒(méi)有后續(xù)數(shù)據(jù)需要發(fā)送,那么DSP 不必執(zhí)行WR_USB_DATA 命令;
⑦、DSP 執(zhí)行UNLOCK_USB 命令;
⑧、CH372 在UNLOCK_USB 命令完成后釋放當(dāng)前緩沖區(qū),從而可以繼續(xù)USB 通訊;
⑨、DSP 退出中斷服務(wù)程序;
⑩、如果DSP 已經(jīng)寫(xiě)入了另一組要發(fā)送的數(shù)據(jù),那么轉(zhuǎn)到②,否則結(jié)束。
3.2 DSP 程序
DSP 程序是設(shè)計(jì)中很重要的組成部分,主要分為DSP 和USB 轉(zhuǎn)換芯片之間的通訊以及DSP 和數(shù)據(jù)采集芯片MAX1308 之間的通信。當(dāng)計(jì)算機(jī)每次下傳數(shù)據(jù)塊或DSP 上傳數(shù)據(jù)塊成功時(shí),DSP 的外部捕獲中斷CAP1就會(huì)收到CH372 的中斷請(qǐng)求信號(hào)。當(dāng)DSP接收到計(jì)算機(jī)傳輸過(guò)來(lái)的采樣命令后就啟動(dòng)MAX1308進(jìn)行數(shù)據(jù)采集,根據(jù)計(jì)算機(jī)要求設(shè)置采樣頻率和采樣通道數(shù)目,采樣完成后,將數(shù)據(jù)一并打包傳給計(jì)算機(jī)。
DSP和采集芯片的連接采用的是總線連接方式,進(jìn)行數(shù)據(jù)采集時(shí),DSP通過(guò)總線的D0–D7 寫(xiě)配置寄存器可以激活相應(yīng)通道。配置寄存器中的位直接映射到相應(yīng)通道,D0 控制通道0,D7 控制通道7 。把任意一位設(shè)為高電平,將激活相應(yīng)的輸入通道;同樣,把任意一位設(shè)為低電平,將禁用相應(yīng)通道。對(duì)少于8通道的器件,其中幾位沒(méi)有任何功能。寫(xiě)配置寄存器時(shí),將CS和WR 設(shè)為低電平,然后將D0–D7 位裝載到并行總線,再將WR 置為高電平。數(shù)據(jù)在WR 的上升沿鎖存。在轉(zhuǎn)換時(shí)序的任意時(shí)刻都能夠?qū)ε渲眉拇嫫鬟M(jìn)行寫(xiě)操作。上電時(shí),在啟動(dòng)轉(zhuǎn)換之前寫(xiě)入配置寄存器,以選擇有效通道。
內(nèi)部時(shí)鐘模式下啟動(dòng)一次轉(zhuǎn)換,需在采樣時(shí)間內(nèi)將CONVST 置為低電平。當(dāng)CONVST 為低電平時(shí),T/H 捕獲信號(hào),在CONVST 的上升沿轉(zhuǎn)換開(kāi)始。一旦能夠讀取轉(zhuǎn)換結(jié)果,轉(zhuǎn)換結(jié)束信號(hào)(EOC)將給出一個(gè)低電平脈沖。當(dāng)最后一個(gè)通道的轉(zhuǎn)換結(jié)果可以被讀取時(shí),最后轉(zhuǎn)換結(jié)束信號(hào)(EOLC)跳變到低電平。
在EOLC 的下降沿,DSP 將CS 和RD 置為低電平,把第一個(gè)轉(zhuǎn)換結(jié)果置于并行總線。RD 連續(xù)的低電平脈沖將轉(zhuǎn)換結(jié)果順次放到總線上。時(shí)序中最后一個(gè)轉(zhuǎn)換結(jié)果讀取后,額外的讀脈沖可以使指針重新指向第一個(gè)轉(zhuǎn)換結(jié)果。
3.3 計(jì)算機(jī)應(yīng)用程序
計(jì)算機(jī)應(yīng)用程序主要完成數(shù)據(jù)的人機(jī)交互功能,用戶通過(guò)應(yīng)用程序配置監(jiān)測(cè)系統(tǒng)、控制數(shù)據(jù)采集的過(guò)程和顯示采集的數(shù)據(jù)。
4、結(jié)論
本系統(tǒng)采用DSP 和MAX125 進(jìn)行數(shù)據(jù)采集,通過(guò)USB 進(jìn)行數(shù)據(jù)傳輸。對(duì)單路的數(shù)據(jù)采集,可以實(shí)現(xiàn)800kSPS 的實(shí)時(shí)數(shù)據(jù)傳輸,8 路同步采集可以實(shí)現(xiàn)400kSPS 的實(shí)時(shí)數(shù)據(jù)傳輸。該系統(tǒng)的使用方法簡(jiǎn)便、快捷、實(shí)時(shí)監(jiān)測(cè)性好,可擴(kuò)展性良好,抗干擾能力強(qiáng)。適當(dāng)?shù)馗倪M(jìn)硬件電路和程序就可以對(duì)更多采集點(diǎn)進(jìn)行采集和監(jiān)測(cè)?;赨SB 和單總線的便攜式監(jiān)測(cè),必將被眾多領(lǐng)域廣泛應(yīng)用。
評(píng)論