基于單片機和CPLD實時數(shù)據(jù)采集顯示系統(tǒng)設(shè)計
3.4 雙機數(shù)據(jù)傳輸
為達到采集數(shù)據(jù)的實時可控性,系統(tǒng)設(shè)計雙機通信接口作為單片機A/D轉(zhuǎn)換數(shù)據(jù)向計算機傳輸?shù)耐ǖ?。計算機采用WDM下的EPP模式通信,速度達500 KB/s~2 MB/s。使用雙端口RAM IDT7130作為主要元件,通過通信接口,單片機將A/D轉(zhuǎn)換數(shù)據(jù)存入雙端口RAM中,計算機則實時顯示從雙端口RAM中讀取的數(shù)據(jù)。單片機通過雙端口RAM IDT7130的A端口進行寫操作,計算機則通過B端口進行讀操作。握手信號由單片機通過對ROAD信號計數(shù)產(chǎn)生,二者可異步讀寫操作,實現(xiàn)數(shù)據(jù)交換。圖5為單片機與計算機接口電路。
4 系統(tǒng)軟件設(shè)計
4.1 數(shù)據(jù)標定
在給定Vref=5 V,設(shè)單片機采集端口輸入電壓為Vin與之相對應(yīng)的A/D轉(zhuǎn)換數(shù)字量為X,則X=1 024 Vin/5V。對于線性變換預(yù)處理電路可采用Y=5KX/1 024,其中,Y表示電壓實測值,X表示與Y對應(yīng)的A/D轉(zhuǎn)換值,K為放大器增益。令K=Ymax/5 V,其中Ymax表示待測量電壓的最大值。為保證采集精度,應(yīng)先計算Ymax,以保持足夠的A/D轉(zhuǎn)換有效數(shù)字。以待采集電壓0~27 V為例,預(yù)處理電路增益為27/5=5.4。
4.2 實時顯示
讀數(shù)及顯示軟件在VC++6.0環(huán)境下編寫,使用對話框模式,并口采用WDM驅(qū)動方式。軟件運行時直接打開驅(qū)動設(shè)備,同時使用AfxBeginThread()函數(shù)生成一個新線程,其控制線程函數(shù)實時更新讀取并顯示數(shù)據(jù)。由于單片機采用1O位A/D轉(zhuǎn)換器,所以一次轉(zhuǎn)換結(jié)果分兩次傳輸,分別為高位和低位傳輸。并口數(shù)據(jù)傳輸也采用8位方式。上位機在讀取數(shù)據(jù)后,2組數(shù)據(jù)經(jīng)移位、加法運算后得出一個完整數(shù)據(jù),標定后在計算機界面顯示。
5 結(jié)論
實踐證明,該實時采集顯示系統(tǒng)完全滿足導(dǎo)引頭的檢測需求。采集電壓精度可達mV級,刷新率在1.56 k/s以上。該系統(tǒng)采用單片機和CPLD技術(shù),電路設(shè)計結(jié)構(gòu)簡單,實際應(yīng)用可靠性高、通用性強、使用靈活,且采集通道具有擴展性。但在電路設(shè)計過程中應(yīng)注意:由于系統(tǒng)既有模擬電路又有數(shù)字電路,所以合理布線對系統(tǒng)至關(guān)重要,應(yīng)采取合理布線措施以保證基準地線的穩(wěn)定性,從而提高采集精度。
評論