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