新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC單片機(jī)常見問題

PIC單片機(jī)常見問題

作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
PIC單片機(jī)振蕩電路中如何選擇晶體?
對于一個高可靠性的系統(tǒng)設(shè)計,晶體的選擇非常重要,尤其設(shè)計帶有睡眠喚醒(往往用低電壓以求低功耗)的系統(tǒng)。
這是因?yàn)榈凸╇婋妷菏固峁┙o晶體的激勵功率減少,造成晶體起振很慢或根本就不能起振。這一現(xiàn)象在上電復(fù)位時并不特別明顯,原因時上電時電路有足夠的擾動,很容易建立振蕩。在睡眠喚醒時,電路的擾動要比上電時小得多,起振變得很不容易。在振蕩回路中,晶體既不能過激勵(容易振到高次諧波上)也不能欠激勵(不容易起振)。
晶體的選擇至少必須考慮:諧振頻點(diǎn),負(fù)載電容,激勵功率,溫度特性,長期穩(wěn)定性。

如何判斷電路中晶振是否被過分驅(qū)動?
電阻RS常用來防止晶振被過分驅(qū)動。過分驅(qū)動晶振會漸漸損耗減少晶振的接觸電鍍,這將引起頻率的上升??捎靡慌_示波器檢測OSC輸出腳,如果檢測一非常清晰的正弦波,且正弦波的上限值和下限值都符合時鐘輸入需要,則晶振未被過分驅(qū)動;相反,如果正弦波形的波峰,波谷兩端被削平,而使波形成為方形,則晶振被過分驅(qū)動。這時就需要用電阻RS來防止晶振被過分驅(qū)動。判斷電阻RS值大小的最簡單的方法就是串聯(lián)一個5k或10k的微調(diào)電阻,從0開始慢慢調(diào)高,一直到正弦波不再被削平為止。通過此辦法就可以找到最接近的電阻RS值。

晶振電路中如何選擇電容C1,C2?
(1):因?yàn)槊恳环N晶振都有各自的特性,所以最好按制造廠商所提供的數(shù)值選擇外部元器件。
(2):在許可范圍內(nèi),C1,C2值越低越好。C值偏大雖有利于振蕩器的穩(wěn)定,但將會增加起振時間。
(3):應(yīng)使C2值大于C1值,這樣可使上電時,加快晶振起振。

PIC系列單片機(jī)I/O腳有什么特點(diǎn)?
PIC系列單片機(jī)的任意一條I/O管腳都有很強(qiáng)的帶負(fù)載能力(至少可提供或灌入25mA的電流)。因此,在某些場合,這些管腳可作為可控的電源。
舉個例子,在一些低功耗的設(shè)計中,希望一些周圍的器件在系統(tǒng)待命時不耗電或盡量少耗電,此時,可考慮這些器件的電源供電由一條I/O腳負(fù)責(zé)提供,在工作時,MCU在該條管腳上輸出高電平(接近VDD),帶幾個mA的負(fù)載絕對不成問題;若要進(jìn)入低功耗模式,MCU就在該管腳輸出低電平(接近0),被控器件沒有了電源,也就不會耗電。比如LCD顯示電路,信號調(diào)制電路等都非常適合此類控制。

為何系統(tǒng)在外界磁場和電場的干擾時,不能正常工作?
如果在主控電路中沒有濾波電路,您用的芯片在/MCLR端應(yīng)接一個能保證濾去該端口上的窄脈沖電路。因/MCLR上加的低電平寬度應(yīng)大于2US,系統(tǒng)才能復(fù)位,而小于2US的低電平將會干擾系統(tǒng)的正常工作。

使用帶A/D的PIC芯片時,怎樣才能提高A/D轉(zhuǎn)換的精度?
1. 保證您的系統(tǒng)的時鐘應(yīng)是適合的。如果您關(guān)閉/打開A/D模塊,應(yīng)等待一段時間,該段時間是采樣時間;如果您改變輸入通道,同樣也需等待這段時間,和最后的TAD(TAD為完成每位A/D轉(zhuǎn)換所需的時間)。TAD可以在ADCON0中(ADCS1、ADCS0)中選擇,它應(yīng)在2US-6US之間。如果TAD太小,在轉(zhuǎn)換過程結(jié)束時,沒有完全被轉(zhuǎn)換;如果TAD太長,在全部轉(zhuǎn)換結(jié)束之前,采樣電容上的電壓已經(jīng)下降。對該時間的選擇的具體細(xì)節(jié)請參照有關(guān)的數(shù)據(jù)手冊或應(yīng)用公式。
2. 通常模擬信號的輸入端的電阻太高(大于10Kohms)會使采樣電流下降從而影響轉(zhuǎn)換精度。若輸入信號不能很快的改變,建議在輸入通道口用0。1UF的電容;它將改變模擬通道的采樣電壓;由于電流的補(bǔ)給,內(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)換開始后,進(jìn)入SLEEP狀態(tài),必須選擇片內(nèi)的RC振蕩作為A/D轉(zhuǎn)換的時鐘信號。該方法將提高轉(zhuǎn)換的精度。

PIC16C7XX的A/D片內(nèi)RC振蕩器能否用于計數(shù)器?
16C71A/D轉(zhuǎn)換器片內(nèi)RC振蕩器的作用是讓MCU處于睡眠時(此時主振停振)能有一個時鐘源來進(jìn)行A/D轉(zhuǎn)換。此RC振蕩器因其內(nèi)部設(shè)計的限制不能被其他電路使用。 A/D轉(zhuǎn)換器內(nèi)部RC振蕩器鐘頻典型值為250K,但會隨著環(huán)境溫度,工作電壓,產(chǎn)品批號等不同而有相當(dāng)?shù)淖儎?。定時器的時鐘源可以選擇內(nèi)部的振蕩頻率,也可以是外部的脈沖輸入信號。若你能選擇后者,那就能方便地做到MCU的主頻很高而時鐘的溢出率較低。不然,除了用軟件來計數(shù)分頻,好象也沒有其它招數(shù)。另一種選擇是用其它型號的MCU,其內(nèi)部至少還另有一個TIMER1,因?yàn)門IMER1可以有獨(dú)立的一顆晶體作為時鐘振蕩的基準(zhǔn),你可以方便地選用頻率低的晶體來完成你的設(shè)計。

為什么PIC單片機(jī)應(yīng)用中,有時出現(xiàn)上電工作正常,而進(jìn)入睡眠后喚醒不了?
對于一個高可靠性的系統(tǒng)設(shè)計,晶體的選擇非常重要。在振蕩回路中,晶體既不能過激勵(容易振到高次諧波上),也不能欠激勵(不容易起振)。尤其在設(shè)計帶有睡眠喚醒(往往用低電壓以求低功耗)的系統(tǒng)中,若還是隨手拿一顆晶體就用,你的系統(tǒng)可能會出問題。這是因?yàn)榈凸╇婋妷菏固峁┙o晶體的激勵功率減少,造成晶體起振很慢或根本就不能起振。這一現(xiàn)象在上電復(fù)位時并不特別明顯,原因時上電時電路有足夠的擾動,很容易建立振蕩。在睡眠喚醒時,電路的擾動要比上電時小得多得多,起振變得很不容易。
評價振蕩電路是否工作在最佳點(diǎn)的簡單方法時用示波器看OSC2腳上的波形(必須考慮示波器接入電容!)最好的情形是看到非常干凈漂亮的正弦波,沒有任何波形畸變,而且要滿幅(接近VCC和GND)晶體的選擇至少必須考慮:諧振頻點(diǎn),負(fù)載電容,激勵功率,溫度特性,長期穩(wěn)定性。

PIC單片機(jī)應(yīng)用中晶體選擇的注意事項(xiàng)。
對于一個高可靠性的系統(tǒng)設(shè)計,晶體的選擇非常重要。在振蕩回路中,晶體既不能過激勵(容易振到高次諧波上)也不能欠激勵(不容易起振)。尤其在設(shè)計帶有睡眠喚醒(往往用低電壓以求低功耗)的系統(tǒng)中,若還是隨手拿一顆晶體就用,你的系統(tǒng)可能會出問題。這是因?yàn)榈凸╇婋妷菏固峁┙o晶體的激勵功率減少,造成晶體起振很慢或根本就不能起振。這一現(xiàn)象在上電復(fù)位時并不特別明顯,原因時上電時電路有足夠的擾動,很容易建立振蕩。在睡眠喚醒時,電路的擾動要比上電時小得多得多,起振變得很不容易。有人評價:PIC單片機(jī)對晶體的要求怎么這么高,用51好象從來就沒有這么麻煩,手里抓到什么就用什么,也不見有問題呀?且慢,這樣比較前提并不一樣,同樣在睡眠時,有誰見過51系列不用復(fù)位而僅靠內(nèi)部或外部事件喚醒嗎?若你并不需要這么高級的設(shè)計技術(shù),PIC也大可以讓你逮到什么晶體就用什么。評價振蕩電路是否工作在最佳點(diǎn)的簡單方法時用示波器看OSC2腳上的波形(必須考慮示波器接入電容!)最好的情形是看到非常干凈漂亮的正弦波,沒有任何波形畸變,而且要滿幅(接近VCC和GND) 晶體的選擇至少必須考慮:諧振頻點(diǎn),負(fù)載電容,激勵功率,溫度特性,長期穩(wěn)定性。

為何使用PICSTAR-PLUS燒寫16CE625-04/P有時無法把保密位燒成"保密"?
使用PICSTAR-PLUS對芯片編程時,程序代碼是放在計算機(jī)的RAM中,每次寫程序時通過串口把數(shù)據(jù)下載到燒寫器中去編程,所以可能會出錯。我不懷疑你操作有問題,但是請注意的PICSTAR-PLUS是用于開發(fā)用途的編程器,不推薦用于規(guī)模生產(chǎn)。你能計算出出錯概率為1%,看來你是用它來作大規(guī)模生產(chǎn)了。為保證燒寫可靠,推薦你使用高奇公司生產(chǎn)的PICKIT編程器。

PIC單片機(jī)型號中,后綴A/B/C分別代表什么?
PIC單片機(jī)型號中,后綴A/B/C表示的是芯片生產(chǎn)的工藝不同。從A到C是工藝不斷更新,硅片圓盤(Wafer)的直徑變大,線寬變窄,線距變密,在同一個圓盤上可以制作出更多的芯片,從而降低了生產(chǎn)成本。從功能角度來看,三者是一樣的。當(dāng)然,新版本的芯片中會把現(xiàn)有版本中存在的一些問題作些修正,功能會得到擴(kuò)充。從性能指標(biāo)上來講,三者有些差距。一個明顯的表現(xiàn)是在電源電壓的承受范圍。制作線寬越細(xì),所能承受的電壓越低。例如,PIC16C57的最高電源電壓指標(biāo)為6V,而57C的指標(biāo)為5.5V。絕大多數(shù)情況下新版的片子可直接替換舊版。從目前發(fā)現(xiàn)的問題來看,主要出在晶體振蕩電路部分。原因是新版芯片振蕩電路內(nèi)部的反向放大器的增益要比舊的高出許多。若晶體選擇的不合理,可能會振蕩到高次諧波上去。有些客戶也提出新版的片子抗干擾的性能不比舊版的片子。其實(shí),我們公布的技術(shù)指標(biāo)在這方面并沒有任何犧牲,只是工藝上的原因,我們留的余量減少了。請大家注意不要認(rèn)為PIC的片子抗干擾能力強(qiáng),在電路設(shè)計時就一點(diǎn)不考慮應(yīng)有的抗干擾措施。

PIC單片機(jī)型號的溫度級如何識別?
以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 汽車級

PIC單片機(jī)的各種中斷有沒有優(yōu)先級之分?
中檔PIC單片機(jī)的中斷入口只有一個,硬件不分優(yōu)先級,但可用軟件查詢的方式?jīng)Q定其優(yōu)先級高低:先查先做,優(yōu)先級為高。高檔的17和18系列,包括即將推出的16位dsPIC,中斷有硬件優(yōu)先級。


為什么PIC單片機(jī)應(yīng)用中,有時出現(xiàn)上電工作正常,而進(jìn)入睡眠后喚醒不了?
對于一個高可靠性的系統(tǒng)設(shè)計,晶體的選擇非常重要。在振蕩回路中,晶體既不能過激勵(容易振到高次諧波上),
也不能欠激勵(不容易起振)。尤其在設(shè)計帶有睡眠喚醒(往往用低電壓以求低功耗)的系統(tǒng)中,若還是隨手拿一顆晶體
就用,你的系統(tǒng)可能會出問題。這是因?yàn)榈凸╇婋妷菏固峁┙o晶體的激勵功率減少,造成晶體起振很慢或根本就不能起振。這一現(xiàn)象在上電復(fù)位時并不特別明顯,原因時上電時電路有足夠的擾動,很容易建立振蕩。在睡眠喚醒時,電路的擾動要比上電時小得多得多,起振變得很不容易。

評價振蕩電路是否工作在最佳點(diǎn)的簡單方法時用示波器看OSC2腳上的波形(必須考慮示波器接入電容!)最好的情形是看到非常干凈漂亮的正弦波,沒有任何波形畸變,而且要滿幅(接近VCC和GND)晶體的選擇至少必須考慮:諧振頻點(diǎn),負(fù)載電容,激勵功率,溫度特性,長期穩(wěn)定性。


評論


技術(shù)專區(qū)

關(guān)閉