基于LabVIEW串口通信的數據采集串口收錄系統設計
1 系統總體方案
系統總體方案框圖如圖1所示,主要由前端數據采集和上位機波形顯示記錄兩大部分組成。前端數據采集部分以單片機AT89C52為核心,8 KB內部ROM空間,硬件部分采集到的數據通過(guò)串口通信傳送給上位機,收錄系統實(shí)時(shí)顯示、記錄、回放接收的數據。

2 硬件部分的設計
2.1 數據采集部分
該部分采用美信公司的MAX306芯片和ADI公司的AD976芯片。MAX306內部提供16個(gè)信號通道,可在程序編程中指定某通道,通道選擇端由單片機P1口低4位控制,信號經(jīng)過(guò)某通道后送入A/D;AD976采樣率為200 kHz/s、分辨率為16 bit,采集信號范圍為-10 V~+10 V,精度為(1/216)×VREF=(1/216)×20=0.305 mV。A/D數據傳送端和單片機P0口相連,A/D控制端和P1口高4位相連。
2.2 串口通信部分
上位機和下位機通過(guò)RS-232串口進(jìn)行數據接收和發(fā)送,傳輸介質(zhì)為二芯屏蔽電纜,簡(jiǎn)單易用。下位機采用TTL電平,串口采用RS-232電平,因此串口通信需經(jīng)過(guò)電平轉換,電路采用MAX232電平轉換芯片,串口采用母頭接法。通信前先進(jìn)行初始化,包括串口工作方式、通信波特率設定等,這在下位機軟件中實(shí)現。
3 軟件部分的設計
3.1下位機軟件部分
下位機軟件部分采用C51語(yǔ)言編寫(xiě),這是專(zhuān)門(mén)為51系列單片機設計的高效率C語(yǔ)言編譯器,符合ANSI標準,程序代碼運行效率高,比匯編語(yǔ)言更簡(jiǎn)單易用[2]。
下位機軟件程序流程圖如圖2所示。BUSY為轉換結束狀態(tài)標志位,BUSY=1表示轉換完成可以讀取,否則,繼續轉換。將讀取結果送給AT89C52處理,轉換為十進(jìn)制后傳送給液晶和上位機,喂狗部分防止程序跑飛。軟件實(shí)現定點(diǎn)疊加平均數據處理、看門(mén)狗定時(shí)復位和冗余避錯功能,將連續采集的3次數據求平均值,使得采集結果更準確。
其中十進(jìn)制的轉換是關(guān)鍵,轉化公式是:
實(shí)際模擬量=(1/216)×VREF×ValueP0。
其中,VREF為A/D參考電壓20 V,ValueP0為A/D轉換后的二進(jìn)制結果。
3.2 上位機軟件部分
上位機軟件部分采用LabVIEW語(yǔ)言編寫(xiě),程序中用到VISA資源包。VISA是虛擬儀器軟件構架的縮寫(xiě),是儀器編程的標準I/O API,可控制GPIB、串口、USB、以太網(wǎng)、PXI或VXI儀器,并根據使用儀器的類(lèi)型調用相應的驅動(dòng)程序,用戶(hù)無(wú)需學(xué)習各種儀器的通信協(xié)議[3]。
評論