《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32的便攜式信息采集系統的設計
基于STM32的便攜式信息采集系統的設計
來源:微型機與應用2012年第20期
李進科1,, 鄧文怡1,, 黃庭梁2
(1. 北京信息科技大學 光電信息與通信工程學院, 北京100192,; 2. 北京創(chuàng)億新世紀科技發(fā)展
摘要: 針對垃圾的計量統計問題,,設計了一種便攜式信息采集系統。該系統以μC/OS-II 和STM32F103ZET處理器作為軟,、硬件平臺,,并在此硬件平臺上擴展了GPS定位、射頻識別和液晶顯示等功能模塊,。利用GPS模塊和RFID模塊采集非接觸式IC卡的位置信息和編號信息,,進而實現非接觸式IC卡的定位,通過“非接觸式IC卡-垃圾桶-垃圾來源”這一途徑,,獲取垃圾的收集來源,。
Abstract:
Key words :

摘   要: 針對垃圾的計量統計問題,設計了一種便攜式信息采集系統,。該系統以?滋C/OS-II 和STM32F103ZET處理器作為軟,、硬件平臺,并在此硬件平臺上擴展了GPS定位,、射頻識別和液晶顯示等功能模塊,。利用GPS模塊和RFID模塊采集非接觸式IC卡的位置信息和編號信息,進而實現非接觸式IC卡的定位,,通過“非接觸式IC卡-垃圾桶-垃圾來源”這一途徑,,獲取垃圾的收集來源。
關鍵詞: GPS,; RFID,; STM32

    隨著社會經濟的發(fā)展和人們生活質量的提高,城市生活垃圾的產出量越來越大,。2011年2月25 日,,北京市人大常委會、市政府起草完成了《關于全面推進生活垃圾處理工作的意見》,,草案第二十五條提出:“本市產生生活垃圾的單位和個人,,應當按照有關規(guī)定交納生活垃圾處理費”。按照文件指示,生活垃圾的計量統計問題尤為重要,。本文設計的便攜式信息采集系統運用了GPS技術,、RFID技術和ARM嵌入式技術[1],能夠實現非接觸式IC卡的定位,。該系統運用在環(huán)衛(wèi)行業(yè),,先將IC卡貼在垃圾桶上,通過采集垃圾桶的位置,,進而實現垃圾來源的獲取,。
1 系統的整體方案
    該便攜式信息采集系統包括電源管理部分、GPS模塊部分,、RFID模塊部分,、液晶顯示模塊部分、存儲模塊和微處理器部分,??傮w框圖如圖1所示。

    系統的工作原理為:系統啟動后,,GPS模塊自動定位,,模塊采集到的時間信息經過解析處理后更新為系統當前時間,模塊采集到的經緯度數據經過解析處理后顯示在液晶屏上,;按下“讀卡”按鍵后,,RFID模塊通過天線自動搜索RFID標簽,如果檢測到有標簽存在,,則模塊直接讀取出該標簽的編號并顯示在液晶屏上,;該標簽的編號結合當前的定位信息重新組合成一組新的編碼寫入Flash中,系統可以通過USB接口實現數據的離線上傳。
2 系統硬件電路設計
2.1 主處理器

    該系統選用STM32F103ZET芯片作為主控處理器,。一是因為該處理器功耗低、價格低,,且具有豐富的外設接口(如FSMC,、多達5個USART和1個USB 2.0等[2]),能夠很好地滿足系統的需要;二是因為ST公司為STM32F103ZET芯片提供了可升級的固件庫,大大縮短了系統的開發(fā)周期,。
    本系統中,,處理器通過FSMC接口與外擴SRAM、Flash以及LCD實現通信,,通過2個USART接口分別與GPS模塊和RFID模塊實現數據采集,,通過USB接口與PC端完成數據交換。
2.2 電源管理單元
    系統各模塊所需的工作電壓為:STM32處理器為2.0 V~3.6 V,,GPS模塊SR-92為3.3 V~3.5 V,, RFID模塊JMY-504L為2.7 V~5.0 V,電池BAT為3.7 V,LCD背光電壓和工作電壓均為2.3 V~3.5 V,。因此,選擇3.3 V輸出即可,。本系統電源管理采用二級降壓的方式,即AC或USB提供的5 V電壓先通過BQ24032芯片轉為4.4 V,,再通過4片SP6201芯片得到各模塊的供電電壓VGPS,、VRFID、VLCD以及VCC,。其中BQ24032是一塊可編程的電源管理芯片,,能夠實現鋰電池的充放電管理以及AC、USB和鋰電池的自動切換[3],。
    實驗測得:采用USB單獨供電時,,BQ24032芯片的輸出端電壓能達到4.4 V,通過SP6201后測得3.48 V,;而單獨由電池(充滿電)供電時,,輸出端能夠得到3.7 V電壓,經SP6201后得到3.5 V電壓,,滿足系統需求,。
2.3 GPS模塊
    SR-92模塊內含SIRF III代芯片,具有定位快,、靈敏度高和體積小等特點,。串口按“波特率4 800 b/s,8個數據位,,1個停止位,,沒有奇偶校驗”配置后,模塊通過TX引腳不斷輸出NMEA0183標準格式的定位數據,,其中“GPRMC”語句的數據中包含有定位標志,、時間、日期和經緯度等信息,。
    SR-92模塊與STM32的UART4完成數據傳輸,,具體連接方式為:SR-92的TX引腳連接處理器的PC10,PWR_CTRL引腳直接接地,。處理器通過控制SP6201芯片的使能端來提供VGPS,。
2.4 RFID模塊
    JMY-504L是一塊以RC522芯片為處理器的低功耗模塊式電路,它支持ISO14443A標準,,工作頻率為13.56 MHz,,可以讀/寫Mifare 1 K/4K、FM11RF08,、Ultra Light等,。用戶能夠通過I2C或 UART接口(由SPS引腳的高,、低電平決定,高電平為UART傳輸,,低電平則是I2C傳輸)向模塊發(fā)送命令,,進而實現對非接觸IC卡的讀、寫等操作,。TX-502射頻天線配合JMY-504L模塊可支持讀卡距離6 cm,。天線與模塊JMY-504L采用分體設計,直接用4線連接[4],。
    JMY-504L與STM32的UART5完成數據傳輸,,具體連接方式為:JMY-504模塊的TXD和RXD分別與處理器的PC12和PD2連接;片選引腳CE與處理器的PG8相連,, ICC引腳與處理器的PG15相連,,以檢測有無非接觸式IC卡。串口通信協議為:波特率19 200 b/s,,8個數據位,,1個停止位,沒有奇偶校驗,。
3 系統軟件設計
3.1 GPS數據處理

    GPS模塊主要負責時間,、日期和經緯度的采集。在室外(或者靠近室外)環(huán)境下,,GPS模塊自動定位并將采集到的NMEA0183標準格式的定位數據通過串口4發(fā)送到處理器,。如果GPS數據有效,則處理器將當前經緯度與存儲器中已存儲的參考點經緯度(該經緯度已經有地名編號)相比較,,若在范圍內則匹配該參考點的地名編號,,否則不能匹配地名編號,需要手動輸入一個地名編號,。處理器把處理過的當前時間,、經緯度以及地名編號信息存儲在數據結構中,顯示屏上會顯示“已定位標志”,、“北京時間”,、“日期”和“當前經緯度”;在室內,,GPS模塊定位失敗時,,顯示屏上將顯示RTC時鐘提供的“時間”,、“日期”和“上一次有效的經緯度”,。圖2是GPS數據處理流程圖。

3.2 RFID數據處理
    RFID模塊主要負責讀寫非接觸式IC卡的數據,。按下“讀卡”按鍵,,RFID模塊通過天線向IC卡發(fā)送讀數據塊命令,,將IC卡返回的數據發(fā)送到處理器,處理器再從數據塊中提取編號信息并進行檢驗,,若符合規(guī)范(特定編號)就將該編號存儲在數據結構中并顯示出該編號,,不符合則需手動輸入該卡的編號。圖3是RFID數據處理流程圖,。

3.3 數據通信格式
    GPS采集到的有效時間,、日期、經緯度信息和RFID卡采集到的卡編號以新編碼的形式存儲在數據包Dat[]中,,表1是系統與上位機通信的數據結構,,表2是數據包的結構。

3.4 μC/OS-II在STM32上移植
    本系統的軟件設計基于實時嵌入式系統μC/OS-II,,軟件設計任務分為不同層,,包括設備驅動層(Flash、SRAM,、RFID,、GPS、LCD和KEY等),、組件層μC/GUI以及用戶程序層[5],。如圖4所示。

 

 

    μC/OS-II移植到STM32處理器的步驟如下:首先修改系統文件os_cpu.h,、 os_cpu_c.c ,、os_cpu_a.asm和os_dbg.c;其次修改系統啟動文件startup_stm32f10x_hd.s和系統配置文件os_cfg.h,;最后編寫硬件支持包文件BSP以及應用程序,。
    μC/OS-II啟動的過程為:首先禁止BSP所有中斷,執(zhí)行BSP初始化,;完成初始化μC/OS-II后,,執(zhí)行開始任務,啟動多任務調度[6],。該系統中,,開始任務下建立有按鍵任務、液晶顯示任務,、數據存儲任務和數據交換任務,。任務之間的通信通過按鍵郵箱、定位郵箱,、讀卡郵箱,、寫卡郵箱和數據交換郵箱來實現。
    本文設計了基于STM32的便攜式數據采集系統,,通過利用RFID和GPS技術,,能夠實現非接觸式IC卡的定位,。系統可以用作GPS經緯度采集儀,并且能夠最多存儲50條數據,;還能讀/寫Mifare 1 K/4 K的非接觸式IC卡,。將該系統應用在環(huán)衛(wèi)行業(yè),即將寫好編號的非接觸式IC卡固定在垃圾桶上,環(huán)衛(wèi)工人可利用該系統對生活區(qū)的垃圾桶進行原地讀卡定位,,進而得到垃圾桶的收集位置,;通過“非接觸式IC卡—垃圾桶—垃圾來源”這一途徑,間接地實現了“將垃圾來源地精確到小區(qū)”的目標,。
參考文獻
[1] 田明,,徐平,黃國輝, 等. 基于STM32和μC/OS-II的 USB數 據采集系統[J].機電工程,2012,4(29):
482-485.
[2] 何華芝.基于STM32的車載監(jiān)控設備的硬件設計[J].電子測量技術, 2008,31(12):139-146.
[3] 梁偉,王建華,,盧剛.基于BQ24032的鋰電池充電管理電路設計[J].兵工自動化,2010,,6(29):37-40.
[4] 北京金木雨電子有限公司. 說明書JMY504A[Z].(2012-05-02)[2012-08-23].http://www.jinmuyu.com.cn/download/JMY504A_CN.pdf.
[5] 劉波文.ARM Cortex-M3應用開發(fā)實例詳解[M].北京:電子工業(yè)出版社,2011.
[6] 任哲. 嵌入式實時操作系統μC/OS-II原理及應用[M]. 北京:北京航空航天大學出版社, 2009.

此內容為AET網站原創(chuàng),未經授權禁止轉載,。