在全球8位單片機領域,英特爾(Intel)生產的MCS-51系列是毋庸質疑的領導者。借助英特爾廣泛的授權行為,基于8051內核的8位單片機兼容產品早已根深葉茂。Dallas Semiconductor通過改良、優化傳統的8051內核,開發出了高速、四時鐘周期和單時鐘周期8051內核,并在此基礎上推出了一系列高速8位單片機。Maxim利用高速、四時鐘周期8051內核開發出的第一款混合信號單片機MAX7651,內部集成了12位ADC、8位DAC以及16KB的 Flash存儲器,非常適合便攜式設備應用。 1 MAX7651簡介 MAX7651內部集成了一個完全的12位、8通道ADC、2通道DAC、3個定時/計數器、16KB Flash存儲器以及一個兼容于工業標準8051的四時鐘周期高速內核。其它特性包括:256字節RAM、4個8位I/O口、2個異步串行口、1個中斷控制器以及獨立的看門狗定時器,如圖1所示。 MAX7651內部12位 ADC具有可編程增益調節和獨立的采樣保持器。轉換速率可達53ksps,8個輸入通道可以配置為8個獨立的單端信號輸入或者4個差分信號輸入。單片機通過特殊功能寄存器(SFR)ADCON控制模數轉換的工作模式,轉換結果存放在ADDAT0和ADDAT1兩個寄存器中。 2 MAX7651軟件開發工具 MAX7651的程序指令集與8051系列完全兼容,具有廣泛的第三方開發軟件工具支持。比較著名的軟件工具包括:Franklin公司的 A51/C51、Keil公司的A51/C51以及Metalink公司的A51等匯編工具軟件。筆者一直使用Keil公司的A51/C51,最新版本號是μP51V7.01。該版本C51已經具備MAX7651的頭文件reg51ex.h,位于C51\INC\Maxim目錄。如果需要使用A51宏匯編程序,用戶要自己編制inc頭文件。筆者已經完成reg7651.inc頭文件,只需要將它拷貝到C51\ASM目錄下即可隨時調用。 reg7651.inc頭文件見本刊網絡補充版(http://www.dpj.com.cn)。 Keil C51同時提供軟件模擬調試器功能。對于開發者來說,可以對應用程序進行小范圍的分區模擬測試,十分方便小型應用程序的開發,不需要專用的硬件仿真器。 3 MAX7651硬件仿真調試工具 目前,并沒有專用的硬件仿真器完全支持MAX7651源程序仿真,主要是不能支持內部模數轉換功能。在我國市場上,筆者認為Micetek公司的EasyPack/E II 8052F和Insight公司的ME-52/ME-52 Plus是性價比較高的。特別是EasyPack/E II 8052F能夠支持實時的源程序調試,用戶界面非常友好,用它可以仿真MAX7651的絕大部分功能。注意:一般的仿真器只提供標準的40-DIP雙列直插插座,用戶必須自己制作64-TQFP(MAX7651)到40-DIP轉換的插座適配器。 4 MAX7651的內部Flash編程 目前市面上沒有硬件編程器直接支持MAX7651 Flash編程。可以采取一些簡單措施解決這個問題,因為8051系列單片機都采用Intel標準的定時時序來編程器件內部存儲器,MAX7651也不例外。MAX7651具有16KB的內部Flash,但是結構上與大多數單片機不同。它分為兩個8KB的存儲區,每個存儲區又分為128個64字節的頁面。 MAX7651支持兩種Flash編程模式。第一種是在應用中編程,假定應用程序在某一個8KB的存儲區內運行,并且保證程序只局限在這個 8KB的存儲區內運行,可以通過這種方式編程另一個8KB Flash存儲區。MAX7651具有四個特殊功能寄存器(EEAL、EEAH、EEDAT、EESTCMD),用于實現此項功能。這里,可以將程序存儲器作為數據存儲器使用,用戶不需要額外擴展數據存儲器空間。第二種編程模式是,采用外部編程器的并行接口進行編程。目前我國市場比較通用的編程器有:臺灣河洛公司的ALL-07和ALL-11P2、Xeltek公司的Superpro/680和Superpro/V等。其中ALL-07編程器目前支持的器件數目可達5000種以上,但是目前它并不直接支持MAX7651,可通過以下簡單方法解決這個問題: ① 經過分析Atmel的AT89LV55以及Intel的8XC51RB兩種單片機外部編程條件和時序可知,其與MAX7651幾乎完全相同。從 AT89LV55的外部編程條件(見表1)和硬件接線圖(見圖2)來看,唯一不同的是二者采用了不同的編程電壓。 ② 制作64-TQFP與40-DIP插座適配器,詳細原理圖請參考本刊網絡補充版(http://www.dpj.com.cn)。請注意P2.5和 P3.3的處理方式以及/VPP引腳可以直接與VCC相連接,也可以通過低壓差線性穩壓器與編程器連接。 ③ 打開ALL-07,連接MAX7651。在ALL-07程序界面中選擇AT89LV55或者87C51RB器件選項就可以直接編程MAX7651。注意:如果使用87C51RB,那么不能使用編程密碼陣列命令;如果使用AT89LV55,必須設置編程最高地址空間為3FC0H,而不是3FFFH。 結 語 MAX7651是業界高性能混合工藝單片機的典型器件,可以極大降低模擬應用的設計難度。它的小封裝、低功耗和高速特性非常適合便攜式和嵌入式系統設計。Maxim擁有新一代的高速、低功耗8位和16位單片機內核技術,正在設計和規劃更多的混合工藝單片機產品。 參考文獻 1. MAX7651數據手冊 2. Intel 8XC51RA/RB/RC數據手冊 3. Atmel AT89LV55數據手冊 4. 臺灣和洛公司編程器ALL-07/ALL-11p2使用指南 作 者:Maxim北京辦事處 范立青 來 源:單片機與嵌入式系統應用2004(1) |