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