<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è) > 嵌入式系統 > 設計應用 > 基于MTV412微控制器的1對8的ISP系統

基于MTV412微控制器的1對8的ISP系統

作者: 時(shí)間:2011-09-02 來(lái)源:網(wǎng)絡(luò ) 收藏
本文設計了一種基于的1對8的,主設備采用Myson公司的MTV412,可以同時(shí)對8臺從設備進(jìn)行在線(xiàn)程序更新。

目前,51內核的微控制器ISP模式一般分為兩大類(lèi):一類(lèi)是使用JTAG協(xié)議的ISP模式;另一類(lèi):ISP模式是使用一條特殊的指令,使單片機進(jìn)入ISP。在進(jìn)入ISP模式后,要自己控制對單片機的擦除寫(xiě)入邏輯。這一類(lèi)模式又可細分為2種不同的模式:①進(jìn)入ISP模式后,單片機只提供一個(gè)接口,不再運行從設備的程序,擦寫(xiě)邏輯全由主設備提供,本系統中MTV412和MTV312就屬于這種模式;②進(jìn)入ISP模式以后,從設備會(huì )運行在某一區域已經(jīng)編寫(xiě)的程序,芯片的編程邏輯都由芯片中這段程序控制,主設備只是作為單片機的一個(gè)數據源,向單片機傳輸要擦寫(xiě)的數據,如Winbond公司的W79E632。

1 背景介紹

1.1 MTV412和MTV312

MTV412和MTV312是臺灣Myson公司的產(chǎn)品,主要是面向LCD Monitor和LCD TV的視頻控制IC。該款芯片可以滿(mǎn)足視頻應用中的控制需求,因而被廣泛應用于視頻類(lèi)產(chǎn)品中,在本系統中,主設備采用的是128 KB。從設備采用MTV312,是64 KB的帶有ISP功能的51系列8位微控制器。

1.2 編譯環(huán)境Keil C51

Keil C51是美國Keil Software公司出品的51系列兼容單片機C語(yǔ)言軟件開(kāi)發(fā)系統。它是一種專(zhuān)門(mén)為805l單片機設計的高效率的C語(yǔ)言編譯器,符合ANSI標準,生產(chǎn)的程序代碼運行速度極高,所需要的存儲空間極小,完全可以和匯編語(yǔ)言相媲美。Cx51已被完全集成到一個(gè)功能強大的全新集成開(kāi)發(fā)環(huán)境uVision2中。uVision2提供了強大的項目管理功能,可以十分方便地進(jìn)行結構化多模塊程序設計。本系統主設備的源代碼通過(guò)Keil C51編譯獲得燒寫(xiě)所需的HEX或者BIN文檔。

1.3 切換Bank原理

傳統的51系列單片機是8位的,因此它最多可以訪(fǎng)問(wèn)64 KB地址空間,如果要用51系列的單片機訪(fǎng)問(wèn)128KB的空間,那么就必須用切換Bank的方法。一個(gè)Bank是64 KB,通過(guò)外部的硬件來(lái)選擇對應的Bank。本系統中,MTV412就是通過(guò)切換Bank的方法來(lái)在線(xiàn)升級ISP從設備程序的。MTV412切換Bank是通過(guò)P3.5完成的。通過(guò)設置P3.5不同的電平,切換到不同的Bank區域,如果要進(jìn)行4個(gè)Bank的切換,必須要由2個(gè)端口來(lái)控制。圖1為MTV412的128 KB的存儲空間分配。其中:Common區域用于存放上電復位程序、中斷向量、全局變量、中斷函數、切換Bank程序和庫函數等;Bank區域用于存放一些不同的應用函數。



如圖2所示,本系統把MTV412的128 KB Falsh分為Bank0和Bankl,大小各40 KB。在Keil C51編輯器中,必須加入L51_BANK.A51匯編文件,它包含系統的Bank數目和切換Bank調用的函數和端口。



2 系統構架

系統架構如圖3所示。首先,將從設備MTV312的文件通過(guò)Keil C51生成64 KB的HEX或者BIN文檔;然后,再把主設備MTV412的文件通過(guò)Keil C5l生成128 KB的HEX或者BIN文檔;最后,把從設備MTV312的BIN或者HEX分成兩個(gè)32 KB,分別放在主設備MTV412 128 KB的8000H和18000H開(kāi)始的位置。文件的地址空間分配如圖4所示。

基于MTV412微控制器的1對8的ISP系統







通過(guò)PC或者燒錄器直接把程序燒錄到MTV412上。這樣MTV412就可以脫離PC,通過(guò)I2C直接對從設備在生產(chǎn)線(xiàn)體上進(jìn)行ISP。

2.1 硬件實(shí)現

主設備MTV412的硬件電路如圖5所示。P6口作為SCL,P1作為SDA。因為P6是單向口,P1是雙向口,SDA不僅要輸出數據,還要接收ACK。P1對應8個(gè)從設備的SDA,P6對應8個(gè)從設備的SCL。MTV412的多功能口P3.0和P3.1既可以作為普通的I/O口,也可以作為I2C的SCL和SDA,或者串口RXD和TXD。本系統設為I2C端口,可以通過(guò)PC直接更新MTV412上的程序。



2.2 軟件實(shí)現

主設備MTV412有128KB的Flash空間。其中,Bank0(32 KB)和Bankl(32 KB)存儲對應的從設備MTV312的程序數據和調用函數func0和funcl。Com- mon區域放置與從設備通信的程序,模擬ISP過(guò)程。在main函數中通過(guò)調用func0和func1,把對應的Bank0和Bank1從8000H開(kāi)始的內容放入緩存區,每次讀取256字節,然后在Common區中進(jìn)行ISP。

ISP時(shí),從設備64 KB程序數據分成256個(gè)block,每個(gè)block為256字節。

ISP過(guò)程如圖6所示。

①進(jìn)入ISP:發(fā)送I2C start→發(fā)送0x4C→發(fā)送0x77→發(fā)送I2C stop。

②清除Flash(硬件清除Flash):發(fā)送I2C start→發(fā)送0x7C→發(fā)送0x68和0x00→發(fā)送0x7C→發(fā)送0x00,0x00→delay 1 s→發(fā)送I2C stop。

③清除CRC寄存器:發(fā)送I2Cstart→發(fā)送0x7c→發(fā)送0xD0→發(fā)送I2C stop。

④Flash編程:發(fā)送I2C start→發(fā)送0x7C→發(fā)送0xA0,block起始地址(0x00
~0xff)→發(fā)送I2C stop→循環(huán)256次(發(fā)送I2C start→發(fā)送地址0x00→發(fā)送256字節數據→發(fā)送I2C stop)。

⑤校驗CRC:發(fā)送I2C start→發(fā)送0x7C→接收4字節CRC校驗值→與軟計算的CRC值比較。若相等,則發(fā)送I2C stop;否則,重新Flash編程。

⑥復位:發(fā)送I2C start→發(fā)送0x7C→發(fā)送0x48和0x00→發(fā)送I2C stop。

要使從設備MTV312具有ISP的功能,須添加一段程序在從設備的主應用程序中。該程序用來(lái)響應多功能口SCL和SDA(RXD,TXD)的電平變化。在執行以下程序后,MTV312進(jìn)入ISP模式:



void Intlsp(void)interrupt 2{//從設備MTV312外部中斷1

結 語(yǔ)

該系統的實(shí)現方法比較簡(jiǎn)單,可以脫離PC獨立運行,同時(shí)給工廠(chǎng)提供更為簡(jiǎn)單、方便的在線(xiàn)ISP。主設備可以在線(xiàn)體上對從設備進(jìn)行批量編程,值得在一線(xiàn)工廠(chǎng)推廣使用。


關(guān)鍵詞: MTV412微控制器 ISP系統

評論


技術(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>