<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > W78E516及其在系統(tǒng)編程的實現(xiàn)

          W78E516及其在系統(tǒng)編程的實現(xiàn)

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

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

              關鍵詞:

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

          一、W78E516的結(jié)構(gòu)

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

            1. 特征

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          表1

          BIT NAME 功      能
          7 軟件復位F04KMODE 該位置1且FBOOTSL和FPROGEN都置1時,微控制順筆位,重新操作。讀該位結(jié)果為邏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ǒng)編程狀態(tài)。在這種編程模式下,清降、編程、讀操作在設備進空閑模式后可以實現(xiàn)。
          0:可能對ROM執(zhí)行寫操作

            (2) 編程狀態(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ǒng)編程狀態(tài)下的目標地址。SFRAH包含地址的高位字節(jié);SFRAL包含地址的低位字節(jié)。

            (4) SFRFD:編程狀態(tài)下MTP-ROM的編程數(shù)據(jù)。

          二、W78E516的在系統(tǒng)編程方法

            1. ISP操作實現(xiàn)過程

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

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

            W78E516處于在系統(tǒng)編程模式時,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進行在系統(tǒng)編程的方法具有共同之處。

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

            2.W78E516的 ISP功能特點

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

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

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

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

          三、應用實例

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

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

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

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

          結(jié)束語

            根據(jù)本文介紹的方法,在機車故障檢測記錄儀系統(tǒng)內(nèi)實現(xiàn)了對W78E516的在系統(tǒng)編程。

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

              ISP技術也為其他許多領域帶來了變革。總之,在系統(tǒng)編程技術具有廣闊的開發(fā)應用前景。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();