基于電話線的系統(tǒng)遠程升級方案
目前大多數(shù)單片機系統(tǒng)智能儀器的遠程升級解決方案,需要通過因特網(wǎng)和PC來實現(xiàn),因特網(wǎng)傳輸數(shù)據(jù),PC的串口作為燒錄程序ISP的媒介,這種方案,相對而言,實現(xiàn)成本高,占地大。由于單片機智能儀器運行代碼的數(shù)據(jù)量不大,并不一定需要通過因特網(wǎng)來進行數(shù)據(jù)傳輸。當網(wǎng)絡(luò)內(nèi)的大批量儀器需要經(jīng)常進行升級時,這種應用不具優(yōu)勢。
考慮如上因素,如果經(jīng)由固定電話線網(wǎng)絡(luò)傳輸數(shù)據(jù),單片機接收數(shù)據(jù)后,執(zhí)行ISP自我更新功能步驟,遠程升級系統(tǒng)就可以得到簡化。智能儀表只需要包含電話線接口及單片機系統(tǒng),就能完成遠程升級的全部硬件架構(gòu),系統(tǒng)成本就能大幅下降。華邦新推出的8位MCU W925EP01在功能上能完全支持這種應用,僅MCU + Memory就能構(gòu)成完整的運行系統(tǒng)的廉價解決方案,為大批量的遠程升級系統(tǒng)提供了廣闊前景。
W925EP01介紹
W925EP01是一款內(nèi)核為標準8051,兼容所有的 8051指令,并集成了所有來話顯示(CID)傳送及接收所需要的硬件功能的8位的單片機。內(nèi)含64KB具有ISP功能的Flash EPROM (APROM),用于存儲裝載程序的4KB輔助Flash EPROM (LDROM)。可外擴64KB程序空間,總共APROM (00000H~0FFFFH)和外擴ROM (10000H ~ 1FFFFH),用戶可通過P5, P6, P7, A16和使用MOVC指令使用片外存儲空間,及片外數(shù)據(jù)存儲器。功耗低,省電模式下運行電流約為50uA,最低工作電流甚至可小于1uA。
所有的內(nèi)建特性如下所示。
●CPU:內(nèi)核與 8051系列相容的8位機。
●uC部份: 工作電壓可選擇范圍2.4V至5.5V工作。ISP工作電壓從3.3至5.5V。
●CID部分: CID接收 3.0 到 5.5V。
● 雙時鐘工作模式: 主振4MHz/8MHz時鐘主要用在CID及DTMF功能。內(nèi)建有一RC振蕩電路,常用于省電模式下。輔振32768Hz時鐘。主振和輔振都可由個別位來控制,達到起振或停止。
●I/O口: 64個 I/O 管腳。
● 電源模式: 一般模式;雙時鐘模式下輔振運行;閑置模式;停止模式:芯片所有動作都停止,此時功耗可低于1uA。
● 計數(shù)器: 2個 13/16-位計數(shù)器Timer0 & 定時器1,或8-位可自動重載的計數(shù)器。
● 看門狗計數(shù)器(WDT): WDT可被規(guī)劃為系統(tǒng)的監(jiān)測器。
● 中斷: 總共 12 個中斷源,可被分為兩階的優(yōu)先級。
●分頻器: 13/14 -位分頻器, 時鐘來源為輔振, 所以每0.25或0.5秒會設(shè)置DIVF標志。
● 比較器: 由VNEG管腳輸入模擬信號,由VPOS管腳輸入?yún)⒖茧妷骸?BR> ●串行口: 串口0: 一個全雙工串行口(UART)。串口1:一個8位結(jié)構(gòu)的串行口,經(jīng)由SCLK & SDATA可收可發(fā)。
● CID規(guī)格兼容的協(xié)議有Bellcore TR-NWT-000030 & SR-TSV-002476,British Telecom(BT) SIN227, U.K. Cable Communication Association (CCA) specification。
FSK 調(diào)制/解調(diào)器:兼容于1200波特率 的Bell 202 and ITU-T V.23 FSK 協(xié)議。
CAS產(chǎn)生/檢知器:兼容于 dual tones of Bellcore CAS and BT Idle State and Loop State Dual Tone Alert Signal (DTAS)。
DTMF產(chǎn)生器/接收器: DTMF接收器還可以被程序化為音頻檢知器(tone detector)。
Ring檢知器:可檢知line reversal for BT, ring burst for CCA 或 ring signal for Bellcore。
兩個獨立的OP 運放,可以調(diào)整其放大倍率。
W925EP01實現(xiàn)遠程升級的原理
遠程升級系統(tǒng)構(gòu)
架遠程升級整個系統(tǒng)包括主控端和終端,主控端負責發(fā)送數(shù)據(jù);終端在接收數(shù)據(jù)后,通過ISP的方式自我更新程序存儲空間。主控端由 W925EP01/W925E240/W925E625 搭建的系統(tǒng),或其他帶有CID發(fā)送的系統(tǒng)來完成。終端由W925EP01搭建。主控端和終端之間的通訊僅通過電話線完成,整個系統(tǒng)構(gòu)架如下:
基于W925EP01的終端系統(tǒng)構(gòu)架
終端僅需要MCU+ Memory的架構(gòu),外部搭建簡易的CID放大電路,就可以實現(xiàn)整個遠程升級系統(tǒng)的運行。
如下圖所示,MCU W925EP01的P5和P6作為地址總線,P7作為數(shù)據(jù)總線與外部RAM相連接,其余的P0至P4口與之前的W925全系列兼容。
遠程升級系統(tǒng)工作流程
主控端呼叫終端后,通過用戶自定義的握手協(xié)議(Handshake Protocol)檢驗通訊是否連接,確認連接后,主控端發(fā)送升級程序的代碼,終端接收,代碼發(fā)送完畢且終端檢驗接收成功后,終端掛斷與主控端的連接,進行ISP自我更新動作。
遠程升級時主控端工作流程
需要遠程升級時,主控端向終端發(fā)送更新命令,等待終端接收并回傳允許發(fā)送信號,通過FSK發(fā)送終端更新程序的代碼。
遠程升級時終端工作流程
定義:W925EP01運行正常程序存儲空間所在區(qū)域為APROM,運行ISP更新程序的程序存儲空間為LDROM。
正常工作狀態(tài)時,APROM運行工作程序。當有CID信號到來時,W925EP01首先檢測是否為主控端發(fā)送的ISP升級命令(STEP 1),確認是后W925EP01轉(zhuǎn)跳到LDROM區(qū)域運行(STEP 2),然后檢測通訊是否成功連接,確認連接后,LDROM接收FSK數(shù)據(jù),并將存儲到片外的數(shù)據(jù)存儲空間(STEP 3),檢驗數(shù)據(jù)接收和存儲正確后,掛斷與主控端的連接,將片外數(shù)據(jù)存儲空間內(nèi)的數(shù)據(jù)寫入APROM中(STEP 4),燒寫代碼完成,W925EP01轉(zhuǎn)跳回APROM工作,終端ISP自我更新工作完成。示圖如下。
本文小結(jié)
應用W925EP01構(gòu)建的基于固定電話線的系統(tǒng)遠程升級方案,升級流程控制簡易,且成本遠低于其他遠程升級方案,適用于大批量的遠程升級系統(tǒng)。作為一種廉價的解決方案,用于小區(qū)安防,家校通等各種基于固定電話線網(wǎng)絡(luò)的系統(tǒng),極具市場競爭力。