基于ADμC7024在醫(yī)療電子中的應(yīng)用
0 引言
隨著信息技術(shù)的迅猛發(fā)展和人民生活水平的提高,極大地推動了醫(yī)療電子設(shè)備的發(fā)展,當(dāng)今醫(yī)療電子設(shè)備的發(fā)展趨勢是高精度、實時性、低功耗和小尺寸,作為醫(yī)療電子設(shè)備中核心地位的MCU(微處理器)也隨著這一發(fā)展趨勢向前不斷衍變著。由早期的8位MCU發(fā)展到目前的32位RISC(精簡指令集計算機(jī))MCU。美國ADI公司根據(jù)市場的需要最新推出了一款基于ARM(高級精簡指令集計算機(jī))核的微處理器ADμC7024便是目前32位RISC MCU的杰出代表。ADμC7024卓越的處理能力、集成眾多片上外圍器件和芯片低功耗的特點,完全勝任目前醫(yī)療電子設(shè)備的需求及未來的發(fā)展目標(biāo)。
本文以ADμC7024在醫(yī)療電子中監(jiān)護(hù)產(chǎn)品脈搏血氧計的應(yīng)用為例,重點介紹其在醫(yī)療電子行業(yè)中的實際用途。
1 ARM內(nèi)核特點
英國ARM公司是嵌入式RISC處理器的IP(知識產(chǎn)權(quán))供應(yīng)商,它為ARM架構(gòu)處理器提供ARM處理器內(nèi)核(如ARM7TDMI、ARM9TDMI及ARM10TDMI等)。由各半導(dǎo)體公司在上述處理器內(nèi)核基礎(chǔ)上進(jìn)行再設(shè)計,嵌入各種外圍和處理部件,形成各種MCU。目前基于ARM內(nèi)核的芯片在嵌入式處理器市場上占據(jù)75%的份額。
ARM作為嵌入式系統(tǒng)的處理器,具有低電壓,低功耗和高集成度等特點,并具有開放性和可擴(kuò)充性。事實上,ARM內(nèi)核已成為嵌入式系統(tǒng)首選的處理器內(nèi)核。而對于醫(yī)療電子設(shè)備而言,并不需要圖像處理等方面更高的要求,因此,ARM7TDMI內(nèi)核以0.9MIPS(百萬條指令每秒)/MHz的高效處理能力足以滿足應(yīng)用需要。
ARM7TDMI內(nèi)核是ARM核系列中32位通用內(nèi)核中的一個產(chǎn)品,它采用三級流水線結(jié)構(gòu),指令的執(zhí)行分成取指、譯值和執(zhí)行3個階段。運(yùn)算器能夠?qū)崿F(xiàn)32位整數(shù)運(yùn)算。內(nèi)核不但能夠執(zhí)行32位高效ARM指令,同時還支持簡潔的16位Thumb指令集以提高代碼密度。
ARM7TDMI名稱的含義為:
a)ARM7:ARM系列具有32位運(yùn)算能力的內(nèi)核,它采用馮·諾依曼結(jié)構(gòu),數(shù)據(jù)長度可以是8位,16位和32位,而指令長度是32位。
b)T:內(nèi)含16位壓縮指令集Thumb,由于32位RISC型處理器的指令代碼利用率較低,ARM為了彌補(bǔ)不足,在新型ARM架構(gòu)(V4T版以上,成熟架構(gòu)由V3版發(fā)展到V6版)定義了16位的Thumb指令集,Thumb指令集比通常的8位和16位CISC/RISC處理器具有更好的代碼密度,而芯片面積只增加6%,可使程序存儲器更小。
c)D:支持片內(nèi)調(diào)試,該內(nèi)核包含用于調(diào)試的硬件結(jié)構(gòu),可使CPU進(jìn)入調(diào)試模塊,可以方便地進(jìn)行斷點觀察點設(shè)置、單步調(diào)試和多步調(diào)試
d)M:采用增強(qiáng)型乘法器。AARM7TDMI指令集包含2個32位×32位的乘法指令和2個乘法累加MAC指令,該結(jié)構(gòu)使得指令的執(zhí)行比其他類型的ARM7內(nèi)核減小了許多機(jī)器周期。
e)I:內(nèi)含嵌入式ICE宏單元,ARM架構(gòu)的處理器芯片都嵌入了Embedded ICE-RT邏輯塊,便于通過JTAG接口來仿真調(diào)試RAM架構(gòu)芯片。
2 芯片內(nèi)部結(jié)構(gòu)及特點
美國ADI公司利用其在模擬電路領(lǐng)域的優(yōu)勢,綜合基于8052-8位ADμC8xx的技術(shù)積累,將ARM7TDMI內(nèi)核和ADC(A/D轉(zhuǎn)換器),DAC(D/A轉(zhuǎn)換器)等外圍設(shè)備集成在一塊芯片上,就是最近推向市場的拳頭產(chǎn)品ADμC702x系列。其中ADμC7020、ADμC7021、ADμC7022、ADμC7026等芯片除了在片上Flash和SRAM容量大小、ADC和DAC通道數(shù)量、PWM(脈寬調(diào)制)相位數(shù)量有差別外,其他完全一致;而ADμC7026,ADμC7027具有外部擴(kuò)展內(nèi)存接口。
本文主要介紹其中具有代表性的一款--ADμC7024,工業(yè)級的ADμC7024工作于2.7V-3.6V電源電壓,64引腳CSP封裝的芯片面積僅為9mm×9mm,在1MHz時鐘頻率下芯片最高功耗為5mA,在最大時鐘頻率45MHz下芯片最高功耗為60mA。其原理框圖如圖1所示。
2.1 片上集成高性能的ADC和DAC
ADμC7024片上集成了10通道12位逐次逼近型ADC,能夠在電源電壓為2.7V-3.6V的范圍正常工作,在系統(tǒng)時鐘頻率為45MHz下的最高采樣率高達(dá)1MSPS(百萬次采樣每秒)。該ADC模塊提供一個高精度、低漂移的片上2.5V基準(zhǔn)電壓VREF,該電壓通過片上REFCON寄存器的軟件配置也能作為輸出,向外提供基準(zhǔn)參考源。ADC能夠工作于單端轉(zhuǎn)換模式或者差分轉(zhuǎn)換模式,在單端轉(zhuǎn)換模式下的輸入電壓范圍是0至VREF,在差分轉(zhuǎn)換模式下輸入電壓范圍是0至AVDD(AVDD通常情況下為3.3V)ADC單個或連續(xù)的轉(zhuǎn)換能夠被外部引腳CONVstar、片上PLA、定時器1或定時器2所觸發(fā)。
通過ADC控制寄存器ADCCON,通道選擇寄存器ADCCP和ADCCN軟件配置好ADC后,轉(zhuǎn)換結(jié)果將存儲在寄存器ADCDAT位27至位16中,通過ADC狀態(tài)寄存器ADCSTA的位0可以查看ADC轉(zhuǎn)換是否完成,當(dāng)ADC轉(zhuǎn)換結(jié)束時,位0被置位;當(dāng)讀取ADC-DAT時,該位自動被清空。當(dāng)ADC正在執(zhí)行轉(zhuǎn)換操作時,片上引腳ADCBusy保持高電平,一旦轉(zhuǎn)換結(jié)束,該引腳馬上變?yōu)榈碗娖健?
還可以通過ADCRST寄存器將ADC模塊中所有寄存器恢復(fù)至默認(rèn)值;通過調(diào)整ADCOF和ADCGN寄存器的值可以調(diào)整ADC轉(zhuǎn)換精度,不過,該寄存器出廠時已經(jīng)過校準(zhǔn)。
由于該ADC的是逐次逼近型結(jié)構(gòu),因此比較適合低功耗的產(chǎn)品應(yīng)用。
ADμC7024片上還集成有2通道12位DAC。每個DAC都具有軌至軌的輸出電壓范圍,驅(qū)動能力可達(dá)100pF或者5kΩ,每個DAC也能通過軟件配置來選擇輸出范圍0至VREF(內(nèi)部基準(zhǔn)電壓)、0至DACref(外部基準(zhǔn)電壓)和0至AVDD,而DACref的取值范圍是0V至AVDD。
DAC的使用十分簡單,通過DAC控制寄存器DAC0CON或者DAC1CON來選擇通道和配置DAC通道特性,然后通過向DAC0CON或DAC1CON的位27至位16寫入數(shù)值,就可以在DAC引腳上得到所需要的模擬電壓結(jié)果。
2.2 片上集成Flash寄存器和SRAM
ADμC7024片上集成了64KB的Flash存儲器,其中低62KB的Flash存儲器是用戶可以編程的,剩下的高2kB區(qū)域是用戶不可接觸的固件程序,里面包含了在線串行下載程序及出廠配置默認(rèn)方案。ADμC7024片上Flash存儲器能夠通過串行編程模式,JTAG編程模式或并行編程模式在系統(tǒng)中編程。
1)串行編程模式
當(dāng)片上BM引腳芯片被拉低時,ADμC7024重啟動將進(jìn)入串行下載模式,通過標(biāo)準(zhǔn)的UART端口或IIC端口在線下載程序。
2)并行編程模式
并行編程協(xié)議使得片上Flash存儲器能夠通過工業(yè)級第三方編程器進(jìn)行編程。
3)JTAG編程模式
ADμC7024片上Flash存儲器完全遵守IEEE 1149.1規(guī)范,因而可以通過標(biāo)準(zhǔn)的JTAG接口來下載程序和進(jìn)行調(diào)試代碼,使得系統(tǒng)的開發(fā)十分簡單易行。
而ADμC7024片上Flash存儲器通過FEEPRO、FEEHIDE寄存器的軟件設(shè)置可以防止程序通過JTAG接口或并行編程模式被讀出,有效地保障了開發(fā)人員的勞動成果。
2.3 晶振和PLL
ADμC7024片上集成了一個32.768KHz晶振、一個時鐘分頻器和一個PLL(鎖相環(huán))。內(nèi)部的PLL能夠?qū)⒕д耦l率放大1376倍,即為系統(tǒng)提供一個穩(wěn)定的45MHz。
為了降低系統(tǒng)功耗,可以通過軟件設(shè)置時鐘分頻器的控制寄存器PLLCON和POWCON將經(jīng)過PLL后輸出的45MHz降頻,最大可降低至352KHz,由于內(nèi)部晶振有±3%的誤差,因此,用戶可以選擇外接一個32.768kHz的晶振,通過軟件設(shè)置PLLCON值使用外部晶振,使系統(tǒng)的性能穩(wěn)定可靠。
2.4 復(fù)用I/O及標(biāo)準(zhǔn)的UART、SPI、IIC
ADμC7024提供30個通用型雙向I/O引腳。所有的I/O引腳具有5V電壓耐壓能力,一些I/O引腳中與其他外圍設(shè)備引腳復(fù)用。在默認(rèn)情況下,所有的GPIO都是I/O模式,如果在實際中需要將I/O口復(fù)用成其他情況的,只需要按照I/O控制配置寄存器GPxCON的手冊配置方案軟件編程即可(這里x表示端口0,端口1,…,端口4,如1端口5引腳則是P1.5)。在配置成I/O情況下,可以通過置位數(shù)據(jù)寄存器GPxDAT中某些位的值使引腳輸出"1";同時可以清除數(shù)據(jù)寄存器GPxDAT中的某些位的值使引腳輸出"0";還可以讀數(shù)據(jù)寄存器GPxDAT中某些位的值得到輸入引腳的值(x同前面介紹,具體設(shè)置請參考ADμC7024手冊)。
ADμC7024片上集成了2個標(biāo)準(zhǔn)的、全雙工模式的異步串口UART(通用異步收發(fā)器),它們與16450串口標(biāo)準(zhǔn)所兼容。片上UART的波特率產(chǎn)生器中包含一個小數(shù)分頻器,使得UART波特率的產(chǎn)生更加精確。同時,其中一個UART還支持網(wǎng)絡(luò)尋址模式下的串口發(fā)送接收模式。UART的使用首先通過I/O的配置成UART端口引腳。然后通過軟件配置UART配置寄存器及波特率設(shè)定寄存器就可以通過COMTX寄存器、COMRX寄存器分別發(fā)送和接收數(shù)據(jù)。
ADμC7024片上也集成了標(biāo)準(zhǔn)工業(yè)級同步串口SPI(串行外圍接口),SPI接口可以同步接收和發(fā)送8位數(shù)據(jù),最高速率可達(dá)5.6Mbit/s。該SPI能夠被配置成主(Master)或者從(Slave)兩種工作模式,關(guān)于SPI使能、選擇工作模式、串行時鐘相位及極性、先發(fā)送低有效位還是高有效位等多項設(shè)置,均是通過SPICON編程而得到,而主模式發(fā)送的串行時鐘頻率由SPIDIV來設(shè)定,從模式則不用設(shè)定串行時鐘頻率,因為串行時鐘是由主模式的SPI來決定的,通過讀取SPISTA中某些數(shù)據(jù)位的值,可以知道SPI是否發(fā)送結(jié)束或者接收結(jié)束。
ADμC7024還具有兩個經(jīng)Philips公司授權(quán)的IIC接口,IIC是Philips公司20世紀(jì)80年代開發(fā)的一個簡單的兩線總線,包括一條數(shù)據(jù)線和一條時鐘線,速率有100kHz和400kHz兩種方式,目前IIC已經(jīng)成為重要的全球業(yè)界標(biāo)準(zhǔn),被所有主要的集成電路廠商所認(rèn)同和使用。它采用主-從通信方式,采用總線仲裁特性,使得在某一時刻只有兩個器件進(jìn)行通信,具體數(shù)據(jù)指標(biāo)參考ADμC7024數(shù)據(jù)手冊。
2.5 中斷系統(tǒng)
中斷系統(tǒng)是一個MCU在應(yīng)用中的靈魂所在。ADμC7024片上中斷控制器控制著24個中斷源。這些中斷源包括片上ADC中斷、UART中斷、2個外部中斷請求XIRQ0和XIRQ1等,而ARM7TDMI內(nèi)核僅僅將這些中斷源分成兩大類來識別,一類是IRQ,另一類是FIQ。所有中斷源能夠單獨地被屏蔽。中斷系統(tǒng)的控制和配置管理由9個關(guān)于中斷方面的寄存器所控制,4個涉及到IRQ的寄存器、4個涉及到FIQ的寄存器,1個用來選擇已編程的中斷源寄存器SWICFG。雖然作為一個已編程的中斷源是不能夠被屏蔽掉的,但是它們可以被SWICFG來控制。
2.6 定時器
ADμC7024有4個通用定時器:定時器0、定時器1、定時器2和定時器3。這4個定時器在一般的操作模式下均能按照默認(rèn)值計數(shù)或者按照預(yù)設(shè)值寄存器TxLD(x表示0,1,2,和3中的某一個寄存器)中值來計算。在任意時刻可以通過讀取TxVAL寄存器中的值了解定時器中的當(dāng)前計數(shù)值。通過配置TxCON的值可以設(shè)置相應(yīng)的定時器按照一定的方式開始計數(shù)。
定時器0是一個通用型16位倒計數(shù)定時器,該定時器的刻度尺頻率來源是系統(tǒng)時鐘,計數(shù)默認(rèn)值可以是系統(tǒng)時鐘頻率、系統(tǒng)時鐘頻率的16分頻和256分頻。
定時器1是一個32位通用型累加定時器或者倒計時定時器。該定時器的刻度尺頻率來源可以是32kHz晶振、系統(tǒng)時鐘和外部GPIO三者之一。計數(shù)默認(rèn)值可以是刻度尺頻率、刻度尺頻率的16分頻、256分頻和32768分頻。定時器1可以被設(shè)置為標(biāo)準(zhǔn)的32位時間值,如Hours:Minutes:Seconds:Hundreths這樣的格式。定時器1通過預(yù)設(shè)響應(yīng)IRQ事件,可以比通常情況下定時器0響應(yīng)IRQ中斷請求要準(zhǔn)確得多。它還可以用來觸發(fā)ADC轉(zhuǎn)換過程。
定時器2的系統(tǒng)刻度尺頻率來源是內(nèi)部集成的32.768kHz晶振,當(dāng)系統(tǒng)時鐘停止工作時,該定時器還可以繼續(xù)運(yùn)行,這一特性可以用來將處于休眠狀態(tài)的系統(tǒng)內(nèi)核恢復(fù)至正常工作狀態(tài)。
定時器3由兩種工作模式,一種通常模式與前面3個定時器一樣,還有一種是看門狗模式。一旦程序跑飛時,可以利用該定時器看門狗模式來重啟動處理器,令其恢復(fù)正常工作。
2.7 其他外圍設(shè)備及特性
片上還集成有獨立的比較器、電源監(jiān)控模塊、三相PWM(在ADμC7020、ADμC7021、ADμC7022是單相PWM)以及PLA(可編程邏輯陣列)。其中PLA的輸入輸出引腳與GPIO復(fù)用。
3 引腳定義
ADμC7024引腳定義見表1。
4 應(yīng)用實例
該芯片卓越的數(shù)據(jù)處理能力、片上集成的高精度ADC及DAC等豐富的片上外圍設(shè)備以及時鐘頻率可調(diào)節(jié)的特點,使得在要求低功耗、高精度、實時性等嵌入式微信號處理系統(tǒng)中的應(yīng)用如魚得水。現(xiàn)以脈搏血氧計為例,介紹其中一個廣泛的應(yīng)用領(lǐng)域。其系統(tǒng)框圖如圖2所示。
ADμC7024作為系統(tǒng)的核心MCU,負(fù)責(zé)控制和協(xié)調(diào)其他電路模塊的正常工作,它將采集到的血氧信號經(jīng)過數(shù)據(jù)處理后,通過SPI總線傳送給LCD顯示屏得以顯示。
根據(jù)實際臨床結(jié)果顯示,ADμC7024已完全勝任設(shè)計血氧模塊的任務(wù),處理能力、采樣率、采樣精度、功耗、實時性要求等指標(biāo)完全達(dá)到系統(tǒng)的要求,
ARM體系架構(gòu)使得醫(yī)療電子的穩(wěn)定性得到極大保障。最后,采用第三方Keil公司μVision開發(fā)工具,用C語言作為開發(fā)語言,利用GNU的ARM-ELF-GCC等工具作為編譯器及鏈接器,易學(xué)易用,它的調(diào)試仿真工具也是Keil公司開發(fā)的Ulink仿真器,調(diào)試簡單,縮短上市時間,便于移植。
可以預(yù)料,在不久的將來,ADμC7024以其獨樹一幟的性能必將在醫(yī)療電子行業(yè)中發(fā)揮越來越大的作用。
評論