《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32的多源數據采集板卡設計
基于STM32的多源數據采集板卡設計
2019年電子技術應用第11期
王廣君1,2,姜建金1,2,馬成勇1,2
1.中國地質大學(武漢)自動化學院,湖北 武漢430074; 2.復雜系統先進控制與智能自動化湖北省重點實驗室,湖北 武漢430074
摘要: 以STM32F429芯片為控制核心,實現了多源數據采集板卡的設計、制作、調試及驅動軟件的編寫。板卡具有2路獨立CAN總線、2路獨立RS485、4路RS232、8路輸入和8路輸出可配置GPIO端口,且板載GPS/BD模塊。軟件功能包括所有接口驅動與GPS/BD模塊位置地理信息提取。經測試表明,全負荷工作時,所有數據通道均處于良好的工作狀態,各端口能夠按約定波特率以最大數據更新速率同步收發數據。此外,板卡各接口模塊均進行電器隔離,數據傳輸穩定可靠,滿足設備長時間加電工作的要求。
中圖分類號: TN409
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190749
中文引用格式: 王廣君,姜建金,馬成勇. 基于STM32的多源數據采集板卡設計[J].電子技術應用,2019,45(11):108-111,116.
英文引用格式: Wang Guangjun,Jiang Jianjin,Ma Chengyong. Development of multi-source data acquisition board based on STM32[J]. Application of Electronic Technique,2019,45(11):108-111,116.
Development of multi-source data acquisition board based on STM32
Wang Guangjun1,2,Jiang Jianjin1,2,Ma Chengyong1,2
1.School of Automation,China University of Geosciences(Wuhan),Wuhan 430074,China; 2.Hubei Key Laboratory of Advanced Control and Intelligent Automation for Complex System,Wuhan 430074,China
Abstract: The design is mainly to take STM32F429 as the control core to realize the design, production, debugging and driver software of multi-source data acquisition board(with shell). The board has two independent CAN buses, two independent RS485, four RS232, eight input and eight output configurable GPIO ports and GPS/BD module. Software features include all interface drivers and GPS/BD module location geographic information extraction. Tests have shown that all data channels are in good working condition when working at full load, and each port can synchronously send and receive data at the maximum data update rate according to the agreed baud rate. In addition, each interface module of the board is electrically isolated, and the data transmission is stable and reliable, meeting the requirements of long-term power-on operation of the equipment.
Key words : STM32;data collection;RS232;CAN bus;GPS/BD

0 引言

    在現代工業控制領域中,RS232、RS485、CAN等總線接口在工業領域中應用較為廣泛[1-3]。在許多場合,由于設備處理數據的形式不同,通信接口各有差異,因此各式各樣數據采集的轉換器出現了,但是市面上出現的很多轉換器一般都只是兩種總線數據格式之間的轉換,難以適應端口總線繁雜的場合[4-6],為此本文設計了一種多源數據采集板卡,其以STM32F429為核心,實現對多路RS232、RS485、CAN總線數據收發以及GPIO接口配置功能,另外板載GPS/BD模塊,滿足了用戶對采集多種不同通信接口設備數據以及時間地理信息顯示的需求。

1 系統總體架構

    多源數據采集板卡主要由STM32核心電路、2路CAN總線接口、2路RS485接口、4路RS232接口、8輸入/8輸出GPIO端口、板載GPS/BD模塊以及電源電路組成。多源數據采集板卡硬件結構如圖1所示。

qrs3-t1.gif

    STM32作為多源數據采集板卡的控制核心,控制協調各路通信總線接口的數據收發,以及與上位機進行交互,實現上位機對設備終端數據的采集、顯示與控制等功能;2路CAN總線分別獨立,并在板卡兩側各有1路接口,通信速率范圍為500 kb/s~1 Mb/s;2路獨立RS485總線,波特率9 600 b/s到115 200 b/s可配置,可掛載多個RS485總線通信的傳感器模塊,均分布在板卡左側;4路RS232接口,波特率9 600 b/s到230 400 b/s可調,左右兩側各2路獨立接口;16路GPIO端口,左側8路輸出,右側為8路輸入;GPS/BD模塊主要完成時間地理位置信息的采集,通信速率9 600~115 200 b/s可配置,數據更新頻率1~20 Hz可配置;電源電路包括12 V轉5 V、12 V轉3.3 V以及12 V轉24 V三部分。

2 系統硬件設計

2.1 STM32核心電路設計

    該部分選用了STM32F429ZIT6為微控制器,其使用高性能的ARM Coetex-M4 32位的嵌入式RISC內核,工作頻率高達180 MHz,內置2 MB的Flash和256 KB的SRAM存儲器,豐富的增強I/O端口和聯接到兩條APB總線的外設;包含2個 12位的ADC,3個通用16位定時器,以及3個I2C和SPI,4USARTs/4 UARTs和2個CAN通信接口[5]。其中板卡通信要求至少7個串口與2個CAN總線。此外,該芯片采用1.7~3.6 V低電壓供電,支持睡眠、停機和待機3種省電模式,具有功耗低、實時性強等優點。核心電路結構如圖2所示。

qrs3-t2.gif

    核心電路主要包括STM32F429及其復位電路、晶振電路、BOOT啟動電路以及調試下載接口電路。其中復位電路采用10 kΩ電阻上拉方式,當按鍵按下時,RESET與地導通,產生低電平實現復位;為了讓STM32得到更高的處理速度,晶振電路采用了25 MHz無源晶振;BOOT電路決定了STM32以何種方式被啟動,此處提供了用戶閃存存儲器啟動與從內嵌SRAM啟動,默認為前者方式啟動,可利用跳帽選擇;調試下載接口則選用了SWD方式,其為2線串行通信,只需排針引出,節省空間。

2.2 CAN總線接口設計

    CAN總線由于其高性能、高可靠性及獨立的設計,而被廣泛用于工業現場控制系統中[7-9]。由于STM32內部集成了CAN總線控制器,因此外部電路僅需CAN總線收發器即可實現通信。這里選用了TD321SCAN系列的SMD單路通用型CAN隔離收發模塊,它是一款采用IC集成化技術,實現了電源隔離、信號隔離、CAN收發和總線保護于一體的CAN總線收發模塊,可實現3 000 V DC電氣隔離,傳輸波特率范圍為5 kb/s~1 Mb/s;極大滿足了工業級的指標要求。該模塊+3.3 V供電,與STM32之間接口無縫連接,具有功耗低的優點。此外,為了提高總線通信的可靠性,在該模塊外添加了端口浪涌防護電路,當模塊應用于較為惡劣的現場環境時,如高磁場干擾、大能量雷擊等場合,可保護模塊不被損壞。CAN總線接口電路如圖3所示。

qrs3-t3.gif

2.3 RS485總線設計

    在該電路中,使用了TD321S485H-A系列的SMD單路高速RS485隔離收發模塊(自動切換),其主要功能是將邏輯電平轉換為RS485協議的差分電平,實現信號隔離。該模塊+3.3 V供電,傳輸波特率可達500 kb/s,滿足要求。同樣,在模塊外添加了端口保護電路,SP00S12是一款信號浪涌抑制器,可用于各種信號傳輸系統,抑制雷擊、浪涌、過壓等有害信號,對設備信號端口進行保護,尤為適合CAN、RS-485等通信領域的浪涌防護。因此,選擇SP00S12可有效保證RS485總線通信的可靠性。RS485總線電路如圖4所示。

qrs3-t4.gif

2.4 RS232通信接口設計

    該接口電路采用了型號為RSM232D的雙路隔離RS-232收發器,它支持3.15 V~5.25 V超寬壓輸入電源供電,波特率可達235 kb/s。與普通的RS232芯片相比,它電磁抗干擾EMS極高,隔離耐壓2 500 V DC。由于該模塊內部TOUT/RIN線沒有EDS保護器件,當應用于環境比較惡劣的場合時,可能造成通信不穩定的情況。因此,在模塊TOUT/RIN線端外加了TVS管、防雷管、屏蔽雙絞線以及同一網絡單點接大地等保護措施,有效保護了RS232總線端口。具體電路如圖5所示。

qrs3-t5.gif

2.5 GPIO端口設計

    GPIO端口分為8路輸入、8路輸出端口,5~24 V為邏輯高電壓,0~5 V為邏輯低電壓。顯然電平與MCU電平不匹配,需要電壓轉換芯片進行電平轉換。考慮到端口的穩定性,端口采用了小體積的TLP127光耦芯片,完成電壓轉換的同時,也實現了電氣隔離。此外,TLP127內部集成了耐高壓達林頓管,輸出端口可耐壓值可達300 V DC,同時,它最高可輸出150 mA的電流Ic使它具有了較強的驅動和隔離能力。GPIO輸入輸出端口隔離電路如圖6所示。

qrs3-t6.gif

2.6 GPS/BD模塊設計

    該模塊主要實現對GPS定位信息進行獲取,并傳輸到STM32中進行處理。市場主要有幾款主流的GPS/BD模塊[10],如ATK-NEO-6M、ATK-1218-BD等。經對比,ATK-1218-BD模塊在數據更新率、傳輸波特率、定位精度等性能上均要優于其他模塊,因此選擇該模塊來提取地理位置信息。ATK-1218-BD是一款高性能GPS/北斗雙模定位模塊,其兼容+3.3 V/5 V單片機系統,定位精度2.5 mCEP,數據更新速率1~20 Hz、串口通信波特率4 800~230 400 bps可配置。另外,模塊自帶可充電后備電池,可以掉電保持星歷數據[11-12]

    ATK-1218-BD模塊同外部設備通信接口采用UART(串口)方式,輸出的GPS/北斗定位數據采用NMKA0183協議[13],控制協議為SkyTraq。因此使用前,需采用SKyTraq提供的GNSS_Viewer軟件對該模塊的更新速率、串口波特率等參數進行配置。該模塊與單片機連接方式如圖7所示。

qrs3-t7.gif

2.7 電源電路設計

    根據各端口模塊以及MCU的供電要求,需要將12 V工作電源轉化為+3.3 V、+5 V、+24 V隔離電源。為了提高電源的轉換效率,降低熱損耗,采用了一款內置集成電路高端高壓功率MOSFET的降壓型開關電源芯片MP1584,輸入超寬電壓4.5 V~48 V DC,最大電流輸出可達3 A,輸出電壓值可根據匹配電阻調整得到+3.3 V、+5 V的電壓,相應地輸入輸出濾波電容均采用MLCC電容可減少紋波干擾。+24 V隔離電源主要應用于GPIO輸出端,作為輸出的參考電平,考慮到體積小、功耗等要求,選用B1224_XT-2WR2隔離芯片,該芯片可將12 V電壓隔離升壓至24 V,且輸入輸出隔離電壓達1 500 V DC,效率達84%,外圍電路簡單,僅需兩個濾波電容即可。電源電路結構如圖8所示。

qrs3-t8.gif

3 系統軟件設計

3.1 程序設計分析

    該設計以KEIL MDK5為軟件開發環境,操作系統為Windows 7。核心處理器采用了32位ARM Cortex-M4內核的STM32F429ZIT6芯片,主頻可達180 MHz,只要程序結構良好,板卡全端口工作負荷下,依然能處于穩定的運行狀態。

3.2 測試程序流程

    MCU程序采用模塊化結構設計,主要模塊包括初始化模塊、啟動看門狗模塊、各通信協議中斷模塊、定時器中斷處理模塊和主程序模塊。由于篇幅所限,下面主要對主程序部分程序進行分析,主程序流程圖如圖9所示。

qrs3-t9.gif

    系統程序啟動時先進行系統化,配置好各總線端口的波特率以及中斷優先級,初始化GPIO端口及GPS/BD模塊并設置看門狗。接著初始化各類標志位,啟動看門狗中斷程序。由于在總線數據傳輸方面采用硬件握手方式,雙向的數據傳輸依靠中斷方式來判斷數據的到來或響應信號的到來,保證了不同總線上的數據正常、透明、可靠傳輸。因此,此時各通信總線端口已進入中斷讀取數據狀態。

    當程序進入主循環后,首先獲取GPS/BD模塊的經緯度信息,采集8路GPIO_In口的電平狀態,接著RS485_1與上位機進行三次應答,將每次應答獲取的數據進行截取保存,并對數據判斷,滿足則GPIO_Out0輸出固定頻率脈沖。然后解析上位機傳來的CAN指令,執行相應的程序,初次為健康查詢即檢查各端口通信是否正常,若正常則將8路GPIO_In端口狀態、RS485_1讀取的數據、RS485_2三次應答截取的數據、RS232的數據以及GPS/BD模塊獲取的經緯度信息按約定要求解析放入RS232_TXBUFF,并由電源同側的兩路RS232發送給上位機進行數據的處理與顯示。運行期間,利用定時器中斷不斷執行喂狗任務,上位機可發送CAN指令停止喂狗進行復位。此外,若板卡由于不可控因素導致程序跑飛,此時無法喂狗,程序自動復位,有效地防止了板卡因程序崩潰而無法工作的現象。

4 系統測試

4.1 指標測試

    本多源數據采集板卡的技術指標主要為工作電壓、最大功耗、各總線通信波特率等。實測表明,板卡在測試技術要求范圍內的配置下均能正常工作。指標測試結果如表1所示。

qrs3-b1.gif

4.2 整體性能驗證

    為了驗證數據采集板卡的整體性能,將板卡各端口與工控機匹配端口相連接,模擬板卡通過多個端口采集多源傳感器數據信息,進行匯總并輸出,并通過CAN總線與上位機指令進行交互。通過上位機分析板卡的輸出數據并界面顯示,確定板卡各端口接收到的信息無誤,板載GPS/BD數據正確,多端口收發無阻塞,無競爭,可持續運行并按約定邏輯響應上位機通過CAN總線端口發送的指令。此外,經72 h長時間持續工作測試,板卡一直處于正常穩定的工作狀態。

5 結論

    本文設計了一種基于STM32的多源數據采集板卡,實現了CAN、RS485、RS232等多種接口的通信,且均電氣隔離,使板卡減小干擾,通信更為可靠。板卡采用STM32F429芯片為控制核心,較強的數據處理能力,使板卡具有較好的性能;采用多種總線端口,可連接各種不同總線接口的傳感器設備,具有良好的可擴展性;板載GPS/BD模塊,記錄時間地理信息,方便用戶確定設備位置坐標;采用DC-DC隔離電源,電源轉換效率高,熱損耗小,具有功耗低的優點。此外,板卡采用鋁框外殼固定,安裝方便且抗振牢固。

參考文獻

[1] 韓王晨光,閆續.USB-CAN-RS232-RS485總線轉換控制器設計[J].中國外資,2014(3):284-284.

[2] 周緒貴,查鳳.基于STM32F103的CAN/RS232轉換板卡的設計與應用[J].工業控制計算機,2014,27(5):49-50.

[3] 韓成浩,高曉紅.CAN總線技術及其應用[J].制造業自動化,2010,32(2):146-149.

[4] 劉大鵬.基于STM32單片機的CAN-USB轉換器設計[J].工業技術創新,2014(5):589-593.

[5] 劉義平,公飛.基于STM32的CAN總線接口設計與實現[J].信息與電腦,2016(8):154-157.

[6] 任瑞通.基于RS485和CAN總線的帶式輸送機監控系統設計[J].煤礦現代化,2018(6):131-134 .

[7] 王晨輝,吳悅,楊凱.基于STM32的多通道數據采集系統設計[J].電子技術應用,2016,42(1):51-53.

[8] 曾璐陽.基于STM32的CAN總線/RS232接口轉換器的設計[J].中國設備工程,2017(6):111-112.

[9] 周靜雷,羅瑞豐,孫長城.基于STM32的數據采集存儲系統設計[J].信息技術,2016(8):138-140.

[10] 李偉成,彭松,郭亮,等.基于STM32系列開發板的一種高性能GPS模塊應用開發與研究[J].電子技術,2015,44(11):11-14.

[11] 阮帥,張文旭,孫家驥,等.GP S/BDII雙模導航接收機設計與實現[J].應用科技,2016,43(4):50-55.

[12] 周孟強,童忠晴,李剛.基于STM32的北斗/GPS定位系統的設計[J].電子制作,2018(13):13-14.

[13] 吳彥霖,劉瑞敏,王興隆,等.基于STM32的GPS授時系統設計[J].價值工程,2016,35(5):117-119.



作者信息:

王廣君1,2,姜建金1,2,馬成勇1,2

(1.中國地質大學(武漢)自動化學院,湖北 武漢430074;

2.復雜系統先進控制與智能自動化湖北省重點實驗室,湖北 武漢430074)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 在线视频精品播放 | 香港三级网站 | 成人网18免费下 | 老湿机福利影院 | 女攻男受高h全文肉肉 | 中国一级黄色录像片 | 黄色网页在线播放 | 亚洲一区二区三区在线免费观看 | 中文字幕25页 | 精品视频在线免费看 | 精品400部自拍视频在线播放 | 成αv人| 久久一卡二卡 | 欧美亚洲性色影视在线 | 免费观看欧美一级片 | 欧美乱大交xxxxxbbb | 欧美一区二区三区性 | 一级毛片在线不卡直接观看 | 欧美中文字幕在线看 | 国产一精品一av一免费爽爽 | www亚洲天堂 | 久免费视频| www.狠狠插| 高清一区二区亚洲欧美日韩 | 久久成人午夜 | 成人免费黄色网址 | 成人激情在线视频 | 91短视频版在线观看www | 老人与老人a级毛片视频 | 国产剧情一区二区 | 中国一级毛片免费观看 | 成年人小视频在线观看 | 真正免费一级毛片在线播放 | 最新亚洲情黄在线网站无广告 | 曰本一区二区 | 中国一级黄色片 | xx欧美| 欧美日韩一区二区中文字幕视频 | 黄色片一级免费看 | 国产在线观看网址在线视频 | 蜜桃日本一道无卡不码高清 |