ARM環(huán)境下的智能儀表設計開發(fā)
日期: 2018-12-11一. 系統(tǒng)需求分析
作為智能儀表系統(tǒng)的核心部件,嵌入式微處理器需要具備以下特點:
首先可以支持多任務操作系統(tǒng),為縮短操作系統(tǒng)與應用程序的執(zhí)行時間,提高系統(tǒng)的運行效率,其還要具備高精度時鐘與實時中斷響應時間;其次,具備較強的數(shù)據(jù)存儲管理與保護能力,在進行系統(tǒng)設計時,需要對其內(nèi)核軟件結構進行模塊化處理,只有保證了系統(tǒng)的數(shù)據(jù)存儲管理能力與保護能力,才能防止軟件進程之間發(fā)生不合法互相訪問;再次,要求系統(tǒng)具備較好的可擴展性;最后,要求嵌入式微處理器的功耗要足夠低,尤其是針對一些無線移動監(jiān)控系統(tǒng)或者通信嵌人式系統(tǒng),由于其依靠電池供電,因此要求其功耗盡量達到Ⅱ1w級。此外,由于智能儀表系統(tǒng)必須通過外部交互實現(xiàn)數(shù)據(jù)的采集以及控制信號的輸出,因此微處理器的接口必須滿足下列要求:
首先其內(nèi)部具備高速A/1)、D/A模塊,便于與高速、高精度的A/1)、D/A模塊正常外接;其次,具備較高的數(shù)據(jù)處理速度,且操作系統(tǒng)的運行速度也要保證,可以保證有效的多級外部中斷與精確定時中斷;再次,可以連接網(wǎng)絡芯片進行多任務的處理;最后,具備豐富的接口資源。經(jīng)過上述分析,本文選擇智能儀表系統(tǒng)中應用較為廣泛的ARM系列處理器進行系統(tǒng)設計。
首先可以支持多任務操作系統(tǒng),為縮短操作系統(tǒng)與應用程序的執(zhí)行時間,提高系統(tǒng)的運行效率,其還要具備高精度時鐘與實時中斷響應時間;其次,具備較強的數(shù)據(jù)存儲管理與保護能力,在進行系統(tǒng)設計時,需要對其內(nèi)核軟件結構進行模塊化處理,只有保證了系統(tǒng)的數(shù)據(jù)存儲管理能力與保護能力,才能防止軟件進程之間發(fā)生不合法互相訪問;再次,要求系統(tǒng)具備較好的可擴展性;最后,要求嵌入式微處理器的功耗要足夠低,尤其是針對一些無線移動監(jiān)控系統(tǒng)或者通信嵌人式系統(tǒng),由于其依靠電池供電,因此要求其功耗盡量達到Ⅱ1w級。此外,由于智能儀表系統(tǒng)必須通過外部交互實現(xiàn)數(shù)據(jù)的采集以及控制信號的輸出,因此微處理器的接口必須滿足下列要求:
首先其內(nèi)部具備高速A/1)、D/A模塊,便于與高速、高精度的A/1)、D/A模塊正常外接;其次,具備較高的數(shù)據(jù)處理速度,且操作系統(tǒng)的運行速度也要保證,可以保證有效的多級外部中斷與精確定時中斷;再次,可以連接網(wǎng)絡芯片進行多任務的處理;最后,具備豐富的接口資源。經(jīng)過上述分析,本文選擇智能儀表系統(tǒng)中應用較為廣泛的ARM系列處理器進行系統(tǒng)設計。
二,系統(tǒng)設計方案
本設計方案包括四大功能模塊,即現(xiàn)場數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、C A N 總線控制器以及數(shù)據(jù)輸出模塊,主控芯片選擇A R M 系列STM32F103RC,內(nèi)嵌于CAN總線控制器矽 圍電路包括:8路模擬量與4路數(shù)字量輸入部分以及4路模擬量與2路數(shù)字量輸出部分,還包括CAN控制器模塊與上位機的通信部分。具體結構如下圖l所示:系統(tǒng)可以將應用現(xiàn)場的數(shù)據(jù)及時傳輸至傳感器及執(zhí)行器,實現(xiàn)與上位機的信息通信,上位機再對現(xiàn)場進行監(jiān)控。為保證智能儀表系統(tǒng)的通用性,不管是輸出還是輸出,均兼容模擬量與數(shù)字量,菇且保證了足夠的輸出點與輸出點,即使后續(xù)系統(tǒng)擴展增設其它的檢測點或者執(zhí)行點,無需更換智能儀表即可實現(xiàn),大大提高了系統(tǒng)的應用范圍,節(jié)省了系統(tǒng)的投資成本。
(一)主模塊的設計與實現(xiàn)
? 1、主控制器S1’M32F103RC STM32F103RC是基于Cortex-m3核的微控制器,但是其在外圍設備方面有所擴展,提高了設備的性能。由于ARM Cortex-m3與哈佛微體系結構與系統(tǒng)外設相結合,而哈佛微體系是執(zhí)~Thumb-2指令的32位結構,因此其主頻可達72MHz,運行速度可以得到充分保證;并且其中央處理器使用了最小門數(shù),縮小了芯片面積,相應的裝置的體積也有所減少,工藝成本更加低廉;內(nèi)置高達l2 8 K 字節(jié)的閃存和2 0 K 字節(jié)的SRAM高速存儲器,具備豐富的增強I/O端口,并且外設與兩條APB總線連接在一起,其它還包含標準的通信接口。由此可見,該款處理器具備較高的集成度,外圍電路得到有效減化,在降低系統(tǒng)成本的基礎上提高其可靠性。
? 2、數(shù)據(jù)采集模塊
本系統(tǒng)數(shù)據(jù)采集模塊共包括8個模擬量采集點,當現(xiàn)場傳感器將諸如電壓信號或電流信號等模擬信號輸入系統(tǒng)對,片上內(nèi)嵌的ADC會對信號進行轉換處理,微處理器所接收到的即為可識別的數(shù)字信號;針對一些系統(tǒng)無法準確識別的信號,比如過流或者浪涌等,則要在信號轉換之有進行電路調理,把待測信號轉換為標準信號供采集設備準確識別,然后采取放大、過濾、線性補償、隔離以及保護等各項措施,再送至A/D轉換器。S,rM32F103RC芯片共有兩個A/D轉換模塊,均為12位的逐次逼近型的模擬數(shù)字轉換器,其具備18個通道,分別可 以測量16個外部信號源與2個內(nèi)部信號源,準確采集到標準信號,并對其進行調整,實現(xiàn)實時控制。此外,在數(shù)據(jù)采集模塊還包括4個數(shù)字量采集點,其所采集到的諸如開關狀態(tài)等數(shù)字量信息可以直接傳輸給處理器;不過需要對光電隔離電路做進一步的擴展,提高其抗干擾性,防止受到現(xiàn)場噪聲污染;采用與負載守全隔離的PC844光電耦臺器件,提高系統(tǒng)的安全性。
? 3、數(shù)據(jù)輸出模塊
由于現(xiàn)場執(zhí)行器對信號識別的種類存在差異,有些是模擬量,有些則是數(shù)字量,因此輸出部門特設計4路模擬輸出與2路數(shù)字輸出,現(xiàn)場執(zhí)行器所接收到的控制量信息均是經(jīng)過處理器控制運算的,以提高該智能儀表系統(tǒng)的通用性。主控制芯片內(nèi)嵌DAC以滿足模擬輸出部分的功能需要,并增設V/I轉換器,將電壓輸出信號轉換為電流輸出信號,防止信號在長距離傳輸過程中發(fā)生衰減的現(xiàn)象;對于數(shù)字信號的輸出,則把二進制1或oK接輸出至執(zhí)行器前,采用光電隔離的措施抑制其它干擾;采用達林頓管提高數(shù)字輸出口的驅動能力,增強其功率輸出。
? 4、CAN控制器模塊
通常單片機在連接CAN總線時,按照傳統(tǒng)的方法是先把中央處理器連接在總線控制器與總線收發(fā)器上,然后再接入總線網(wǎng)絡,這種連接方法無形中增加了中央處理器外圍電路的復雜程度,導致對系統(tǒng)產(chǎn)生影響的客觀因素增多。針對該問題,本設計采用了在芯片上集成cAN控制器的STM32F103RC,不僅提高了系統(tǒng)的可靠性,而且降低了系統(tǒng)設計成本。cAN控制器包括三個發(fā)送郵箱,其壬要作用是為軟件發(fā)送報文提供途徑,郵箱報文發(fā)送的優(yōu)先等級是由發(fā)送調度器來決定的。每個郵箱設置2個接受FIFO,而每個FIFO~可以存放三個完整的報文;此外,本設計收發(fā)器選擇的是高速芯片CTM8251 CAN收發(fā)器,其自帶隔離功能。
(一)主模塊的設計與實現(xiàn)
? 1、主控制器S1’M32F103RC STM32F103RC是基于Cortex-m3核的微控制器,但是其在外圍設備方面有所擴展,提高了設備的性能。由于ARM Cortex-m3與哈佛微體系結構與系統(tǒng)外設相結合,而哈佛微體系是執(zhí)~Thumb-2指令的32位結構,因此其主頻可達72MHz,運行速度可以得到充分保證;并且其中央處理器使用了最小門數(shù),縮小了芯片面積,相應的裝置的體積也有所減少,工藝成本更加低廉;內(nèi)置高達l2 8 K 字節(jié)的閃存和2 0 K 字節(jié)的SRAM高速存儲器,具備豐富的增強I/O端口,并且外設與兩條APB總線連接在一起,其它還包含標準的通信接口。由此可見,該款處理器具備較高的集成度,外圍電路得到有效減化,在降低系統(tǒng)成本的基礎上提高其可靠性。
? 2、數(shù)據(jù)采集模塊
本系統(tǒng)數(shù)據(jù)采集模塊共包括8個模擬量采集點,當現(xiàn)場傳感器將諸如電壓信號或電流信號等模擬信號輸入系統(tǒng)對,片上內(nèi)嵌的ADC會對信號進行轉換處理,微處理器所接收到的即為可識別的數(shù)字信號;針對一些系統(tǒng)無法準確識別的信號,比如過流或者浪涌等,則要在信號轉換之有進行電路調理,把待測信號轉換為標準信號供采集設備準確識別,然后采取放大、過濾、線性補償、隔離以及保護等各項措施,再送至A/D轉換器。S,rM32F103RC芯片共有兩個A/D轉換模塊,均為12位的逐次逼近型的模擬數(shù)字轉換器,其具備18個通道,分別可 以測量16個外部信號源與2個內(nèi)部信號源,準確采集到標準信號,并對其進行調整,實現(xiàn)實時控制。此外,在數(shù)據(jù)采集模塊還包括4個數(shù)字量采集點,其所采集到的諸如開關狀態(tài)等數(shù)字量信息可以直接傳輸給處理器;不過需要對光電隔離電路做進一步的擴展,提高其抗干擾性,防止受到現(xiàn)場噪聲污染;采用與負載守全隔離的PC844光電耦臺器件,提高系統(tǒng)的安全性。
? 3、數(shù)據(jù)輸出模塊
由于現(xiàn)場執(zhí)行器對信號識別的種類存在差異,有些是模擬量,有些則是數(shù)字量,因此輸出部門特設計4路模擬輸出與2路數(shù)字輸出,現(xiàn)場執(zhí)行器所接收到的控制量信息均是經(jīng)過處理器控制運算的,以提高該智能儀表系統(tǒng)的通用性。主控制芯片內(nèi)嵌DAC以滿足模擬輸出部分的功能需要,并增設V/I轉換器,將電壓輸出信號轉換為電流輸出信號,防止信號在長距離傳輸過程中發(fā)生衰減的現(xiàn)象;對于數(shù)字信號的輸出,則把二進制1或oK接輸出至執(zhí)行器前,采用光電隔離的措施抑制其它干擾;采用達林頓管提高數(shù)字輸出口的驅動能力,增強其功率輸出。
? 4、CAN控制器模塊
通常單片機在連接CAN總線時,按照傳統(tǒng)的方法是先把中央處理器連接在總線控制器與總線收發(fā)器上,然后再接入總線網(wǎng)絡,這種連接方法無形中增加了中央處理器外圍電路的復雜程度,導致對系統(tǒng)產(chǎn)生影響的客觀因素增多。針對該問題,本設計采用了在芯片上集成cAN控制器的STM32F103RC,不僅提高了系統(tǒng)的可靠性,而且降低了系統(tǒng)設計成本。cAN控制器包括三個發(fā)送郵箱,其壬要作用是為軟件發(fā)送報文提供途徑,郵箱報文發(fā)送的優(yōu)先等級是由發(fā)送調度器來決定的。每個郵箱設置2個接受FIFO,而每個FIFO~可以存放三個完整的報文;此外,本設計收發(fā)器選擇的是高速芯片CTM8251 CAN收發(fā)器,其自帶隔離功能。
三.系統(tǒng)實驗
本系統(tǒng)基于ARM系列的STM32F103RC芯片,有用模塊化的方案設計出一種智能儀表系統(tǒng),其具備工業(yè)現(xiàn)場的數(shù)據(jù)采集、數(shù)據(jù)處理以及數(shù)據(jù)輸出等功能,并且可以實現(xiàn)CAN~JE制器與上位機的通信。系統(tǒng)設計兼顧了模擬量與數(shù)字量,預留足夠的點數(shù)余量,以滿足系統(tǒng)通用性的要求;所選擇的STM32F103RC具有高度集成的特點,因此可以對系統(tǒng)的外圍附加電路起到有效的簡化作用,提高系統(tǒng)的可靠性,并且進一步降低系統(tǒng)成本。在調試過程中借助串口調試助手軟件,在有匹配電阻的情況下,進行單個節(jié)點ePC A N 口的接受和發(fā)送調試。如發(fā)送的Il、22、33、44、55、66、77、88,當然程序里要在數(shù)據(jù)前加OX,則可以接收到Il、22、33、44、55、66、77、88。從實驗結果可知,本系統(tǒng)基本可以實現(xiàn)預期的目標功能。