原创 松翰 单片机 笔记

2011-2-24 13:47 2846 13 9 分类: MCU/ 嵌入式

摘抄了一些使用时的注意点:

1、. 独立按键与MCU如何连接能有效避免I/O口损伤?
Ans:
        在产品开发时,按键是最常见的功能,由于考虑到成本等因素,很多客户都是将按键的两端分别与MCU和GND相连,这种做法在大部分情况下是没有问题的。但是,当该产品的工作环境比较差时,比如静电、电源噪声等,此时若按键被按下,则相当于将MCU的一个I/O口直接与GND相连,此时就很可能会有瞬间大电流或高电压甚至负压灌入I/O口,造成I/O损坏。
       减少这种问题的防范措施是:根据实际电路的需要,在按键与MCU的I/O之间串接100ohm ~ 1Kohm电阻,可有效避免上述问题带来的损伤。

2、 可以在Interrupt Service Routine内执行Call吗?
Ans:
         因为sonix MCU Stack数目有限,在Interrupt中执行Call要特别注意,如果在进入Interrupt时Stack已经满了,则会造成Stack溢出,而使得程式无法返回。所以若要在Interrupt内执行Call,必需考虑在最差情况下Stack的使用数目,务必使在最差状况下进入Interrupt仍有Stack空间。

3、 仿真SN8P2722时,仿真器上的P0.4脚为何没有BUZZER输出?
Ans:
        在实际芯片中,SN8P2722的P0.4和BZ脚是复用的,但是在仿真器上的P0.4口仅能仿真普通I/O功能,而BUZZER功能则会通过LCD_DAT输出。在仿真BUZZER功能时,请确保蜂鸣器与仿真器的LCD_DAT相连,如果在连接正确的情况下仍然没有输出,则要检查程序中对BZM等相关寄存器的设置是否正确。

4、 在AD应用时,软件有那些注意事项?
Ans:
1. AD enable后,必须delay 200us以上,让AD电路稳定后才可开始取样。
2. AD channel切换后,必须delay 200us以上,让AD信号稳定后才可开始取样。
3. AD取样获得的数据,建议先做滤波处理后,再以其他方式做数据处理。
4. 建议客户在做程序初始化时,enable ADC,并定时启动ADC转换功能。

5、仿真ADC时,仿真器方面应注意哪些事项?
Ans:
由于模拟信号容易受到外部线路的影响,因此硬件设计时要保证模拟信号的稳定性,此外模拟信号输入到A/D输入端的线路要尽量短。仿真器方面,针对基准电压源作了特殊处理(保证其稳定性),因此仿真时,AVFREH与AVREFL处的跳针要短路。

6、 使用SONIX MCU的ADC功能时,在软件和硬件设计上应注意哪些事项?
Ans:
1. 软件方面应该注意的:
        A/D信道转换需要一定的稳定时间,在软件设计时需要作考虑。为了保证每次AD转换的稳定与正确,最好在每次AD转换前都重新确定AD转换信道、AD转换分辨率、AD时钟源选择位,而且根据所应用场合对所取得资料进行合理的处理。 在第一次使能AD时(B0BSET FADENB),要有一个100us的delay,以保证内部AD电路达到稳定状态
2.硬件方面应该注意的:
        信号源要尽量与A/D转换输入端接近,而且要视芯片输入阻抗添加合适的电容并入信号源输入端。此外需保证AD转
换基准电压的稳定,模拟地与数字地要分开或隔离。

7、多通道AD转换时,是否会产生AD互相干扰的情况?
Ans:
      会产生相互干扰的情况。解决方法是,从一个通道AD转换结束到另一个通道A/D开始之前,应该加入一段延时,以便在AD器件的输入口稳定传送资料,让AD器件准确读取。一般DELAY 100us以上。

8、 如何判断ADC的结果是否已经稳定,并减少ADC跳动?
Ans:
        因为1900系列采用Delta-Sigma ADC,因此输出结果为渐进式稳定,建议采用移动平均+稳定误差方式判断ADC是否已稳定并减少ADC跳动,以4 点的移动平均,稳定误差需小于6为例:
       将最新的ADC转换结果与前三点比较,如果四个数值最大最小差距大于6,则视为不稳定,继续取得新数值比较,若此四点数值最大与最小差距小于6,可判断ADC已稳定,此时输出四点数据的平均值,下次ADC转换完成后,将最新的数值取代最旧的数值,平均后做为输出.如此可兼顾ADC稳定与减少跳动.

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
13
关闭 站长推荐上一条 /3 下一条