基于單芯片的電子秤系統(tǒng)方案設(shè)計(jì)
隨著技術(shù)的發(fā)展,生產(chǎn)和應(yīng)用要求更加簡(jiǎn)單、精度更高、成本更低、功耗更低的解決方案,電子秤電路不斷向著更高集成化的方向發(fā)展。CSU1221是芯海科技公司自主研發(fā)的集成高精度ADC的CMOS單芯片MCU,是國(guó)內(nèi)首創(chuàng)的一款應(yīng)用于商用電子秤的SoC芯片。
電子秤中模數(shù)轉(zhuǎn)換電路現(xiàn)在主要有兩種實(shí)現(xiàn)電路:由分立元件組成的積分電路和單個(gè)模數(shù)轉(zhuǎn)換(ADC)芯片。積分電路構(gòu)成的系統(tǒng)外圍電路復(fù)雜,對(duì)個(gè)別元器件要求高,存在功耗大、可靠性不高、溫度性能差的缺點(diǎn);而單個(gè)ADC芯片構(gòu)成的系統(tǒng)具有高精度、低功耗、高穩(wěn)定性的特點(diǎn),且外圍電路簡(jiǎn)單有利于生產(chǎn)及維護(hù)。因此,現(xiàn)在大部分電子秤廠家偏向于使用單個(gè)ADC的方案。
CSU1221芯片技術(shù)特性
CSU1221是一個(gè)8位CMOS單芯片MCU,內(nèi)置4K×16位一次性可編程(OTP)ROM,256B數(shù)據(jù)存儲(chǔ)器(RAM),有17個(gè)雙向I/O口,帶有2通道24位全差分輸入或4通道24位單端輸入的Σ-ΔADC,工作電壓為2.4V~3.6V,工作電流小于3mA。
如圖1所示,CSU1221內(nèi)部集成穩(wěn)壓源,可配置輸出四種不同電壓值,為傳感器供電,通過對(duì)內(nèi)部寄存器的操作來打開或關(guān)閉穩(wěn)壓源的輸出,此電壓同時(shí)作為CSU1221內(nèi)部ADC的參考電壓。CSU1221內(nèi)置1MHz時(shí)鐘振蕩器,內(nèi)置一個(gè)8位定時(shí)器,CPU周期最快可達(dá)到500KHz,同時(shí)內(nèi)置蜂鳴器驅(qū)動(dòng)。CSU1221有四個(gè)中斷源:1個(gè)ADC中斷、2個(gè)外部中斷、1個(gè)定時(shí)中斷。
圖1:CSU1221芯片功能結(jié)構(gòu)圖。
CSU1221內(nèi)置ADC的輸出速率可以配置為3.8~488Hz,ADC前端的低噪聲可編程增益放大器(PGA)可以配置為1、64、128、256等四種不同倍率的增益,以滿足各種信號(hào)量場(chǎng)合。在PGA為128時(shí),ADC的有效精度達(dá)到17.5位。
使用CSU1221內(nèi)置ADC與MCU,因此MCU與ADC之間的通訊都在芯片內(nèi)部完成,避免外界環(huán)境對(duì)ADC的影響,可靠性比基于單個(gè)ADC芯片的應(yīng)用系統(tǒng)更高,且高集成度帶來明顯的高性價(jià)比優(yōu)勢(shì);CSU1221內(nèi)部集成穩(wěn)壓電源,方便于傳感器供電。使用CSU1221設(shè)計(jì)電子計(jì)價(jià)秤的功耗比當(dāng)前主流的單個(gè)ADC方案更低,提高電池的續(xù)航能力。
電子秤系統(tǒng)設(shè)計(jì)
圖2是基于CSU1221的電子計(jì)價(jià)秤原理框圖。從圖中可看出此系統(tǒng)主要包含電源電路、主控制芯片、模擬信號(hào)輸入、存儲(chǔ)電路、電壓測(cè)量電路、按鍵掃描,下面將對(duì)這些電路的設(shè)計(jì)進(jìn)行分析。
圖2:CSU1221應(yīng)用于電子計(jì)價(jià)秤的原理框圖。
電源系統(tǒng) 在CSU1221中,數(shù)字電路與模擬電路是分別供電的,為了簡(jiǎn)化電源電路,兩路電源仍用一片穩(wěn)壓電路提供,兩電源之間用濾波電感隔開,以減少數(shù)字電源中因數(shù)字電路產(chǎn)生的雜波干擾對(duì)模擬電路的影響。
模擬信號(hào)輸入 傳感器輸出的模擬差分信號(hào)經(jīng)過兩個(gè)LC濾除器濾除輸入模擬信號(hào)中的高頻干擾信號(hào)之后,再分別輸入到CSU1221的AIN0、AIN1引腳。傳感器激勵(lì)端的電壓由CSU1221內(nèi)部LDO輸出提供,帶負(fù)載能力可達(dá)到15mA,有四種輸出電壓可選擇,可以通過控制CSU1221內(nèi)部寄存器控制LDO開關(guān)及輸出電壓值(2.2V、2.5V、2.8V、3V),方便于傳感器供電控制。
存儲(chǔ)電路 由于CSU1221內(nèi)部沒有E2PROM ,所以必須外部擴(kuò)展串行接口的E2PROM,如用I2C總線結(jié)構(gòu)的24C02。如用PT3[3]、PT3[4]作為I2C通訊接口,PT3引腳有上拉電阻可選,所以通訊線不需要外接上拉電阻。
圖3:CSU1221應(yīng)用于電子計(jì)價(jià)秤的電路原理圖
電壓測(cè)量 在各種電池供電的裝置中,都希望監(jiān)視電池電壓,以便能夠及時(shí)對(duì)電池進(jìn)行充電或更換。CSU1221有五個(gè)模擬輸入端,通過多路器與ADC連接,利用空余的模擬輸入端分時(shí)測(cè)量電池電壓值唾手可得。具體接法是:用電阻網(wǎng)絡(luò)對(duì)電池電壓分壓,AIN3、AIN4作為電壓輸入端接到采取電阻兩端,通過測(cè)量此電阻兩端電壓,再根據(jù)采樣電阻阻值對(duì)于電阻網(wǎng)絡(luò)的比率值計(jì)算出電池的電壓值。測(cè)量電壓的時(shí)機(jī)為兩個(gè)時(shí)間:一是剛開機(jī)進(jìn)行一次電壓測(cè)量;二是開機(jī)后的電壓測(cè)量均是在重量穩(wěn)定一段時(shí)間后再進(jìn)行一次。每次測(cè)量都必須切換ADC通道,PGA = 1,AD速率使用125Hz的檔位,這樣在測(cè)量電壓時(shí),AD值較穩(wěn)定且耗時(shí)很短,測(cè)試結(jié)束之后,必須還原之前的ADC設(shè)置,還原后必須丟掉3個(gè)AD值。
圖4:按鍵陣列圖。
按鍵掃描 假設(shè)按鍵掃描陣列為4×6,PT1[5]、PT1[6]、PT1[7]、PT2[0]、PT2[1] 、PT2[2]為回掃線,PT2[3]、PT26]、PT3[5]、PT3[6]為驅(qū)動(dòng)線。按鍵陣排列如圖4,在本例中,為了節(jié)省元件,未在驅(qū)動(dòng)線中串聯(lián)隔離元件,如果同時(shí)按下與同一回掃線(輸入口)連接的兩個(gè)按鍵,就會(huì)通過兩條相關(guān)的驅(qū)動(dòng)線造成兩個(gè)輸出端短路。此時(shí)可以使用如下方式法避免:初始化時(shí),接通所有上拉電阻,連接按鍵的各I/O口均設(shè)置為輸入口,當(dāng)需要進(jìn)行按鍵掃描時(shí),只需將其需要驅(qū)動(dòng)的那一個(gè)I/O口設(shè)置為輸出口并輸出低電平,回檢讀口后立刻將該I/O恢復(fù)為輸入口,如此反復(fù),即同一時(shí)刻只有一條線為輸出口,就不會(huì)造成故障。
設(shè)計(jì)要點(diǎn)及注意事項(xiàng)
CSU1221內(nèi)部集成1MHz時(shí)鐘,CPU的時(shí)鐘周期可選擇為:62.5K、125K、250K、500KHZ,選擇500KHz以縮短每次大循環(huán)的運(yùn)行時(shí)間。
CSU1221內(nèi)部集成的ADC,速率選擇范圍3.8~488Hz。在測(cè)量電壓時(shí)使用125Hz;在測(cè)量傳感器時(shí)使用15HZ,每個(gè)AD值的周期約為67ms,保證在AD值更新之前,程序的大循環(huán)已經(jīng)結(jié)束(根據(jù)程序大循環(huán)運(yùn)行的時(shí)間不同,可以適當(dāng)調(diào)整),為了得到更穩(wěn)定的重量,首先對(duì)AD值進(jìn)行2次算術(shù)平均,然后再進(jìn)行8次的滑動(dòng)平均。在測(cè)量電壓結(jié)束之后,必須丟掉3個(gè)AD值的時(shí)間為200ms,在重量穩(wěn)定的情況下察覺不到跳動(dòng)或反應(yīng)遲鈍的現(xiàn)象。
為了提高電子秤的線性,可增加ADC內(nèi)部運(yùn)放的偏置電流,增加100%時(shí)為最佳。使用CSU1221直接驅(qū)動(dòng)無源蜂鳴器時(shí),必須串一個(gè)100歐的電阻,避免快速按鍵時(shí)影響AD值的跳動(dòng)。在每個(gè)大循環(huán)結(jié)束之后,可以使用HALT指令使CPU處于暫停狀態(tài),直到新的中斷(如AD中斷)產(chǎn)生才恢復(fù)正常,這樣可以降低功耗CSU1221運(yùn)行功耗。
由于模擬信號(hào)極易受到外界的電磁干擾,所以實(shí)際設(shè)計(jì)中應(yīng)注意以下細(xì)節(jié):1)在PCB布板時(shí)接口傳感器輸入端至AIN0、AIN1的距離盡可能短,濾波電容的接地端要直接接到鋪地銅箔上;2)模擬信號(hào)的兩引線與鐵氧體均平行布線,濾波電容緊密平行排列。
由于I2C的時(shí)鐘頻率比較高,為了避免干擾內(nèi)置的ADC,需遠(yuǎn)離模擬端的I/O引腳。CSU1221的模擬地AGND應(yīng)與數(shù)字DGND分開來,同時(shí)回到穩(wěn)壓芯片(HT7130)的地端,而HT7130的地端與電池的地端相連接。并且其它的元器件,如E2PROM (HT24C02)、液晶驅(qū)動(dòng)芯片(HT1621)的地端并不一定要與DGND相連,如果這些元器件的地端與電池的地端相近,可直接將這些地連接到電池的地端。地線連接應(yīng)遵循下面的原則:非CSU1221模擬地的地線,不能與CSU1221模擬地部分相連,以避免其它元器件產(chǎn)生的干擾信號(hào)流經(jīng)CSU1221模擬地,影響穩(wěn)定性。
上電開機(jī)后對(duì)CSU1221進(jìn)行初始化時(shí),建議采取如下順序以提高軟件可靠性:a.上電后,延遲30ms;b.初始化CSU1221數(shù)字部分;c.延遲30ms后,初始化CSU1221模擬部分;d.延遲60ms后,初始化所有RAM。
本文小結(jié)
CSU1221是一款內(nèi)置ADC的高精度、低功耗、高可靠性的單芯片MCU,外圍電路非常簡(jiǎn)單,應(yīng)用方便,非常適合用于高精度、小信號(hào)測(cè)量產(chǎn)品,如高精度電子秤、氣壓計(jì)、血壓計(jì),等等。該產(chǎn)品目前已經(jīng)獲得若干衡器及其它行業(yè)的批量應(yīng)用。