新聞中心

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

PIC單片機(jī)常見(jiàn)問(wèn)題

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

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

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

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

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

使用帶A/D的PIC芯片時(shí),怎樣才能提高A/D轉(zhuǎn)換的精度?
1. 保證您的系統(tǒng)的時(shí)鐘應(yīng)是適合的。如果您關(guān)閉/打開(kāi)A/D模塊,應(yīng)等待一段時(shí)間,該段時(shí)間是采樣時(shí)間;如果您改變輸入通道,同樣也需等待這段時(shí)間,和最后的TAD(TAD為完成每位A/D轉(zhuǎn)換所需的時(shí)間)。TAD可以在ADCON0中(ADCS1、ADCS0)中選擇,它應(yīng)在2US-6US之間。如果TAD太小,在轉(zhuǎn)換過(guò)程結(jié)束時(shí),沒(méi)有完全被轉(zhuǎn)換;如果TAD太長(zhǎng),在全部轉(zhuǎn)換結(jié)束之前,采樣電容上的電壓已經(jīng)下降。對(duì)該時(shí)間的選擇的具體細(xì)節(jié)請(qǐng)參照有關(guān)的數(shù)據(jù)手冊(cè)或應(yīng)用公式。
2. 通常模擬信號(hào)的輸入端的電阻太高(大于10Kohms)會(huì)使采樣電流下降從而影響轉(zhuǎn)換精度。若輸入信號(hào)不能很快的改變,建議在輸入通道口用0。1UF的電容;它將改變模擬通道的采樣電壓;由于電流的補(bǔ)給,內(nèi)在的保持電容為51.2PF。
3. 若沒(méi)有把所有的A/D通道用完,最好少用AN0端。因它的下一個(gè)腳與OSC1緊靠在一起,會(huì)對(duì)A/D對(duì)轉(zhuǎn)換造成影響。
4. 最后,在系統(tǒng)中,若芯片的頻率較低,A/D轉(zhuǎn)換的時(shí)鐘首選的是芯片的振蕩。這將在很大范圍內(nèi)降低數(shù)字轉(zhuǎn)換噪音的影響。同時(shí),在系統(tǒng)中,在A/D轉(zhuǎn)換開(kāi)始后,進(jìn)入SLEEP狀態(tài),必須選擇片內(nèi)的RC振蕩作為A/D轉(zhuǎn)換的時(shí)鐘信號(hào)。該方法將提高轉(zhuǎn)換的精度。

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

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

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

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

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

PIC單片機(jī)型號(hào)的溫度級(jí)如何識(shí)別?
以16C54-04X / P為例:
X =沒(méi)有,商業(yè)級(jí),溫度范圍是0-70℃;
X= I, 工業(yè)級(jí),-40-85℃;
X = E, 汽車(chē)級(jí),-40-125℃;
例如:PIC16C54C-04/P 商業(yè)級(jí) PIC16C54C-04I/P 工業(yè)級(jí) PIC16C54C-04E/P 汽車(chē)級(jí)

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


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

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


評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉