国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> AVR單片機(jī)上電復(fù)位不可靠問(wèn)題的解決

AVR單片機(jī)上電復(fù)位不可靠問(wèn)題的解決

關(guān)鍵字:AVR 單片機(jī) 上電復(fù)位 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-19  瀏覽:34

推薦昨晚在調(diào)試AVR 單片機(jī)時(shí)又有一些心得體會(huì),雖然結(jié)論是一個(gè)很小的問(wèn)題造成的,但在此還是寫(xiě)出來(lái)給大家參考,避免走彎路。

事件描述:

以前用AVR的芯片也做過(guò)好幾個(gè)設(shè)計(jì),從來(lái)沒(méi)有懷疑過(guò)ATMEL的芯片的穩(wěn)定性,以前的幾個(gè)方案都是很穩(wěn)定的,當(dāng)然這跟PCB的設(shè)計(jì)有很大的關(guān)系,如果大家需要PCB相關(guān)參考資料的話可以到本站的PCB技術(shù)專欄里查找,那里有很多前輩的PCB布板心得。

這次用的ATmega48制作的串口電壓表就出現(xiàn)一個(gè)很奇怪的現(xiàn)象,電路板是用萬(wàn)能板焊接的,程序里用到ADC功能和串口通訊功能,用的AVR下載工具是STK500,每次下載程序后芯片總是不能正常復(fù)位工作,還要讀取下芯片的特征字或熔絲位讓芯片重新復(fù)位下才能工作,這時(shí)候復(fù)位后工作都穩(wěn)定,沒(méi)出現(xiàn)什么不正常。剛開(kāi)始不在意這個(gè)問(wèn)題,因?yàn)樵陂_(kāi)發(fā)的初期用AVR DRAGON仿真調(diào)試部分功能時(shí)復(fù)位腳不能接任何器件,所以也就把復(fù)位腳懸著不接復(fù)位電路,以為是沒(méi)接阻容復(fù)位而造成不穩(wěn)定。在此還是沒(méi)有懷疑過(guò)芯片的問(wèn)題。

直到后來(lái)這個(gè)程序都開(kāi)發(fā)完畢了,給ATMEGA48加上 一個(gè)10K的上拉電阻和0.1uF的電容做復(fù)位,把ISP線拔掉,獨(dú)立給串口電壓表上電(因?yàn)楫?dāng)時(shí)都是用幾個(gè)電路模塊連接做實(shí)驗(yàn),串口電平轉(zhuǎn)換電路也是獨(dú)立的,初期串口調(diào)試已經(jīng)都通過(guò)了,所以我把這個(gè)串口電平轉(zhuǎn)換模塊的連線都拔掉了),問(wèn)題來(lái)了,上電不工作,手動(dòng)把復(fù)位腳接地后放開(kāi)可以工作,但過(guò)了一會(huì)后還是死了,加看門(mén)狗后還是老樣,沒(méi)有任何改善,每次手動(dòng)復(fù)位正常工作后,把手指頭放在ATMEGA48的1、2、3腳上方慢慢靠近,手指頭還沒(méi)碰到芯片就死機(jī)了~~~不會(huì)吧,沒(méi)這么脆弱吧。以前用AVR Tiny26做的控制器,把手機(jī)放在芯片上方然后撥打10086都不會(huì)死機(jī)。不會(huì)中獎(jiǎng)了吧,又不是第一次搞單片機(jī),難道真要像以前論壇里的朋友開(kāi)玩笑說(shuō):要?dú)⒅淮蠊u祭拜下~~~

奇怪啊~~~實(shí)在沒(méi)招,把串口電平轉(zhuǎn)換電路給接上繼續(xù)調(diào)試下,這時(shí)候再上電每次都是正常工作,而如果再把串口電平轉(zhuǎn)換電路斷開(kāi)則又不能正常復(fù)位工作~~~手動(dòng)復(fù)位后把手再靠近芯片的1、2、3腳上方就又馬上死機(jī)~~~狂暈~~~~不是吧~~~ATMEGA48的第一腳是RST,2、3兩腳剛好是RXD、TXD串行引腳,難道真的是這個(gè)串口干擾引腳影響到復(fù)位電路?不可能吧,ATMEGA48芯片用得人多的是,各方面的應(yīng)用都有,不可能是芯片的缺陷,還是多懷疑下自己吧...重新再好好看看自己的程序吧...

 

程序里開(kāi)始首先是對(duì)IO做初始化,TXD配置為輸出,還有其他相關(guān)IO配置。然后是對(duì)定時(shí)器的一些初始化,再就是對(duì)串口的一些初始化了。看了下程序,在初始化的時(shí)候就把串口中斷發(fā)送、接收允許都使能了,難道是這里的問(wèn)題?串口電壓表在實(shí)際工作的時(shí)候串口其實(shí)不是在一直工作的,是通過(guò)一個(gè)開(kāi)關(guān)選擇接地才發(fā)送數(shù)據(jù),平時(shí)是不發(fā)送的,而在不接串口電平轉(zhuǎn)換電路的時(shí)候RXD、TXD都是是懸空的,只有TXD為輸出有上拉,RXD沒(méi)有使能上拉,這時(shí)候RXD是最容易被外部干擾的,這就是問(wèn)題的所在了。當(dāng)然如果串口電平轉(zhuǎn)換電路都連接著,那就沒(méi)這個(gè)問(wèn)題,因?yàn)榇陔娖睫D(zhuǎn)換電路已經(jīng)把RXD的電平給鉗住了。解決的方法很簡(jiǎn)單:在初始化串口的時(shí)候關(guān)閉串口中斷使能,在主程序里需要發(fā)送數(shù)據(jù)的時(shí)候再使能串口,發(fā)送完馬上關(guān)閉就可以。至此問(wèn)題解決,這時(shí)候看你再怎么去“摸”ATMEGA48的引腳或封裝都沒(méi)有再出現(xiàn)任何的死機(jī)情況,每次上電復(fù)位都是非常的穩(wěn)定。(把AVR的BOD熔絲打開(kāi)可增加復(fù)位的可靠性,BOD LEVEL根據(jù)實(shí)際的電源電壓進(jìn)行選擇,這里的電源是5V,所以BOD LEVEL選4.3V)

總結(jié)教訓(xùn):

這是自己的粗心大意、芯片內(nèi)部功能的沒(méi)有合理性利用的表現(xiàn)。在此引以為戒!告訴自己:不要以為自己做過(guò)一些小項(xiàng)目就飄飄然起來(lái),不要?jiǎng)硬粍?dòng)就去懷疑人家半導(dǎo)體廠家芯片的穩(wěn)定性,要多懷疑自己才是。往往可能最基本的問(wèn)題沒(méi)注意而花費(fèi)了很多的時(shí)間,自己做著玩的東西那都無(wú)所謂了,如果你是給別人打工呢?那性質(zhì)就完全不一樣了!

下圖為AVR單片機(jī) 典型外部復(fù)位電路:

AVR單片機(jī)已經(jīng)內(nèi)置了上電復(fù)位設(shè)計(jì)。并且在熔絲位里,可以控制復(fù)位時(shí)的額外時(shí)間,故AVR外部的復(fù)位線路在上電時(shí),可以設(shè)計(jì)得很簡(jiǎn)單:直接拉一只10K的電阻到VCC即可。

為了可靠,再加上一只0.1uF的電容以消除干擾、雜波。

二極管1N4148的作用有兩個(gè):作用一是將復(fù)位輸入的最高電壓鉗在Vcc+0.5V 左右,另一作用是系統(tǒng)斷電時(shí),將10K電阻短路,讓0.1uF的電容快速放電,讓下一次來(lái)電時(shí),能產(chǎn)生有效的復(fù)位。

當(dāng)AVR在工作時(shí),按下開(kāi)關(guān)S 時(shí),復(fù)位腳變成低電平,觸發(fā)AVR芯片復(fù)位。

擴(kuò)展閱讀:AVR單片機(jī)視頻教程

編輯:admin  最后修改時(shí)間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

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

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