數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
數(shù)據(jù)傳輸模塊軟件在Real View MDK環(huán)境下編寫(xiě),主要功能包括數(shù)據(jù)接收、數(shù)據(jù)處理、串口通信。STM32通過(guò)握手信號(hào)啟動(dòng)CPLD的數(shù)據(jù)采集程序,在啟動(dòng)A/D轉(zhuǎn)換器轉(zhuǎn)換下一路信號(hào)。軟件設(shè)計(jì)上,采用極值滑動(dòng)平均濾波抑制疊加在模擬輸入信號(hào)上的噪聲;應(yīng)用軟件攔截技術(shù)、軟件看門(mén)狗技術(shù)、故障處理自恢復(fù)技術(shù)等措施使受干擾而“跑飛”的程序回到正常的軌道上;采用I/O自檢等程序預(yù)先發(fā)現(xiàn)故障并定位故障所在,提高系統(tǒng)的可靠性。數(shù)據(jù)通信模塊軟件流程圖如圖6所示。
3.2上位機(jī)監(jiān)控軟件設(shè)計(jì)
用戶應(yīng)用服務(wù)程序直接面向用戶,是控制數(shù)據(jù)采集軟件的最上層,不僅提供與用戶交互的界面,還能通過(guò)發(fā)送各種控制命令來(lái)控制采集模塊的丁作。利用微軟公司開(kāi)發(fā)的軟件開(kāi)發(fā)平臺(tái)VC++6.0沒(méi)計(jì)上層界面,進(jìn)行數(shù)據(jù)的實(shí)時(shí)顯示、存儲(chǔ)。采用串口傳輸協(xié)議,將底層采集到的數(shù)據(jù)傳輸?shù)缴衔籔C機(jī),并在VC++6.0設(shè)計(jì)的上層界面中實(shí)時(shí)顯示。
制定通信協(xié)議:通信雙方的波特率設(shè)定為9 600 b/s;幀格式:一個(gè)起始位,八個(gè)數(shù)據(jù)位,一個(gè)可編程的第九位,一個(gè)停止位;工作方式:PC機(jī)采用查詢方式,STM32采用中斷方式;功能標(biāo)志:發(fā)送請(qǐng)求標(biāo)志#0F1H,接收請(qǐng)求標(biāo)志#0FFH;校驗(yàn):通信雙方采用求和校驗(yàn)的方式,即發(fā)送一串字符,雙方計(jì)算累加和,與PC機(jī)比較,有錯(cuò)即重發(fā)。
4 結(jié)論
數(shù)據(jù)采集系統(tǒng)采用CPLD選取輸入通道、控制A/D轉(zhuǎn)換,實(shí)現(xiàn)數(shù)據(jù)采樣;利用STM32具有的豐富外設(shè)接口進(jìn)行數(shù)據(jù)處理、數(shù)據(jù)通信,提高了系統(tǒng)設(shè)計(jì)的靈活性,使系統(tǒng)易于升級(jí)和擴(kuò)展。本系統(tǒng)開(kāi)發(fā)周期短、運(yùn)行穩(wěn)定、性能可靠、使用方便。配合上位機(jī)采集界面,方便進(jìn)行操作使用以及各種采樣數(shù)據(jù)的存儲(chǔ),在多種模擬量輸入的數(shù)據(jù)采集和控制系統(tǒng)的應(yīng)用中前景十分廣闊,將數(shù)據(jù)采集系統(tǒng)應(yīng)用到工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)的采集中將是本研究下一步將要進(jìn)行的工作。
評(píng)論