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