基于MC9S08QG4的煙霧傳感器應(yīng)用設(shè)計(06-100)
MC9S08QG4用于煙霧傳感器設(shè)計時需要注意幾個問題:
本文引用地址:http://2s4d.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一直保持工作而不進入休眠狀態(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ù)進入STOP3,由ADC轉(zhuǎn)換完成或者自動比較功能喚醒。和總線接口的引腳也可以通過其鍵盤中斷功能喚醒微控制器進行通訊。工作在此模式下的一個設(shè)計實例其總平均工作電流略高于300mA。
使用FLASH存儲器模擬EEPROM
MC9S08QG4的內(nèi)部FLASH存儲器具有10萬次擦寫周期,在整個工作電壓范圍內(nèi)都可以編程和寫入。在應(yīng)用FLASH模擬EEPROM時,需要考慮的問題有:
FLASH擦寫代碼的執(zhí)行
FLASH在進行擦寫時,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寫保護和中斷向量表重新定位
當(dāng)用戶程序中包含對FLASH操作的代碼時,就會存在FLASH被無意改寫的潛在危險,所以需要打開FLASH的寫保護功能。MC9S08QG4的FLASH寫保護機制被使能后,如果中斷向量表也被重新定位,則用戶程序一定要重新映射中斷服務(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時間和工作電流。
評論