新聞中心

EEPW首頁 > 嵌入式系統 > W78E516及其在系統編程的實現

W78E516及其在系統編程的實現

——
作者:崔冬建 王立德 史大北 時間:2007-08-24 來源:單片機與嵌入式系統應用 收藏

  摘要:近年來,在系統編程(ISP)技術的不斷發(fā)展和成熟,使得硬件設計逐步軟件化,硬件結構的通用性日益增強,系統設計、生產、維護、升級等環(huán)節(jié)都發(fā)生著深刻的變革。本文以WINBOND公司的W78E516為例介紹ISP器件的結構及其在系統編程原理。

    關鍵詞:

    使用傳統方法對CPU重新編程存在諸多不便,在系統編程技術(以下簡稱ISP技術)的出現是對傳統編程方法的突破。ISP(In System Programming)技術是指,在用戶設計的目標系統中或印刷電路板上,為重新配置邏輯或實現新的功能,而對器件進行編程或反復編程的能力。ISP技術的出現和發(fā)展開創(chuàng)了數字電子系統設計技術新的一頁。ISP技術無需編程器和較高的編程電壓,打破了先編程后裝配的慣例,形成產品后還可以在系統內反復編程,使具有MTP-ROM可多次編程或反復編程的微控制器的優(yōu)越性得以更充分的發(fā)揮。尤其是在互聯網時代,依據系統環(huán)境和需要,經調制解調裝置(MODEM)、串行口或專用的編程接口就能夠通過軟件控制,實現系統遠程升級和調試,提高產品的適應性,延長產品生存周期,經濟效益顯著。真正的可編程系統的時代即將到來。

一、W78E516的結構

  W78E516是一種8位微控制器,內部含有在系統可編程的MTP-ROM,用于系統更新。W78E516與標準的8052完全兼容。

  1. 特征

  (1) 全靜態(tài)設計,最高工作頻率為40MHz。

  (2) 64KB APROM存儲應用程序和4KB LDROM存儲控制ISP操作的程序。2塊存儲器均為MTP-ROM。

  (3) 512字節(jié)的片內RAM(包括256字節(jié)AUX-RAM,可由軟件選擇)內部數據RAM有512字節(jié)。它分成2個存儲單元:256字節(jié)高速暫存和256字節(jié)輔存。這些地址有不同的確定方式:

  ① RAM 0H~127H:同8052一樣直接或間接尋址,地址指針是被選中的寄存器單元中的R0和R1。

  ② RAM 128H~255H:同8052一樣只能間接尋址,地址指針是被選中的寄存器單元中的R0和R1。

 ?、?AUX-RAM 0H~255H:采用外部數據存儲器的方式間接尋址,用MOVX指令,地址指針是選中寄存器單元的R0和R1以及DPTR寄存器。在CHCON寄存器中的第4位置位后,AUX-RAM有效,訪問AUX-RAM使用“MOVX@Ri”指令。當執(zhí)行內部程序存儲器的指令時,訪問AUX-RAM不會影響P0,P2,WR和RD。AUX-RAM在復位后失效。

  (4) 程序存儲器和數據存儲器可尋址空間范圍為64KB。

  (5) 4個8位雙向口:P0~P3,1個4位雙向多用途編程口P4。

  (6) 3個16位的定時器/計數器:T0,T1,T2。T0和T1功能與8051相同。T2是一個16位定時器/計數器,它由T2CON配置和控制。T2能作為外部時鐘計數器,也能作為內部定時器,這取決于T2CON的C/T2位的配置情況。T2有3種操作方式:清零、自動重寫、波特率發(fā)生器。在清零和自動重寫方式時,時鐘頻率與T0和T1相同。

 ?。?) 具有一個全雙工串行口。

 ?。?) 具有6個中斷源和2級中斷能力。

 ?。?) 內部電源管理:空閑方式和掉電方式,這兩種方式可由軟件選擇。

 ?。?0) 具有編程后的編碼保護功能。

  2. 與ISP操作相關的特殊功能寄存器

 ?。?) 在系統編程控制寄存器CHPCON(BFH)功能如表1所列。

表1

BIT NAME 功      能
7 軟件復位F04KMODE 該位置1且FBOOTSL和FPROGEN都置1時,微控制順筆位,重新操作。讀該位結果為邏1輯時,可雙確認CPU處于F04KBOOT模式
6 - 保留
5 - 保留
4 ENAUXRAM 0:使AUX-RAM無效;
1:使AUX-RAM有效
3 0 必須置為0
2 0 必須置為0
1 FBPPTSL 程序地址選擇。
1:裝載程序位64KB的APROM。4KBLDROM是重新的目標地址。
0:裝載程序位于4KB的存儲器。64KB的APROM是重新編程的目標地址
0 FPROGEN MTP-ROM編程使能。
1:使編程功能有效。微控制器進入在系統編程狀態(tài)。在這種編程模式下,清降、編程、讀操作在設備進空閑模式后可以實現。
0:可能對ROM執(zhí)行寫操作

 ?。?) 編程狀態(tài)下MTP-ROM的控制字節(jié)寄存器SFRCN(C7H)功能如表2所列。

表2

BIT NAME 功    能
7 - 保留
6 WFWIN 選擇ISP操作目標存儲器。
0:對LDROM重新編程;
1:對APROM重新編程
5 OEN MTP-ROM輸出使能
4 CEN MTP-ROM使能
3,2,1,0 CTRL[3:0] ROM控制信號

  (3) SFRAH,SFRAL:在系統編程狀態(tài)下的目標地址。SFRAH包含地址的高位字節(jié);SFRAL包含地址的低位字節(jié)。

 ?。?) SFRFD:編程狀態(tài)下MTP-ROM的編程數據。

二、W78E516的在系統編程方法

  1. ISP操作實現過程

  微控制器通常執(zhí)行APROM中的程序。如果APROM中的程序需要修改,用戶需要通過設置CHPCON寄存器來激活在系統編程模式。在默認情況下,CHPCON是只讀的,必須依次向寄存器中寫入#87H和#59H,才能使CHPCON的寫特性有效。激活CHPCON的寫特性后,在其0位置位,進入在系統編程模式。ISP操作包括進入/退出在系統編程模式、編程、擦除、讀等,它們是在CPU處于空閑模式時完成的,因此,設置CHPCON寄存器后使CPU進入空閑模式,并由定時器中斷的發(fā)生來控制執(zhí)行每一種ISP操作的時間。定時器中斷到來時,轉入LDROM中執(zhí)行相關的中斷服務程序。第一次執(zhí)行RETI指令后, PC指針清零,指向LDROM中的00H。當APROM中的內容被完全更新后,將CHPCON的第0,1,7位設置為邏輯1,通過軟件復位的方式返回APROM執(zhí)行其中的新程序。在應用程序需要頻繁更新的情況下,這種在系統編程方式使工作簡單而高效。

  在默認情況下,上電復位后W78E516從程序中啟動。在某些情況下,可以使W78E516從LDROM中啟動。當APROM中的程序不能正常運行,W78E516無法跳到LDROM中執(zhí)行ISP操作時,CPU進入F04KBOOT模式。在應用系統設計中一定要注意P2,P3,ALE,EA和PSEN引腳在復位時的值,以避免意外激活編程模式或F04KBOOT模式。復位時進入F04KBOOT MODE時P43,P2.7,P2.6引腳電平及時序如圖1及圖2所示。

  W78E516處于在系統編程模式時,MTP-ROM可以被反復編程和檢驗。向MTP-ROM中完整、正確地寫入新代碼后,新代碼即被保護起來。W78E516有專用設置寄存器組(special setting re-gisters),其中包括安全性寄存器(security register)和公司/器件識別寄存器(company/device ID registers),處于編程模式時不能訪問這些寄存器。安全性寄存器在LDROM空間的地址是0FFFFH,當它的各個位被從1編程為0后就不能再被改變,將它們重新置位的惟一方式是執(zhí)行全部擦除操作,這樣就能保證其安全性。

  一般情況下,具有ISP功能的微控制器一般都具備2塊程序存儲區(qū)(暫時稱為A-ROM和B-ROM),其中A-ROM用于存儲通常狀況下的應用程序,B-ROM用于存儲控制ISP操作的程序,向A-ROM中寫入新代碼。有些微控制器,A-ROM和B-ROM中的程序代碼均能控制ISP操作,由特殊功能寄存器來選擇其一,為設計人員提供了靈活的設計應用空間。針對不同類型的ISP器件,對CPU進行在系統編程的方法具有共同之處。

  執(zhí)行ISP操作時,2塊程序存儲器中的程序流程圖分別如圖3、圖4所示。

  2.W78E516的 ISP功能特點

  在MTP產品中,W78E516頗具特色。它在ISP功能方面具有突出的優(yōu)點:

 ?。?) 開發(fā)靈活性??捎稍O計者自定任何編程通信協議,經計算機或簡單工具,將要修改的程序通過任何I/O口或UART口送入單片機內,不能像其他具有ISP功能的芯片那樣,而必須針對其特定引腳及特殊的TIMMING協議來實現。

 ?。?) 操作連續(xù)性。市場上目前具有ISP功能的單片機在執(zhí)行ISP操作時(在未帶配件的情況下)必須停止其他操作;而有些應用希望此時UART或TIMER/COUNTER等功能仍然能夠運作。W78E516可以滿足這種要求。因為在執(zhí)行ISP操作時只是控制權從64KB APROM變換到4KB LDROM,故仍可由4KB中的程序來繼續(xù)操作控制。

 ?。?) 斷電時具有存儲數據能力。因W78E516擁有2塊大小不同的閃速存儲器,其中1塊可用于存儲斷電后仍必須被單片機保留的數據,因此,設計者可減少外接EE2PROM芯片的線路與成本。 除具有上述特點外, W78E516在執(zhí)行ISP操作時不需輔以任何配件,受到用戶的歡迎。

三、應用實例

  此實例是在機車故障檢測記錄儀系統內對W78E516進行ISP操作的實驗。這是一個由PC機和微控制器組成的主從式系統。 PC機經串行通信將新程序的二進制代碼以數據形式下載,微控制器接收數據,由軟件控制更新64KB APROM中的程序代碼。實驗中微控制器經RS-232接口接收數據并暫存于內部AUX-RAM中,不需擴展外部數據存儲器,節(jié)省了板上空間。檢測記錄儀與PC機的通信采用RS-232標準,為簡化硬件,只使用了該標準中的TXD、RXD以及地線3根連線,電平轉換由MAXIM232專用芯片完成。實驗電路原理圖如圖5所示。

  實現ISP操作的軟件由兩部分組成:一是微控制器部分(包括APROM和LDROM中的程序),用MCS-51匯編語言編寫;二是PC機部分,由Microsoft Visual Basic開發(fā)而來,主要應用MSCOMM控件與W78E516通信,完成數據下載。

  微控制器上電后一般從64KB APROM中啟動。64KB APROM中,包括了在系統編程子程序,還有其他檢測記錄系統的子程序。微控制器必須讀取撥碼盤的輸入,決定進入哪一種工作狀態(tài),是否進行在系統編程。值得注意的是,在寫CHPCON寄存器時,應將其第4位置1,使AUX-RAM有效;64KB APROM中的程序應該始終包含圖3流程所示的程序段,以使系統具有進入下一次在系統編程的能力。4KB LDROM中的程序主要作用是接收來自PC機的下載數據,并控制各項ISP操作。執(zhí)行在系統編程時,利用SFRAL、SFRAH、SFRFD、SFRCN這幾個特殊功能寄存器,選擇在系統編程的地址單元,準備待寫入的數據,選擇待執(zhí)行的操作類型。當從F04BOOT模式啟動時,軟件復位失效,必須硬件復位。在系統編程的數據由在此期間仍能正常工作的串行通信口進入。這部分流程如圖6所示。

  PC機通過 RS-232串口發(fā)送數據。每一幀的前3個字節(jié)都為7EH,作為幀同步信號。隨后2個字節(jié)內容均為幀指針,表明本幀數據的幀號。PC機在發(fā)送1幀數據后,等待單片機發(fā)回確認數據幀,該幀數據應包括數據接收正確與否的標志及接收到的數據的幀號。數據幀格式及PC機通信軟件流程分別如圖7、圖8所示。

結束語

  根據本文介紹的方法,在機車故障檢測記錄儀系統內實現了對W78E516的在系統編程。

  ISP技術高度的靈活性使同一種硬件結構能夠實現多種系統功能,成為多功能硬件,減少了系統所需電路板的品種,簡化了生產流程;多功能硬件還能夠減少板上元件數目和系統電路板數目,使系統成本顯著降低。在機車系統中要對各部分進行多種不同的測試,比如軸溫、軸速以及車門的開關狀態(tài)等等,以便了解機車的運行狀況。在現階段,處理這些模擬量或數字量需要設計生產多種不同的模塊。應用ISP技術以后這一現狀會得以改變:設計人員設計出包括微控制器、A/D和D/A轉換芯片、I/O口等在內的通用模塊,將其安裝到需要進行檢測的各個部分,然后利用ISP技術把不同的應用程序下載到微控制器中,就可以完成各種不同的測試功能,其綜合經濟效益不可低估。此外,

    ISP技術也為其他許多領域帶來了變革??傊谙到y編程技術具有廣闊的開發(fā)應用前景。



評論


相關推薦

技術專區(qū)

關閉