基于MTV412微控制器1對8的ISP系統
發布時間:2008/6/3 0:00:00 訪問次數:590
    
    
    來源:單片機與嵌入式系統應用 作者:福建師范大學 左瑞娟
    
    引 言
    隨著微控制器應用領域的不斷擴展和深入,越來越多種類的微控制器具有isp(in system programming,在系統編程)功能。使用isp可以使工廠在產品設計、制造過程中不必把微控制器從目標板中拔出,通過i2c實現在線體上程序升級。目前,在國內一線工廠,主設備(上位機)一般都用pc,這樣不僅浪費資源,而且靈活性較差;同時由于在線體上只能對單個從設備進行程序更新,嚴重影響了工廠的生產效率。為此,本文設計了一種基于mtv412微控制器的1對8的isp系統,主設備采用myson公司的mtv412,可以同時對8臺從設備進行在線程序更新。
    
    目前,51內核的微控制器isp模式一般分為兩大類:一類是使用jtag協議的isp模式;另一類:isp模式是使用一條特殊的指令,使單片機進入isp。在進入isp模式后,要自己控制對單片機的擦除寫入邏輯。這一類模式又可細分為2種不同的模式:①進入isp模式后,單片機只提供一個接口,不再運行從設備的程序,擦寫邏輯全由主設備提供,本系統中mtv412和mtv312就屬于這種模式;②進入isp模式以后,從設備會運行在某一區域已經編寫的程序,芯片的編程邏輯都由芯片中這段程序控制,主設備只是作為單片機的一個數據源,向單片機傳輸要擦寫的數據,如winbond公司的w79e632。
    
    1 背景介紹
    
    1.1 mtv412和mtv312
    
    mtv412和mtv312是臺灣myson公司的產品,主要是面向lcd monitor和lcd tv的視頻控制ic。該款芯片可以滿足視頻應用中的控制需求,因而被廣泛應用于視頻類產品中,在本系統中,主設備采用的是128 kbmtv412微控制器。從設備采用mtv312,是64 kb的帶有isp功能的51系列8位微控制器。
    
    1.2 編譯環境keil c51
    
    keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發系統。它是一種專門為805l單片機設計的高效率的c語言編譯器,符合ansi標準,生產的程序代碼運行速度極高,所需要的存儲空間極小,完全可以和匯編語言相媲美。cx51已被完全集成到一個功能強大的全新集成開發環境uvision2中。uvision2提供了強大的項目管理功能,可以十分方便地進行結構化多模塊程序設計。本系統主設備的源代碼通過keil c51編譯獲得燒寫所需的hex或者bin文檔。
    
    1.3 切換bank原理
    
    傳統的51系列單片機是8位的,因此它最多可以訪問64 kb地址空間,如果要用51系列的單片機訪問128kb的空間,那么就必須用切換bank的方法。一個bank是64 kb,通過外部的硬件來選擇對應的bank。本系統中,mtv412就是通過切換bank的方法來在線升級isp從設備程序的。mtv412切換bank是通過p3.5完成的。通過設置p3.5不同的電平,切換到不同的bank區域,如果要進行4個bank的切換,必須要由2個端口來控制。圖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的文件通過keil c51生成64 kb的hex或者bin文檔;然后,再把主設備mtv412的文件通過keil c5l生成128 kb的hex或者bin文檔;最后,把從設備mtv312的bin或者hex分成兩個32 kb,分別放在主設備mtv412 128 kb的8000h和18000h開始的位置。文件的地址空間分配如圖4所示。
    
    
    
    
    來源:單片機與嵌入式系統應用 作者:福建師范大學 左瑞娟
    
    引 言
    隨著微控制器應用領域的不斷擴展和深入,越來越多種類的微控制器具有isp(in system programming,在系統編程)功能。使用isp可以使工廠在產品設計、制造過程中不必把微控制器從目標板中拔出,通過i2c實現在線體上程序升級。目前,在國內一線工廠,主設備(上位機)一般都用pc,這樣不僅浪費資源,而且靈活性較差;同時由于在線體上只能對單個從設備進行程序更新,嚴重影響了工廠的生產效率。為此,本文設計了一種基于mtv412微控制器的1對8的isp系統,主設備采用myson公司的mtv412,可以同時對8臺從設備進行在線程序更新。
    
    目前,51內核的微控制器isp模式一般分為兩大類:一類是使用jtag協議的isp模式;另一類:isp模式是使用一條特殊的指令,使單片機進入isp。在進入isp模式后,要自己控制對單片機的擦除寫入邏輯。這一類模式又可細分為2種不同的模式:①進入isp模式后,單片機只提供一個接口,不再運行從設備的程序,擦寫邏輯全由主設備提供,本系統中mtv412和mtv312就屬于這種模式;②進入isp模式以后,從設備會運行在某一區域已經編寫的程序,芯片的編程邏輯都由芯片中這段程序控制,主設備只是作為單片機的一個數據源,向單片機傳輸要擦寫的數據,如winbond公司的w79e632。
    
    1 背景介紹
    
    1.1 mtv412和mtv312
    
    mtv412和mtv312是臺灣myson公司的產品,主要是面向lcd monitor和lcd tv的視頻控制ic。該款芯片可以滿足視頻應用中的控制需求,因而被廣泛應用于視頻類產品中,在本系統中,主設備采用的是128 kbmtv412微控制器。從設備采用mtv312,是64 kb的帶有isp功能的51系列8位微控制器。
    
    1.2 編譯環境keil c51
    
    keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發系統。它是一種專門為805l單片機設計的高效率的c語言編譯器,符合ansi標準,生產的程序代碼運行速度極高,所需要的存儲空間極小,完全可以和匯編語言相媲美。cx51已被完全集成到一個功能強大的全新集成開發環境uvision2中。uvision2提供了強大的項目管理功能,可以十分方便地進行結構化多模塊程序設計。本系統主設備的源代碼通過keil c51編譯獲得燒寫所需的hex或者bin文檔。
    
    1.3 切換bank原理
    
    傳統的51系列單片機是8位的,因此它最多可以訪問64 kb地址空間,如果要用51系列的單片機訪問128kb的空間,那么就必須用切換bank的方法。一個bank是64 kb,通過外部的硬件來選擇對應的bank。本系統中,mtv412就是通過切換bank的方法來在線升級isp從設備程序的。mtv412切換bank是通過p3.5完成的。通過設置p3.5不同的電平,切換到不同的bank區域,如果要進行4個bank的切換,必須要由2個端口來控制。圖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的文件通過keil c51生成64 kb的hex或者bin文檔;然后,再把主設備mtv412的文件通過keil c5l生成128 kb的hex或者bin文檔;最后,把從設備mtv312的bin或者hex分成兩個32 kb,分別放在主設備mtv412 128 kb的8000h和18000h開始的位置。文件的地址空間分配如圖4所示。
    
    
深圳服務熱線:13692101218 13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式