數(shù)據(jù)采集系統(tǒng)設(shè)計
掃描二維碼
隨時隨地手機看文章
摘要:設(shè)計一種基于STM32和CPLD的數(shù)據(jù)采集系統(tǒng),實現(xiàn)現(xiàn)場數(shù)據(jù)的采集、傳輸、顯示和存儲。數(shù)據(jù)采集過程由CPLD控制,采用Verilog HDL語言設(shè)計輸入通道選通和A/D采集控制程序,進行數(shù)據(jù)的濾波、放大、轉(zhuǎn)換,實現(xiàn)多通道數(shù)據(jù)的采集;在STM32中實現(xiàn)數(shù)據(jù)處理、傳輸,并在PC機中開發(fā)上層數(shù)據(jù)管理軟件,實現(xiàn)數(shù)據(jù)的顯示、存儲。系統(tǒng)可實現(xiàn)多通道數(shù)據(jù)采集實時顯示的要求,電路設(shè)計方法簡單、可靠性高,能滿足實際應(yīng)用的要求。
關(guān)鍵詞:STM32;CPLD;實時數(shù)據(jù);數(shù)據(jù)管理
0 引言
隨著自動控制和計算機技術(shù)的成熟和發(fā)展,以及它們和傳統(tǒng)工業(yè)的結(jié)合,加工設(shè)備的自動化程度有了大幅度的提高,各種控制設(shè)備與控制技術(shù)得到了廣泛應(yīng)用,大大提高了加工制造的效率,當然這種高效的生產(chǎn)對檢測量的精確性和實時性也提出了更高的要求,而依靠傳統(tǒng)的數(shù)據(jù)采集方法(即由操作工人憑借簡易測量工具進行測量)已無法滿足這種要求。
目前,生產(chǎn)設(shè)備的參數(shù)采集手段主要有便攜式檢測儀和在線檢測系統(tǒng),采用便攜式儀器需要花費大量的人力和時間,采集到的數(shù)據(jù)不能實時反映設(shè)備加工的狀態(tài),具有一定局限性;一般的在線檢測系統(tǒng),檢測數(shù)據(jù)相對單一,不能滿足多成分分析的需要;對于一些大型的在線檢測系統(tǒng),雖然能滿足實時檢測和精度要求,但系統(tǒng)體積龐大、投資多、難以推廣使用,并且國內(nèi)很多在線檢測系統(tǒng),對檢測到的數(shù)據(jù)缺乏綜合利用和管理,不能很好地為工藝和裝置的優(yōu)化節(jié)能及節(jié)能減耗改造服務(wù)。因此開發(fā)出具有實時數(shù)據(jù)采集、存儲、傳輸?shù)裙δ艿脑诰€數(shù)據(jù)采集系統(tǒng)是十分必要的。
1 系統(tǒng)的整體方案與工作原理
數(shù)據(jù)采集系統(tǒng)是基于CPLD和STM32的弱信號采集電路,可用于各種弱信號檢測的應(yīng)用研究中,整個系統(tǒng)由信號濾波、信號放大、數(shù)據(jù)采樣處理和主計算機傳輸接口等組成。信號濾波防止信號產(chǎn)生“混疊現(xiàn)象”;信號放大對輸入信號進行調(diào)理,使信號在A/D轉(zhuǎn)換能夠轉(zhuǎn)換的電壓范圍內(nèi),以滿足采樣的要求;數(shù)據(jù)采樣處理完成模擬信號的采樣保持和數(shù)字化;與主計算機的數(shù)據(jù)接口,將數(shù)據(jù)上傳給計算機,滿足信號檢測的實時性,進行數(shù)據(jù)的存儲、顯示等。數(shù)據(jù)采集電路板硬件功能模塊構(gòu)成如圖1所示。
2 系統(tǒng)硬件結(jié)構(gòu)
整個系統(tǒng)由信號預處理、信號采集和數(shù)據(jù)傳輸三大模塊組成,其中信號預處理進行信號濾波、信號放大,預處理模塊由MC1558,MC1556等組成;信號采集進行信號選通、A/D轉(zhuǎn)換;信號采集模塊由AD508、A/D轉(zhuǎn)換芯片、CPLD組成;數(shù)據(jù)傳輸進行數(shù)據(jù)的軟件濾波、通過通信口與上位機進行通信,數(shù)據(jù)傳輸由STM32芯片、信號輸出接口模塊組成。
2.1 信號預處理電路
由于待采集電壓信號輸入動態(tài)范圍較寬,且極性各異,采用輸入電壓范圍可調(diào)的信號預處理電路。信號預處理電路如圖2所示,信號放大倍數(shù)為R1×R2/(100×100)。
2.2 信號采集模塊
CPLD是在PAL、GAL等邏輯器件的基礎(chǔ)上發(fā)展起來的,同以往的GAL、PAL等相比,CPLD的規(guī)模比較大,適合于時序、組合等邏輯電路的應(yīng)用場合。采用Altera公司的EPM7128SQI100作為數(shù)據(jù)采集的控制芯片,負責信號采樣、A/D轉(zhuǎn)換、數(shù)據(jù)輸入控制等。EPM7128SQI100具有128個宏單元,84個用戶I/O管腳,工作電壓為5.0 V,具有2 500個可用門和ISP,管腳間延遲為6.0 ns,計數(shù)器速度可高達125 MHz,可以很好地滿足系統(tǒng)的需要。信號采集電路如圖3所示。
ADG508是一款8通道CMOS模擬多路選擇器,具有高速轉(zhuǎn)換速度和低內(nèi)阻特性,通道切換具有防短路功能。在CPLD控制下,它可對采集信號進行有序通道切換。A/D轉(zhuǎn)換芯片選用AD977,AD977是ADI(Analog Devices)公司推出的一款高速16位A/D轉(zhuǎn)換器,輸入電壓范圍為-10~+10 V,單極5 V電壓供電,采樣頻率可達100kHz。數(shù)據(jù)采樣系統(tǒng)最大采樣速率可達50kHz,信號分辨率可達0.3mV。通過采用多路轉(zhuǎn)換開關(guān)ADG508與16位A/D配合使用,降低了成本。
2.3 數(shù)據(jù)傳輸模塊
STM32是數(shù)據(jù)通信芯片,主要負責數(shù)據(jù)處理、傳輸控制、參數(shù)設(shè)置等。采用STM32F103xB系列ARM芯片,該系列芯片是意法半導體基于Con tex-M3內(nèi)核的32位微處理器,可以滿足高性能、低功耗和低成本特性的嵌入式應(yīng)用。芯片具備72 MHz時鐘頻率,擁有豐富的外設(shè)裝置,包括128 KB嵌入式閃存、20 KB的SRAM、兩個ADC接口、三個UART、支持USB、CAN和七個DMA通道等豐富的外圍模塊,以其高速的指令執(zhí)行速度、方便的JTAG調(diào)試方式和低功耗等特性為數(shù)據(jù)采集與處理的設(shè)計提供了一個較為完善的平臺。數(shù)據(jù)傳輸電路如圖4所示。
STM32F103VBT6的所有I/O端口兼容CMOS和TTL,在5V引腳上的輸入電壓最小值為-0.3 V,最大值為5.5 V,低電平電壓范圍為-0.5~0.8V,高電平電壓范圍為2.0~5.0V,經(jīng)EPM7128輸出的數(shù)據(jù)直接與STM32F103VBT6連接,簡化了電路。
3 軟件設(shè)計
根據(jù)設(shè)計任務(wù)的要求,系統(tǒng)軟件主要完成數(shù)據(jù)的采集、濾波處理、串口與PC機的通信,數(shù)據(jù)采集軟件由信號采集與通信模塊軟件、上位機監(jiān)控軟件兩部分組成。
3.1 信號采集與通信模塊軟件設(shè)計
數(shù)據(jù)采集系統(tǒng)的固件驅(qū)動程序(又稱單片機程序)是固化到CPU模塊內(nèi)的軟件,采用模塊化設(shè)計,主要模塊包括:信號采集控制模塊和數(shù)據(jù)傳輸模塊兩大部分。信號采集控制模塊軟件固化到CPLD中,數(shù)據(jù)通信模塊軟件固化到STM32中。
信號采集控制模塊軟件利用Altera公司的Quartus開發(fā)軟件實現(xiàn),采用Verilog HDL語言設(shè)計,主要功能包括輸入通道選通、數(shù)據(jù)采樣控制。通過CPLD芯片分別控制ADG508和AD977,進行模擬量輸入通道的選擇和啟動A/D轉(zhuǎn)換。數(shù)據(jù)的采集算法過程中,根據(jù)香農(nóng)定理,采樣頻率大于被采集信號的2倍頻率。信號采集模塊軟件流程圖如圖5所示。
數(shù)據(jù)傳輸模塊軟件在Real View MDK環(huán)境下編寫,主要功能包括數(shù)據(jù)接收、數(shù)據(jù)處理、串口通信。STM32通過握手信號啟動CPLD的數(shù)據(jù)采集程序,在啟動A/D轉(zhuǎn)換器轉(zhuǎn)換下一路信號。軟件設(shè)計上,采用極值滑動平均濾波抑制疊加在模擬輸入信號上的噪聲;應(yīng)用軟件攔截技術(shù)、軟件看門狗技術(shù)、故障處理自恢復技術(shù)等措施使受干擾而“跑飛”的程序回到正常的軌道上;采用I/O自檢等程序預先發(fā)現(xiàn)故障并定位故障所在,提高系統(tǒng)的可靠性。數(shù)據(jù)通信模塊軟件流程圖如圖6所示。
3.2上位機監(jiān)控軟件設(shè)計
用戶應(yīng)用服務(wù)程序直接面向用戶,是控制數(shù)據(jù)采集軟件的最上層,不僅提供與用戶交互的界面,還能通過發(fā)送各種控制命令來控制采集模塊的丁作。利用微軟公司開發(fā)的軟件開發(fā)平臺VC++6.0沒計上層界面,進行數(shù)據(jù)的實時顯示、存儲。采用串口傳輸協(xié)議,將底層采集到的數(shù)據(jù)傳輸?shù)缴衔籔C機,并在VC++6.0設(shè)計的上層界面中實時顯示。
制定通信協(xié)議:通信雙方的波特率設(shè)定為9 600 b/s;幀格式:一個起始位,八個數(shù)據(jù)位,一個可編程的第九位,一個停止位;工作方式:PC機采用查詢方式,STM32采用中斷方式;功能標志:發(fā)送請求標志#0F1H,接收請求標志#0FFH;校驗:通信雙方采用求和校驗的方式,即發(fā)送一串字符,雙方計算累加和,與PC機比較,有錯即重發(fā)。
4 結(jié)論
數(shù)據(jù)采集系統(tǒng)采用CPLD選取輸入通道、控制A/D轉(zhuǎn)換,實現(xiàn)數(shù)據(jù)采樣;利用STM32具有的豐富外設(shè)接口進行數(shù)據(jù)處理、數(shù)據(jù)通信,提高了系統(tǒng)設(shè)計的靈活性,使系統(tǒng)易于升級和擴展。本系統(tǒng)開發(fā)周期短、運行穩(wěn)定、性能可靠、使用方便。配合上位機采集界面,方便進行操作使用以及各種采樣數(shù)據(jù)的存儲,在多種模擬量輸入的數(shù)據(jù)采集和控制系統(tǒng)的應(yīng)用中前景十分廣闊,將數(shù)據(jù)采集系統(tǒng)應(yīng)用到工業(yè)現(xiàn)場數(shù)據(jù)的采集中將是本研究下一步將要進行的工作。