金偉正,楊光義
(武漢大學(xué)電子信息學(xué)院電子工程系湖北武漢430079)
本文介紹的數(shù)據(jù)采集與存貯系統(tǒng)非常適合單片機(jī)技術(shù)課程教學(xué)實(shí)驗(yàn)。它能使學(xué)生快速掌握單片機(jī)的最小系統(tǒng)的設(shè)計(jì),包括超大容量?jī)?nèi)存的擴(kuò)展方法、ADC的實(shí)現(xiàn)、DMA數(shù)據(jù)傳輸概念的的建立和ISP口調(diào)試方法的使用等。
ADμ C812是美國(guó)ADI公司新近推出的Micro-ConverterTM概念數(shù)據(jù)采集芯片[1,2]。其內(nèi)部集成12Bit自定標(biāo)多路ADC(8路模擬量輸入,1路片內(nèi)溫度監(jiān)測(cè)輸入),2路12位DAC。內(nèi)嵌可編程8Bit MCU8051[3]兼容核。
MCU支持DMA方式ADC功能,并為多處理器接口和I/O擴(kuò)展提供了32條可編程口線、I2C、SPI和標(biāo)準(zhǔn)UART串口,工作電壓為3V和5V。其封裝形式為52PQFP。
圖1給出了利用ADμ C812構(gòu)成的數(shù)據(jù)采集與存貯系統(tǒng)的原理圖[4]。該系統(tǒng)提供1Mbytes外存,用于存貯ADC值,可采樣 512k個(gè)數(shù)據(jù)。圖中的U2、U3為CY62148(512kSRAM)。U2空間范圍為000000H到07FFFFH。U3空間范圍為080000H到0FFFFFH。J1、U7構(gòu)成 RS232串口,既可作為用戶的 RS232串口,也可作為 ISP編程口和調(diào)試口。當(dāng)J3短接時(shí),RS232串口為ISP編程口和調(diào)試口;J3斷開時(shí)RS232串口為用戶串口。當(dāng)系統(tǒng)運(yùn)行ADμ C812片內(nèi)程序時(shí),EA應(yīng)接電源 VCC;運(yùn)行ADμ C812片外程序時(shí),EA應(yīng)接地GND。該系統(tǒng)可用于語音信號(hào)的錄放、數(shù)字濾波和數(shù)字存貯式示波器等。對(duì)于不同的應(yīng)用,我們必須對(duì)輸入的模擬信號(hào)進(jìn)行一定的處理,使信號(hào)在0-2.500V范圍內(nèi)。如果我們采用8kHz的速率對(duì)語音信號(hào)進(jìn)行采樣,該系統(tǒng)錄音可達(dá)64秒鐘。
圖1 數(shù)據(jù)采集與存貯系統(tǒng)的原理圖
ADμ C812模數(shù)轉(zhuǎn)換器具有如下幾種控制特性。
1)ADμ C812模數(shù)變換器,自帶采樣保持電路和8路模擬開關(guān),其轉(zhuǎn)換速度可通過軟件控制,最高速度可達(dá)每秒200,000次。內(nèi)嵌2.5V的基準(zhǔn)源,同時(shí)也可由外部提供基準(zhǔn)源。
2)ADC轉(zhuǎn)換時(shí)間由ADCCON1中的 CK1和CK0控制。CK1和CK0組合控制方式如表1所示。
表1 CK1和CK0組合控制方式
如果使用11.0592MHz的晶振,則最小分頻數(shù)為4。如果使用16MHz的晶振,則最小分頻數(shù)為8。ADμ C812所使用的最小外部晶振應(yīng)為400kHz。在模擬信號(hào)經(jīng)過采樣和保持后,ADC需要16個(gè)時(shí)鐘周期(ADC CLK)來完成AD轉(zhuǎn)換。
3)模擬量識(shí)別時(shí)間由ADCCON1中的AQ1和AQ0控制。AQ1和AQ0組合控制方式如表2所示。
表2 AQ1和 AQ0組合控制方式
4)AD轉(zhuǎn)換的控制方法有以下四種:軟件、外部觸發(fā)(P23)、Timer2和DMA。
(1)軟件控制——可在所選擇的通道上,進(jìn)行單次轉(zhuǎn)換和連續(xù)轉(zhuǎn)換。由于AD轉(zhuǎn)換時(shí)間較小(5-6ms),所以單次轉(zhuǎn)換模式通常用于軟件控制,如數(shù)字控制。而連續(xù)變換則適合于DMA模式。
(2)外部觸發(fā)控制——可用P2.3腳提供的外部觸發(fā)信號(hào)(低電平)來觸發(fā)AD轉(zhuǎn)換,既可為單次轉(zhuǎn)換也可為連續(xù)轉(zhuǎn)換。
(3)Timer2控制——這是一種非常有效和有用的控制模式。Timer2每中斷一次,AD轉(zhuǎn)換就被觸發(fā)。Timer2可設(shè)置成16bit自動(dòng)重裝載模式。若使用12MHz晶振,Timer2每1μ s鐘增加一個(gè)數(shù),則采樣數(shù)一直在10μ s至65ms之間。
(4)DMA控制[2]——ADC DMA 控制方式允許將大量AD變換結(jié)果直接存貯在外部存貯器中。
當(dāng)設(shè)置成DMA控制模式時(shí),可使用較高的轉(zhuǎn)變速率(每秒200,000次)。AD轉(zhuǎn)換不僅能實(shí)現(xiàn)單通道轉(zhuǎn)換,也可實(shí)現(xiàn)8個(gè)通道或8個(gè)以下任意幾個(gè)通道的轉(zhuǎn)換。AD轉(zhuǎn)換的結(jié)果直接自動(dòng)地存放在外部存貯器中,而所有這些工作并不干擾8051核。外部尋址可達(dá)16MBytes,這非常適合于數(shù)字存貯式示波器、數(shù)字錄音、數(shù)字濾波和數(shù)字信號(hào)處理等系統(tǒng)的應(yīng)用。
DMA的轉(zhuǎn)換依賴于3個(gè)8bit的指針DMAL,DMAH和DMAP。它們構(gòu)成24bit指針,這即可尋址外部16MByte SRAM。DMA的操作仍然要使用2個(gè) 8bit口0和2來尋址24bit地址。P0口產(chǎn)生低8位地址[4]。通過對(duì)外部鎖存器的鎖存,P2口產(chǎn)生A16-A23地址,同時(shí)P2口也產(chǎn)生A8-A15地址。
在DMA操作期間,當(dāng)DMAH溢出時(shí),高地址指針DMAP將自動(dòng)增加。在讀取外部數(shù)據(jù)時(shí),在用戶程序控制下,整個(gè)外部16MByte數(shù)據(jù)空間既能實(shí)現(xiàn)存貯也可直接讀取,而不需考慮對(duì)其外部存貯器進(jìn)行頁(yè)操作。
必須指出的是,在 ADC DMA模式下,由于ADμ C812內(nèi)核占用了 P0和 P2口,這時(shí)如果ADμ C812內(nèi)核對(duì)P0和P2口進(jìn)行操作,其數(shù)據(jù)在 P0和P2口是不可見的。
單片機(jī)課程的重點(diǎn)在于,如何規(guī)劃單片機(jī)應(yīng)用系統(tǒng)軟、硬件之間的關(guān)系,如何合理地選擇外部擴(kuò)展器件,合理地分配單片機(jī)資源等。本系統(tǒng)應(yīng)用于單片機(jī)課程教學(xué)對(duì)學(xué)生的實(shí)踐能力的提高主要表現(xiàn)在下列幾點(diǎn)。
(1)能使學(xué)生易于理解單片機(jī)應(yīng)用系統(tǒng)的構(gòu)成:通過擴(kuò)展相關(guān)的外圍電路,構(gòu)成用于測(cè)量外界物理信號(hào)并控制相應(yīng)器件工作的硬件系統(tǒng),以及熟悉能對(duì)硬件系統(tǒng)進(jìn)行合理操作與控制的應(yīng)用程序。兩者的結(jié)合使得應(yīng)用系統(tǒng)能完成某些特定的功能。
(2)能使學(xué)生了解單片機(jī)應(yīng)用系統(tǒng)范圍:主要是數(shù)據(jù)采集系統(tǒng),也包括工業(yè)過程控制系統(tǒng)、智能儀器儀表以及其它采用單片機(jī)控制的電子設(shè)備。
(3)能使學(xué)生進(jìn)一步深入了解單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)特點(diǎn):一個(gè)重要特點(diǎn)是硬件設(shè)計(jì)與程序設(shè)計(jì)基本上是同步進(jìn)行的,軟件與硬件之間有著密切的聯(lián)系。特別是通過DMA的軟件設(shè)計(jì)。
(4)能使學(xué)生掌握基本單片機(jī)應(yīng)用系統(tǒng)的硬件構(gòu)成:信號(hào)輸人通道、基本單片機(jī)系統(tǒng)、人機(jī)對(duì)話通道以及信號(hào)輸出控制通道。根據(jù)單片機(jī)測(cè)控系統(tǒng)使用場(chǎng)合的不同,對(duì)這幾部分的要求可能有繁有簡(jiǎn),由此,可以將包含以上各部分的單片機(jī)測(cè)控系統(tǒng)視為一個(gè)典型的單片機(jī)應(yīng)用系統(tǒng)。
[1] ADI公司,MicroConverterTM Products ADμ C812 U ser's Manual,2001
[2] ADI公司,MicroConverterTM QuickStart Applications Board User Guide 1999
[3] 菲利普公司,80C51-Based 8-Bit Microcontrollers,2000
[4] 何立民,單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì),北京:北京航空航天大學(xué)出版社,1990