基于μPSD32xx系列單片機無線遠程IAP的實現
引言
傳統的MCU控制系統在下載程序時一般都是通過取下芯片用編程器燒寫,或者采用ISP方式進行在線編程。隨著用戶需求和使用環境的不斷變化,就會要求系統程序被升級,而采用上述兩種方式進行程序升級時都必須要有開發人員進行現場操作。這種升級方式對于終端分散的控制系統來說無疑極大地增加了開發成本,也延緩了程序的更新時間。因此,本文結合無線基站動態環境監控系統, 給出了基于μPSD32xx系列單片機無線遠程IAP(應用內編程)的具體實現方法,解決了上述問題。
系統架構
無線基站電源、空調、基站的室內環境等條件對整個系統能否正常運行是至關重要的,為了讓無線基站有一個穩定、可靠的運行環境,因而設計了此采集系統。
針對以上環境,本采集系統下位機將基站電源、空調、基站內溫度、濕度、煙霧、門控等集于一體,實時采集該系統所需要的各種數據,同時提供自動告警功能;上位機采用C/S模式設置不同級別的權限提供給各個監控中心。系統的數據傳輸采用GPRS/GSM無線通信網絡接入Internet進行遠程傳輸:下位機通過GPRS/GSM把告警信息自動上傳到監控中心或手機等;同時,監控中心或手機可以通過GPRS/GSM網絡對采集器進行查詢、配置等操作,以滿足不同的實際需要。在整個系統的設計過程中,為了對多任務進行高效的調度,選用了源碼開放的μCOSII嵌入式實時操作系統。
硬件設計原理
uPSD32xx芯片簡介
UPSD32xx包含一個標準的8032微控制器模塊和一個PSD模塊。采用模塊化設計技術,不儀將構成一個單片機應用系統所需的多個功能塊(如8032核、兩個Flash、SRAM、I/O、PLD、USB接口、I2C接口、雙UART口、用于液晶顯示的DDC通道、PWM控制器、4路ADC等)集成在單一硅片上,同時還可以通過JTAG ISP方式進行在系統編程,可簡化嵌入式應用系統的設計、縮短產品的開發周期、提高系統的可靠性、降低成本并縮小產品尺寸。
由于μPSD32xx系列產品有主Flash和第二Flash兩塊存儲器,使得設計人員可以在無需外加存儲器的情況下對Flash進行遠程更新的同時對其執行應用內編程。
硬件接口設計
圖1是系統的IAP功能實現原理圖。串口中的電平轉換選用Maxim公司的MAX202CPE芯片。由于在μPSD3234A的串口0中同時連接了GPRS模塊和門控系統模塊,所以在其串口0接收中采用74LS11與門芯片。
硬件配置
主Flash存儲器由8個扇區組成,第二Flash存儲器由4個扇區組成。對Flash的配置可以通過軟件PSD EXPRESS來實現,配置結果如下:
第一Flash僅作為數據空間:FS0:0~0x1FFF0x8000~0xFFFF(頁碼序號為0) FS1~FS7:0x8000~0xFFFF(頁碼序號為1-7)
第二Flash僅作為程序空間:CSBOOT0:0~0x1FFF 0x8000~0x9FF
CSBOOT1:0xA000~0xBFFF
CSBOOT2:0xC000~0xDFFF
CSBOOT3:0xE000~0xFFFF
RS0:0x2000~0x3FFF
CSIOP:0x200~0x2FF
下載程序時將啟動程序分別下載到FS0、0~0x1FFF和CSBOOT0、0~0x1FFF部分。用戶程序下載到FS0~FS7、0x8000~0xFFFF部分。
軟件設計與實現
GPRS及模塊
本設計選用的GPRS模塊是WAVECOM公司的Q2406B,它是雙頻GPRS/GSM模塊(EGSM900/1800MHz或EGSM900/1900 MHz),內嵌完整的TCP/IP協議棧,直接通過AT指令就可以接入Internet,并且其設計開發符合ETSI GSM Phase2標準。單片機完全按照標準AT指令使用9.6 kbps波特率通過串口與此模塊進行通信。
模塊的初始化程序如下:
其中,μPSD_UART_Putchar("A B C D",0) 函數功能是:μPSD3234A通過串口0向GPRS模塊發送字符串"ABCD"。
評論