PIC單片機常見14問
1、PIC單片機振蕩電路中如何選擇晶體?
對于一個高可靠性的系統(tǒng)設計,晶體的選擇非常重要,尤其設計帶有睡眠喚醒(往往用低電壓以求低功耗)的系統(tǒng)。這是因為低供電電壓使提供給晶體的激勵功率減少,造成晶體起振很慢或根本就不能起振。這一現(xiàn)象在上電復位時并不特別明顯,原因時上電時電路有足夠的擾動,很容易建立振蕩。在睡眠喚醒時,電路的擾動要比上電時小得多,起振變得很不容易。在振蕩回路中,晶體既不能過激勵(容易振到高次諧波上)也不能欠激勵(不容易起振)。晶體的選擇至少必須考慮:諧振頻點、負載電容、激勵功率、溫度特性、長期穩(wěn)定性。
2、如何判斷電路中晶振是否被過分驅(qū)動?
電阻RS常用來防止晶振被過分驅(qū)動。過分驅(qū)動晶振會漸漸損耗減少晶振的接觸電鍍,這將引起頻率的上升?捎靡慌_示波器檢測OSC輸出腳,如果檢測一非常清晰的正弦波,且正弦波的上限值和下限值都符合時鐘輸入需要,則晶振未被過分驅(qū)動;相反,如果正弦波形的波峰,波谷兩端被削平,而使波形成為方形,則晶振被過分驅(qū)動。這時就需要用電阻RS來防止晶振被過分驅(qū)動。判斷電阻RS值大小的最簡單的方法就是串聯(lián)一個5k或10k的微調(diào)電阻,從0開始慢慢調(diào)高,一直到正弦波不再被削平為止。通過此辦法就可以找到最接近的電阻RS值
3、晶振電路中如何選擇電容C1,C2?
(1)因為每一種晶振都有各自的特性,所以最好按制造廠商所提供的數(shù)值選擇外部元器件。
(2)在許可范圍內(nèi),C1、C2值越低越好。C值偏大雖有利于振蕩器的穩(wěn)定,但將會增加起振時間。
(3)應使C2值大于C1值,這樣可使上電時,加快晶振起振。
4、PIC系列單片機I/O腳有什么特點?
PIC系列單片機的任意一條I/O管腳都有很強的帶負載能力(至少可提供或灌入25mA的電流)。因此,在某些場合,這些管腳可作為可控的電源。舉個例子,在一些低功耗的設計中,希望一些周圍的器件在系統(tǒng)待命時不耗電或盡量少耗電
此時可考慮這些器件的電源供電由一條I/O腳負責提供,在工作時MCU在該條管腳上輸出高電平(接近VDD)帶幾個mA的負載絕對不成問題。若要進入低功耗模式
MCU就在該管腳輸出低電平(接近0),被控器件沒有了電源也就不會耗電。比如LCD
顯示電路、信號調(diào)制電路等都非常適合此類控制。
5、為何系統(tǒng)在外界磁場和電場的干擾時不能正常工作?
如果在主控電路中沒有濾波電路,您用的芯片在/MCLR端應接一個能保證濾去該端口上的窄脈沖電路。因/MCLR上加的低電平寬度應大于2US,系統(tǒng)才能復位,而小于2US的低電平將會干擾系統(tǒng)的正常工作。
6、使用帶A/D的PIC芯片時,怎樣才能提高A/D轉(zhuǎn)換的精度?
(1)保證您的系統(tǒng)的時鐘應是適合的。如果您關(guān)閉/打開A/D模塊,應等待一段時間,該段時間是采樣時間;如果您改變輸入通道,同樣也需等待這段時間,和最后的TAD(TAD為完成每位A/D轉(zhuǎn)換所需的時間)。TAD可以在ADCON0中(ADCS1、ADCS0)中選擇,它應在2US-6US之間。如果TAD太小,在轉(zhuǎn)換過程結(jié)束時,沒有完全被轉(zhuǎn)換;如果TAD太長,在全部轉(zhuǎn)換結(jié)束之前,采樣電容上的電壓已經(jīng)下降。對該時間的選擇的具體細節(jié)請參照有關(guān)的數(shù)據(jù)手冊或應用公式。
(2)通常模擬信號的輸入端的電阻太高(大于10Kohms)會使采樣電流下降從而影響轉(zhuǎn)換精度。若輸入信號不能很快的改變,建議在輸入通道口用0.1UF的電容,
它將改變模擬通道的采樣電壓,由于電流的補給,內(nèi)在的保持電容為51.2PF
(3)若沒有把所有的A/D通道用完,最好少用AN0端。因它的下一個腳與OSC1緊靠在一起會對A/D轉(zhuǎn)換造成影響。
(4)最后,在系統(tǒng)中,若芯片的頻率較低,A/D轉(zhuǎn)換的時鐘首選的是芯片的振蕩。這將在很大范圍內(nèi)降低數(shù)字轉(zhuǎn)換噪音的影響。同時,在系統(tǒng)中,在A/D轉(zhuǎn)換開始后,進入SLEEP狀態(tài),必須選擇片內(nèi)的RC振蕩作為A/D轉(zhuǎn)換的時鐘信號。該方法將提高轉(zhuǎn)換的精度。
7、PIC16C7XX的A/D片內(nèi)RC振蕩器能否用于計數(shù)器?
16C71A/D轉(zhuǎn)換器片內(nèi)RC振蕩器的作用是讓MCU處于睡眠時(此時主振停振)能有一個時鐘源來進行A/D轉(zhuǎn)換。此RC振蕩器因其內(nèi)部設計的限制不能被其他電路使用。A/D轉(zhuǎn)換器內(nèi)部RC振蕩器鐘頻典型值為250K,但會隨著環(huán)境溫度,工作電壓,產(chǎn)品批號等不同而有相當?shù)淖儎。定時器的時鐘源可以選擇內(nèi)部的振蕩頻率,也可以是外部的脈沖輸入信號。若你能選擇后者,那就能方便地做到MCU的主頻很高而時鐘的溢出率較低。不然,除了用軟件來計數(shù)分頻,好象也沒有其它招數(shù)。另一種選擇是用其它型號的MCU,其內(nèi)部至少還另有一個TIMER1,因為TIMER1可以有獨立的一顆晶體作為時鐘振蕩的基準,你可以方便地選用頻率低的晶體來完成你的設計。
8、為何使用PICSTAR-PLUS燒寫16CE625-04/P有時無法把保密位燒成"保密"?
使用PICSTAR-PLUS對芯片編程時,程序代碼是放在計算機的RAM中,每次寫程序時通過串口把數(shù)據(jù)下載到燒寫器中去編程,所以可能會出錯。我不懷疑你操作有問題,但是請注意的PICSTAR-PLUS是用于開發(fā)用途的編程器,不推薦用于規(guī)模生產(chǎn)。你能計算出出錯概率為1%,看來你是用它來作大規(guī)模生產(chǎn)了。為保證燒寫可靠,推薦你使用高奇公司生產(chǎn)的PICKIT編程器。
9、為什么PIC單片機應用中,有時出現(xiàn)上電工作正常,而進入睡眠后喚醒不了?
(PIC單片機應用中晶體選擇的注意事項?)
對于一個高可靠性的系統(tǒng)設計,晶體的選擇非常重要。在振蕩回路中,晶體既不能過激勵(容易振到高次諧波上),也不能欠激勵(不容易起振)。尤其在設計帶有睡眠喚醒(往往用低電壓以求低功耗)的系統(tǒng)中,若還是隨手拿一顆晶體就用,你的系統(tǒng)可能會出問題。這是因為低供電電壓使提供給晶體的激勵功率減少,造成晶體起振很慢或根本就不能起振。這一現(xiàn)象在上電復位時并不特別明顯,
原因時上電時電路有足夠的擾動,很容易建立振蕩。在睡眠喚醒時,電路的擾動要比上電時小得多得多,起振變得很不容易。
有人評價PIC單片機對晶體的要求怎么這么高?用51好象從來就沒有這么麻煩,手里抓到什么就用什么,也不見有問題呀?且慢,這樣比較前提并不一樣,同樣在睡眠時,有誰見過51系列不用復位而僅靠內(nèi)部或外部事件喚醒嗎?若你并不需要這么高級的設計技術(shù),PIC也大可以讓你逮到什么晶體就用什么。
評價振蕩電路是否工作在最佳點的簡單方法時用示波器看OSC2腳上的波形(必須考慮示波器接入電容!)最好的情形是看到非常干凈漂亮的正弦波,沒有任何波形畸變,而且要滿幅(接近VCC和GND)晶體的選擇至少必須考慮:諧振頻點、負載電容、激勵功率、溫度特性、長期穩(wěn)定性。
12、PIC單片機型號的溫度級如何識別?
以16C54-04X / P為例:
X =沒有,商業(yè)級,溫度范圍是0-70℃;
X= I,工業(yè)級,-40-85℃;
X = E,汽車級,-40-125℃;
例如:PIC16C54C-04/P 商業(yè)級 PIC16C54C-04I/P 工業(yè)級 PIC16C54C-04E/P 汽車級。
13、PIC單片機的各種中斷有沒有優(yōu)先級之分?
中檔PIC單片機的中斷入口只有一個,硬件不分優(yōu)先級,但可用軟件查詢的方式?jīng)Q定其優(yōu)先級高低:先查先做,優(yōu)先級為高。高檔的17和18系列,包括即將推出的16位dsPIC,中斷有硬件優(yōu)先級。
14、PIC單片機型號中,后綴A/B/C分別代表什么?
PIC單片機型號中,后綴A/B/C表示的是芯片生產(chǎn)的工藝不同。從A到C是工藝不斷更新,硅片圓盤(Wafer)的直徑變大,線寬變窄,線距變密,在同一個圓盤上可以制作出更多的芯片,從而降低了生產(chǎn)成本。從功能角度來看,三者是一樣的。當然,新版本的芯片中會把現(xiàn)有版本中存在的一些問題作些修正,功能會得到擴充。從性能指標上來講,三者有些差距,一個明顯的表現(xiàn)是在電源電壓的承受范圍,制作線寬越細,所能承受的電壓越低。例如,PIC16C57的最高電源電壓指標為6V,而57C的指標為5.5V。絕大多數(shù)情況下新版的片子可直接替換舊版。從目前發(fā)現(xiàn)的問題來看,主要出在晶體振蕩電路部分。原因是新版芯片振蕩電路內(nèi)部的反向放大器的增益要比舊的高出許多。若晶體選擇的不合理,可能會振蕩到高次諧波上去。。有些客戶也提出新版的片子抗干擾的性能不比舊版的片子。
其實,我們公布的技術(shù)指標在這方面并沒有任何犧牲,只是工藝上的原因,我們留的余量減少了。請大家注意不要認為PIC的片子抗干擾能力強,在電路設計時就一點不考慮應有的抗干擾措施。
編輯:admin 最后修改時間:2018-05-19