<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于80C196KC與PSD4235G2在線(xiàn)編程的實(shí)現

基于80C196KC與PSD4235G2在線(xiàn)編程的實(shí)現

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

隨著(zhù)MCU的廣泛應用,其性能不斷提高,集成度也日益提高。傳統的MCU系統設計,在選好MC U后還要采購大量的分離器件(如地址鎖存器、譯碼器、擴展芯片、RAM,EPROM,PLD等),使系統復雜度高、可靠性低,且調試繁瑣、效率低下,造成設計復雜,印制板面積增大。還要考慮到各種干擾,總線(xiàn)競爭等很多因素,系統常常不穩定。

本文引用地址:http://dyxdggzs.com/article/171753.htm

本文介紹一種閃爍存儲器的微處理器外圍器組成的MCU系統。即通過(guò)計算機串口將程序代碼遠程下載到MCU系統的存儲器中,IAP的功能。

1的性能特點(diǎn)

( Programmable System Devices) 是ST公司設計生產(chǎn)的一種閃爍存儲器的外圍器件。他將MCU系統外圍器件高度集成在一起,并與MCU進(jìn)行無(wú)縫連接,只需用2顆芯片MCU+PSD 即可代替眾多的外圍器件組成一套完整的MCU系統;他還集成了優(yōu)化的“微控制器宏單元”邏輯結構,使系統地址/數據總線(xiàn)可以與內部寄存器直接互連,簡(jiǎn)化了控制總線(xiàn)的設計。PSD產(chǎn)品以其設計靈活、資源豐富和極高的性?xún)r(jià)比在嵌入式系統應用領(lǐng)域得到廣泛應用。此外,PSD4235G2還具有以下特性:

(1) 采用多路復用或非多路復用的16位總線(xiàn)為控制器的簡(jiǎn)單接口??偩€(xiàn)接口邏輯使用地址譯碼和讀寫(xiě)時(shí)由微控制器自動(dòng)產(chǎn)生的控制信號,可方便地與16位單片機直接相連。

(2) 4 Mb主Flash,被分為8個(gè)大小相同的塊,由用戶(hù)規定的地址訪(fǎng)問(wèn);256 kb次Flash,具有在更新閃爍存儲器的同時(shí)執行代碼的能力;64 kb SRAM通過(guò)連接外部電池可保護SRAM的內容使之免受電源故障的影響。

(3) 主Flash和次Flash可同時(shí),即在執行來(lái)自一個(gè)存儲器的代碼時(shí)可同時(shí)對另一個(gè)存儲器編程。

(4) 器件PSD4235G2包括2個(gè)PLD塊,譯碼PLD(DPLD)和復合PLD(CPLD)。DPLD用于地址譯碼并產(chǎn)生內部存儲器和寄存器的芯片選擇信號;CPLD用戶(hù)定義的邏輯功能。這些邏輯由16個(gè)輸出宏單元和24個(gè)輸入宏單元和“與”陣列構成。

(5) 52個(gè)單獨可配置的I/O端口引腳,配置成MCU I/O,PLD I/O,鎖存MCU地址輸出、特殊功能I/O,漏極開(kāi)路輸出的I/O端口。

(6) 具有可編程電源管理功能(PMU),支持掉電模式的低功耗模式,使5 V待機狀態(tài)的電流低至50μA;另外還具有自動(dòng)檢測控制器工作的功能。

(7) 內置JTAG的串行接口,使系統具有整個(gè)芯片系統內編程的能力。利用這個(gè)功能,用戶(hù)可以對空的器件編程或現場(chǎng)對器件重新編程。

2系統設計

整個(gè)系統是由單片機,PSD4235G2,D/A轉換器和LCD顯示器等構成,并通過(guò)上位機對其進(jìn)行遠程編程。其系統結構如圖1所示。

內部集成10位的A/D轉換器,因而模擬量可以直接輸入MCU。PSD4235G2具有2塊大容量Flash、16個(gè)輸出宏單元和24個(gè)輸入宏單元,因而在與單片機組成系統時(shí),很少需要外圍分立器件,多數通過(guò)PSD4235G2中的宏單元邏輯組合產(chǎn)生與單片機連接的地址總線(xiàn)、數據總線(xiàn)、控制總線(xiàn);同時(shí),通過(guò)內部的邏輯譯碼產(chǎn)生3塊獨立存儲區片選信號,即主Flash片選FS i、次Flash片選CSBOOTi和SRAM片選RS0。并且PSD4235G2與LCD、D/A電路的接口直接用其PA、PB口連接,只需在軟件設計和單片機程序中相應設計為I/O模式或地址鎖存模式。

系統由復位電路對80C196KC和PSD4235G2進(jìn)行復位,主程序放入PSD4235G2中。程序升級時(shí),上位機與80C196KC進(jìn)行聯(lián)絡(luò ),聯(lián)絡(luò )成功后由上位機將升級程序發(fā)送下去,調制后送到該遠程系統,而將數據解調后,通過(guò)80C196KC接口寫(xiě)到PSD4235G2的數據存儲區。當接到上位PC機的切換命令后,80C196KC向PSD4235G2的寄存器中送一個(gè)狀態(tài)值,由PSD4235G2的PLD對程序存儲區和數據存儲區進(jìn)行切換,再加上其他的功能電路,就構成了一個(gè)完整的可遠程程序升級的系統。80C196KC,PSD4235G2和串口的接口電路如圖2所示。

3IAP(在線(xiàn)編程)設計

PSD4235G2有2個(gè)內部寄存器:頁(yè)寄存器(page)和VM寄存器。8位的頁(yè)寄存器可使MCU的尋址空間擴大256倍,他的內容可以由MCU來(lái)讀寫(xiě)。頁(yè)寄存器可直接參與PSD內部存儲器的地址選擇,在作為頁(yè)尋址時(shí)寫(xiě)入要訪(fǎng)問(wèn)的頁(yè)地址,PSD內部地址譯碼邏輯就立刻選中目標存儲器空間。另外,在頁(yè)寄存器分頁(yè)存儲時(shí),應該設置一個(gè)公共存儲器區,即程序在任何頁(yè)面位置執行時(shí)都能訪(fǎng)問(wèn)到的空間(或者說(shuō)是與頁(yè)不相關(guān)的地址空間),用于放置初始化程序、中斷服務(wù)程序、頁(yè)切換程序以及物理設備驅動(dòng)程序等重要子程序。同樣,重要數據也應當在任何頁(yè)都可以訪(fǎng)問(wèn),例如PSD控制寄存器、I/O、用于保存堆棧和全局變量的系統RAM等。VM寄存器用來(lái)分開(kāi)程序空間和數據空間,并把PSD4235G2中主Flash、次Flash和SR AM設置在不同空間。

在進(jìn)行在線(xiàn)編程時(shí),首先將PSD的次Flash存儲器映射到80C196KC的程序存儲區,將PSD的主F lash存儲器映射到80C196KC的數據存儲區,系統從PSD的次Flash啟動(dòng),執行引導/下載程序,如果需要的話(huà)從上位機下載程序到PSD的主Flash存儲器;然后,再通過(guò)PSD中的VM寄存器,將主Flash存儲器存儲空間從數據存儲區跳變到程序存儲區,轉而執行Flash存儲器中的程序,從而實(shí)現對原程序的升級。

系統的運行有2個(gè)基本模式:一個(gè)是引導/下載模式;另一個(gè)是正常運行模式。系統啟動(dòng)時(shí)從引導/下載模式到正常運行模式轉換過(guò)程中系統存儲器的變化步驟為:

(1) 上電時(shí)系統存儲器映射

上電時(shí)系統開(kāi)始執行次Flash中的程序,檢查是否要通過(guò)MCU對主Flash中的程序進(jìn)行升級。此時(shí),PSD中主Flash存儲器存儲空間都處于MCU的數據空間,而次Flash存儲空間則處于MCU的程序空間。

(2) 主Flash存儲空間從數據空間移至程序空間

在完成對Flash中程序升級或不需要升級時(shí),寫(xiě)VM寄存器為06H,將主Flash的存儲空間從MCU的數據空間移到程序空間。

(3) 切換主Flash和次Flash存儲空間

MCU從PSD次Flash中運行程序跳到主Flash中的運行程序。在程序寫(xiě)1到‘swap’位(上電時(shí)‘swap’的值是0)進(jìn)行地址“切換”,程序就進(jìn)入主Flash中運行了。

(4) 次Flash存儲空間移至數據空間

程序已經(jīng)在PSD的主Flash中運行,寫(xiě)0CH到VM寄存器,把次Flash的存儲空間從MCU的程序空間移到數據空間。并且,MCU轉跳到在PSD的主Flash的復位入口地址,用戶(hù)的程序開(kāi)始真正執行。

用戶(hù)程序啟動(dòng)模塊的流程如圖3所示。

4結語(yǔ)

PSD4235G2的獨特結構簡(jiǎn)化了硬件接口電路,為嵌入式MCU系統提供了簡(jiǎn)單靈活的解決方案。其IAP功能使產(chǎn)品可以在應用中編程和測試,并遠程升級程序代碼,縮短了產(chǎn)品開(kāi)發(fā)周期,降低了產(chǎn)品維護和升級成本,搶先占領(lǐng)市場(chǎng)。

參考文獻
[1]孫涵芳.Intel 16位單片機[M].北京:北京航空航天大學(xué)出版社,1999
[2]劉復華.8*C196KX單片機及其應用系統設計[M].北京:清華大學(xué)出版社,2002
[3]孫涵芳.單片機現場(chǎng)可編程外圍芯片PSD的原理及應用[M].北京:北京航空航天大學(xué)出版社,1998
[4]可編程單片及外圍芯片技術(shù)手冊.



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>