基于MC9S08QG4的煙霧傳感器應(yīng)用設(shè)計(06-100)
MC9S08QG4用于煙霧傳感器設(shè)計時需要注意幾個問題:
本文引用地址:http://www.ex-cimer.com/article/81307.htm時鐘選擇以及低功耗設(shè)計
MC9S08QG4具有4種低功耗模式,且其內(nèi)部時鐘源可以方便地切換不同的系統(tǒng)工作頻率。在煙霧傳感器的設(shè)計實踐中,一般有兩種設(shè)計模型:不使用休眠模式和使用休眠模式。
不使用休眠模式
不使用休眠模式時,MC9S08QG4常見的工作頻率為250kHz到16kHz之間,此時,可以選用1MHz、455kHz或32kHz的晶體或陶瓷諧振器,與引腳組成振蕩電路,并且關(guān)閉微控制器內(nèi)部的鎖頻環(huán)倍頻電路,MC9S08QG4一直保持工作而不進(jìn)入休眠狀態(tài)。在3V供電,外接455kHz諧振器,內(nèi)部2分頻工作時,其工作電流約為200mA。工作在此模式下的一個設(shè)計實例其總工作電流小于400mA。
使用休眠模式
使用休眠模式時,MC9S08QG4的工作狀態(tài)根據(jù)不同的處理需要被實時調(diào)節(jié)。大部分時間它處于STOP3模式,工作電流為750 nA。實時中斷定時器產(chǎn)生一個周期性的中斷喚醒微控制器,然后打開ADC,啟動轉(zhuǎn)換后繼續(xù)進(jìn)入STOP3,由ADC轉(zhuǎn)換完成或者自動比較功能喚醒。和總線接口的引腳也可以通過其鍵盤中斷功能喚醒微控制器進(jìn)行通訊。工作在此模式下的一個設(shè)計實例其總平均工作電流略高于300mA。
使用FLASH存儲器模擬EEPROM
MC9S08QG4的內(nèi)部FLASH存儲器具有10萬次擦寫周期,在整個工作電壓范圍內(nèi)都可以編程和寫入。在應(yīng)用FLASH模擬EEPROM時,需要考慮的問題有:
FLASH擦寫代碼的執(zhí)行
FLASH在進(jìn)行擦寫時,F(xiàn)LASH陣列被加上編程電壓,此時從FLASH中取指是不安全的,因此需要把擦寫FLASH的代碼復(fù)制到RAM中執(zhí)行。
FLASH擦寫時序的參考時鐘
MC9S08QG4內(nèi)部建立了FLASH擦寫的硬件時序,由它控制編程電壓的發(fā)生和延時。為了使內(nèi)部時序正常工作,要提供正確的參考時鐘fFCLK(150kHz~200kHz之間,超出這個范圍可能造成FLASH擦寫不完全或者影響FLASH單元的壽命)。
FLASH擦寫周期
FLASH只能按頁(對于MC9S08QG4,一個頁面的大小為512字節(jié))擦除,按字節(jié)編程(MC9S08QG4還支持突發(fā)編程)。一個完整的擦寫周期的定義為:FLASH擦除操作之間的所有操作,包含一次按頁擦除和多次按字節(jié)編程。因此可以使用一些數(shù)學(xué)的方法來交替使用一個頁面內(nèi)的512字節(jié)存儲空間,從而減少FLASH的擦寫次數(shù),延長壽命。
FLASH寫保護(hù)和中斷向量表重新定位
當(dāng)用戶程序中包含對FLASH操作的代碼時,就會存在FLASH被無意改寫的潛在危險,所以需要打開FLASH的寫保護(hù)功能。MC9S08QG4的FLASH寫保護(hù)機(jī)制被使能后,如果中斷向量表也被重新定位,則用戶程序一定要重新映射中斷服務(wù)程序的入口地址,否則任何中斷的發(fā)生將導(dǎo)致程序崩潰。
ADC數(shù)據(jù)采集和轉(zhuǎn)換
ADC工作的基礎(chǔ)時鐘fADCK可以是總線頻率或其分頻結(jié)果,或者獨立的異步本地時鐘。當(dāng)ADC工作于低功耗模式時,fADCK應(yīng)該在400kHz到4MHz之間。假如MC9S08QG4工作于227.5kHz總線頻率,則必須使用ADC的異步本地時鐘提供其工作基礎(chǔ)時鐘以保證其精度。
ADC模塊提供的自動比較功能可以方便應(yīng)用設(shè)計,比如可以設(shè)置一個閾值,只有當(dāng)轉(zhuǎn)換結(jié)果大于或者等于該閾值時,才通過中斷去處理轉(zhuǎn)換結(jié)果,否則拋棄轉(zhuǎn)換結(jié)果以節(jié)省CPU時間和工作電流。
評論