王希林,王曉榮,陸志峰,張 磊,陳 燕
(南京工業(yè)大學自動化與電氣工程學院,江蘇南京 211816)
?
基于Cortex-M3的礦用便攜高速紅外數據采集器設計
王希林,王曉榮,陸志峰,張 磊,陳 燕
(南京工業(yè)大學自動化與電氣工程學院,江蘇南京 211816)
設計了一種適合礦下工作人員維護煤礦生產在線監(jiān)測設備和采集數據的便攜式高速紅外數據采集器?;贑ortex-M3內核的STM32F系列芯片,搭載TFDU4100紅外收發(fā)模塊,使用SD卡存儲大容量數據,并可通過USB接口將數據傳至上位機。分別對紅外傳輸速度、誤碼率、存儲速度進行測試。測試結果表明:該采集器傳輸速度快、準確率高且存儲速度快,具有較強的實用性。
Cortex-M3;高速;紅外通信;TFDU4100;SD卡存儲
目前在我國的煤礦行業(yè),大多數企業(yè)已經完成或正在進行煤炭安全監(jiān)控、生產監(jiān)控系統(tǒng)的建設,這些系統(tǒng)的建立在實現安全生產的過程中起到了重要的作用[1]。數據采集是安全生產監(jiān)控系統(tǒng)的主要組成部分。伴隨著計算機技術的迅速發(fā)展,數據采集系統(tǒng)已由傳統(tǒng)的測控電路發(fā)展為以微型計算機為核心、傳感器測量設備與接口電路為基礎的現代數據采集與測控系統(tǒng),但也逐漸暴露出許多缺陷:煤礦工作環(huán)境惡劣,而微型計算機的防塵、防震等功能較差;體積大,不易攜帶和使用;要求的連續(xù)工作時間長[2],維護困難;監(jiān)測方式固定,不靈活;擴展性差,成本高等。
本文設計的基于嵌入式系統(tǒng)的數據采集器,使用STM32F系列芯片作為控制核心,不僅可以采集作業(yè)設備的狀態(tài)參數和監(jiān)測得到的數據,還能取代這些設備的外部按鈕現場調整其運行參數。整個設備可單手操作,體積小巧,通過紅外線通訊方式進行數據傳輸,不需實體連接,接口完全電氣隔離,有利于防爆,安全可靠[3],且紅外傳輸實現成本低,產品市場競爭力更強。采集到的監(jiān)測數據和狀態(tài)參數儲存在SD卡中,由采集人員帶回地面進行匯總分析,以便進行生產作業(yè)的安全評估與規(guī)劃。
1.1 微處理器介紹
采用Cortex-M3內核的32位微控制器 STM32F103RB作為數據采集與處理的控制核心,Cortex-M3 內核是專門設計針對于要求高性能、低功耗、性價比更高的應用領域。該芯片工作頻率高達72 MHz,內置高速存儲器,包括20 K片內SRAM,128 K片內 FALSH,以及豐富的片上外設資源,簡化了系統(tǒng)硬件設計。
STM32F103RB芯片支持紅外IrDA1.0協(xié)議,輸出的波形能夠符合反相歸零調制方案(RZI)。其中IrDA SIR物理層在發(fā)送紅外信號時會對NRZ(非歸零)比特流進行調制,調制后的信號可以直接加載到40 kHz的載波上通過紅外線二極管發(fā)射出去;接收時對來自紅外接收器的歸零位比特流進行解調,轉換成NRZ串行比特流輸出。這一功能集合在串口中,僅需完成一些紅外相關模式的配置,即可使用。
1.2 系統(tǒng)的組成
系統(tǒng)以STM32F103RB主芯片為核心,輔以液晶模塊、萬年歷、紅外通信、USB接口、鍵盤、SD卡存儲以及電量檢測等模塊構成一個嵌入式系統(tǒng)。如圖1所示,薄膜鍵盤作為輸入,配合點陣屏圖形化的用戶界面實現了人機友好互動。串口與USB通信轉換的芯片可使裝置方便地與上位機以USB方式通信,適用于任何一臺計算機。電量檢測子系統(tǒng)時刻監(jiān)視設備的電池電量情況,在低電壓時提醒操作者更換電池。整個系統(tǒng)注重電源的供應管理[4],對各個模塊分開管理,必要時用MOS管關斷模塊的供電,節(jié)省能源。
圖1 系統(tǒng)組成結構圖
2.1 電源管理
整個手持設備中,主控芯片、時鐘芯片DS1302、顯示模塊都需要3.3 V供電,紅外收發(fā)器也可通過電阻配置成2.7 V的供電模式,而電池供電電壓為3.9~4.8 V,因此需要通過1206穩(wěn)壓至3.3 V。如圖2設計,產生3.3 V供電。當設備通過USB連接上位機時,為節(jié)省電池用量可轉由USB的5 V供電。
圖2 電源管理電路
2.2 紅外通信模塊
TFDU4100紅外收發(fā)器是8腳貼片形式,如圖3所示。引腳Ired_AE和Ired_CE是紅外發(fā)射管的兩端,由外部電源對Ired_AE供電,模塊內部根據串行數據控制Ired_CE端的輸出電位,從而讓發(fā)射管發(fā)送“0”或“1”。SC管腳連接內部的比較電路,輸入高電平時降低紅外接收器的觸發(fā)閾值,使得靈敏度上升,有效傳輸距離最遠可達3 m,同時可有效減小礦下粉塵對傳輸信號的干擾。
圖3 紅外收發(fā)器的外圍電路
2.3 存儲和USB通信模塊
圖4 SD卡存儲電路
由于其大容量和可更換的特點,SD卡非常適合作為手持設備的存儲方式。因STM32F103RB芯片的限制,不支持SDIO模式,如圖4所示,存儲卡用五線制的SPI方式與單片機連接,分別用于片選、時鐘、指令、輸入和輸出。
CP2102是USB轉UART的單芯片橋接器,將串口信號轉換成USB信號,外圍電路如圖5所示。CP2102帶有虛擬COM口器件驅動程序,通過USB線連接電腦后自動安裝驅動可作為COM口使用。該芯片由連接線的+5 V供電,未連接時不工作,不消耗電池能源。
圖5 串口轉USB電路
3.1 紅外通信
由于使用了紅外收發(fā)模塊,在軟件系統(tǒng)初始化時,只需要將IO口配置成復用模式并初始化相應USART參數即可。此處的波特率設為115 200 bit/s,無需硬件流控制,設置中斷為最高優(yōu)先級,同時用代碼開啟對應的紅外正常工作模式。
收發(fā)數據與操作串口收發(fā)相同,即紅外收發(fā)也是利用串口通訊。發(fā)送一個字節(jié)的數據的過程為:首先向串口發(fā)送數據,然后等待發(fā)送標志位完成后清除標志位。紅外通信的數據幀格式為:功能碼2字節(jié),數據碼6字節(jié),校驗碼2字節(jié),因此每發(fā)送一幀數據都需要裝填并發(fā)送10個字節(jié)。
接收到一幀數據后先檢驗前兩字節(jié)是否相同,后兩字節(jié)是否相反。若前兩字節(jié)相同后兩字節(jié)相反則代表這一幀數據傳輸正確。利用此方法可初步校驗數據。
當開啟紅外通信后,嘗試與對方設備進行第一次握手,若有紅外回復響應則發(fā)送詢問指令開始接收數據,否則重復嘗試。流程圖如圖6所示。
圖6 紅外通信流程圖
在傳輸過程中,如果發(fā)生意外中斷傳輸,則重新問詢數據,并從中斷處繼續(xù),直至完成接收。當系統(tǒng)接收到終止包時,停止接收并對數據進行存儲,然后返回待機狀態(tài),等待下一次的數據請求。
3.2 SD存儲卡
用SPI方式對SD卡進行讀寫時,首先需要通過下列命令使SD卡進入SPI模式:
(1)發(fā)送74個時鐘周期;
(2)發(fā)送復位命令CMD0;
(3)SD卡進入SPI總線模式;
待SD卡進入SPI總線模式后,通過下列操作來判斷存儲卡的類型:
(1)延時至少74 clock,等待SD卡內部操作完成;
(2)CS低電平選中SD卡;
(3)發(fā)送CMD0,需要返回0x01,進入Idle狀態(tài);
(4)為了區(qū)別SD卡是2.0還是1.0,這里根據協(xié)議向上兼容的原理,首先發(fā)送只有SD2.0才有的命令CMD8,如果CMD8返回無錯誤,則初步判斷為2.0卡;
(5)進一步發(fā)送命令循環(huán)發(fā)送CMD55+ACMD41,直到返回0x00,確定SD2.0卡初始化成功,進入Ready狀態(tài),再發(fā)送CMD58命令來判斷是HCSD還是SCSD,到此SD2.0卡初始化成功;
(6)CS拉高。
成功判別存儲卡的類型后,才可以進行讀寫操作,SD卡總體操作軟件流程圖如圖7所示。
圖7 SD卡讀寫流程圖
4.1 紅外通信距離
使用另外一臺紅外發(fā)射裝置與本設備進行紅外通信距離的測試,固定好兩者的距離,然后不斷調整波特率,找到穩(wěn)定工作的距離為試驗結果,如表1所示。
表1 紅外傳輸距離測試結果
表1中,在115 200 bit/s波特率下的紅外穩(wěn)定傳輸距離在2.1 m左右,完全符合產品預期設計和礦下實際使用環(huán)境的要求。較高的波特率帶來的高速傳輸速度,也使井下采集數據耗時更短。
4.2 誤碼率
由于場地條件的限制,測試是在實驗室日光燈下進行的,環(huán)境光線對測試結果具有一定的干擾。礦下的實際環(huán)境有粉塵干擾,而使用距離要求在2 m以內。結果如表2所示。測試元件為紅外收發(fā)元件TFDU4100,測試條件為仰角小于10 °,供電電壓為3.3 V,波特率為115 200 bit/s。
表2 紅外傳輸誤碼率測試結果
表2中,誤碼率是用連續(xù)傳輸等差數列檢查是否匹配的方式進行檢測的,測試數據誤碼率很小,在可接受范圍內。使用過程中,即使偶爾出現了傳輸錯誤也是可以通過重新問詢和斷點續(xù)傳技術彌補。
4.3 SD卡存儲和讀取速度
在72 MHz主頻下,SPI采取二分頻,即其時鐘頻率可達到36 MHz。表3中的寫入速度是在開啟預擦除模式下連續(xù)寫入的測試結果。
表3 SD卡寫入與讀取速度測試結果
SD卡類型數據流方向平均速度/(KB·s-1)Transcend,v1.x,2GB寫入讀取217.4238.1SanDisk,v2.0SDHC,8GB,Class4寫入讀取227.3250.1
從表3中的測試數據可以看出,MCU采取SPI方式的讀寫速度也能達到便攜式設備的數據傳輸需求。
礦井巷道中的特殊環(huán)境限制了大功率高頻設備的使用,使得在短距離非接觸式交互中紅外通信相比其他通信方式更具優(yōu)勢。本產品利用STM32F系列芯片的高性能特性,設計開發(fā)了便攜式紅外數據采集器,相較于傳統(tǒng)微機系統(tǒng)在體積小巧、低功耗、安全可靠、存儲量大等方面有著顯著特點,測試項目均能得到滿意結果。實現了同類產品中所少有的高速數據傳輸,波特率達到115 200 bit/s,同時紅外通訊距離也取得了滿意的效果,達到了同類產品中較為先進的水平,具有很廣泛的應用前景。
[1] 楊勇,卓東風,董增壽.嵌入式煤礦安全生產信息采集管理系統(tǒng).山西煤炭管理干部學院學報,2008(3):124-127.
[2] 程衛(wèi)東,齊偉.移動式礦用設備故障監(jiān)測診斷及信息管理.北京交通大學學報,2011,35(1):132-135.
[3] 黃智偉.STM32F 32位ARM微控制器應用設計與實踐.北京:航空航天大學出版社,2012:79-287.
[4] 李若強.紅外線數據通信應用.電力自動化裝置,2003,23(12):61-62.
[5] 喻金錢.STM32F系列ARM Cortex-M3核微控制器開發(fā)與應用.北京:清華大學出版社,2011:63-142.
[6] 希勒(Shearer F).移動設備的電源管理.黃小軍,譯.北京:機械工業(yè)出版社,2009:159-164.
[7] 凌志浩,曲金鵬,吳勤勤,等.適用于儀器儀表通信的若干新技術.自動化儀表,2003,24(10):1-7.
[8] 許繼彥,杜欽生.紅外通信模塊的設計與實現.長春大學學報,2009,19(10):49-51.
Design of Portable Mining High-Speed Data Collector by Infrared Based on Cortex-M3
WANG Xi-lin,WANG Xiao-rong,LU Zhi-feng,ZHANG Lei,CHEN Yan
(College of Automation and Electrical Engineering,Nanjing Tech University,Nanjing 211816,China)
A portable data collector by infrared for the maintenance of on-line monitoring equipment was designed.It was suitable for the workers under the mine.STM32F series chip was based on Cortex-M3 core with the infrared transceiver module of TFDU4100.It can store large amounts of data using SD card,and can also transmit the data to computers through the USB interface.Infrared transmission speed,bit error rate,and SD card read speed were tested.The results show that the collector is stable,reliable and it’s storage and transmission speed is high,thus showing it’s practical in use.
Cortex-M3;high-speed;infrared communication;TFDU4100;SD card storage
2014-03-13 收修改稿日期:2014-10-11
TH89
A
1002-1841(2015)03-0030-03
王希林(1989—),碩士研究生,主要研究方向:嵌入式與智能儀器開發(fā)。E-mail:hunxiyi@126.com 王曉榮(1972—),副教授,主要研究方向為分析儀器和嵌入式系統(tǒng)。E-mail:wang@njtech.edu.cn