最近在客戶的一個(gè)板子上,調(diào)試一個(gè)麥克風(fēng)觸發(fā)的點(diǎn)煙器。客戶是有要求的,要盡量減少誤動(dòng)作,就是普通的拍打,磕碰或者一般的氣流沖擊是不能觸發(fā)點(diǎn)煙的。然后我在這些基礎(chǔ)上,隨便寫了一段濾波程序,起初都很順利,基本不用調(diào)試,在仿真器和板子上運(yùn)行正常。調(diào)試時(shí)點(diǎn)煙器的板子是單獨(dú)用穩(wěn)壓電源供電的。然后當(dāng)我興致勃勃的把程序燒錄到IC里后,接通了直流電源,怎么吹麥克風(fēng)都沒(méi)有反應(yīng)了。
問(wèn)題出現(xiàn)了,開(kāi)始調(diào)試。第一想法是先看看麥克風(fēng)的輸入端的PADIER對(duì)應(yīng)的位設(shè)置是否正常,數(shù)字輸入對(duì)應(yīng)位一定要設(shè)置為1.然后又降低了判斷的計(jì)數(shù)參數(shù),關(guān)閉看門狗等等處理。結(jié)果都還是仿真時(shí)可以,燒錄出來(lái)就完全沒(méi)有反應(yīng)了。不過(guò)仿真時(shí)有時(shí)當(dāng)停止仿真器運(yùn)行時(shí),也會(huì)彈出這個(gè)窗口,不停止不會(huì)彈出這個(gè)窗口。
可這個(gè)窗口的彈出不影響仿真器運(yùn)行時(shí)的結(jié)果,仿真的結(jié)果還是對(duì)的。就是燒錄出來(lái)的IC,運(yùn)行結(jié)果不對(duì)。后來(lái)甚至從PMS150G改型號(hào)為PFS122,發(fā)現(xiàn)結(jié)果還是一樣的,吹麥克風(fēng)沒(méi)有一點(diǎn)反應(yīng)。后來(lái)實(shí)在沒(méi)有辦法了,只能搬出示波器先來(lái)測(cè)試電壓。這一測(cè)試感覺(jué)好奇怪,我沒(méi)有吹麥克風(fēng)時(shí),電壓也有異動(dòng),但是不接MCU就沒(méi)有問(wèn)題,電源是正常的。異動(dòng)的電源波形還直接讓我驚呼,線路沒(méi)有明顯的感性負(fù)載,電壓竟然還會(huì)高出平常那么多??蔁o(wú)論你信不信,示波器檢測(cè)的結(jié)果就是這樣的記錄。
從電源的情況看,可以確定是IC復(fù)位了,雖然看起來(lái)最低電壓還沒(méi)有跌低于1.8V,但也是2V左右了。既然還沒(méi)有吹麥克風(fēng),可以確定是初始化的過(guò)程中就產(chǎn)生了這個(gè)復(fù)位了。
經(jīng)查看,Timer2的初始化,原來(lái)是這樣寫的,TM2B的賦值落后于TIMER2開(kāi)啟PWM設(shè)置,應(yīng)該是TM2B上電過(guò)程中,初值不確定,應(yīng)該不是0,造成了開(kāi)啟PWM輸出的時(shí)候,就有了PWM輸出。
void timer2_init(void)
{
$ tm2c IHRC,PA3,PWM;
$ tm2s 6BIT,/1,/32;
// $ tm2s 8BIT,/1,/1;
tm2b = 0;
}
于是將TM2B的設(shè)置放置在設(shè)置PWM輸出之前。
void timer2_init(void)
{
tm2b = 0;
$ tm2c IHRC,PA3,PWM;
$ tm2s 6BIT,/1,/32;
// $ tm2s 8BIT,/1,/1;
tm2b = 0;
}
果然,這樣更改之后,在沒(méi)有吹麥克風(fēng)時(shí),電源的波形也正常了。
可是一吹麥克風(fēng),這個(gè)異常的波形又出現(xiàn)了。這下可以明確是電源不行了。于是在MCU的電源端加了2個(gè)無(wú)極性電容,拆的,也不知道有多大,應(yīng)該至少20uF以上,也可能有70~90uF。這樣一來(lái)還真可以了。
其實(shí)早20年前,應(yīng)用電路對(duì)MCU的電壓要求可高了,連紋波都不能太大,就算是那時(shí)的AVR, PIC,也不例外??呻S著MCU設(shè)計(jì)技術(shù)的提高,如今的MCU的工作電壓大多數(shù)都相對(duì)較寬,2.5~5.5V的工作電壓范圍工作基本都是沒(méi)有問(wèn)題的。所以設(shè)計(jì)師對(duì)MCU的電源穩(wěn)定性也越來(lái)越?jīng)]有那么在意,甚至有工程師為了節(jié)省成本,MCU兩端可能連電容都沒(méi)有。這樣的設(shè)計(jì)一定要特別注意,不是各家品牌的MCU都能在此環(huán)境下正常工作。不要在量產(chǎn)中才發(fā)現(xiàn)這類因?yàn)殡娫捶€(wěn)定性造成的功能異常問(wèn)題,那就很麻煩了。
-
mcu
+關(guān)注
關(guān)注
146文章
17915瀏覽量
362567 -
麥克風(fēng)
+關(guān)注
關(guān)注
15文章
659瀏覽量
55675 -
仿真器
+關(guān)注
關(guān)注
14文章
1035瀏覽量
85180
原文標(biāo)題:仿真和實(shí)際IC運(yùn)行效果不一致案例1
文章出處:【微信號(hào):應(yīng)廣單片機(jī),微信公眾號(hào):應(yīng)廣單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
不一致IP設(shè)置
仿真和實(shí)際電路運(yùn)放輸出電壓不一致
算法運(yùn)行時(shí)間軟件仿真和硬件仿真不一致
pwm設(shè)置的頻率和實(shí)際不一致是什么原因?怎么處理?
基于偏好不一致熵的偏好決策方法
不一致數(shù)據(jù)上精確決策樹生成算法

評(píng)論