
引言
傳統的MCU控制系統在下載程序時一般都是通過取下芯片用編程器燒寫,或者采用ISP方式進行在線編程。隨著用戶需求和使用環境的不斷變化,就會要求系統程序被升級,而采用上述兩種方式進行程序升級時都必須要有開發人員進行現場操作。這種升級方式對于終端分散的控制系統來說無疑極大地增加了開發成本,也延緩了程序的更新時間。因此,本文結合無線基站動態環境監控系統,給出了基于mPSD32xx系列單片機無線遠程IAP(應用內編程)的具體實現方法,解決了上述問題。
系統架構
無線基站電源、空調、基站的室內環境等條件對整個系統能否正常運行是至關重要的,為了讓無線基站有一個穩定、可靠的運行環境,因而設計了此采集系統。
針對以上環境,本采集系統下位機將基站電源、空調、基站內溫度、濕度、煙霧、門控等集于一體,實時采集該系統所需要的各種數據,同時提供自動告警功能;上位機采用C/S模式設置不同級別的權限提供給各個監控中心。系統的數據傳輸采用GPRS/GSM無線通信網絡接入Internet進行遠程傳輸:下位機通過GPRS/GSM把告警信息自動上傳到監控中心或手機等;同時,監控中心或手機可以通過GPRS/GSM網絡對采集器進行查詢、配置等操作,以滿足不同的實際需要。在整個系統的設計過程中,為了對多任務進行高效的調度,選用了源碼開放的mCOSII嵌入式實時操作系統。
硬件設計原理
mPSD32xx包含一個標準的8032微控制器模塊和一個PSD模塊。采用模塊化設計技術,不僅將構成一個單片機應用系統所需的多個功能塊(如8032核、兩個Flash、SRAM、I/O、PLD、USB接口、I2C接口、雙UART口、用于液晶顯示的DDC通道、PWM控制器、4路ADC等)集成在單一硅片上,同時還可以通過JTAG ISP方式進行在系統編程,可簡化嵌入式應用系統的設計、縮短產品的開發周期、提高系統的可靠性、降低成本并縮小產品尺寸。
軟件設計與實現
本設計選用的GPRS模塊是WAVECOM公司的Q2406B,它是雙頻GPRS/GSM模塊(EGSM900/1800MHz或EGSM900/1900 MHz),內嵌完整的TCP/IP協議棧,直接通過AT指令就可以接入Internet,并且其設計開發符合ETSI GSM Phase 2 標準。單片機完全按照標準AT指令使用9.6 kbps波特率通過串口與此模塊進行通信。
IAP的實現
IAP就是啟動程序把新的用戶程序編程到指定的Flash中。對Flash程序存儲器的讀/寫操作是實現IAP的關鍵,下面給予簡單介紹。
MCU可以像讀ROM器件那樣讀Flash存儲器,但只能使用特殊的擦除和編程指令對Flash存儲器進行編程。
Flash存儲器在被編程之前必須先被擦除。Flash存儲器的一個字節被擦除為全1(FF h), 通過設置選擇位為0來編程。MCU可一次擦除所有Flash存儲器或一個扇區,不能按字節擦除,而MCU可以按字節編程。一旦MCU 發出Flash存儲器編程/擦除指令,可以通過幾種方法判斷是否編程/擦除完畢,程序中用到了下面兩種判斷方法來對Flash進行編程。
IAP功能的主程序設計
系統上電后,程序首先在啟動扇區內運行,等待上位機發來的命令,根據命令執行相應操作。超時或沒有命令發來就自動切換到用戶程序。需要更新用戶程序時,切換回啟動程序。系統工作中主要有掉電、通信中斷、誤碼這三種情況會導致程序升級失敗。以下簡單介紹本設計所采取的一些保護措施。
考慮到環境導致的電源穩定性差和雷電、繼電器等高壓信號的干擾。系統采用了高隔離度DC/DC電源模塊把外界地和系統地隔離開,并且在容易受干擾的串口部分加入了高速光耦進行隔離;第二種情況,系統用到了串口、GPRS/GSM、TCP/IP組合成的復雜通信網絡。由于只要有一個通信故障就會造成上、下位機之間的通信失敗,所以,為了防止因通信失敗而造成系統癱瘓,程序中用Eeprom_Init 函數在通信失敗或掉電情況下對數據進行恢復和修理;第三種情況,在上、下位機通信過程中,盡管通信正常,但由于數據量大,有產生誤碼的可能性。因此,程序中對接收到的每一幀數據都先檢驗幀類型,然后對其作4字節的校驗和判斷。如果校驗有誤,將錯誤信息類型回傳給上位機重發,直到數據完全正確,才將這一幀數據保存到Flash相應地址里。
結語
本文所介紹的無線遠程IAP的實現是基于mPSD32xx系列單片機,且已在無線基站動態環境監控系統項目中使用,極大地方便了系統程序的及時更新,可靠性也得到了驗證。可以直接應用到各種電力、水資源和其它無線監控系統中。
聲明:本內容為作者獨立觀點,不代表電源網。本網站原創內容,如需轉載,請注明出處;本網站轉載的內容(文章、圖片、視頻)等資料版權歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經濟損失,請電郵聯系我們,以便迅速采取適當處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
微信關注 | ||
![]() |
技術專題 | 更多>> | |
![]() |
技術專題之EMC |
![]() |
技術專題之PCB |