基于mPSD32xx系列單片機無線遠(yuǎn)程IAP的實現(xiàn)-設(shè)計應(yīng)用_第1頁
基于mPSD32xx系列單片機無線遠(yuǎn)程IAP的實現(xiàn)-設(shè)計應(yīng)用_第2頁
基于mPSD32xx系列單片機無線遠(yuǎn)程IAP的實現(xiàn)-設(shè)計應(yīng)用_第3頁
基于mPSD32xx系列單片機無線遠(yuǎn)程IAP的實現(xiàn)-設(shè)計應(yīng)用_第4頁
基于mPSD32xx系列單片機無線遠(yuǎn)程IAP的實現(xiàn)-設(shè)計應(yīng)用_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于mPSD32xx系列單片機無線遠(yuǎn)程IAP的實現(xiàn)-設(shè)計應(yīng)用摘???要:針對MCU控制系統(tǒng)終端設(shè)備數(shù)量多、分布廣的情況,本文結(jié)合無線基站動態(tài)環(huán)境監(jiān)控系統(tǒng)給出了一種在mPSD32xx系列單片機上通過GPRS實現(xiàn)無線遠(yuǎn)程IAP的方法。并詳述了實現(xiàn)IAP的關(guān)鍵技術(shù):Flash程序存儲器的讀/寫操作。關(guān)鍵詞:mPSD32xx系列單片機;GPRS;IAP;遠(yuǎn)程升級

引言傳統(tǒng)的MCU控制系統(tǒng)在程序時一般都是通過取下芯片用編程器燒寫,或者采用ISP方式進(jìn)行在線編程。隨著用戶需求和使用環(huán)境的不斷變化,就會要求系統(tǒng)程序被升級,而采用上述兩種方式進(jìn)行程序升級時都必須要有開發(fā)人員進(jìn)行現(xiàn)場操作。這種升級方式對于終端分散的控制系統(tǒng)來說無疑極大地增加了開發(fā)成本,也延緩了程序的更新時間。因此,本文結(jié)合無線基站動態(tài)環(huán)境監(jiān)控系統(tǒng),給出了基于mPSD32xx系列單片機無線遠(yuǎn)程IAP(應(yīng)用內(nèi)編程)的具體實現(xiàn)方法,解決了上述問題。

系統(tǒng)架構(gòu)無線基站電源、空調(diào)、基站的室內(nèi)環(huán)境等條件對整個系統(tǒng)能否正常運行是至關(guān)重要的,為了讓無線基站有一個穩(wěn)定、可靠的運行環(huán)境,因而設(shè)計了此采集系統(tǒng)。針對以上環(huán)境,本采集系統(tǒng)下位機將基站電源、空調(diào)、基站內(nèi)溫度、濕度、煙霧、門控等集于一體,實時采集該系統(tǒng)所需要的各種數(shù)據(jù),同時提供自動告警功能;上位機采用C/S模式設(shè)置不同級別的權(quán)限提供給各個監(jiān)控中心。系統(tǒng)的數(shù)據(jù)傳輸采用GPRS/GSM無線通信網(wǎng)絡(luò)接入Internet進(jìn)行遠(yuǎn)程傳輸:下位機通過GPRS/GSM把告警信息自動上傳到監(jiān)控中心或手機等;同時,監(jiān)控中心或手機可以通過GPRS/GSM網(wǎng)絡(luò)對采集器進(jìn)行查詢、配置等操作,以滿足不同的實際需要。在整個系統(tǒng)的設(shè)計過程中,為了對多任務(wù)進(jìn)行高效的調(diào)度,選用了源碼開放的mCOSII嵌入式實時操作系統(tǒng)。

硬件設(shè)計原理mPSD32xx芯片簡介mPSD32xx包含一個標(biāo)準(zhǔn)的8032微控制器模塊和一個PSD模塊。采用模塊化設(shè)計技術(shù),不僅將構(gòu)成一個單片機應(yīng)用系統(tǒng)所需的多個功能塊(如8032核、兩個Flash、SRAM、I/O、PLD、USB接口、I2C接口、雙UART口、用于液晶顯示的DDC通道、PWM控制器、4路ADC等)集成在單一硅片上,同時還可以通過JTAGISP方式進(jìn)行在系統(tǒng)編程,可簡化嵌入式應(yīng)用系統(tǒng)的設(shè)計、縮短產(chǎn)品的開發(fā)周期、提高系統(tǒng)的可靠性、降低成本并縮小產(chǎn)品尺寸。由于mPSD32xx系列產(chǎn)品有主Flash和第二Flash兩塊存儲器,使得設(shè)計人員可以在無需外加存儲器的情況下對Flash進(jìn)行遠(yuǎn)程更新的同時對其執(zhí)行應(yīng)用內(nèi)編程。硬件接口設(shè)計串口中的電平轉(zhuǎn)換選用Maxim公司的MAX202CPE芯片。由于在mPSD3234A的串口0中同時連接了GPRS模塊和門控系統(tǒng)模塊,所以在其串口0接收中采用74LS11與門芯片。硬件配置主Flash存儲器由8個扇區(qū)組成,第二Flash存儲器由4個扇區(qū)組成。對Flash的配置可以通過軟件PSDEXPRESS來實現(xiàn),配置結(jié)果如下:Flash僅作為數(shù)據(jù)空間:FS0:?0~0x1FFF0x8000~0xFFFF(頁碼序號為0)?FS1~FS7:0x8000~0xFFFF(頁碼序號為1-7)第二Flash僅作為程序空間:CSBOOT0:0~0x1FFF0x8000~0x9FFCSBOOT1:0xA000~0xBFFFCSBOOT2:0xC000~0xDFFFCSBOOT3:0xE000~0xFFFFRS0:0x2000~0x3FFFCSIOP:0x200~0x2FF程序時將啟動程序分別到FS0、0~0x1FFF和CSBOOT0、0~0x1FFF部分。用戶程序到FS0~FS7、0x8000~0xFFFF部分。軟件設(shè)計與實現(xiàn)GPRS及模塊本設(shè)計選用的GPRS模塊是WAVECOM公司的Q2406B,它是雙頻GPRS/GSM模塊(EGSM900/1800MHz或EGSM900/1900MHz),內(nèi)嵌完整的TCP/IP協(xié)議棧,直接通過AT指令就可以接入Internet,并且其設(shè)計開發(fā)符合ETSIGSMPhase2標(biāo)準(zhǔn)。單片機完全按照標(biāo)準(zhǔn)AT指令使用9.6kbps波特率通過串口與此模塊進(jìn)行通信。模塊的初始化程序如下:voidGPRS_init(){mPSD_UART_Putchar("AT+CMGD=1,4",0);??//刪除所有短信mPSD_UART_Putchar("AT+CRES",0);??????//釋放GPRS模塊內(nèi)存mPSD_UART_Putchar("AT+CSCA?",0);?????//查詢短消息中心號碼mPSD_UART_Putchar("AT+CMGF=0",0);????//0:PDU模式,1:文本模式mPSD_UART_Putchar("AT+CMEE=1",0);??????//打開錯誤代碼提示信息mPSD_UART_Putchar("AT+CNMI=0,1",0);????//打開短消息提示信息mPSD_UART_Putchar("ATE0",0);???????????//關(guān)閉回顯mPSD_UART_Putchar("ATW",0);?}其中,mPSD_UART_Putchar("ABCD",0)函數(shù)功能是:mPSD3234A通過串口0向GPRS模塊發(fā)送字符串“ABCD”。IAP簡介IAP是應(yīng)用在Flash程序存儲器的一種編程模式??梢栽趹?yīng)用程序控制下,對程序存儲空間進(jìn)行讀取、擦除、寫入操作。與ISP操作非常相似,不需要從電路板上取下芯片用編程器燒寫,都具有在線編程功能。兩者之間的不同點是:ISP通常是整片擦除、編程,在手工操作下通過PC串口程序到Flash,而IAP卻是在某段程序的控制下對另外一段程序Flash進(jìn)行讀寫操作。IAP的實現(xiàn)IAP就是啟動程序把新的用戶程序編程到指定的Flash中。對Flash程序存儲器的讀/寫操作是實現(xiàn)IAP的關(guān)鍵,下面給予詳細(xì)介紹。MCU可以像讀ROM器件那樣讀Flash存儲器,但只能使用特殊的擦除和編程指令對Flash存儲器進(jìn)行編程。Flash存儲器在被編程之前必須先被擦除。Flash存儲器的一個字節(jié)被擦除為全1(FFh),通過設(shè)置選擇位為0來編程。MCU可擦除所有Flash存儲器或一個扇區(qū),不能按字節(jié)擦除,而MCU可以按字節(jié)編程。一旦MCU發(fā)出Flash存儲器編程/擦除指令,可以通過幾種方法判斷是否編程/擦除完畢,程序中用到了下面兩種判斷方法來對Flash進(jìn)行編程。數(shù)據(jù)輪詢法數(shù)據(jù)輪詢法的編程由函數(shù)unsignedchar?flash_boot_write_with_poll(volatileucharxdata*addr,uchardat)完成。當(dāng)從監(jiān)控中心接收的命令是要求用數(shù)據(jù)輪詢法對舊用戶程序更新時,主程序中就會調(diào)用此函數(shù),MCU發(fā)出一個編程指令,內(nèi)置的算法就開始運行。出錯標(biāo)志(DQ5)位為1標(biāo)志編程周期超時,為0標(biāo)志沒有出錯。MCU可以讀取被編程扇區(qū)任意位置的數(shù)據(jù)輪詢(DQ7)位和出錯標(biāo)志位。數(shù)據(jù)跳轉(zhuǎn)法數(shù)據(jù)跳轉(zhuǎn)法的編程由函數(shù)unsignedcharflash_write_with_toggle(volatileucharxdata*addr,uchardat)完成。編程周期與數(shù)據(jù)輪詢法大致相同,區(qū)別在于MCU讀的不是DQ7,而是數(shù)據(jù)跳轉(zhuǎn)標(biāo)志(DQ6)位。在編程期間,DQ6位一直跳轉(zhuǎn),直到編程周期完成。DQ5位為1標(biāo)志編程周期超時,為0標(biāo)志沒有出錯。MCU可以讀取被編程扇區(qū)任意位置的DQ6位和DQ5位。另外,此芯片還有Flash存儲器扇區(qū)保護功能:主Flash和第二Flash存儲器的每個扇區(qū)都可以被單獨地保護,防止被編程和擦除。該功能為所有的編程或擦除失效提供了額外的數(shù)據(jù)安全保障。在本設(shè)計中,第二Flash的CSBOOT1扇區(qū)保存了門控的一些固定卡號,此扇區(qū)應(yīng)被保護。第二Flash的其余幾個扇區(qū)都作為備用,保存一些電源或空調(diào)參數(shù)以及需要添加的門控卡號,這些數(shù)據(jù)都是可變的,所以不被保護。可以通過JTAG口或器件編程器設(shè)置使Flash存儲扇區(qū)被保護或解除保護。MCU可以通過讀扇區(qū)保護寄存器(CSIOP塊里)來讀取扇區(qū)保護狀態(tài),但不能改變它。IAP功能的主程序設(shè)計系統(tǒng)上電后,程序首先在啟動扇區(qū)內(nèi)運行,等待上位機發(fā)來的命令,根據(jù)命令執(zhí)行相應(yīng)操作(見圖2)。超時或沒有命令發(fā)來就自動切換到用戶程序。需要更新用戶程序時,切換回啟動程序。異常處理系統(tǒng)工作中主要有掉電、通信中斷、誤碼這三種情況會導(dǎo)致程序升級失敗。以下簡單介紹本設(shè)計所采取的一些保護措施。種情況,考慮到環(huán)境導(dǎo)致的電源穩(wěn)定性差和雷電、繼電器等高壓信號的干擾。系統(tǒng)采用了高隔離度DC/DC電源模塊把外界地和系統(tǒng)地隔離開,并且在容易受干擾的串口部分加入了高速光耦進(jìn)行隔離;第二種情況,系統(tǒng)用到了串口、GPRS/GSM、TCP/IP組合成的復(fù)雜通信網(wǎng)絡(luò)。由于只要有一個通信故障就會造成上、下位機之間的通信失敗,所以,為了防止因通信失敗而造成系統(tǒng)癱瘓,程序中用Eeprom_Init函數(shù)在通信失敗或掉電情況下對數(shù)據(jù)進(jìn)行恢復(fù)和修理;第三種情況,在上、下位機通信過程中,盡管通信正常,但由于數(shù)據(jù)量大,有產(chǎn)生誤碼的可能性。因此,程序中對接收到的每一幀數(shù)據(jù)都先檢驗幀類型,然后對其作4字節(jié)的校驗和判斷。如果校驗有誤,將錯誤信息類型回傳給上位機重發(fā),直到數(shù)據(jù)完全正確,才將這一幀數(shù)據(jù)保存到Flash相應(yīng)地址里。結(jié)語本文所介紹的無線遠(yuǎn)程IAP的實現(xiàn)是基于mPSD32xx系列單片機,且已在無線基站動態(tài)環(huán)境監(jiān)控系統(tǒng)項目中使用,極大地方便了系統(tǒng)程序的及時更新,可靠性也得到了驗證??梢灾苯討?yīng)用到各種電力、水資源和其它無線監(jiān)控系統(tǒng)中。

參考文獻(xiàn):

[1].GPRSdatasheet/datasheet/GPRS_1594650.html.[2].DDCdatasheet/datasheet/DDC_1870710.html.[3].Maximdatasheet/datashee

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論