PIC16C78系列混合信號嵌入式芯片的原理和應(yīng)用
在對嵌入式系統(tǒng)的體積、耗電、集成度等指標(biāo)要求越來越高的今天,僅僅有帶AD變換電路的MCU已經(jīng)越來越難以處理外圍的其他模擬電路。據(jù)此,相繼有一些MCU制造商推出了混合了模擬電路的MCU,為設(shè)計者提供了新的選擇。微芯(Microchip)公司的PIC16C78X系列即為其中的一種8位MCU,該電路集成了通用運算放大器、8位DAC變換器、8位ADC變換器、可編程開關(guān)模式控制器(PSMC)、比較器和精密參考電壓于20腳的芯片內(nèi)。同時具有用戶可編程的低電壓檢測、內(nèi)部振蕩器、節(jié)電睡眠模式和在線編程的功能。
集成了上述模擬電路的混合式芯片具有廣泛的應(yīng)用,特別適合需要作閉環(huán)控制的場合。例如在電源開關(guān)控制系統(tǒng)的設(shè)計中,PSMC可以作開關(guān)的切換控制,DAC作電壓指示,ADC、運放和比較器則用作系統(tǒng)監(jiān)測和穩(wěn)定性和動態(tài)特性的控制。
本文對PIC16C78系列電路的內(nèi)部模擬電路資源和所用的指令等做一介紹,同時給出典型的應(yīng)用實例。
1PIC16C78系列芯片的內(nèi)部結(jié)構(gòu)
PIC16C78 系列芯片有781和782兩種。兩者均有128 b的用戶RAM,最高可在20 MHz振蕩頻率下工作,有16個I/O口,4 MHz內(nèi)部振蕩器,1個16位定時器和1個8位定時器/看門狗定時器。所不同的是16C781有1024×14位的OTP程序存儲器,而16C782有 2048×14位。圖1為781和782的內(nèi)部結(jié)構(gòu)和引腳定義,兩者均有PDIP,SOIC和SSOP等多種封裝形式,并有OTP和MTP編程芯片供選擇。
1.1MicroController — 微控制器
他是一個8位的控制器。除了有通常PIC系列單片機(jī)所有的功能外,他還具有RESET和監(jiān)視功能。RESET又包括主復(fù)位和掉電復(fù)位。其中主復(fù)位又包括內(nèi)部和外部(RA5)復(fù)位;掉電復(fù)位有4個電壓設(shè)置點。監(jiān)視功能包括看門狗定時器和EPROM代碼保護(hù)。
1.2Votage Refference — 參考電壓 (VR)
在25 ℃,5 V條件下,他可以精確到3.072 V±0.7%,內(nèi)部連接到ADC和DAC。也可在引腳RB0輸出(具有5 mV拉電流/灌電流能力)。
1.3ADC — 模數(shù)轉(zhuǎn)換器
ADC具有8位分辨率,8個外部輸入通道(AN7:0),2個內(nèi)部輸入通道(來自VR和數(shù)模輸出電壓VDAC),參考電壓可以來自片腳AVDD,V,VR或VDAC。轉(zhuǎn)換完成后自動觸發(fā)中斷服務(wù)。本模塊即使在SLEEP模式下也可實現(xiàn)轉(zhuǎn)換。
1.4OSCILLATOR — 振蕩器
可以使用標(biāo)準(zhǔn)的LP,XT,HS和RC振蕩器,其中內(nèi)部INTRC振蕩器可以選擇4 MHz或37 kHz兩種頻率中的一種。
1.5PAMP — 運算放大器
此模塊的漏電流輸入僅為50 nA,有3 MHz和30 kHz兩種增益帶寬乘積供選擇,偏置電壓校準(zhǔn)有兩種模式VOS<200 μV或選擇到DAC調(diào)節(jié)輸出電壓。他還可以選擇為比較器模式。
1.6COMPARATOR — 比較器
PIC16C78X中集成了2個模擬比較器C1和C2,具有四通道輸入選擇、低輸入偏置電壓和2個速度設(shè)置屬性。C1的參考源可選擇為VDAC和VREF1(RA3),C2可選為 VDAC和VREF2(RA2)。比較器具有單極性和雙極性兩種可編程輸出極性,輸出到寄存器??梢詫Ρ容^器單獨進(jìn)行中斷設(shè)置,其中C2輸出可同步到TIMER1時鐘。
1.7PSMC — 可編程開關(guān)模式控制器
PSMC具有PWM(脈沖寬度調(diào)制)和PSM(脈沖間隔調(diào)制)兩種脈沖模式(可編程的開關(guān)頻率32?5~250 kHz)供選擇。在PWM模式下,模擬反饋決定脈沖寬度。在PSM模式下,可以提供模擬反饋門控脈沖;脈沖頻率是可編程的;輸出可以選擇單輸出或互補(bǔ)雙輸出,也可選斜率補(bǔ)償輸出。
1.8DAC — 數(shù)模轉(zhuǎn)換器
DAC具有8位分辨率,其輸出可以通過編程在內(nèi)部連接到比較器和ADC。當(dāng)選擇外部輸出時VDAC在RB1輸出(1 mA輸出/吸收能力),他的參考源可以來自AVDD,VREF1或VR,轉(zhuǎn)換時間為10 μs,轉(zhuǎn)換誤差(INL/DNL)小于1/2LSB。
除了上述內(nèi)部資源,本系列芯片內(nèi)還包括標(biāo)準(zhǔn)的TIMER0,增強(qiáng)的TIMER1模塊,可編程低電壓檢測。標(biāo)準(zhǔn)的TIMER0可讀寫8位定時器/計數(shù)器,可選8位預(yù)分頻(和WDT共享),在RA4上的可選外部時鐘輸入,可以進(jìn)行定時器溢出中斷。增強(qiáng)的TIMER1模塊帶4位預(yù)分頻的16位定時器/計數(shù)器,可選擇同步和異步時鐘模式,外部時鐘輸入在RA6上的T1CK1,外部時鐘控制,在RB7上的T1G,當(dāng)CPU在INTRC模式下可選CPU LP振蕩器,可設(shè)定定時器溢出中斷??删幊痰碗妷簷z測具有11個電壓等級(2.5~4.5 V),可使用中斷或查詢方式得到電壓等級值。
2PIC16C78X的應(yīng)用
2.1指令、仿真和編程下載
和其他PIC的MCU一樣,該系列芯片采用精簡指令系統(tǒng)RISC,共使用35條單字指令。除了程序分支需要兩個周期外,其余的指令均為單周期,每條指令的執(zhí)行時間最快可達(dá)200 ns。
該系列單片機(jī)可以用MPLAB編程和仿真。MPLAB是廉價的PIC系列單片機(jī)開發(fā)工具。開發(fā)環(huán)境可以用MPLAB(r)IDE,仿真系統(tǒng)可以用 MPLAB(r)ICD2000,他的程序生成器可以用MPLAB(r)C18,在線調(diào)試器可以用MPLAB(r)ICD,可以用 PICSTART(r)PLUS燒寫器來燒寫這種系列的芯片。這種芯片還有一種更方便的編譯軟件PICDEM(r)MSC1圖形化用戶接口(GUI),可以對各周邊功能模塊進(jìn)行自動設(shè)定,無需編寫程序代碼即可驗證用戶電路,還可以生成匯編頭文件,有助于用戶代碼的開發(fā)。要提醒用戶注意的是一些推出較早的 PIC仿真器和編程器并不支持本系列芯片。本系列芯片具有在線下載和離線下載功能。
2.2在DC/DC中的應(yīng)用例
DC/DC的作用是將一個已有的直流電壓轉(zhuǎn)換成設(shè)備需要的其他直流電壓。16C782實現(xiàn)的DC/DC如圖2所示。?
PSMC采用了PWM脈沖模式。當(dāng)場效應(yīng)管被打開時,能量被儲存在電感L中。由電感的電氣特性可知,電流將線性上升直到場效應(yīng)管被關(guān)閉。由于電感中的電流不能立即改變,當(dāng)場效應(yīng)管的狀態(tài)切換時,L中的電流繼續(xù)流過二極管并在電容C儲能。
這樣就會使得Vout和Vin具有一定的關(guān)系,此電路最大可達(dá)到Vout=2Vin。DAC 模塊提供了比較器的參考電壓源,數(shù)字信號來自微控制器,在參考電壓確定的情況下,R1和R2組成的模擬反饋決定了比較器另一端的輸入電壓,該電壓又決定了 PSMC在PWM方式下的脈沖信號占空比;當(dāng)R1上的電壓和參考電壓相同時,比較器觸發(fā)可編程開關(guān)模式控制器,通過緩沖器控制場效應(yīng)管。微控制器中的定時器TIMER1可提供決定PWM周期的時鐘信號。整個電路形成一個閉環(huán)控制。從圖2可以看出,整個電路使用了很少的外圍器件,而傳統(tǒng)的DC/DC電路設(shè)計則比此電路復(fù)雜得多。
3結(jié)語
PIC16C78系列的芯片非常適合于閉環(huán)控制場合的電路設(shè)計和各種使用通用外圍模擬電路的微控制器系統(tǒng)設(shè)計,利用內(nèi)部的模擬電路資源可以大大簡化設(shè)計。
參考文獻(xiàn)
[1]PIC16C781/782 data sheet[M]. Microchip Technology Inc?, 2001
[2]宋家友?集成電子線路設(shè)計手冊[M].福建:福建科技出版社,2002