<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > ISP技術(shù)與Internet結合的應用研究

ISP技術(shù)與Internet結合的應用研究

作者: 時(shí)間:2007-11-06 來(lái)源:網(wǎng)絡(luò ) 收藏
在系統編程(In-System Programming,簡(jiǎn)稱(chēng))是Lattice半導體公司首先提出的一種使產(chǎn)品在設計、制造過(guò)程中的每個(gè)環(huán)節,甚至在賣(mài)給最終用戶(hù)以后,具有對其器件、電路板或整個(gè)電子系統的邏輯和功能隨時(shí)進(jìn)行組態(tài)或重組能力的最新。技術(shù)消除了傳統技術(shù)的某些限制和連接弊病,有利于在板設計、制造與編程。硬件靈活且易于軟件修改,便于設計開(kāi)發(fā)。由于ISP器件可以像任何其他器件一樣,在印刷電路板PCB上處理,因此編程ISP器件不需要專(zhuān)門(mén)編程器和較復雜的流程。在實(shí)際中,有許多產(chǎn)品需要大批量的生產(chǎn)及現場(chǎng)維護升級,利用嵌入系統開(kāi)發(fā)的ISP程序可以方便用戶(hù)進(jìn)行批量生產(chǎn)和系統升級。本文以對Phlilips LPC213x系列MCU進(jìn)行軟件升級為例,如何利用ISP技術(shù)與,解決從串口進(jìn)行軟件升級的問(wèn)題。


1 LPC213x Flash Bootloader介紹
LPC213x Bootloader(啟動(dòng)裝載程序)控制復位后的初始化操作,并提供Flash ISP編程接口。它駐留在Flash的上8KB,只能讀不能寫(xiě)。由于Philips公司并沒(méi)有提供Boot ROM內部是如何實(shí)現ISP功能的,因此必須根據Philips公司提供的流程和協(xié)議來(lái)編寫(xiě)上位機程序。

1.1 通信協(xié)議
所有的ISP命令都由上位機通過(guò)串口以單個(gè)ASCII字符串的形式發(fā)送。字符串應當以回車(chē)(CR)和/或換行(LF)控制字符作為結束,多余的將被忽略。所有ISP的響應都以“CR>LF>”結束的字符串形式發(fā)送。數據以UU編碼(將3字節的二進(jìn)制數據轉換成4字節可打印的ASCII字符集)的格式發(fā)送和接收。發(fā)送器發(fā)送20個(gè)UU編碼行之后發(fā)進(jìn)校驗和,任何UU編碼行的長(cháng)度都不應超過(guò)61字節。接收器將該校驗和與接收數據的校驗和相比較,若匹配,則接收器響應“0KCR>LF>”,并等待下一次發(fā)送;若不匹配,則接收器響應“RESENDCR>LF>”,發(fā)送器應當將字節重新發(fā)送。

1.2 ISP命令
ISP命令處理程序所接受的常用命令如表1所列。

每個(gè)命令有具體的狀態(tài)代碼,只有當接收到的命令執行完畢后,處理程序才通過(guò)串口發(fā)送CMD_SUCCESS;這時(shí)上位機才能發(fā)送新的ISP命令,但“設置波特率”、“寫(xiě)RAM”、“讀存儲器”和“運行”命令除外。上位機就是通過(guò)串口發(fā)送這些相關(guān)的ISP命令以及程序的UU編碼,完成程序的下載。


2 上位機軟件實(shí)現
2.1 程序的網(wǎng)上下載
要實(shí)現軟件自動(dòng)升級,首先必須將MCU應用程序從網(wǎng)上下載到PC機,然后再利用ISP通過(guò)串口把程序下載到MCU中。程序的下載可以采用HTTP方式,也可以采用FTP方式。在此是利用:MFC提供的FTP應用程序接口實(shí)現程序下載,并把程序保存在指定位置。為避免每次升級程序時(shí),都要從網(wǎng)上下載,引入了計數器計算下載次數;只在第~次升級時(shí),才從網(wǎng)上下載保存。

2.2 ISP的實(shí)現
LPC213x要調用Boot ROM中的ISP應用程序接口,必須進(jìn)入ISP模式。這要求在系統復位時(shí),PO.14引腳為低電平。實(shí)際應用中可以采用兩種方法使系統進(jìn)入ISP模式:一是通過(guò)開(kāi)關(guān)控制P0.14引腳為低電平;二是通過(guò)串口的控制引腳控制晶體管的導通和截止,從而設置PO.14為低電平。第二種方法具有通用性,有些MCU進(jìn)入ISP模式要求的可能是引腳的不同脈沖序列,即必須滿(mǎn)足一定的脈沖時(shí)序要求(如MSP430系列的MCU)。在此采用的是第二種方法:把串口的DTR引腳連接到P0.14,串口的RTS引腳連接到LPC213x的復位引腳;通過(guò)在系統運行時(shí)控制RTS引腳發(fā)出復位脈沖,DTR的引腳設置為低電平,控制晶體管的導通和截止,使系統強制進(jìn)入ISP模式;進(jìn)入ISP模式后,根據上位機傳來(lái)的ISP命令,調用Boot ROM固件中相應的子程序自動(dòng)完成必要的操作。圖l描述了LPC2132從復位進(jìn)入ISP模式的流程。

具體上位機要實(shí)現該程序下載,須完成如下工作:
①將從網(wǎng)上下載的Intel HEX格式的應用程序打開(kāi),從文件中解析出要下載的程序文件,并把它轉換為二進(jìn)制格式。
②向下位機發(fā)送同步驗證字符“?”(0x3F),供自動(dòng)確定波特率,并等待響應。自動(dòng)波特率程序根據自身頻率測量接收到的同步字符的位時(shí)間,并對串口波特率發(fā)生器進(jìn)行編程;它還向下位機發(fā)送一個(gè)ASCII字符串(Synchro-nizedCR>LF>)。作為響應,下位機應發(fā)送接收到的ASCII字符串(SynchrtmizedCR>LF>);上位機通過(guò)觀(guān)察接收到的字符來(lái)驗證是否同步。如果同步驗證沒(méi)有通過(guò),則上位機重新發(fā)送同步驗證字符“?”,再一次進(jìn)行同步驗證。通過(guò)驗證后,向下位機發(fā)送“OKCR>LF>”;下位機通過(guò)發(fā)送正在運行部分的晶振頻率(單位為kHz)作為響應;在接收到晶振頻率后再向下位機發(fā)送“OKCR>LF>”,最終完成同步驗證。
③向下位機發(fā)送讀器件ID命令“JCR>LF>”,接收響應信息,并提取出芯片的ID編號;根據芯片的ID,設置相關(guān)數據(Flash和RAM大小)。
④向下位機發(fā)送擦除命令將Flash ROM分段擦除。
⑤向下位機發(fā)送寫(xiě)命令“W起始地址>字節數>CR>LF>”。
⑥對轉換后的二進(jìn)制程序進(jìn)行UU編碼,并計算校驗和,每發(fā)送20行發(fā)送一次校驗和;然后向下位機發(fā)送準備寫(xiě)操作扇區的命令“P起始扇區>結束扇區>CR>LF>”和“CFlash地址>RAM地址>CR>LF>”命令,下位機接收到命令后進(jìn)行程序的寫(xiě)入。
⑦關(guān)閉串口,釋放系統資源,以便進(jìn)行下一次系統升級。


結語(yǔ)
通過(guò)本設計構成的阿絡(luò )在線(xiàn)下載系統,已在人民幣防偽鑒別儀的生產(chǎn)和售后維護中得到了實(shí)際應用。只需一臺能夠上網(wǎng)的電腦和一條下載線(xiàn),就能對目標板里單片機的程序進(jìn)行修改,大大方便了工程技術(shù)人員,提高了工作效率,降低了成本。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>