基于GPRS的單片機(jī)固件升級(jí)系統(tǒng)設(shè)計(jì)
出處:早紅 發(fā)布于:2010-08-09 14:14:30
摘要:設(shè)計(jì)基于中國(guó)移動(dòng)GPRS無(wú)線網(wǎng)絡(luò),以C8051F340單片機(jī)為,GSM/GPRS/EDGE無(wú)線模塊MC75作為通信模塊開發(fā)的網(wǎng)絡(luò)測(cè)試終端設(shè)備。當(dāng)該終端設(shè)備的固件需要升級(jí)時(shí),在遠(yuǎn)程服務(wù)器端開啟FTP服務(wù)器并與終端建立連接,終端從該FTP服務(wù)器上已更新的二進(jìn)制升級(jí)文件并存儲(chǔ)在外部Flash中,在主程序進(jìn)行校驗(yàn)后跳轉(zhuǎn)到升級(jí)程序段覆蓋掉片內(nèi)Flash中原有的固件程序,完成系統(tǒng)固件遠(yuǎn)程更新。
引言
嵌入式技術(shù)的迅速發(fā)展使得越來(lái)越多的嵌入式終端設(shè)備應(yīng)用在人們的日常生活中,其中不乏應(yīng)用在一些偏遠(yuǎn)地方,甚至工作在無(wú)人看管的場(chǎng)合下。人口比較稀少的地方,由于基站分布比較分散,加之人口比較稀疏,基站維護(hù)等操作常難以執(zhí)行,這就需要在某些地方放置網(wǎng)絡(luò)信號(hào)測(cè)試儀檢測(cè)該地區(qū)的通信信號(hào)質(zhì)量,并將該信息反饋到遠(yuǎn)程服務(wù)器。同時(shí),由于硬件系統(tǒng)程序設(shè)計(jì)固有的局限性,固件程序的升級(jí)在所難免。針對(duì)實(shí)際情況,本文開發(fā)了網(wǎng)絡(luò)信號(hào)測(cè)試儀的單片機(jī)遠(yuǎn)程升級(jí)系統(tǒng)。
1 系統(tǒng)硬件設(shè)計(jì)
整個(gè)系統(tǒng)以Silicon Labs公司推出的混合信號(hào)片上系統(tǒng)型單片機(jī)C8051F340作為控制單元,采用GSM/GPRS/EDGE無(wú)線模塊MC75作為與遠(yuǎn)程服務(wù)器的通信模塊,采用上海麗浪電子有限公司推出的R36模塊作為GPS模塊,通過(guò)GPS衛(wèi)星接收RMC格式的導(dǎo)航電文供終端設(shè)備定位用。C8051F340單片機(jī)包含兩個(gè)TTL電平的串行接口,分別與GPRS模塊和GPS模塊進(jìn)行通信。GPRS模塊可接收遠(yuǎn)程控制臺(tái)發(fā)來(lái)的控制指令,并傳輸給單片機(jī)進(jìn)行處理。系統(tǒng)總體框圖如圖1所示。

1.1 C8051F340介紹
C8051F340具有片內(nèi)上電復(fù)位、VDD監(jiān)視器、電壓調(diào)整器、看門狗定時(shí)器和時(shí)鐘振蕩器等內(nèi)部資源,是真正能獨(dú)立工作的片上系統(tǒng)。Flash存儲(chǔ)器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲(chǔ),并允許遠(yuǎn)程更新8051固件程序。用戶軟件對(duì)所有外設(shè)具有完全的控制,可以關(guān)斷任何一個(gè)或所有外設(shè)以降低功耗。
C8051F340的主要特點(diǎn):
◆高速、流水線結(jié)構(gòu)并與8051兼容的微控制器內(nèi)核 (可達(dá)48 MIPS);
◆全速、非侵入式的在系統(tǒng)調(diào)試接口(片內(nèi));
◆校準(zhǔn)的12 MHz內(nèi)部振蕩器和4倍時(shí)鐘乘法器;
◆64 KB的片內(nèi)Flash存儲(chǔ)器,4532字節(jié)的片內(nèi)RAM;
◆硬件實(shí)現(xiàn)的SMBUS接口,2個(gè)增強(qiáng)型UART(TTL電平)、1個(gè)增強(qiáng)型SPI串行接口;
◆4個(gè)通用的16位定時(shí)器;
◆5個(gè)捕獲/比較模塊和具有看門狗定時(shí)器功能的可編程計(jì)數(shù)器/定時(shí)器陣列(PCA)。
1.2 單片機(jī)與GPRS模塊通信電路設(shè)計(jì)
MC75模塊是Siemens公司推出的第三代GSM/GPRS/EDGE無(wú)線模塊。這種模塊能處理高數(shù)據(jù)密集型多媒體設(shè)施,可以應(yīng)用于的GSM網(wǎng)絡(luò)。其主要特點(diǎn)為:
◆支持850 MHz、900 MHz、1 800 MHz、1 900 MHz四種頻段;
◆E-GPRS下行速率可達(dá)460 kbps;
◆EDGE(E-GPRS)multi-slot ClasslO:
◆GPRS移動(dòng)基站ClassB;
◆SMS及SMS蜂窩廣播;
◆板載SIM卡捅槽或外接SIM卡讀卡器,支持USB接口;
◆AT指令GSM07.05及GSM07.07;
◆輸入電壓為3.2~4.5 V,建議使用3.8 V±O.2 V。
C8051F340與MC75模塊的通信電路如圖2所示。

1.3 單片機(jī)與串行FIash接口設(shè)計(jì)
C8051F340內(nèi)部有64 KB的Flash,而整個(gè)系統(tǒng)程序?yàn)?0 KB左右,為了實(shí)現(xiàn)遠(yuǎn)程升級(jí)功能,需將更新的程序存儲(chǔ)在外部擴(kuò)展Flash中。在此選用了Atmel公司的串行Flash,型號(hào)為AT45DBl61D。其電壓工作范圍為2.7~3.6 V,快速串行接口工作頻率可達(dá)到66 MHz,空間大小為17 301 504位,由4096頁(yè)組成(每頁(yè)包含512字節(jié)或者528字節(jié))。除了主存儲(chǔ)器外,它還包括2片512或528字節(jié)的靜態(tài)隨機(jī)存儲(chǔ)單元。在本系統(tǒng)設(shè)計(jì)中,AT45DB161D可存儲(chǔ)系統(tǒng)中所需的一些網(wǎng)絡(luò)信號(hào)參數(shù),以便經(jīng)過(guò)GPRS網(wǎng)絡(luò)傳遞給遠(yuǎn)程主機(jī);另外,還可以存儲(chǔ)遠(yuǎn)程服務(wù)器發(fā)送的二進(jìn)制升級(jí)文件。其與C8051F340的接口電路如圖3所示。

2 系統(tǒng)軟件設(shè)計(jì)
該終端設(shè)備在工作期間,會(huì)收到遠(yuǎn)程服務(wù)器發(fā)送來(lái)的一系列控制命令,如測(cè)試周圍附近的網(wǎng)絡(luò)信號(hào)指令,給某個(gè)手機(jī)撥打電話并記錄通話狀態(tài)下的信號(hào)指令等。這些操作都是由單片機(jī)通過(guò)串口發(fā)送給GRPS模塊的AT指令實(shí)現(xiàn)的。例如SEND String(”AT-SMONC\r”),單片機(jī)將“AT-SMONC”這條命令通過(guò)串口發(fā)送給GPRS模塊,該模塊可自動(dòng)測(cè)得主小區(qū)及相鄰小區(qū)的信號(hào)指令數(shù)據(jù),并通過(guò)串口發(fā)送給單片機(jī)以供其處理。同樣,單片機(jī)可接收到遠(yuǎn)程升級(jí)指令,從而啟動(dòng)遠(yuǎn)程升級(jí)功能。
2.1 升級(jí)系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件由兩部分組成:主程序和升級(jí)程序,分別對(duì)應(yīng)于Main工程和Update工程。Main工程負(fù)責(zé)與遠(yuǎn)端服務(wù)器進(jìn)行通信,接收服務(wù)器發(fā)送的指令并進(jìn)行相應(yīng)操作;而Update工程編譯、鏈接時(shí),在其編譯器鏈接選項(xiàng)中設(shè)置CODE(OxE000,PR?MAIN?UPDATE(0xE000)),可將Upd-ate工程編譯、鏈接后生成的hex文件燒寫到單片機(jī)內(nèi)部Flash以0xE000作為起始地址處,同時(shí)默認(rèn)地將Main工程編譯、鏈接生成的二進(jìn)制文件燒寫到內(nèi)部Flash的起始地址處。單片機(jī)在執(zhí)行主程序過(guò)程中,檢測(cè)到升級(jí)標(biāo)志置1后,單片機(jī)跳轉(zhuǎn)到升級(jí)程序地址處執(zhí)行固件升級(jí)程序;升級(jí)完畢后,復(fù)位單片機(jī),程序又從內(nèi)部Flash的零地址開始執(zhí)行更新的固件程序。圖4為主程序流程,圖5為相應(yīng)的固件升級(jí)程序流程。主程序在運(yùn)行過(guò)程中受遠(yuǎn)程服務(wù)器的實(shí)時(shí)控制。當(dāng)固件程序需要更新時(shí),在服務(wù)器端將準(zhǔn)備更新的固件編譯、鏈接后生成的hex或bin文件放入某一固定目錄內(nèi),啟用FTP服務(wù)器(如FtpMan),通過(guò)TCP/IP協(xié)議發(fā)送遠(yuǎn)程升級(jí)指令給測(cè)試終端;終端收到升級(jí)指令后啟動(dòng)相應(yīng)的FTP接收功能,將遠(yuǎn)端文件分解成多個(gè)數(shù)據(jù)包并逐個(gè)存儲(chǔ)在外部Flash中;存儲(chǔ)完畢后,主程序會(huì)對(duì)該接收文件進(jìn)行CRC校驗(yàn),若校驗(yàn)無(wú)誤,則通過(guò)函數(shù)指針跳轉(zhuǎn)到升級(jí)程序功能區(qū),啟動(dòng)升級(jí)程序,將二進(jìn)制文件從外部Flash中轉(zhuǎn)移到內(nèi)部Flash對(duì)應(yīng)的地址空間中去。單片機(jī)復(fù)位重啟后,就可以從內(nèi)部Flash的起始地址處執(zhí)行更新完畢的程序。


2.2 函數(shù)指針應(yīng)用
當(dāng)主程序檢測(cè)到升級(jí)標(biāo)志后,主程序跳轉(zhuǎn)到升級(jí)程序地址處執(zhí)行升級(jí)固件程序,此處使用了函數(shù)指針的功能。

結(jié)語(yǔ)
本文設(shè)計(jì)了基于GPRS網(wǎng)絡(luò)傳輸?shù)慕K端固件升級(jí)系統(tǒng),給出了合理的芯片選型,以及獨(dú)立的固件升級(jí)程序。該升級(jí)系統(tǒng)已應(yīng)用到實(shí)際產(chǎn)品應(yīng)用中,并取得了很好的效果。
參考文獻(xiàn):
[1]. GPRS datasheet http://www.hbjingang.com/datasheet/GPRS_1594650.html.
[2]. C8051F340 datasheet http://www.hbjingang.com/datasheet/C8051F340_1389885.html.
[3]. TTL datasheet http://www.hbjingang.com/datasheet/TTL_1174409.html.
[4]. AT45DB161D datasheet http://www.hbjingang.com/datasheet/AT45DB161D_1134832.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)技術(shù)特性與嵌入式開發(fā)實(shí)踐指南2026/1/7 10:00:02
- 單片機(jī)(MCU)與數(shù)字信號(hào)處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級(jí)DSP信號(hào)處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機(jī)專用SoC單片機(jī)2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴(kuò)充定義2025/10/27 13:59:22
- PCB焊盤與過(guò)孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法









