日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> 關(guān)于AVR的BOD

關(guān)于AVR的BOD

關(guān)鍵字:AVR BOD 作者:admin 來源:不詳 發(fā)布時間:2018-05-19  瀏覽:7

作為一個正式的系統(tǒng)或產(chǎn)品,當(dāng)系統(tǒng)基本功能調(diào)試完成后,一旦進行現(xiàn)場測試階段,請注意馬上改寫熔絲位的配置,啟用AVR的電源檢測(BOD)功能。

對于5V系統(tǒng),設(shè)置BOD電平為4.0V;對于3V系統(tǒng),設(shè)置BOD電平為2.7V。然后允許BOD檢測。

這樣,一旦AVR的供電電壓低于BOD電平,AVR進入RESET(不執(zhí)行程序了)。而當(dāng)電源恢復(fù)到BOD電平以上,AVR才正式開始從頭執(zhí)行程序。保證了系統(tǒng)的可靠性!

原因分析如下:

AVR是寬電壓工作的芯片,當(dāng)電壓跌至2.5V,系統(tǒng)程序還能工作。這是有2個可怕的現(xiàn)象可能出現(xiàn),

1。外圍芯片工作已經(jīng)混亂,AVR讀到的東西不正確,造成程序的執(zhí)行發(fā)生邏輯錯誤(不是AVR本身的原因)。

2。當(dāng)電源低到臨界點,如2.4V時,并且在此互上互下的,AVR本身的程序執(zhí)行也不正常,取指令、讀數(shù)據(jù)都可能發(fā)生錯誤,或程序亂飛、不穩(wěn)定(AVR本身的原因,實際任何的單片機都是這樣的),非常容易造成EEPROM、FALSH的破壞。有人問51怎么不會?實際上51也是這樣,只是51內(nèi)部沒有直接寫EEPROM、FLASH的指令,它的程序亂飛留不下痕跡。還有人有疑問:外掛EEPROM,掉電時怎么不會改寫?實際是外掛EEPROM,當(dāng)電壓低于4V(2.7V)時,它已經(jīng)不工作了,程序去改內(nèi)容也改不了。而AVR內(nèi)部的東西在臨界電壓時都能工作,但非常不穩(wěn)定。

AVR的BOD功能必須要使用,我早期使用51時,凡是產(chǎn)品外部都要使用電源監(jiān)測芯片,現(xiàn)在AVR自己本身就有該功能,一定要使用。

下面是AVR獵手的經(jīng)驗之談:

在做的一個控制系統(tǒng),現(xiàn)場環(huán)境提供給我的電源是DC 24V,我的系統(tǒng)需要兩個電壓,一個是DC 12V 3A,一個是DC 5V 200mA。12V穩(wěn)壓選用了1501A12開關(guān)穩(wěn)壓IC(此芯片最大電流可以承受5A,如果要達到這么大的電流,配套的電感很重要,必須使用藍綠磁環(huán),0.85mm的漆包線繞制,22uH的電感量)。5V的電源用7805對12V電源進行穩(wěn)壓。單片機用的是ATMEGA48,使用洞洞板焊接做實驗,芯片的熔絲只修改了下振蕩源為外部晶體振蕩和關(guān)閉8分頻功能,未開啟BOD。

因為12V的電壓系統(tǒng)要帶動一個直流電機,由12V的繼電器進行帶動控制,因為電機工作時帶動的負載有可能會被外力阻擋而造成電機停轉(zhuǎn)過載,這個時候電機的堵轉(zhuǎn)電流可能達到3A左右,所以在硬件上我做了保護,采用AVR的ADC檢測電機的工作電流,如果發(fā)生過載,則馬上停止電機工作。

這個手工焊接的控制板測試時工作正常,包括電機過載測試,都未發(fā)生什么故障。

都測試通過后,制板回來,燒寫程序的時候順便打開AVR的BOD,設(shè)置為4.3V。然后開始著手做一些過載測試,發(fā)現(xiàn)一過載MCU就馬上復(fù)位~~~超級郁悶啊~~~以為自己又改了什么程序?qū)е虏环(wěn)定,或者是啟動電機工作后的延時時間不夠(大家都知道:在驅(qū)動大功率負載的時候,在接通繼電器的時候,MCU的指令控制一定要再延時幾十個毫秒~幾百個毫秒左右,否則會出現(xiàn)繼電器吸合后馬上斷開的問題。詳細原因不在本文討論范圍之內(nèi)就不多說了,書本上都有詳細說明這些用法),真的很打擊人~ 想想AVR也沒這么脆弱~~或者是我布板設(shè)計不合理???沒這個理由的,以前的板子可是用洞洞板焊接的,以前不管怎么測試都不會復(fù)位。試著增加了輸出控制的延時時間,還是一樣的結(jié)果,一過載就復(fù)位。

軟件改了~不行~~~寫入以前的軟件~也不行

換回以前的洞洞板測試,OK,沒問題。不會吧~~~

靜下心來仔細想想,兩個板的差異,硬件一樣,軟件一樣,芯片一樣。等等…好象…對了!新做的板子都開啟了BOD使能。馬上先把BOD關(guān)了,果然,系統(tǒng)沒有再發(fā)生過一次復(fù)位的情況。問題是解決了,但總得給個理由吧,總不能就放著BOD不用~~~再用眼睛仔細觀察電機過載時電路板的一些狀態(tài),發(fā)現(xiàn)12V的LED電源指示燈會在電機過載的瞬間暗了一下,哇靠~!火眼金睛啊~!多帶了個眼鏡果然不一樣!^_^哈哈,知道哪里的問題了。應(yīng)該是電機過載時,12V的電壓有所跌落,然后導(dǎo)致經(jīng)過7805穩(wěn)壓后的5V電壓也有所跌落,雖然這個電壓的跌落只是瞬間,可能有跌到 4.3V以下,但這個瞬間馬上被BOD檢測到了,BOD強制MCU復(fù)位。這個瞬間的跌落用萬用表是檢測不出的,特別是用數(shù)字表更看不出了,有示波器的話就可以看下這個的跌落波形了。我手上只有兩個數(shù)字表,所以沒法把這個瞬間的波形捕捉出來給大家看了。(有些時候數(shù)字表還不如指針表,指針表可能還會更直觀的顯示出一些瞬態(tài)變化,如果有指針表應(yīng)該也可以看出一些細微的電壓波動)

解決方法:BOD的作用上面馬老師已經(jīng)說了,所以還是不能關(guān)掉了事,設(shè)置為2.7V即可,我這樣做有沒有道理大家自己想咯^_^

把自己使用BOD的過程分享出來是想告訴大家:使用BOD的時候不是隨手開下就了事的,要注意實際工作的一些異常狀況的發(fā)生,設(shè)置好適合系統(tǒng)的BOD電壓才能保證你的系統(tǒng)工作的更可靠。

擴展閱讀:AVR的IO用法筆記

編輯:admin  最后修改時間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

云和县| 荆门市| 鹤庆县| 金坛市| 莆田市| 赤峰市| 台东县| 永登县| 建平县| 布尔津县| 明水县| 沿河| 桂林市| 无棣县| 冀州市| 科技| 东方市| 聊城市| 怀远县| 阜新| 界首市| 巩留县| 越西县| 门源| 濮阳市| 太原市| 黔西县| 高尔夫| 金乡县| 墨脱县| 阿合奇县| 股票| 黔南| 三江| 依兰县| 宿迁市| 洛扎县| 镇远县| 天长市| 新建县| 安泽县|