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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > W78E516及其在系統(tǒng)編程的實(shí)現(xiàn)

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

          作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

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

          2 W78E516的 ISP功能特點(diǎn)

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

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

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

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

          三、 應(yīng)用實(shí)例

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

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

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

          PC機(jī)通過(guò) RS-232串口發(fā)送數(shù)據(jù)。每一幀的前3個(gè)字節(jié)都為7EH,作為幀同步信號(hào)。隨后2個(gè)字節(jié)內(nèi)容均為幀指針,表明本幀數(shù)據(jù)的幀號(hào)。PC機(jī)在發(fā)送1幀數(shù)據(jù)后,等待單片機(jī)發(fā)回確認(rèn)數(shù)據(jù)幀,該幀數(shù)據(jù)應(yīng)包括數(shù)據(jù)接收正確與否的標(biāo)志及接收到的數(shù)據(jù)的幀號(hào)。

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

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

          參考文獻(xiàn)

          1 華邦公司痹諳低晨殺喑滔盜(W78E系列)筆瀾緄繾釉器件,1999(2)

          2 黃正瑾痹諳低潮喑碳際跫捌溆τ錨蹦暇:東南大學(xué)出版社,1997


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();