一種新型單片機(jī)MSC1210及其應(yīng)用
摘要:主要介紹內(nèi)核兼容8051的MSC1210單片機(jī)結(jié)構(gòu)特點(diǎn),其高性能ADC、片內(nèi)存儲(chǔ)器以及Flash編程應(yīng)用等功能。
關(guān)鍵詞:MSC1210 ADC PGA Flash
實(shí)際應(yīng)用系統(tǒng)往往需要進(jìn)行高精度的測(cè)量,同時(shí)還必須進(jìn)行實(shí)時(shí)快速控制,提高其開(kāi)發(fā)效率。為此人們常采用高精度A/D芯片加帶ISP開(kāi)發(fā)功能的單片機(jī)系統(tǒng)來(lái)實(shí)現(xiàn)。德州儀器(TI)的MSC1210單片機(jī)解決了上述問(wèn)題。它集成了一個(gè)增強(qiáng)型8051內(nèi)核、高達(dá)33 MHz的時(shí)鐘周期、8路24位高精度∑-△A/D轉(zhuǎn)換器、Flash存儲(chǔ)器等,其系統(tǒng)功能和結(jié)構(gòu)框圖如圖1所示。
MSC1210具有以下主要特性:
◇ 3個(gè)16位的定時(shí)器,16位PWM波輸出;
◇ 多達(dá)21個(gè)中斷源;
◇ 32個(gè)數(shù)字輸入/輸出端口,帶有看門狗;
◇ 8路ADC提供24位分辨率可編程的無(wú)丟失碼解決方案;
◇ 可編程增益放大(PGA)在1~128之間可調(diào),極大提高了ADC精度;
◇ 供電電源2.7~5.25 V,在3 V時(shí)功耗低于4 mW,停止方式電流小于1μA;
◇ 內(nèi)核兼容8051,指令與8051完全兼容,可以使用原有8051開(kāi)發(fā)系統(tǒng);
◇ 時(shí)鐘頻率可達(dá)33 MHz,單周期指令執(zhí)行速度達(dá)8 MIPS,執(zhí)行速度比標(biāo)準(zhǔn)8051快3倍;
◇ 高達(dá)32 KB的Flash存儲(chǔ)器,SRAM達(dá)1.2 KB,外部可擴(kuò)展至64 KB存儲(chǔ)器;
◇ Flash在電壓低達(dá)2.7 V時(shí)仍可串行或并行編程,可10萬(wàn)次擦除/寫操作;
◇ 具有32位累加器;
◇ 有電源管理功能,能夠進(jìn)行低電壓檢測(cè),在片上電復(fù)位;
◇ 帶FIFO的SPI端口,雙UART;
◇ 64TQFP封裝,MSC1210系列的硬件和引腳完全兼容,必要時(shí)可以互換。
1 內(nèi)核兼容8051但速度更快功能更強(qiáng)
MSC1210系列的所有指令功能與標(biāo)準(zhǔn)8051相同,對(duì)位、標(biāo)志和寄存器的影響相同,但時(shí)序不同。MSC120單片機(jī)使用精簡(jiǎn)的8051內(nèi)核,在同樣的外部時(shí)鐘作用下,其執(zhí)行速度比標(biāo)準(zhǔn)8051快1.5~3倍(每條指令有4個(gè)時(shí)鐘周期與12個(gè)時(shí)鐘周期的區(qū)別)。在同樣的指令和時(shí)鐘下,速度提高到2.5倍以上。因此,一個(gè)時(shí)鐘為33 MHz的MSC1210執(zhí)行速度與一個(gè)時(shí)鐘為82.5 MHz的標(biāo)準(zhǔn)8051相同,其區(qū)別可以從圖2看出;而且MSC1210的定時(shí)器和計(jì)數(shù)器可以選擇每12個(gè)或4個(gè)時(shí)鐘周期計(jì)數(shù)一次。
MSC1210提供了雙數(shù)據(jù)指針(DPTR)加速數(shù)據(jù)塊的移動(dòng)速度,它能根據(jù)外部存儲(chǔ)器的速度調(diào)節(jié)讀寫速度,在2~9個(gè)指令周期之間變化;它還提供給外部存儲(chǔ)器16位地址總線(P0和P2)。低位地址通過(guò)P0口復(fù)用得到,硬件可以控制P0和P2口是作為地址線還是作為通用的I/O。
為了更好地提高效率,外圍設(shè)備也在8051基礎(chǔ)上作了改進(jìn)。如SPI端口就增加了FIFO,使得傳輸數(shù)據(jù)有了緩沖區(qū)間。32位累加器的使用在處理ADC采樣或其它數(shù)據(jù)源來(lái)的多字節(jié)數(shù)據(jù)時(shí)將大大減輕CPU的負(fù)擔(dān),使得24位加法和移位可以在幾個(gè)指令周期內(nèi)完成,而無(wú)需通過(guò)軟件用數(shù)百個(gè)指令周期來(lái)完成。
MSC1210系列的硬件和引腳完全兼容,對(duì)用戶而言,唯一的區(qū)別在于內(nèi)存配置不同。MSC1210Y2上編寫的程序代碼可以直接在MSC1210Y3、MSC1210Y4、MSC1210Y5上執(zhí)行。用戶可以在軟件功能上增減并配以不同的CPU型號(hào),MSC1210已成為一個(gè)擁有幾個(gè)不同應(yīng)用平臺(tái)的標(biāo)準(zhǔn)設(shè)備。
MSC1210的開(kāi)發(fā)工具與8051的開(kāi)發(fā)系統(tǒng)完全兼容,用戶可以使用原有的8051開(kāi)發(fā)系統(tǒng),也可以使用DEMO板帶的開(kāi)發(fā)系統(tǒng)或者第三方支持者提供的開(kāi)發(fā)工具。
2 24位高分辨率ADC通道
(1)ADC的輸入多路復(fù)用器及輸入緩沖
輸入多路復(fù)用器允許不同輸入信號(hào)通過(guò)選擇輸入通道進(jìn)行組合,如AIN0被選為ADC輸入正端,其它任何通道可以選為ADC輸入負(fù)端。用這種方式可以組成8個(gè)完整的ADC輸入通道,也可以在差分輸入通道間切換極性。片上的二極管可以提供溫度測(cè)量,當(dāng)輸入多路復(fù)用器的寄存器置為全“1”時(shí),二極管被接入ADC通道的輸入端開(kāi)始測(cè)量溫度。
MSC1210在沒(méi)有緩沖區(qū)時(shí)輸入電阻為5M/PGA,緩沖區(qū)由ADC控制寄存器中的BUF位控制。當(dāng)沒(méi)有選擇輸入緩沖區(qū)時(shí),模擬輸入阻抗與時(shí)鐘頻率(ACLK)和增益(PGA)有關(guān),其關(guān)系式為
其模擬輸入通道的等效結(jié)構(gòu)如圖3所示。
?。?)可編程增益放大器PGA
?、?PGA:可編程增益放大PGA可以設(shè)為1、2、4、8、16、32、64、128,使用PGA確實(shí)能提高ADC的分辨率。當(dāng)PGA=1,量程范圍為5 V時(shí),ADC能分辨到1μV;當(dāng)PGA=128,量程范圍為40 mV時(shí),ADC能分辨到75 nV;而在PGA=1時(shí),在5 V量程范圍內(nèi)需要一個(gè)26位的ADC才能分辨到76 nV。
?、?PGA偏移DAC:ODAC寄存器是8位,它能將輸入到PGA的模擬信號(hào)偏移PGA滿量程的一半,其最高位為符號(hào)位,低7位提供偏移量。由于ODAC給PGA引入的是模擬量而不是數(shù)字量偏移,所以并不影響測(cè)量結(jié)果的精度。
?。?)電壓參考基準(zhǔn)
MSC1210的電壓參考可以是內(nèi)部的也可是外部的,上電復(fù)位以后的電壓參考是內(nèi)部的2.5 V,參考電壓的選擇通過(guò)ADCON0控制。片上內(nèi)部參考電壓有1.25 V和2.5 V兩種可選,其精度可達(dá)0.2 %,溫漂僅為5
評(píng)論