《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32的多功能抄表機
基于STM32的多功能抄表機
2016年微型機與應用第08期
鄭杰1,趙敬鳳1,王海江1,李驚濤2,歐陽昱2,王峰2,黃旭東1
(1.安徽漢高電力科技有限公司,安徽 合肥 231202; 2.安徽省電力公司,安徽 合肥 230022
摘要: :研制了一種基于STM32的多功能抄表機,集成了多種信息采集模塊以及GPS/GPRS二合一模塊SIM908,含有多種通信接口和大容量存儲空間,利用IAP技術實現多應用加載并設計了二次開發平臺。該多功能抄表機具備成本低、擴展性好、信息采集全面等特點,滿足物聯網抄表需求。
關鍵詞: STM32 抄表機 IAP SIM908
Abstract:
Key words :

  鄭杰1,趙敬鳳1,王海江1,李驚濤2,歐陽昱2,王峰2,黃旭東1

 ?。?.安徽漢高電力科技有限公司,安徽 合肥 231202;2.安徽省電力公司,安徽 合肥 230022)

       摘要:研制了一種基于STM32的多功能抄表機,集成了多種信息采集模塊以及GPS/GPRS二合一模塊SIM908,含有多種通信接口和大容量存儲空間,利用IAP技術實現多應用加載并設計了二次開發平臺。該多功能抄表機具備成本低、擴展性好、信息采集全面等特點,滿足物聯網抄表需求。

  關鍵詞:STM32;抄表機;IAP;SIM908

0引言

  物聯網技術[1]的應用使得各行各業的信息化水平越來越高,尤其是在電力、供水、供氣等領域,自動化抄表[2]正在大力推進。隨著用戶對服務質量要求的不斷提高,對人工現場信息采集要求越來越高,除了對用戶用量信息按時采集外,還要對使用現場環境和現場設備信息進行采集。比如在電力行業,除了對電表用電量信息進行讀取外,還要求能夠采集電表資產條碼信息、設備的經緯度等信息,同時對現場人員的移動軌跡進行定位和記錄,便于管理。

  由于行業抄表機的使用量比較大,對抄表機的成本要求嚴格,同時對抄表機的功能要求更多更全。這給抄表機的開發帶來了挑戰。本文基于新型低成本低功耗的STM32處理器開發了一種多功能抄表機,利用IAP技術[3]實現多應用加載并設計了二次開發平臺。抄表機集成了多種信息采集模塊以及GPS/GPRS二合一模塊SIM908[4],含有多種通信接口和大容量存儲空間,具備成本低、擴展性好、信息采集全面等特點,還能實現遠程數據下載和上報,使得現場抄表成本大幅度下降,提高了工作效率。

1技術原理

  與其他儀表設備不同,抄表機要具備靈活的二次開發功能,支持加載運行不同的應用程序。為了實現這個功能,傳統的抄表機[5]開發基于嵌入式操作系統如Linux[6]或WinCE[7]。操作系統的使用對CPU的性能要求高、對RAM和ROM等存儲空間要求大,使得抄表機的總體成本上升,運行嵌入式操作系統的抄表機還存在開機啟動慢、界面操作復雜、功耗過大等不足,對于行業抄表這類應用場合并非最佳選擇。利用低成本的微控制器開發行業抄表機是最適合的。

  在應用編程(InApplication Programming,IAP)技術是應用在Flash程序存儲器的一種編程模式。它可以在應用程序正常運行的情況下,通過調用特定的IAP程序對另外一段程序Flash空間進行讀/寫操作,甚至可以控制對某段、某頁、某個字節的讀/寫操作,這為數據存儲和固件的現場升級帶來了更大的靈活性。目前大多數閃存式微控器都支持IAP功能。

  對于STM32這樣內含Flash程序存儲器的低成本處理器,IAP技術原本用來進行軟件升級使用。本文巧妙地利用IAP技術,將原本的升級操作變成不同的應用加載操作,實現支持多應用的功能。利用IAP技術,將內部Flash程序存儲器分為兩部分,低地址部分是主控臺程序區,高地址部分是應用程序區,如圖1所示。

  

001.jpg

  主控臺程序區只運行固定的主控臺程序,負責系統設置、應用程序加載、文件管理等基礎功能。應用程序區存儲并運行由主控臺由SD卡中加載進來的應用程序。用戶在主控臺界面里可以選擇需要執行的那個應用,主控臺負責加載并跳轉運行。應用程序返回或退出后執行復位再次回到主控臺程序。

2硬件設計

  本文采用STM32F103ZET6作為控制單元,STM32系列單片機基于ARM Cortex-M內核[8],專為要求高性能、低成本、低功耗的嵌入式應用設計,外設非常豐富。STM32F103ZET6屬于STM32增強型系列產品,時鐘頻率達到72 MHz,內置64 KB SRAM和512 KB Flash,擁有多個定時器、3個SPI/I2S、2個I2C、5個 串口以及USB 2.0接口,還有多個AD、DA轉換器。

  2.1硬件構成

002.jpg

  如圖2所示,抄表機由STM32處理器和多種外設構成,包含:通過FSMC接口連接的分辨率為240×320的LCD顯示屏(并通過PWM調節LCD亮度),鋰電池供電單元,由GPIO直接驅動的31個物理按鍵和2個LED指示燈,通過PWM方式驅動的可以發出多種不同的聲音的無源蜂鳴器,分別由5個串口連接的RS232、紅外收發模塊、RS485、電流環接口、條碼掃描模塊、SIM908模塊;通過STM32的SPI接口連接了W25Q16和SD卡,通過USB與上位機通信;還采用了高精度的RTC芯片DS3231SN,通過IC接口與STM32連接,配備了紐扣電池。

  2.2基于FSMC的LCD驅動電路

  可變靜態存儲控制器(Flexible Static Memory Controller,FSMC)是STM32采用的一種新型的存儲器擴展技術[9]。它在外部存儲器擴展方面具有獨特的優勢,可根據系統的應用需要,方便地進行不同類型大容量靜態存儲器的擴展。STM32通過FSMC可以與SRAM、ROM、PSRAM、NOR Flash和NAND Flash存儲器的引腳直接相連。本文利用FSMC對顯示屏的緩存進行高速寫操作,實現了快速顯示功能。FSMC設置為NORSRAM操作模式,使用該模式下Bank1的Sector4,用地址線A10作為數據命令區分線與LCD的RS腳連接,16位數據線與LCD模塊的數據線連接,剩余幾條重要的連線分別是FSMC_NE4連CS、FSMC_NWE連/WR、FSMC_NOE連/RD。

  2.3按鍵、LED與蜂鳴器設計

  抄表機一共有31個按鍵,如圖3所示。除了條碼掃描鍵、電源鍵和復位鍵,采用了矩陣鍵盤電路設計,節約引腳。按鍵設計充分考慮到應用需要,支持漢字輸入和特殊符號輸入,專門設計的復位鍵用于應用程序死機后復位系統。F1~F4為用戶自定義功能鍵??旖萱I也可以用戶自定義使用。 

003.jpg

  2個LED分別代表充電狀態、工作狀態。蜂鳴器采用無源驅動方式,通過STM32定時器產生PWM波形驅動發聲。通過改變PWM波形頻率,可以發出不同音調的聲音,再通過程序進行組合,使得不同的事件有不同的聲音提示,增強用戶使用體驗。

  2.4SIM908模塊電路設計

  SIM908 是一款集成GPS導航技術的四頻GSM/GPRS模塊。緊湊的模塊尺寸并將GPRS和GPS整合在SMT封裝里,為實現內嵌GPS的應用節省了開發時間和費用。SIM908模塊上自帶GPS和GPRS天線連接器,可以直接與陶瓷天線連接,不用考慮射頻PCB走線問題。本文采用UART5與SIM908模塊通信,通過AT命令交互信息進行GPRS通信和GPS定位信息獲取。比如使用"AT+CGPSPWR=1"命令打開GPS電源后,用"AT+CGPSPWR=1"命令進行復位,然后使用"AT+CGPSINF=32"獲取GPS定位信息。

  SIM908的電源直接由鋰電池提供,STM32通過P-MOS管SI2301來控制供電。

  2.5外設和接口

  針對現場表計的通信接口,本文研制的抄表機包含了紅外、RS232、RS485和電流環接口。紅外通信采用38 kHz的標準載波調制。通過MAX3232CSE芯片將USART1擴展為RS232接口。通過SP3485EEN芯片將USART3擴展為RS485接口,同時設計了電流環接口。UART4接條碼掃描模塊,支持安裝一維或二維掃描模塊。通過USB接口將抄表機驅動在PC上虛擬成一個串口設備,進行數據上下裝,同時通過USB接口為鋰電池充電。

  2.6電池充電及電源設計

  抄表機采用了充電電流最高1 A的線性鋰電池充電芯片TP4056對2 000 mAh鋰電池進行充電管理。通過STM32的ADC對電池電壓進行采集,當電壓低于3.7 V時,用蜂鳴器進行提示并啟動關機倒計時。

  本文采用了低壓差、低成本的LDO低壓差線性穩壓芯片RT9013-33為系統提供3.3V電源,它非常適合用于鋰電池供電的應用場合,通過EN引腳可以很方便地實現軟件自動關機和按鍵開關機功能,

3軟件設計

  抄表機的軟件設計工作包括:基本驅動、文件系統設計、主控臺功能設計、API接口設計。

  3.1基本驅動

  基本驅動主要包含一系列設備初始化以及讀寫操作,如時鐘初始化、定時器初始化、串口初始化、GPIO初始化配置(蜂鳴器、按鍵、LED、控制線)、FSMC 初始化及配置、ADC初始化配置、IIC/SPI接口初始化、LCD模塊初始化、SD卡文件系統初始化。STM32提供了豐富的硬件開發庫,用戶可以方便地對片內外設進行編程。

  3.2文件系統

  本文采用了FatFs文件系統[10]來對SD卡進行文件讀寫。它是一個通用的文件系統模塊,用于在小型嵌入式系統中實現FAT文件系統。FatFs的編寫遵循ANSI C,不依賴于硬件平臺。可以很容易地移植到各種單片機平臺。FatFs文件系統支持fat16、fat32,包含ff.h、diskio.h、integer.h、ffconf.h 4個頭文件以及ff.c 文件系統實現。要實現具體的應用移植,主要工作是根據diskio.h實現其diskio.c 底層驅動,包含如下功能函數:disk_initialize 初始化磁盤驅動器;disk_status 獲取磁盤狀態;disk_read 讀扇區;disk_write 寫扇區;disk_ioctl 設備相關的控制特性;get_fattime 獲取當前時間。

  3.3主控臺功能設計

  主控臺程序負責系統設置、應用程序加載、文件管理等基礎功能。主控臺的流程如下。

  如圖4所示,系統開機后首先進行設備初始化,然后進入主菜單,顯示主菜單,根據用戶選擇跳入各功能模塊。功能模塊的顯示和操作方法與主菜單一樣,阻塞方式檢測到按鍵后進行不同處理,通過返回鍵可以回到上級菜單。通過運行應用模塊將直接跳轉到應用程序區運行已經加載的應用,省去加載時間。而應用選擇模塊通過文件系統接口將SD卡中的應用文件羅列出來,用戶選定某一個后,將程序文件從SD卡中寫入到STM32的內部Flash的應用程序區,并跳轉執行。在菜單界面運行中,后臺會執行3種中斷處理:定時任務、串口接收、USB驅動處理。定時任務主要負責周期性的電量檢測和狀態條刷新,以及記錄閑置時間執行關機。

  

004.jpg

  3.4API接口設計

  為了便于用戶二次開發,本文設計了一系列的API接口,幫助用戶快速開發應用程序。主要包括:(1) LCD顯示相關函數,如繪圖、文字顯示;(2)按鍵獲?。唬?)文件系統接口;(4) 多功能輸入法接口;(5)時間獲?。唬?)定時器;(7)條碼掃描接口;(8)紅外/RS485/RS232收發接口;(9)USB通信接口及通信協議;(10) SIM908通信接口;(11)對話框接口;(12)簡單圖形界面控件。

4應用開發平臺設計

  由于用戶二次開發的應用要在應用程序區運行,需要在編譯時對中斷向量表的地址進行偏移,同時要對程序起始地址進行設置。為了便于用戶快速開發,本文設計了專用的IDE開發平臺,將API接口庫和ARM編譯庫集成到一起,同時配置好中斷向量表和起始地址以及其他配置和編譯選項,用戶只需關注應用程序開發。平臺還集成了USB通信協議,可以直接將程序下載到抄表機中并運行。

5結論

  本文設計的多功能抄表機具備成本低、擴展性好、信息采集全面等特點,提升現場抄表作業的工作效率和信息化管理水平。這種抄表機目前已經在安徽和江蘇的電力系統中廣泛使用。參考文獻

 ?。?] 王保云. 物聯網技術研究綜述[J]. 電子測量與儀器學報, 2009, 23(12):17.

 ?。?] 曾維, 富饒. 基于電力載波的遠程抄表電能表的設計[J].微型機與應用,2013, 32(16):8789.

 ?。?] 李婉婉, 李宏. 單片機IAP升級方法在血液分析儀中的應用[J].微型機與應用, 2014, 33(21):1618.

  [4] 郭堅. 基于SIM908的無人機空氣質量監測系統設計與研究[D]. 天津:天津大學, 2013.

  [5] 夏丹. 手持PDA抄表終端系統的設計與實現[D]. 武漢:華中科技大學, 2007.

  [6] 陳立定, 呂盛林. 嵌入式Linux監控終端的多進程控制[J]. 自動化儀表, 2011,32(1):1315.

  [7] 羅健飛, 吳仲城, 沈春山,等. 基于ARM和WinCE下的設備接口驅動設計與實現[J]. 自動化與儀表, 2009,24(3):13.

  [8] 任順航, 呂鵬鵬, 王立鵬,等. 基于STM32的電能手抄系統設計與實現[J].電子技術應用, 2014, 40(1):7578.

  [9] 潘輝. STM32FSMC機制的NORFlash存儲器擴展技術[J]. 單片機與嵌入式系統應用, 2009(10):3134.

 ?。?0] 李世奇, 董浩斌, 李榮生. 基于FatFs文件系統的SD卡存儲器設計[J]. 測控技術, 2011,30(12):7981.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 潦草影视在线 | 精品视频一区二区三三区四区 | 久久精品中文字幕 | 成人国产网站 | 久久中文字幕不卡一二区 | 成人久久精品 | 视频久久精品 | 毛片免费观看网站 | 男人久久天堂 | 大色虫成人午夜在线观看 | 日韩欧美中文字幕在线播放 | 中文字幕在线不卡 | 国产免费福利网站 | 青青伊人91久久福利精品 | 欧美日韩中文字幕在线 | 精品一区二区三区免费 | 五月激情视频 | 奇迹少女第5季免费观看 | 国产精品亚洲一区二区三区在线播放 | 国产免费一区二区三区在线 | 你懂的国产 | 2022男人天堂 | 你懂的在线免费观看 | 国产精品免费视频播放 | 玖玖99 | 国产一区精品 | 奇米在线播放 | 久久专区 | 色视频在线观看网站 | 日本不卡免费 | 免费特黄一区二区三区视频一 | 国产精品青草久久福利不卡 | 国产只有精品 | 亚洲色图天堂 | 97av麻豆蜜桃一区二区 | 日本不卡一区在线 | 欧美日本性 | 深爱五月激情 | 四虎激情 | 久草国产在线观看 | 国产成人在线综合 |