摘 要: 針對垃圾的計量統(tǒng)計問題,,設(shè)計了一種便攜式信息采集系統(tǒng),。該系統(tǒng)以?滋C/OS-II 和STM32F103ZET處理器作為軟、硬件平臺,,并在此硬件平臺上擴展了GPS定位,、射頻識別和液晶顯示等功能模塊。利用GPS模塊和RFID模塊采集非接觸式IC卡的位置信息和編號信息,,進而實現(xiàn)非接觸式IC卡的定位,,通過“非接觸式IC卡-垃圾桶-垃圾來源”這一途徑,獲取垃圾的收集來源,。
關(guān)鍵詞: GPS,; RFID; STM32
隨著社會經(jīng)濟的發(fā)展和人們生活質(zhì)量的提高,,城市生活垃圾的產(chǎn)出量越來越大,。2011年2月25 日,北京市人大常委會,、市政府起草完成了《關(guān)于全面推進生活垃圾處理工作的意見》,,草案第二十五條提出:“本市產(chǎn)生生活垃圾的單位和個人,應(yīng)當按照有關(guān)規(guī)定交納生活垃圾處理費”,。按照文件指示,,生活垃圾的計量統(tǒng)計問題尤為重要。本文設(shè)計的便攜式信息采集系統(tǒng)運用了GPS技術(shù),、RFID技術(shù)和ARM嵌入式技術(shù)[1],,能夠?qū)崿F(xiàn)非接觸式IC卡的定位,。該系統(tǒng)運用在環(huán)衛(wèi)行業(yè),先將IC卡貼在垃圾桶上,,通過采集垃圾桶的位置,,進而實現(xiàn)垃圾來源的獲取。
1 系統(tǒng)的整體方案
該便攜式信息采集系統(tǒng)包括電源管理部分,、GPS模塊部分,、RFID模塊部分、液晶顯示模塊部分,、存儲模塊和微處理器部分,。總體框圖如圖1所示,。
系統(tǒng)的工作原理為:系統(tǒng)啟動后,,GPS模塊自動定位,模塊采集到的時間信息經(jīng)過解析處理后更新為系統(tǒng)當前時間,,模塊采集到的經(jīng)緯度數(shù)據(jù)經(jīng)過解析處理后顯示在液晶屏上,;按下“讀卡”按鍵后,RFID模塊通過天線自動搜索RFID標簽,,如果檢測到有標簽存在,,則模塊直接讀取出該標簽的編號并顯示在液晶屏上;該標簽的編號結(jié)合當前的定位信息重新組合成一組新的編碼寫入Flash中,系統(tǒng)可以通過USB接口實現(xiàn)數(shù)據(jù)的離線上傳,。
2 系統(tǒng)硬件電路設(shè)計
2.1 主處理器
該系統(tǒng)選用STM32F103ZET芯片作為主控處理器,。一是因為該處理器功耗低、價格低,,且具有豐富的外設(shè)接口(如FSMC,、多達5個USART和1個USB 2.0等[2]),能夠很好地滿足系統(tǒng)的需要;二是因為ST公司為STM32F103ZET芯片提供了可升級的固件庫,大大縮短了系統(tǒng)的開發(fā)周期,。
本系統(tǒng)中,,處理器通過FSMC接口與外擴SRAM、Flash以及LCD實現(xiàn)通信,,通過2個USART接口分別與GPS模塊和RFID模塊實現(xiàn)數(shù)據(jù)采集,,通過USB接口與PC端完成數(shù)據(jù)交換。
2.2 電源管理單元
系統(tǒng)各模塊所需的工作電壓為: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輸出即可。本系統(tǒng)電源管理采用二級降壓的方式,即AC或USB提供的5 V電壓先通過BQ24032芯片轉(zhuǎn)為4.4 V,,再通過4片SP6201芯片得到各模塊的供電電壓VGPS,、VRFID、VLCD以及VCC,。其中BQ24032是一塊可編程的電源管理芯片,,能夠?qū)崿F(xiàn)鋰電池的充放電管理以及AC、USB和鋰電池的自動切換[3],。
實驗測得:采用USB單獨供電時,,BQ24032芯片的輸出端電壓能達到4.4 V,通過SP6201后測得3.48 V,;而單獨由電池(充滿電)供電時,,輸出端能夠得到3.7 V電壓,經(jīng)SP6201后得到3.5 V電壓,,滿足系統(tǒng)需求,。
2.3 GPS模塊
SR-92模塊內(nèi)含SIRF III代芯片,具有定位快,、靈敏度高和體積小等特點。串口按“波特率4 800 b/s,,8個數(shù)據(jù)位,,1個停止位,沒有奇偶校驗”配置后,,模塊通過TX引腳不斷輸出NMEA0183標準格式的定位數(shù)據(jù),,其中“GPRMC”語句的數(shù)據(jù)中包含有定位標志、時間,、日期和經(jīng)緯度等信息,。
SR-92模塊與STM32的UART4完成數(shù)據(jù)傳輸,具體連接方式為: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引腳的高,、低電平?jīng)Q定,,高電平為UART傳輸,低電平則是I2C傳輸)向模塊發(fā)送命令,進而實現(xiàn)對非接觸IC卡的讀,、寫等操作,。TX-502射頻天線配合JMY-504L模塊可支持讀卡距離6 cm。天線與模塊JMY-504L采用分體設(shè)計,,直接用4線連接[4],。
JMY-504L與STM32的UART5完成數(shù)據(jù)傳輸,具體連接方式為:JMY-504模塊的TXD和RXD分別與處理器的PC12和PD2連接,;片選引腳CE與處理器的PG8相連,, ICC引腳與處理器的PG15相連,以檢測有無非接觸式IC卡,。串口通信協(xié)議為:波特率19 200 b/s,,8個數(shù)據(jù)位,1個停止位,,沒有奇偶校驗,。
3 系統(tǒng)軟件設(shè)計
3.1 GPS數(shù)據(jù)處理
GPS模塊主要負責時間、日期和經(jīng)緯度的采集,。在室外(或者靠近室外)環(huán)境下,,GPS模塊自動定位并將采集到的NMEA0183標準格式的定位數(shù)據(jù)通過串口4發(fā)送到處理器。如果GPS數(shù)據(jù)有效,,則處理器將當前經(jīng)緯度與存儲器中已存儲的參考點經(jīng)緯度(該經(jīng)緯度已經(jīng)有地名編號)相比較,,若在范圍內(nèi)則匹配該參考點的地名編號,否則不能匹配地名編號,,需要手動輸入一個地名編號,。處理器把處理過的當前時間、經(jīng)緯度以及地名編號信息存儲在數(shù)據(jù)結(jié)構(gòu)中,,顯示屏上會顯示“已定位標志”,、“北京時間”、“日期”和“當前經(jīng)緯度”,;在室內(nèi),,GPS模塊定位失敗時,顯示屏上將顯示RTC時鐘提供的“時間”,、“日期”和“上一次有效的經(jīng)緯度”,。圖2是GPS數(shù)據(jù)處理流程圖。
3.2 RFID數(shù)據(jù)處理
RFID模塊主要負責讀寫非接觸式IC卡的數(shù)據(jù),。按下“讀卡”按鍵,,RFID模塊通過天線向IC卡發(fā)送讀數(shù)據(jù)塊命令,將IC卡返回的數(shù)據(jù)發(fā)送到處理器,,處理器再從數(shù)據(jù)塊中提取編號信息并進行檢驗,,若符合規(guī)范(特定編號)就將該編號存儲在數(shù)據(jù)結(jié)構(gòu)中并顯示出該編號,,不符合則需手動輸入該卡的編號。圖3是RFID數(shù)據(jù)處理流程圖,。
3.3 數(shù)據(jù)通信格式
GPS采集到的有效時間,、日期、經(jīng)緯度信息和RFID卡采集到的卡編號以新編碼的形式存儲在數(shù)據(jù)包Dat[]中,,表1是系統(tǒng)與上位機通信的數(shù)據(jù)結(jié)構(gòu),,表2是數(shù)據(jù)包的結(jié)構(gòu)。
3.4 μC/OS-II在STM32上移植
本系統(tǒng)的軟件設(shè)計基于實時嵌入式系統(tǒng)μC/OS-II,,軟件設(shè)計任務(wù)分為不同層,,包括設(shè)備驅(qū)動層(Flash、SRAM,、RFID,、GPS、LCD和KEY等),、組件層μC/GUI以及用戶程序?qū)覽5],。如圖4所示。
μC/OS-II移植到STM32處理器的步驟如下:首先修改系統(tǒng)文件os_cpu.h,、 os_cpu_c.c ,、os_cpu_a.asm和os_dbg.c;其次修改系統(tǒng)啟動文件startup_stm32f10x_hd.s和系統(tǒng)配置文件os_cfg.h,;最后編寫硬件支持包文件BSP以及應(yīng)用程序,。
μC/OS-II啟動的過程為:首先禁止BSP所有中斷,執(zhí)行BSP初始化,;完成初始化μC/OS-II后,執(zhí)行開始任務(wù),,啟動多任務(wù)調(diào)度[6],。該系統(tǒng)中,開始任務(wù)下建立有按鍵任務(wù),、液晶顯示任務(wù),、數(shù)據(jù)存儲任務(wù)和數(shù)據(jù)交換任務(wù)。任務(wù)之間的通信通過按鍵郵箱,、定位郵箱,、讀卡郵箱、寫卡郵箱和數(shù)據(jù)交換郵箱來實現(xiàn),。
本文設(shè)計了基于STM32的便攜式數(shù)據(jù)采集系統(tǒng),,通過利用RFID和GPS技術(shù),能夠?qū)崿F(xiàn)非接觸式IC卡的定位,。系統(tǒng)可以用作GPS經(jīng)緯度采集儀,,并且能夠最多存儲50條數(shù)據(jù),;還能讀/寫Mifare 1 K/4 K的非接觸式IC卡。將該系統(tǒng)應(yīng)用在環(huán)衛(wèi)行業(yè),,即將寫好編號的非接觸式IC卡固定在垃圾桶上,環(huán)衛(wèi)工人可利用該系統(tǒng)對生活區(qū)的垃圾桶進行原地讀卡定位,,進而得到垃圾桶的收集位置;通過“非接觸式IC卡—垃圾桶—垃圾來源”這一途徑,,間接地實現(xiàn)了“將垃圾來源地精確到小區(qū)”的目標,。
參考文獻
[1] 田明,徐平,,黃國輝, 等. 基于STM32和μC/OS-II的 USB數(shù) 據(jù)采集系統(tǒng)[J].機電工程,2012,4(29):
482-485.
[2] 何華芝.基于STM32的車載監(jiān)控設(shè)備的硬件設(shè)計[J].電子測量技術(shù), 2008,31(12):139-146.
[3] 梁偉,王建華,,盧剛.基于BQ24032的鋰電池充電管理電路設(shè)計[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應(yīng)用開發(fā)實例詳解[M].北京:電子工業(yè)出版社,2011.
[6] 任哲. 嵌入式實時操作系統(tǒng)μC/OS-II原理及應(yīng)用[M]. 北京:北京航空航天大學出版社, 2009.