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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > SM2965MCU及其在系統(tǒng)編程中的應用

          SM2965MCU及其在系統(tǒng)編程中的應用

          作者: 時間:2012-04-11 來源:網(wǎng)絡 收藏

          1 引言

          本文引用地址:http://www.ex-cimer.com/article/149255.htm

          (ISP)技術的出現(xiàn)是對傳統(tǒng)方法的突破,它是指在用戶設計的微控制器中為配置新的功能對器件進行重新的技術,在線將程序代碼(固件)下載到程序存儲器中。繼SST公司推出具備ISP功能的FlashFlex51 [1]系列微控制器之后,PHILISPS、WINBOND、LG、ATMEL、SynCMOS等公司相繼推出具備ISP/IAP (In-Application Programming)功能的51系列微控制器[2]。這些器件的性能增強還表現(xiàn)在:(1)內(nèi)部ROM采用Flash存儲器,容量達到32~64k字節(jié),內(nèi)部RAM容量達到512~1024字節(jié);(2)增加特殊功能寄存器,控制功能進一步增強;(3)內(nèi)部配置看門狗定時器復位電路;(4)為降低 EMI可禁止ALE輸出;(5)雙DPTR指針等,這些功能使得微控制器外部擴展進一步簡化,形成了真正的單片結(jié)構(gòu)。在POS收費終端機中更換了SynCMOS公司的SM2965作為主處理器,不用修改硬件利用微控制器串行口即可方便地實現(xiàn)ISP功能。本文主要分析SM2965的ISP功能特點及在使用中的注意事項。

          2 SM2965的特點

          和標準的80C52相比,SM2965有以下特點: ①編程電壓5V;②64k字節(jié)片內(nèi)Flash存儲器,分為128個頁,每頁512字節(jié)(包括實現(xiàn)ISP功能的下載程序空間);③實現(xiàn)ISP功能下載程序空間大小可設置為 N×200H(N=0~8); ④256字節(jié)的片內(nèi)RAM+768字節(jié)的片內(nèi)擴展RAM(ERAM);⑤看門狗定時器;⑥對PLCC和QFP封裝型號增加了P4口:P4.0~P4.3;⑦為降低EMI,無必要時可禁止ALE信號輸出;⑧復位后硬件檢測程序存儲器空間0000H地址如為空(即#0FFH),則自動跳到ISP功能程序入口地址。

          3 SM2965存儲器結(jié)構(gòu)

          3.1 程序存儲器

          SM2965內(nèi)部集成了64k字節(jié)的Flash存儲器作為程序存儲器,地址范圍為0000H~0FFFFH,用于存放執(zhí)行用戶程序的程序和執(zhí)行ISP功能的下載程序兩部分內(nèi)容。

          執(zhí)行ISP功能的下載程序空間最大可配置到4K 字節(jié),空間大小=N×200H字節(jié),N=0表示不配置下載程序,64K字節(jié)Flash 存儲器全部用于程序;N=1表示0FE00H~0FFFFH共有200H個字節(jié)配置給下載程序空間使用,從0000H~FDFFH供程序使用; N=8表示下載程序空間達到最大配置,為4K字節(jié)。N 的大小只能通過商用編程器配置,一旦在編程器上配置為 N≠0,在系統(tǒng)中無法改變ISP空間的配置。SM2965程序空間組成如圖1所示。 0FFFFH-(N×200H)為下載程序的入口地址。

          3.2 數(shù)據(jù)存儲器

          SM2956在標準的80C52內(nèi)核的基礎上,增加了8個特殊功能寄存器,用于實現(xiàn)SM2965增加的功能和768字節(jié)的片內(nèi)擴展數(shù)據(jù)存儲器Expanded Ram(ERAM),使片內(nèi)數(shù)據(jù)存儲器總?cè)萘窟_到1K字節(jié)。數(shù)據(jù)存儲器組成如圖2。SM2965增加的特殊功能寄存器[3]見表1。

          4 與ISP功能有關的特殊功能寄存器

          4.1 ISP特殊功能寄存器介紹

          與ISP功能有關的特殊功能寄存器有FAH、 FAL、FDAT、SCONF和FCR,其中FAH×256+FAL為編程狀態(tài)下的目標地址,F(xiàn)DAT為編程數(shù)據(jù)。

          SCONF為系統(tǒng)控制寄存器,SCONF中的位2 與ISP功能有關,SCONF各位定義如下:

          WDR R R R R ISPE OME ALE1
          MSB LSB
          SCONF的3~6位保留未用,SCONF復位狀態(tài)為00000010B。
          WDR:看門狗定時器溢出位;
          OME:片內(nèi)擴展數(shù)據(jù)存儲器ERAM選擇位,1 選擇片內(nèi),0 選擇片外;
          ALEI:ALE輸出禁止位;
          ISPE:為ISP功能總允許/禁止位,為1允許,為0禁止。ISPE設置為0,將屏蔽全部ISP功能。在執(zhí)行應用程序時將ISPE=0可有效防止Flash存儲器內(nèi)容被非法改寫。

          Flash控制寄存器FCR在編程時起關鍵作用,其各位定義如下:

          MSB LSB
          其中FCR的2~6位保留未用,F(xiàn)CR復位狀態(tài)為00000000B。
          START:ISP功能啟動位;
          START=1,啟動ISP功能,具體功能由F1、 F0決定;START=0,無ISP操作。

          在START位置1后,SM2965硬件自動鎖存地址和數(shù)據(jù)并獲得程序指針控制權直到ISP功能結(jié)束,START自動復位為0。下載程序中無須檢查 START的狀態(tài)。

          F1~F0 ISP功能選擇位

          F1F0 ISP功能
          00 字節(jié)編程
          01 芯片寫保護
          10 頁面擦除
          11 整片擦除
          Flash存儲器的一個頁面為200H字節(jié)。執(zhí)行ISP 功能,需要指定Flash存儲器地址;執(zhí)行字節(jié)編程功能,F(xiàn)lash存儲器地址為編程字節(jié)的目標地址;執(zhí)行頁面擦除功能,該地址為該頁面內(nèi)任一地址;執(zhí)行整片擦除和芯片寫保護,則為0000H~0FFFFH 范圍內(nèi)任一地址;執(zhí)行整片擦除,SM2965將擦除ISP下載程序空間外的所有Flash存儲器;執(zhí)行芯片寫保護功能,SM2965存儲器讀出內(nèi)容全部為00H。

          4.2 ISP特殊功能寄存器使用舉例

          例1:字節(jié)編程,#2CH編程到地址2005H

          MOV SCONF, #04H ;開放全部ISP功能
          MOV FAH, #20H ;目標地址高地址20H
          MOV FAL, #05H ;目標地址低地址 05H
          MOV FDAT, #2CH ;寫入數(shù)據(jù):2CH
          MOV FCON, #80H ;設置START位為1,啟動字節(jié)編程功能,將22H固化到1005H,ISP功能結(jié)束后,START自動復位為0,PC指向下一條指令
          例2:擦除Flash頁面,如擦除253CH地址所對應的頁面
          以512字節(jié)為一頁,253CH處于頁面地址范圍為2400H~25FFH,執(zhí)行下面程序后,該頁面全部寫成#0FFH。

          MOV SCONF, #04H ;開放全部ISP功能
          MOV FAH, #25H ;目標地址高地址25H或24H
          MOV FAL, #3CH ;目標地址低地址3CH或任意
          MOV FDAT, #00H ;寫入數(shù)據(jù):00H或任意
          MOV FCON, #82H ;設置START位為1,啟動頁面擦除功能。ISP功能結(jié)束后,START自動復位為0,PC指向下一條指令

          5 應用中的問題

          SM2965的ISP開發(fā)靈活方便,硬件上不需要任何輔助配件,應用系統(tǒng)線路無須做任何變動,可由設計者自定義任何編程通信協(xié)議,經(jīng)計算機或簡單工具通過任何I/O口或UART口送入SM2965中,不像其它具有ISP的MCU那樣必須針對特定的管腳和特殊的TIMMING協(xié)議才能實現(xiàn)。但在不同應用中仍需注意以下幾點:

          (1)SM2965程序空間可分為執(zhí)行ISP功能的下載程序和執(zhí)行用戶程序的應用程序兩部分,下載程序空間的大小可在商用編程器上配置,一旦配置被寫入,下載程序在系統(tǒng)應用中將保持不變。下載程序空間最大可配置到4 kB,該空間除存放下載程序外,還應將固定的應用程序(如主監(jiān)控程序)也放在該空間內(nèi),而把需要頻繁更新的應用程序放在在線可編程的應用程序空間中。

          (2)對于在應用系統(tǒng)中僅更新部分應用程序的情況,如改變系統(tǒng)運行時的一些重要參數(shù)或者把SM2965的Flash當作EEPROM使用,則在系統(tǒng)中不可以執(zhí)行芯片寫保護和整片擦除功能。這時芯片內(nèi)的應用程序是可通過編程器讀出的。為了防止非法讀取,這些重要參數(shù)可通過加密算法(如DES密碼算法)形成密文后再存儲到應用程序空間,應用中通過下載程序空間(讀不出)的密碼算法和密鑰將密文還原為明文。

          (3)對于在應用系統(tǒng)中更新全部應用程序的情況,則要注意Flash空間0000H地址的代碼寫入順序的問題,這是因為SM2965芯片復位后硬件檢測Flash空間0000H地址如為空(即#0FFH),則自動跳到下載程序的入口地址,否則從0000H地址執(zhí)行應用程序。所以對于更新全部應用程序時,在下載程序中首先執(zhí)行整片擦除,然后開始從第1頁即0200H地址編程,最后編程第0頁,從0001H地址開始,所有地址編程全部確認(CRC校驗)無誤時,再編程0000H地址。

          (4)用主機進行遠程下載更新程序時,為了解決干擾產(chǎn)生的誤碼問題,可把應用程序代碼分為若干個短數(shù)據(jù)包,每個數(shù)據(jù)包帶有CRC,下載程序應首先把數(shù)據(jù)包存入緩沖區(qū),對CRC判斷正確后再進行編程。

          (5)在執(zhí)行下載程序前,如果啟動了SM2965 內(nèi)部的看門狗定時器,在下載程序中應首先禁止看門狗定時器,以防止硬件復位造成下載失敗。

          (6)對于更新全部應用程序的情況,下載完畢后建議通過硬件看門狗復位啟動系統(tǒng),而不要使用跳轉(zhuǎn)指令。

          出現(xiàn)開始使用SM2965時,經(jīng)常會出現(xiàn)下載失敗,要通過商用編程器重新編程SM2965的問題,采取上述措施后,近兩年來未發(fā)生一例下載失敗的現(xiàn)象。



          評論


          技術專區(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); })();