當(dāng)前,隨著科學(xué)技術(shù)及工農(nóng)業(yè)生產(chǎn)水平的不斷提高,,對相應(yīng)的儀器儀表也提出越來越高的要求,,因此,儀器儀表需擴(kuò)展大量的外圍功能部件來滿足儀器儀表復(fù)雜性,、高性能及智能化的要求,,這種方法雖然滿足了儀器的復(fù)雜性要求,但隨之而來的問題是由于系統(tǒng)擴(kuò)展的過于復(fù)雜而造成系統(tǒng)可靠性降低,,故障率增加,,查找故障困難,從而失去了智能化儀器儀表的優(yōu)勢,,如果能夠?qū)⒐δ軓?fù)雜的眾多外圍功能部件全部或大部分集成到系統(tǒng)所使用的單片機(jī)內(nèi)部,,則可大大提高儀器儀表系統(tǒng)的可靠性,同時又使系統(tǒng)的成本得以降低,,還可利用單片機(jī)片內(nèi)資源在不增加硬件成本的情況下增強(qiáng)儀器的性能,,因而該方案是提高儀器儀表可靠性及性能的行之有效的方法,而美國Cygnal公司的C8051F020單片機(jī)便是1款可滿足復(fù)雜高性能儀器儀表要求的單片機(jī),。
C8051F020單片機(jī)是集成在1塊芯片上的混合信號系統(tǒng)級單片機(jī),,具有與MCS51內(nèi)核及指令完全兼容的微控制器。除了具有標(biāo)準(zhǔn)8051機(jī)的數(shù)字外設(shè)部件外,片內(nèi)還集成了數(shù)據(jù)采集與控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件,,主要包括模擬多路選擇器,、可編程增益放大器、ADC,、DAC,、電壓比較器、電壓基準(zhǔn),、溫度傳感器,、SMBus/I2C、UART,、SPI,、可編程計數(shù)器/定時器陣列、定時器,、I/O端口,、電源監(jiān)視器、看門狗定時器和時鐘振蕩器等,,且該單片機(jī)內(nèi)部具有JTAG和調(diào)試電路,,通過JATG接口可以使用安裝在最終應(yīng)用系統(tǒng)產(chǎn)品上的單片機(jī)進(jìn)行非侵入、全速及在系統(tǒng)調(diào)試,。
2 功能與特點(diǎn)
(1)25MIPS高速流水線式與8051機(jī)完全兼容的CIP-51內(nèi)核,。
(2)真正12位100KBps、8通道帶可編程增益放大器的ADC,。
(3)真正8位500KBps,,帶可編程增益放大器的ADC。
(4)5個16位通用定時器,。
(5)具有5個捕捉/比較模塊的可編程計數(shù)/定時器陣列,。
(6)內(nèi)部電壓基準(zhǔn)。
(7)內(nèi)置溫度傳感器(±3℃),。
(8)片內(nèi)看門狗定時器,,時鐘源及VDD監(jiān)視器。
(9)64個通用數(shù)字I/O端口,。
(10)具有I2C/SMBUSSPI及兩路UART,、串行接口。
(11)64KB系統(tǒng)可編程FLASH存儲器,。
(12)4352(4096+256)Byte片內(nèi)RAM,。
(13)64KB地址的外部存儲器接口。
(14)內(nèi)部FLASH存儲器可實(shí)現(xiàn)在系統(tǒng)編程,,即可作程序存儲器也可作非易失性數(shù)據(jù)存儲器,。
(15)工作電壓為2.7V~3.6V,,典型值為3V,I/O,、RST,、JTAG引腳均允許5V輸入電壓。
(16)全系列工業(yè)級電路(-45℃-+85℃),。
(17)片內(nèi)JTAG仿真電路,,提供全速的電路內(nèi)仿真,不占用片內(nèi)用戶資源,,支持?jǐn)帱c(diǎn),、單步、觀察點(diǎn),、運(yùn)行和停止等調(diào)試命令、支持存儲器和寄存器校驗(yàn)和修改,。
3 內(nèi)部功能部件
3.1 CPU
C8051F020CPU的主要特點(diǎn)如下:
(1)與標(biāo)準(zhǔn)8051機(jī)完全兼容,,支持標(biāo)準(zhǔn)的ASM51、KeilC高級語言;
(2)具有高速指令處理能力,,機(jī)器周期由MCS51標(biāo)準(zhǔn)的12個系統(tǒng)時鐘周期降為1個系統(tǒng)時鐘周期,,且70%的指令時間為1-2個機(jī)器周期,指令處理能力大大提高;
(3)增加了中斷源,,由MCS-51標(biāo)準(zhǔn)7個中斷源增加至22個中斷源;
(4)增加了復(fù)位源,,標(biāo)準(zhǔn)的MCS51只有外部引腳復(fù)位,而C8051F020增加了7種復(fù)位源,,使系統(tǒng)可靠性大大提高;
(5)增加了內(nèi)部能獨(dú)立工作的時鐘源,。
3.2 存儲器
3.2.1 數(shù)據(jù)存儲器
C8051F020具有標(biāo)準(zhǔn)8051機(jī)的程序和數(shù)據(jù)地址配置,包括256字節(jié)的RAM,,其中高128字節(jié)為2個地址空間,,用間接尋址訪問的高128字節(jié)和用直接尋址訪問的SFR地址空間,低128字節(jié)用戶可用直接或間接尋址方式訪問,,此外,,C8051F020還具有位于外部數(shù)據(jù)存儲器地址空間的4KB的RAM和外部數(shù)據(jù)存儲器接口(EMIF),這個4KB的RAM可以只映射到片內(nèi)也可以映射到64KB外部數(shù)據(jù)存儲器地址空間,,還可同時映射到片內(nèi)和片外(4KB地址以內(nèi)在片內(nèi)存儲器空間訪問,,4KB以上經(jīng)過EMIF訪問)。外部數(shù)據(jù)存儲器接口用于訪問最多64KB的外部擴(kuò)展RAM,。
3.2.2 程序存儲器
C8051F020的程序存儲器包含64KB的FLASH,,該存儲器以512B為1個扇區(qū),可以在系統(tǒng)編程,,且無需在片外提供編程電壓,,該程序存儲器未用到的扇區(qū)均可由用戶按扇區(qū)作為非易失性數(shù)據(jù)存儲器使用,。
3.3 I/O與數(shù)字交叉開關(guān)
C8051F020單片機(jī)除具有標(biāo)準(zhǔn)的8051機(jī)端口P0~P3外,還具有附加的4個8位I/O口,。這樣,,I/O口總數(shù)可達(dá)64個,每個端口I/O引腳都可設(shè)置為推挽或開漏輸出,。最為獨(dú)特的功能是引入了數(shù)字交叉開關(guān),,它可將內(nèi)部數(shù)字系統(tǒng)資源分配給P0、P1,、P2和P3端口的I/O引腳,,并可將片內(nèi)計數(shù)器/定時器、串行總線,、中斷源,、A/D轉(zhuǎn)換輸入、比較器輸出以及微控制器的其它數(shù)字信號配置為在上述I/O引腳輸出,,這就允許用戶根據(jù)自己的特定應(yīng)用選擇通用I/O和所需數(shù)字資源的組合,。
3.4 可編程計數(shù)陣列
除了內(nèi)部提供5個16位的通用定時/計數(shù)器外,C8051F020還提供1個片內(nèi)編程的計數(shù)器/定時器陣列(PCA),,PCA包括1個專用的16位計數(shù)器/定時器,,5個可編程的捕捉比較模塊,時間基準(zhǔn)可以是下面的6個時鐘源之一:系統(tǒng)時鐘/12;系統(tǒng)時鐘/4;定時器0溢出;外部時鐘輸入;系統(tǒng)時鐘和外部振蕩頻率/8,。每個捕捉模塊都有6種工作方式:邊沿觸發(fā)捕捉,、軟件定時器、高速輸出,、8位脈沖寬度調(diào)制器,,頻率輸出、16位脈沖寬度調(diào)制器,。
3.5 多類型串行總線端口
C8051F020內(nèi)部具有2個全雙工UART,、SMBUS/I2C總線和SPI總線,每種串行總線都完全用硬件實(shí)現(xiàn),,都能向CIP51產(chǎn)生中斷,,這些串行總線不共享定時器、中斷或I/O端口,,所以允許用戶全部同時使用,。
3.6 A/D轉(zhuǎn)換器
C8051F020內(nèi)部有2個ADC子系統(tǒng)。
3.6.1 12位A/D轉(zhuǎn)換器ADC0
該轉(zhuǎn)換器由逐次逼近型ADC,、多通道模擬輸入選擇器和可編程增益放大器組成,,ADC工作在100KBPS的最大采樣速率時可提供真正的12位精度,ADC0的8個外部輸入通道都可被配置為兩個單端輸入或1個差分輸入,,ADC0的第9個輸入通道為內(nèi)部溫度傳感器,,同時內(nèi)部提供1個2.34V基準(zhǔn)電壓,,可編程增益放大器的增益可用軟件設(shè)置,從0.5~16以2的整數(shù)次冪遞增,,允許用軟件事件,、硬件信號觸發(fā)轉(zhuǎn)換或進(jìn)行連續(xù)轉(zhuǎn)換。
3.6.2 8位A/D轉(zhuǎn)換器ADC1
除了12位的ADC子系統(tǒng)ADC0外,,C8051F020還有1個8位ADC子系統(tǒng),,即ADC1,它有1個8通道輸入多路選擇器和可編程增益放大器,,該ADC工作在500KBps的最大采樣率時可提供真正的8位精度,,ADC的基準(zhǔn)電壓可在電源電壓引腳(AV+)和外部VREF引腳之間選擇,ADC1的可編程增益放大器的增益可被編程為0.5,、1,、2或4,ADC1也有靈活的轉(zhuǎn)換控制機(jī)制,,允許用軟件命令,,定時器溢出或外部信號輸入啟動ADC1轉(zhuǎn)換,用軟件可以使ADC1與ADC0同步轉(zhuǎn)換,。
3.7 D/A轉(zhuǎn)換器
C8051F020內(nèi)部有2個12位電壓DAC,每個DAC的輸出擺幅均為0V~VREF-1LSB,,CPU可通過SFRS控制數(shù)模轉(zhuǎn)換和比較器,,CPU可將任何1個DAC置于低功耗關(guān)斷方式,DAC為電壓輸出模式,,與ADC共用參考電壓,,允許用軟件命令和定時器2、定時器3及定時器4的溢出信號更新DAC的輸出,。
3.8 JTAG
C8051F020片內(nèi)具有JTAG接口和邏輯,,為生產(chǎn)和在系統(tǒng)測試FLASH存儲器的讀和寫操作,以及非侵入式在電路調(diào)試提供邊界掃描功能,,片內(nèi)接口完全符合IEEE1149.1規(guī)范,。
4 C8051F020單片機(jī)在儀器儀表中的應(yīng)用
C8051F020是1種集成了眾多功能部件、功能強(qiáng)大的單片機(jī),,適合于要求硬件功能強(qiáng)大,,運(yùn)算速度快,工作環(huán)境惡劣,,可靠性高,,擴(kuò)展功能強(qiáng)及低功耗的應(yīng)用系統(tǒng)。下面以1個實(shí)際的儀器儀表系統(tǒng)即電子配料秤為例給出C8051F020在儀器儀表中的具體應(yīng)用方法,。電子配料秤是1種廣泛應(yīng)用于食品加工,、飼料,、添加劑、農(nóng)藥,、化工,、冶金等行業(yè)中的配料稱重儀器。對電子配料秤的主要要求是具有高速,、高精度,、高可靠性及高穩(wěn)定性,而且在整個生產(chǎn)過程中需要動態(tài)連續(xù)或間歇性動態(tài)連續(xù)運(yùn)行,,稱重配料系統(tǒng)均以單片機(jī)為核心,,其硬件電路框圖如圖1所示。
圖1 電子配料秤的硬件電路框圖
圖1所示的電子配料秤雖然基本能滿足生產(chǎn)的需要,,但是由于系統(tǒng)擴(kuò)展的外圍功能器件較多,,造成系統(tǒng)的電路復(fù)雜,故障率高,,調(diào)試?yán)щy,,編程復(fù)雜。經(jīng)反復(fù)分析論證,,我們以C8051F020為核心重新設(shè)計了電子配料秤,,如圖2所示。
圖2 以C8051F020為核心的電子配料硬件框圖
使用C8051F020可使系統(tǒng)擴(kuò)展的外圍電路及接口電路數(shù)量大大減少,,提高了系統(tǒng)的可靠性及穩(wěn)定性,,同時為系統(tǒng)的功能擴(kuò)展及軟硬件升級提供了方便。系統(tǒng)中利用了C8051F020的以下資源以簡化原電路設(shè)計,。
(1)可編程增益放大器PGA
電子配料秤將被測物體的重量通過拉或壓等形式將重量傳遞給稱重傳感器,,稱重傳感器通常采用電阻應(yīng)變橋式,其輸出電壓擺幅均為0V~數(shù)百mV,,故需將此信號放大后才能提供給A/D轉(zhuǎn)換器,,可編程增益放大器的增益可根據(jù)稱重傳感器的滿量程值和A/D轉(zhuǎn)換器的參考電壓值設(shè)置。
(2)A/D轉(zhuǎn)換器
C8051F020單片機(jī)具有12Bit分辨率的ADC和10Bit分辨率的ADC,,這里使用12Bit分辨率的ADC,,12Bit分辨率ADC的采樣速率高達(dá)100KBps,利用C8051F020片內(nèi)的ADC,,一方面簡化了原外圍擴(kuò)展的ADC,,另一方面,其12Bit的精度和100KBps的采樣速率使得本系統(tǒng)的測量精度和測量實(shí)時性大為提高,,滿足了本系統(tǒng)的動態(tài)精度要求和實(shí)時性要求,,從而使本系統(tǒng)的前向通道更加穩(wěn)定。
(3)程序和數(shù)據(jù)存儲器
C8051F020單片機(jī)片內(nèi)具有64KByte的大容量FLASH程序存儲器和4305Byte的數(shù)據(jù)存儲器,。這樣可以滿足電子配料秤存儲復(fù)雜算法程序及大量數(shù)據(jù)的要求,,同時為系統(tǒng)的軟件升級預(yù)留了足夠的空間,,且簡化了原外擴(kuò)的程序及數(shù)據(jù)存儲器。由于C8051F020支持在系統(tǒng)編程使得本系統(tǒng)的軟件升級極為方便,。
(4)具有豐富的可編程數(shù)字I/O資源
本系統(tǒng)無須進(jìn)行任何的外部I/O擴(kuò)展即能滿足本系統(tǒng)對I/O的需求,,同時可使系統(tǒng)的人機(jī)通道和輸入/輸出開關(guān)量與CPU的聯(lián)系更加通暢,而片內(nèi)的12BitDAC更加完善了本系統(tǒng)的后向通道,。
(5)具有豐富的軟件資源
為本系統(tǒng)使用C51等高級語言編程創(chuàng)造了良好的環(huán)境,,高級語言編程環(huán)境可使本系統(tǒng)軟件實(shí)現(xiàn)真正的模塊化,也可使各種編程算法變得簡單容易,,同時也更加完善,,因而大大改善了本系統(tǒng)的軟件升級能力。
(6)在線調(diào)試
由于片內(nèi)具有JTAG和調(diào)試電路,,通過JTAG可在生產(chǎn)現(xiàn)場對電子配料秤進(jìn)行現(xiàn)場調(diào)試,,因而便于解決生產(chǎn)中遇到的各種實(shí)際問題。
(7)串行通信
C8051F020提供了UART,、I2C,、SPI等多種串行總線,故允許以多種方式來進(jìn)行外部設(shè)備的擴(kuò)展,,同時更有利于構(gòu)成多級分布式測控系統(tǒng),。
利用C8051F020片內(nèi)提供的功能強(qiáng)大、種類繁多的模擬與數(shù)字功能部件,,可在基本不用進(jìn)行外圍電路擴(kuò)展的情況下構(gòu)成1個高速,、高精度、易于擴(kuò)展升級的連續(xù)動態(tài)配料稱重電子秤系統(tǒng),。
5 結(jié)束語
C8051F020是目前8位單片機(jī)中功能較強(qiáng)的1種,利用其強(qiáng)大的功能,,無論是進(jìn)行現(xiàn)有儀器儀表的升級換代還是復(fù)雜高性能的智能儀器儀表設(shè)計,,都是非常理想的,因而該電路是智能儀器儀表的核心“單片機(jī)系統(tǒng)”的理想選擇,。
作者:孟臣 李敏 八一農(nóng)墾大學(xué)信息技術(shù)學(xué)院 來源:電子元器件應(yīng)用