當前位置:首頁 > 單片機 > 單片機
[導讀]引 言:LPC900系列Flash單片機提供從8腳到28腳的封裝形式,可以滿足各種對成本和電路板空間有限制而又要求高性能、高可靠性的應用需要,同時具有高速率(6倍于傳統(tǒng)MCS51單片機),低功耗(完全掉電模式下耗電低于1 &

引 言:

LPC900系列Flash單片機提供從8腳到28腳的封裝形式,可以滿足各種對成本和電路板空間有限制而又要求高性能、高可靠性的應用需要,同時具有高速率(6倍于傳統(tǒng)MCS51單片機),低功耗(完全掉電模式下耗電低于1 μA),高穩(wěn)定性,小封裝,多功能(內嵌眾多流行的功能模塊)等特點。P89LPC932就是該家族中的重要一員,其集成了8 KB的Flash程序存儲器、512B的靜態(tài)數(shù)據(jù)存儲器、512B的E2PROM、I2C總線、SPI總線、增強型UART接口、模擬比較器、看門狗、4 個中斷優(yōu)先級、雙DPTR,并支持ISP/IAP編程等功能。

1 P89LPC932進行ISP編程的基本方式

1.1內部程序存儲器的三種編程方式

P89LPC932內部集成的8 KB程序存儲器編程的三種方式分別是:在系統(tǒng)編程(ISP);程序運行時編程(IAP);通過并行方式編程。

一般來說,ISP編程是指依靠某種外部工具(除了常規(guī)的并行編程器以外)去直接給處理器內部集成的程序存儲器編程。這里所指的外部工具常見的有很多種,不同的處理器供應廠商可能提供不同的方案。例如,根據(jù)編程接口的不同,就有JTAG、單線、串口、SPI口等多種方式。盡管編程方式有所不同,但其原理都是類似的,就是依靠外部條件觸發(fā)處理器,令其脫離正常執(zhí)行的內部常規(guī)用戶應用程序代碼的進程,轉而執(zhí)行保存在其程序存儲空間內某個固定位置處的控制擦除程序存儲器及給程序存儲器編程的代碼(或是處理器外部提供的執(zhí)行代碼),然后通過某種與PC計算機的通信方式,將用戶指定的某個在PC上編譯完成的嵌入式處理器可運行的二進制代碼文件編程入嵌入式處理器內的程序存儲器。這種編程方式只需要常規(guī)的硬件配置(某些處理器可能需要某些叫做下載線的簡單硬件電路)支持,而不需要特別的編程器(指并行編程器)支持,所以即使處理器芯片已經焊接到了電路板上也可以實現(xiàn)編程,這也就是ISP的真實含義。P89LPC932 是利用其自身的異步串行口來實現(xiàn)ISP編程的,不需要特別的下載線或下載器,觸發(fā)LPC932進入ISP編程模式的方法將在下文詳細解釋。

IAP編程方式與ISP編程方式類似,但它不是由外部條件來觸發(fā)的,而是在處理器正常執(zhí)行用戶設計的應用程序代碼時,直接調用執(zhí)行擦除及編程功能的固化例程。和ISP編程方式一樣,IAP編程方式也只需要常規(guī)的硬件配置來支持。P89LPC932的ISP編程實際上就是通過調用芯片的IAP服務子程序實現(xiàn)編程的,其IAP服務子程序保存在FF00H~FFFFH地址空間中,不占用用戶程序空間。

并行方式編程需要使用一臺外部專業(yè)編程設備。換句話說,這種編程環(huán)境并不是用戶最終應用時的硬件環(huán)境。用戶在使用這種編程方式時,通常必須將處理器芯片單獨放到并行編程器上進行編程(如果處理器芯片已經焊接到電路板上,則必須先將處理器芯片從電路板上取下來)。處理器芯片編程完成后才能放回到電路板上,再上電令處理器運行,才能看到用戶新寫入代碼的運行結果。這是最傳統(tǒng)的編程方式(經典的AT89C51就主要使用這種方式編程),但它既繁瑣,又不能滿足現(xiàn)今遠程升級的實際需求,因而已逐漸被方便快捷的ISP、IAP等在線編程方式所取代。

綜合來說,ISP模式是最容易使用的,因為它允許處理器在被焊接到用戶目標電路板上再進行編程,也不需要復雜的代碼設計,該特性允許用戶在生產出硬件產品后再升級產品軟件。一般來說,增加校準信息數(shù)據(jù)和現(xiàn)場安裝最新的軟件版本是較常見的升級操作。不僅如此,ISP編程還特別適用于用戶產品研發(fā)階段。顯然,用戶可以非常方便快捷地更改自己的程序代碼并立即看到新代碼的運行結果。 P89LPC932使用串口作為ISP編程模式的主通信接口,使得這一系列處理器較那些依靠JTAG、SPI等通信接口作ISP編程接口的處理器要方便。因為一般的嵌入式系統(tǒng)都會配置異步串行口,這樣,在系統(tǒng)編程就不需要特殊的ISP編程器,而JTAG、SPI等及其類似的編程方式一般都需要專用的接口適配器或下載線來配合,這些都可能會增加用戶的投資和成本。

P89LPC932芯片實現(xiàn)ISP編程是依靠在出廠時預置的一段啟動代碼,這段代碼存儲在P89LPC932代碼空間內7號扇區(qū)的高端512B地址處(P89LPC932內部的8 KB程序存儲器被組織成8個扇區(qū),每個扇區(qū)有1 KB)。這段代碼提供了設備底層操作代碼(執(zhí)行如擦除、編程等操作)和串口通信之間的接口。如果用戶需要使用ISP編程模式,則必須注意,千萬不要擦除或覆蓋包含ISP預置代碼的那個扇區(qū),也就是7號扇區(qū)(1C00~1FFFH),因為P89LPC932的擦除操作是以扇區(qū)為基本單位的。

如圖1所示,用P89LPC932實現(xiàn)ISP的硬件連接很簡單,它只需使用VDD電壓即可執(zhí)行擦除和編程算法,不需要特殊的高編程電壓,所以,芯片外部只需要1片TTL和RS232電平相互轉換的芯片(常見的芯片包括Maxim的MAX202、MAX232等,其他公司如TI、Sipex、Linear 都有類似功能的芯片產品)即可實現(xiàn)P89LPC932內異步串行口和用戶個人計算機上的RS232串口的連接。在用戶個人計算機上運行一個簡單的終端仿真程序就可以實現(xiàn)ISP編程,不過還有一種更簡單的方法,就是運行一個現(xiàn)成的免費程序,比如Flashmagic,就可以實現(xiàn)這個目的,這個程序集成了所有針對Philips LPC900系列處理器的ISP功能。P89LPC932內部的ISP代碼能夠自動檢測其片上異步串行口與用戶個人計算機通信的波特率,進而實現(xiàn)在用戶個人計算機控制下的代碼下載及編程。綜上所述,P89LPC932的這種ISP編程模式不需要外部編程器,但是需要一定的外部電路(串口通信電路),需要保留ISP駐留代碼,需要在用戶的應用程序代碼中添加ISP引導初始化程序(如中止控制符檢測初始化),且ISP加密字的第2位(禁止ISP/IAP擦除)不能置位。


圖1P89LPC932 ISP模式硬件連接圖

1.2進入ISP模式的方法

觸發(fā)P89LPC932進入ISP模式的4種方法分別是:通過檢測狀態(tài)位觸發(fā)進入ISP模式(全新芯片最初上電時的默認狀態(tài));通過檢測中止控制符信號觸發(fā)復位后進入ISP模式(最實用而且常用的方法);上電時在復位引腳上檢測到特定脈沖后觸發(fā)進入ISP模式(即硬件激活進入ISP模式);直接調用 ISP代碼實現(xiàn)進入ISP模式。

1.2.1通過檢測狀態(tài)位觸發(fā)進入ISP模式

P89LPC932復位時,是否進入 ISP模式會受一個狀態(tài)位的控制,這個狀態(tài)位保存在Flash存儲器里的一個保留位置,不過這個位置并不在P89LPC932可以尋址的程序存儲器空間內。在復位信號的下降沿,處理器將檢查該狀態(tài)位的值,如果其值為0,處理器將從地址0000H處開始取指令執(zhí)行,這里通常存儲著用戶的應用程序代碼。如果該狀態(tài)位的值不是0,則處理器將從另一個確定的地址處開始執(zhí)行此處的代碼,這個地址(16位)的高8位由復位向量指定,低8位固定為00H。也就是說,引導向量的值將作為程序計數(shù)器(PC)的高字節(jié),低字節(jié)為00H。如果用戶使用的是一片新芯片,芯片中的狀態(tài)位值在出廠時就被設置為1,而啟動向量被預編程為1EH。因此,新芯片在復位后將直接從1E00H地址處開始執(zhí)行代碼。因為從1E00H開始處的代碼,正好就是Philips公司給芯片預置的ISP啟動代碼。如果用戶希望從0000H地址處開始執(zhí)行代碼,則狀態(tài)位的值可以通過并行編程器去清零。實際上,通過ISP代碼的自身功能也可以給狀態(tài)位清零;如果用戶往P89LPC932內部的程序存儲器寫入自己的應用程序代碼后給狀態(tài)位清零,則下次芯片復位后處理器將直接執(zhí)行用戶代碼。另外,ISP代碼也有修改啟動向量值的功能,用戶可以修改它的值,也就是把芯片復位后取代碼執(zhí)行的地址修改了(假如LPC932被觸發(fā)進入ISP模式的話),而用戶自己編寫的啟動代碼就放在那里,這種設計通常是用來執(zhí)行某些特殊功能的。不過,如果用戶修改了啟動向量的值,使它不再是1EH,則用戶就再也不能使用LPC932出廠時預置的啟動代碼了。如果啟動向量被修改而指向一個不包括任何啟動代碼的地址,用戶則不得不使用一臺并行編程器來給這枚芯片編程,以恢復它的啟動向量值;否則,用戶將無法再使用這種ISP編程方法。

1.2.2通過檢測中止控制符信號觸發(fā)芯片復位后進入ISP模式

通過異步串行口檢測到中止控制符信號觸發(fā)芯片復位后進入ISP模式是進入ISP模式的第二種方式。中止控制符信號就是指在異步串行口的接收腳上出現(xiàn)長達一幀長度的低電平,這里一幀的長度與異步串行口的工作模式有關。例如,在異步串行口的“模式一”中,一幀相當于10個比特的傳輸時間。一般地,當一個中止控制符信號發(fā)出時,異步串行口的接收腳將會持續(xù)相當于很多幀時間的低電平。不過,在第一幀的時候,中止控制符信號就會被檢測到。注意,如果用一個機械開關來拉低異步串行口的接收腳,以創(chuàng)造一個中止控制符信號,同時,處理器被配置為允許串行中斷,則異步串行口的接收中斷標志必須在其中斷服務全程中被處理,否則,處理器將進入一種不確定的狀態(tài)。

這種方式要求駐留在P89LPC932程序存儲器內部的用戶應用程序代碼必須包括初始化異步串行口的代碼。換句話說,用戶必須使能異步串行口,同時,特殊功能寄存器AUXR1中的允許中止控制符信號位(EBRR)必須被置1,以允許在檢測到中止控制符信號時觸發(fā)處理器復位。此外,啟動向量配置字節(jié)須保證為1EH(使用P89LPC932內預置的ISP代碼),狀態(tài)字為00H(以使用戶應用代碼得以執(zhí)行),且1E00H~1FFFH的Flash程序存儲器不要使用或擦除。這樣配置完成后,只要異步串行口的接收腳檢測到中止控制符信號后,處理器就會復位,復位后LPC932將從由啟動向量指定的地址處取指令執(zhí)行。

有兩個問題在使用這種觸發(fā)方式的時候應該了解。一是某些USB轉RS232的轉換器無法發(fā)出中止控制符信號,所以無法使用檢測中止控制符信號的方式觸發(fā)處理器復位并進入ISP模式;二是中止控制符信號在正常的串口通信不會出現(xiàn),所以用戶可以放心使用這種觸發(fā)方式。

1.2.3硬件激活進入ISP模式

使用這種模式的好處在于,不論處理器內部原來存儲著什么用戶代碼,也不論狀態(tài)位的值是什么,ISP模式總是可以進入的(不過有一點還是必須得到保證,就是處理器里原來的啟動代碼未被擦除或覆蓋,而默認的啟動向量1EH也沒有修改過)。由于P89LPC932引腳數(shù)比較少,而且內置了程序存儲器,又沒有傳統(tǒng)的用于外擴總線的P0、P2口和PSEN引腳,所以依靠硬件方式觸發(fā)芯片進入ISP模式的方法與傳統(tǒng)MCS-51芯片有所不同。

上電后,如果處理器在復位腳上檢測到如圖2所示的脈沖波形,則處理器將從啟動向量指定的地址處取指令運行,也就是進入ISP模式,而不是從0000H處取指令執(zhí)行。其實,這種進入方式的結果和有一個非零的狀態(tài)字節(jié)有著相同效果。不過要注意的是,產生的脈沖數(shù)目只允許有3個,多于或少于3個脈沖都不能觸發(fā)處理器進入ISP模式。


圖2P89LPC932硬件激活ISP模式波形圖

可以利用一枚外部的微處理器來產生這3個脈沖,同時它還控制一枚電源芯片來產生P89LPC932需要的電源電壓。這種方法的原理很容易弄明白,筆者在此不再贅述。另外,還有一種更簡單的方法,就是由用戶PC機上的異步串行口加上部分硬件電路來直接產生所需的時序,具體介紹可以參看參考文獻1。

1.2.4直接調用法觸發(fā)處理器執(zhí)行ISP代碼

P89LPC932的ISP模式的預置啟動向量為1EH,所以其ISP駐留代碼首地址為1E00H,要進入ISP,直接調用1E00H處的代碼就可以了。在C代碼中,程序通過函數(shù)指針的方式就可以調用ISP駐留代碼(即進入ISP模式)。

1.3在P89LPC932上使用Flashmagic

Flashmagic是一個免費的軟件工具,可以為Philips的許多處理器作ISP編程,包括P89LPC932。Flashmagic啟動時將試圖連接用戶選擇的器件,不過通常在這里都會報錯,因為并沒有任何處理器處于ISP模式,又或者還有什么其他的設置需要更改。請選擇Flashmagic控制的PC機上的正確串行口,同時選擇目標器件為P89LPC932,如圖3所示。然后使這片P89LPC932進入ISP模式(如果


圖3FlashMagic的啟動畫面

這是一枚全新的處理器,則它這時已經處于ISP模式了)。如果這不是一枚全新的處理器(狀態(tài)位不是1),那么必須使用硬件方式激活處理器進入ISP模式,或用檢測中止控制符信號的方式觸發(fā)處理器復位并進入ISP模式。

如果使用檢測中止控制符信號的方式觸發(fā)處理器復位并進入ISP模式,如圖4所示,則應當配置Flashmagic,以使用這種方式來初始化ISP模式。首先,檢查“options”菜單下的“advanced options”選項,在彈出的對話框的“hardware config”頁上應該取消“Use DTR and RTS to enter ISP mode”選擇框中的選擇(注:FlashMagic可以記住你的各種設置,下次你再次使用,如果不需要其他設置,可不再設置它即可使用)。然后,從 “ISP”菜單下選擇選項“start bootrom”,并從彈出的對話框中選擇“send break condition”按鈕,F(xiàn)lashmagic可以通過PC機串行口直接向P89LPC932發(fā)出中止控制符信號。一般來說,這時P89LPC932就應該處于ISP模式下了。不過,F(xiàn)lashmagic不會自動校驗P89LPC932是否已經真正進入了ISP模式,這個工作需要由用戶自己來做。如果 P89LPC932未處于ISP模式,若干個Flashmagic的菜單是無法使用的

(即使用戶選擇這些菜單,F(xiàn)lashmagic也會報錯而不會有執(zhí)行結果),用戶可以通過選擇這些菜單來檢驗P89LPC932是否已經處于ISP模式下了,例如“ISP”菜單下的“Blank Check…”選項。當然,P89LPC932未進入ISP模式時,對它的編程是無法進行的,從這層意義上說,同樣也可以知道P89LPC932并未處于 ISP模式下。


圖4發(fā)送中止控制符條件的界面

Flashmagic的缺省設置是自動保護P89LPC932中扇區(qū)7內高端512字節(jié)的啟動代碼,不過用戶可以在“options-advanced options-security”對話框中關閉這個保護功能。不過,并不推薦用戶這么做,因為這會提高誤操作對覆蓋ISP啟動代碼的可能性。

注意,有些菜單選項在新版Flashmagic的位置可能與本文中提及的不同。本文使用的是1.74版的Flashmagic,至截稿時止,F(xiàn)lashmagic已升級至2.07版。

2 總結

Philips P89LPC932是一種功能全面、使用簡單、性能可靠、性價比較高的高速51兼容微處理器,適用于產品研發(fā)、小批量產品試制、高??蒲械戎T多領域。本文對P89LPC932進行ISP編程的具體方法和技巧進行了詳述,希望讀者們能充分利用P89LPC932的優(yōu)秀在線編程特性。

參考文獻
1 周立功單片機有限公司. P89LPC932的ISP應用設計,2004
2 Philips Co. Application Note. In?system programming (ISP) with the Philips P89LPC932 microcontroller, 2003
 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉