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