历史上的今天
返回首页

历史上的今天

今天是:2024年11月12日(星期二)

正在发生

2019年11月12日 | PIC单片机的常见问题

2019-11-12 来源:51hei

    1、PIC单片机振荡电路中如何选择晶体?

   对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒(往往用低电压以求低功耗)的系统。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易。在振荡回路中,晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)。晶体的选择至少必须考虑:谐振频点,负载电容,激励功率,温度特性,长期稳定性。


    2、如何判断电路中晶振是否被过分驱动? 

   电阻RS常用来防止晶振被过分驱动。过分驱动晶振会渐渐损耗减少晶振的接触电镀,这将引起频率的上升。可用一台示波器检测OSC输出脚,如果检测一非常清晰的正弦波,且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动;相反,如果正弦波形的波峰,波谷两端被削平,而使波形成为方形,则晶振被过分驱动。这时就需要用电阻RS来防止晶振被过分驱动。判断电阻RS值大小的最简单的方法就是串联一个5k或10k的微调电阻,从0开始慢慢调高,一直到正弦波不再被削平为止。通过此办法就可以找到最接近的电阻RS值。


  3、晶振电路中如何选择电容C1,C2?

  (1):因为每一种晶振都有各自的特性,所以最好按制造厂商所提供的数值选择外部元器件。

  (2):在许可范围内,C1,C2值越低越好。C值偏大虽有利于振荡器的稳定,但将会增加起振时间。

  (3):应使C2值大于C1值,这样可使上电时,加快晶振起振。


  4、PIC系列单片机I/O脚有什么特点?

  PIC系列单片机的任意一条I/O管脚都有很强的带负载能力(至少可提供或灌入25mA的电流)。因此,在某些场合,这些管脚可作为可控的电源。举个例子,在一些低功耗的设计中,希望一些周围的器件在系统待命时不耗电或尽量少耗电,此时,可考虑这些器件的电源供电由一条I/O脚负责提供,在工作时,MCU在该条管脚上输出高电平(接近VDD),带几个mA的负载绝对不成问题;若要进入低功耗模式,MCU就在该管脚输出低电平(接近0),被控器件没有了电源,也就不会耗电。比如LCD显示电路,信号调制电路等都非常适合此类控制。 


  5、为何系统在外界磁场和电场的干扰时,不能正常工作?

   如果在主控电路中没有滤波电路,您用的芯片在/MCLR端应接一个能保证滤去该端口上的窄脉冲电路。因/MCLR上加的低电平宽度应大于2US,系统才能复位,而小于2US的低电平将会干扰系统的正常工作。 


  6、使用带A/D的PIC芯片时,怎样才能提高A/D转换的精度?

  (1):保证您的系统的时钟应是适合的。如果您关闭/打开A/D模块,应等待一段时间,该段时间是采样时间;如果您改变输入通道,同样也需等待这段时间,和最后的TAD(TAD为完成每位A/D转换所需的时间)。TAD可以在ADCON0中(ADCS1、ADCS0)中选择,它应在2US-6US之间。如果TAD太小,在转换过程结束时,没有完全被转换;如果TAD太长,在全部转换结束之前,采样电容上的电压已经下降。对该时间的选择的具体细节请参照有关的数据手册或应用公式。

  (2):通常模拟信号的输入端的电阻太高(大于10Kohms)会使采样电流下降从而影响转换精度。若输入信号不能很快的改变,建议在输入通道口用0。1UF的电容;它将改变模拟通道的采样电压;由于电流的补给,内在的保持电容为51.2PF。

  (3):若没有把所有的A/D通道用完,最好少用AN0端。因它的下一个脚与OSC1紧靠在一起,会对A/D对转换造成影响。

  (4):最后,在系统中,若芯片的频率较低,A/D转换的时钟首选的是芯片的振荡。这将在很大范围内降低数字转换噪音的影响。同时,在系统中,在A/D转换开始后,进入SLEEP状态,必须选择片内的RC振荡作为A/D转换的时钟信号。该方法将提高转换的精度。

 

  7、PIC16C7XX的A/D片内RC振荡器能否用于计数器?

   16C71A/D转换器片内RC振荡器的作用是让MCU处于睡眠时(此时主振停振)能有一个时钟源来进行A/D转换。此RC振荡器因其内部设计的限制不能被其他电路使用。 A/D转换器内部RC振荡器钟频典型值为250K,但会随着环境温度,工作电压,产品批号等不同而有相当的变动。 定时器的时钟源可以选择内部的振荡频率,也可以是外部的脉冲输入信号。若你能选择后者,那就能方便地做到MCU的主频很高而时钟的溢出率较低。不然,除了用软件来计数分频,好象也没有其它招数。 另一种选择是用其它型号的MCU,其内部至少还另有一个TIMER1,因为TIMER1可以有独立的一颗晶体作为时钟振荡的基准,你可以方便地选用频率低的晶体来完成你的设计。


  8、为什么PIC单片机应用中,有时出现上电工作正常,而进入睡眠后唤醒不了?

  对于一个高可靠性的系统设计,晶体的选择非常重要。在振荡回路中,晶体既不能过激励(容易振到高次谐波上),也不能欠激励(不容易起振)。尤其在设计带有睡眠唤醒(往往用低电压以求低功耗)的系统中,若还是随手拿一颗晶体就用,你的系统可能会出问题。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多得多,起振变得很不容易。评价振荡电路是否工作在最佳点的简单方法时用示波器看OSC2脚上的波形(必须考虑示波器接入电容!)最好的情形是看到非常干净漂亮的正弦波,没有任何波形畸变,而且要满幅(接近VCC和GND)晶体的选择至少必须考虑:谐振频点,负载

电容,激励功率,温度特性,长期稳定性。 


  9、PIC单片机应用中晶体选择的注意事项。

   对于一个高可靠性的系统设计,晶体的选择非常重要。在振荡回路中,晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)。尤其在设计带有睡眠唤醒(往往用低电压以求低功耗)的系统中,若还是随手拿一颗晶体就用,你的系统可能会出问题。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多得多,起振变得很不容易。 有人评价:PIC单片机对晶体的要求怎么这么高,用51好象从来就没有这么麻烦,手里抓到什么就用什么,也不见有问题呀?且慢,这样比较前提并不一样,同样在睡眠时,有谁见过51系列不用复位而仅靠内部或外部事件唤醒吗?若你并不需要这么高级的设计技术,PIC也大可以让你逮到什么晶体就用什么。 评价振荡电路是否工作在最佳点的简单方法时用示波器看OSC2脚上的波形(必须考虑示波器接入电容!)最好的情形是看到非常干净漂亮的正弦波,没有任何波形畸变,而且要满幅(接近VCC和GND) 晶体的选择至少必须考虑:谐振频点,负载电容,激励功率,温度特性,长期稳定性。 


  10、为何使用PICSTAR-PLUS烧写16CE625-04/P有时无法把保密位烧成"保密"?

   使用PICSTAR-PLUS对芯片编程时,程序代码是放在计算机的RAM中,每次写程序时通过串口把数据下载到烧写器中去编程,所以可能会出错。我不怀疑你操作有问题,但是请注意的PICSTAR-PLUS是用于开发用途的编程器,不推荐用于规模生产。你能计算出出错概率为1%,看来你是用它来作大规模生产了。为保证烧写可靠,推荐你使用高奇公司生产的PICKIT编程器。 


  11、PIC单片机型号中,后缀A/B/C分别代表什么?

   PIC单片机型号中,后缀A/B/C表示的是芯片生产的工艺不同。从A到C是工艺不断更新,硅片圆盘(Wafer)的直径变大,线宽变窄,线距变密,在同一个圆盘上可以制作出更多的芯片,从而降低了生产成本。 从功能角度来看,三者是一样的。当然,新版本的芯片中会把现有版本中存在的一些问题作些修正,功能会得到扩充。 从性能指标上来讲,三者有些差距。一个明显的表现是在电源电压的承受范围。制作线宽越细,所能承受的电压越低。例如,PIC16C57的最高电源电压指标为6V,而57C的指标为5.5V。 绝大多数情况下新版的片子可直接替换旧版。从目前发现的问题来看,主要出在晶体振荡电路部分。原因是新版芯片振荡电路内部的反向放大器的增益要比旧的高出许多。若晶体选择的不合理,可能会振荡到高次谐波上去。有些客户也提出新版的片子抗干扰的性能不比旧版的片子。其实,我们公布的技术指标在这方面并没有任何牺牲,只是工艺上的原因,我们留的余量减少了。请大家注意不要认为PIC的片子抗干扰能力强,在电路设计时就一点不考虑应有的抗干扰措施。 


  12、PIC单片机型号的温度级如何识别?

  以16C54-04X / P为例:

  X =没有,商业级,温度范围是0-70℃;

  X= I, 工业级,-40-85℃;

  X = E, 汽车级,-40-125℃;

  例如:PIC16C54C-04/P 商业级 PIC16C54C-04I/P 工业级 PIC16C54C-04E/P 汽车级


  13、PIC单片机的各种中断有没有优先级之分?

   中档PIC单片机的中断入口只有一个,硬件不分优先级,但可用软件查询的方式决定其优先级高低:先查先做,优先级为高。高档的17和18系列,包括即将推出的16位dsPIC,中断有硬件优先级。 


  14、为什么PIC单片机应用中,有时出现上电工作正常,而进入睡眠后唤醒不了?

   对于一个高可靠性的系统设计,晶体的选择非常重要。在振荡回路中,晶体既不能过激励(容易振到高次谐波上),也不能欠激励(不容易起振)。尤其在设计带有睡眠唤醒(往往用低电压以求低功耗)的系统中,若还是随手拿一颗晶体就用,你的系统可能会出问题。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多得多,起振变得很不容易。


  评价振荡电路是否工作在最佳点的简单方法时用示波器看OSC2脚上的波形(必须考虑示波器接入电容!)最好的情形是看到非常干净漂亮的正弦波,没有任何波形畸变,而且要满幅(接近VCC和GND)晶体的选择至少必须考虑:谐振频点,负载电容,激励功率,温度特性,长期稳定性。


推荐阅读

史海拾趣

BNS Solutions公司的发展小趣事

随着技术的不断进步,BNS Solutions公司意识到,要想在竞争激烈的电子行业中保持领先地位,必须不断拓展市场并寻求战略合作。于是,公司开始积极拓展国内外市场,与多家知名企业和机构建立了紧密的合作关系。通过合作,BNS Solutions公司不仅获得了更多的资源和支持,还成功将产品推广到了更广泛的市场领域。同时,公司还积极参与行业交流活动,不断提升自身在行业内的影响力和地位。

苏州锋驰(Feng)公司的发展小趣事
稳流器通常通过将多余电压转化为热量来维持恒定的电流输出,因此存在一定的能量消耗。
友盟(AP)公司的发展小趣事

在追求商业成功的同时,友盟(AP)公司也积极履行社会责任,致力于可持续发展。公司关注环境保护、公益事业等方面的问题,积极参与相关活动和项目。同时,友盟还通过技术创新和产品优化,推动电子行业的绿色发展和数字化转型。这些努力不仅提升了公司的社会形象,也为其未来的发展注入了新的动力。

以上是关于电子行业里友盟(AP)公司发展起来的5个相关故事。这些故事从不同角度展现了友盟在技术创新、合作伙伴关系、市场拓展、人才团队建设以及社会责任等方面的努力和成就。当然,每个公司的发展都是一个复杂而多元的过程,这些故事只是其中的一部分。

奇力新(chilisin)公司的发展小趣事

奇力新公司自创立之初,就专注于电感器的研发与生产。创始人凭借对电感技术的深入理解和市场需求的敏锐洞察,确定了公司的发展方向。在创业初期,奇力新积极引进先进的生产设备和技术人才,建立了一套完整的技术研发和生产体系。通过不断的技术积累和创新,奇力新逐渐在电感器领域取得了领先地位。

CONTRINEX公司的发展小趣事

自1972年在瑞士成立以来,Contrinex便踏上了成为全球传感器行业领军企业的征程。起初,公司专注于开发工业用的位置判定传感器,凭借其卓越的技术和精准的性能,很快便在市场上崭露头角。随着技术的不断进步和市场的不断扩大,Contrinex逐渐将业务拓展至全球60多个国家,旗下拥有500多名优秀员工,成为一家真正的国际化企业。

FREESCALE (NXP)公司的发展小趣事

面对海洋环境的独特挑战,Contrinex推出了海洋系列传感器。这些传感器采用全金属技术,外壳材质为V4A/AISI 316L不锈钢,防护等级高达IP68/IP69K,能够抵御恶劣的海洋环境。同时,该系列传感器还具备卓越的EMC防护性能,能够满足各种海洋应用需求。这一创新产品的推出,进一步巩固了Contrinex在传感器行业的领先地位。

问答坊 | AI 解惑

求vxworks网络驱动开发资料

求vxworks网络驱动开发资料…

查看全部问答>

我来说下关于论坛的看法(如果发错板块了,请版主见谅阿)

很久没上论坛了啊,最近一段时间太忙,今天上了下,发现人气还是很火,真的不错,现在很多的论坛,qq群虽然都很多人,但是讨论的太少,交流也有限。(不知道是不是人人都不爱说话的原因) 我支持我们这个论坛,希望能一直这么热闹下去,和大家一起 ...…

查看全部问答>

打印机数据获取

一台仪器(由专用微机控制, 输出为USB打印机接口),其输出为打印机 现,想把这台仪器输出的数据到PC上,编辑后,再打印 Q: 现在: 仪器  --- 输出 ---> 打印机(USB) 需求: 仪器  --- 输出--->PC(编 ...…

查看全部问答>

单片机开发深度资料

单片机开发深度资料…

查看全部问答>

吉他 电子 发展方向 研究领域

各位IT界的专家和同行们,你们有喜欢吉他的吗?我想了解一下有关吉他方面的电子发展前景,比如吉他的拾音器等等。谢谢!…

查看全部问答>

请问下UCOS+ARM9模式下如何编写串口通信

请问下UCOS+ARM9模式下如何编写串口通信 最近将UCOS移植到了ARM9下,但是编写串口通信时出了问题,主要是目前串口无法接受到PC机上的数据,请问各位朋友有谁碰到过类似的问题?…

查看全部问答>

USB资料共享

小弟最近学习USB,发现论坛这方面资料很少。上传些,希望大家能多多交流。…

查看全部问答>

在CCSV5怎样加载IAR工程

在CCSV5怎样加载IAR工程,求教…

查看全部问答>

开关AD中断会影响AD转换结果?

程序中在计算数值的时候将AD中断关闭,计算完成后再将AD中断打开,但是现在发现在AD采样率低的时候AD转换结果没问题,但是提高了采样率,AD结果就不对了,寄存器显示OVERRUN,貌似是数据丢失或者覆盖,这是咋回事呢? 开关AD中断不该影响AD转换啊? ...…

查看全部问答>

cc2650dk运行contiki-os

本帖最后由 lyzhangxiang 于 2015-7-2 23:07 编辑 搭建了一下开发环境,已经能够运行contiki了,基本和我预料的一样,分分钟可以跑contiki,就是这么easy。 最简单的hello-world 复杂一点的cc26xx-web-demo 效果 mqtt+coap+sensor ...…

查看全部问答>