跳转到主要内容

单片机

单片机5V转3.3V电平的19种技巧(一)

cathy /

<strong>技巧一:使用LDO稳压器,从5V电源向3.3V系统供电</strong>

标准三端线性稳压器的压差通常是 2.0-3.0V。要把 5V 可靠地转换为 3.3V,就不能使用它们。压差为几百个毫伏的低压降 (Low Dropout, LDO)稳压器,是此类应用的理想选择。图 1-1 是基本LDO 系统的框图,标注了相应的电流。从图中可以看出, LDO 由四个主要部分组成:

1. 导通晶体管

2. 带隙参考源

3. 运算放大器

4. 反馈电阻分压器

在选择 LDO 时,重要的是要知道如何区分各种LDO。器件的静态电流、封装大小和型号是重要的器件参数。根据具体应用来确定各种参数,将会得到最优的设计。

谈谈数字电路、单片机中出现的干扰问题及解决措施

cathy /

<strong>形成干扰的基本要素有三个:</strong>

(1)干扰源,指产生干扰的元件、设备或信号,用数学语言描述如下:du/dt,di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。

(2)传播路径,指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。

(3)敏感器件,指容易被干扰的对象。如:A/D、D/A变换器,单片机,数字IC,弱信号放大器等。

<strong>抗干扰设计的基本原则是:</strong>抑制干扰源,切断干扰传播路径,提高敏感器件的抗干扰性能。(类似于传染病的预防)

<center><img src="http://mouser.eetrend.com/files/2018-03/wen_zhang_/100010702-37536-gr.j…; alt=“” ></center>

单片机外围电路设计中的十大注意事项详解

cathy /

<strong>一、单片机上拉电阻的选择</strong>

<center><img src="http://mouser.eetrend.com/files/2018-03/wen_zhang_/100010571-36854-z1.j…; alt=“” ></center>

大家可以看到复位电路中电阻R1=10k时RST是高电平 ,而当R1=50时RST为低电平,很明显R1=10k时是错误的,单片机一直处在复位状态时根本无法工作。出现这样的原因是由于RST引脚内含三极管,即便在截止状态时也会有少量截止电流,当R取的非常大时,微弱的截止电流通过就产生了高电平。

<strong>二、LED串联电阻的计算问题</strong>

通常红色贴片LED:电压1.6V-2.4V,电流2-20mA,在2-5mA亮度有所变化,5mA以上亮度基本无变化。

单片机三种烧录方式ISP、IAP和ICP的区别详解

cathy /

玩单片机的都应该听说过这几个词。一直搞不太清楚他们之间的区别。今天查了资料后总结整理如下。

ISP:In System Programing,在系统编程
IAP:In applicaTIng Programing,在应用编程
ICP:In Circuit Programing,在电路编程

ISP是指可以在板级上进行编程,也就是不用拆芯片下来,写的是整个程序,一般是通过ISP接口线来写。

IAP虽然同样也是在板级上进行编程,但是是自已对自已进行编程,在应用中进行编程,也即可以只是更改某一部分而不影响系统的其它部分,另外接口程序是自已写的,这样可以进行远程升级而不影响应用。

<strong>打个比喻吧:</strong>
1、ISP是把房子拆了再重造一间,那么在造好之前当然是不能住人的啦!
2、IAP是在造好的房子里边进行一些装修,当然人可以继续住啦!

ICP是在电路编程,是LPC芯片的编程方式,相当于ATMEL的ISP,而LPC的ISP就相当于ATMEL的IAP了。

<strong>ISP与IAP的区别</strong>

常见的单片机数字滤波的算法,你都知道吗?

cathy /

单片机主要作用是控制外围的器件,并实现一定的通信和数据处理。但在某些特定场合,不可避免地要用到数学运算,尽管单片机并不擅长实现算法和进行复杂的运算。下面主要是介绍如何用单片机实现数字滤波。

在单片机进行数据采集时,会遇到数据的随机误差,随机误差是由随机干扰引起的,其特点是在相同条件下测量同一量时,其大小和符号会现无规则的变化而无法预测,但多次测量的结果符合统计规律。为克服随机干扰引起的误差,硬件上可采用滤波技术,软件上可采用软件算法实现数字滤波。滤波算法往往是系统测控算法的一个重要组成部分,实时性很强。

<strong>采用数字滤波算法克服随机干扰的误差具有以下优点:</strong>

1、数字滤波无需其他的硬件成本,只用一个计算过程,可靠性高,不存在阻抗匹配问题。尤其是数字滤波可以对频率很低的信号进行滤波,这是模拟滤波器做不到的。

2、数字滤波使用软件算法实现,多输入通道可共用一个滤波程序,降低系统开支。

3、只要适当改变滤波器的滤波程序或运算,就能方便地改变其滤波特性,这对于滤除低频干扰和随机信号会有较大的效果。

4、在单片机系统中常用的滤波算法有限幅滤波法、中值滤波法、算术平均滤波法、加权平均滤波法、滑动平均滤波等。

当单片机遇到多个模块的数据需要处理,应该怎么办?

cathy /

这里利用一个实际发生的例子,针对初级工程师经常犯的一个小错误,或者经常要走的一个弯路,做了针对性的纠正。希望可以帮到大家,文笔不好,文章中有叙述不清的地方大家多多指教。

这篇文章我不是想说编程的规范性的东西,如果你想让自己的程序文件最起码直观的看起来美观、可读性强,推荐找华为的“C语言编程规范”。我只想说一说当我们的单片机遇到多个模块的数据需要处理,类似于“多任务”时我们应该怎么办?

背景是这样的,9月份开始安排一个工程师开始做电动汽车交流充电桩,机械设计部分由公司机械结构部门负责。充电桩的电子部分总体上分为X个部分(用到的资源),电阻触摸屏(RS232),M1卡读写(RS232),电能计量表(RS485),语音提示(SPI),电力开关(继电器IO),通讯接口(RS485、CAN)。

工程师做的过程非常勤奋,期间也是困难重重,改了很多个版本,第二年6月总算把充电桩立起来了。

咱们来验收一下吧,结果发现读卡的时候不能处理触摸屏,播放语音的时候不能处理读卡,语音播放不能打断或者跳跃,反正就是所有事件必须一个一个按部就班的来,一旦操作错误就需要多次执行、等待、甚至重新来过。

一个工作3年多的工程师怎么会把产品做成这样呢?看看程序吧!

单片机与DSP中的单片机抗干扰措施

cathy /

在工业控制、智能仪表中都普遍采用了单片机,单片机抗干扰措施提到重要议事日程上来。单片机抗干扰措施不解决,其它工作也是白费劲。要解决单片机干扰问题,必须先找出干扰源,然后采用单片机软硬件技术来解决。

干扰源:主要来自外部电源、内部电源,印制板排版走线互相干扰,周围电磁场干扰,外部干扰一般通过IO口输入等。为叙述方便,我们分硬件、软件抗干扰措施来讲:

(一)硬件抗干扰措施

1.交流电源尽量采用电压稳定的电网

2.交流端用电感电容滤波,去掉高频低频干扰脉冲

3.变压器双隔离措施,变压器初级输入端串接电容,初、次级线圈间屏蔽层与初级间电容中心接点接大地,次级外屏蔽层接印板地,这是硬件抗干扰的关键手段

4.次级加低通滤波器,吸收变压器产生的浪涌电压

5.采用集成式直流稳压电源,有过流过压过热等保护

6.IO口光电磁电继电器隔离,避免公共地

7.通讯线用双绞线,排除平行互感

8.防雷电,用光纤隔离最为有效

9.A/D转换用隔离放大器或采用现场转换,减少误差

10.外壳接大地,解决人身安全及防外界电磁场干扰

单片机通过I/O口实现断电自关机时有个小矛盾,可以这样来解决!

cathy /

单片机应用系统中,常有用单片机的I/O口来实现自关机(彻底关机)的功能。一般用单片机的一个I/O口控制一个电子开关来实现,因单片机关电后,失去电源,所以在关机时,实现关机的IO口的电平必须用低电平。

但在这里有一个矛盾,就是在电子开关关闭电源时,因有电源滤波电容的存在,单片机系统的电压不是立即变为0,而是慢慢变低,当电压低到一定电压时,单片机将进入复位状态、或程序跑飞状态、或不确定状态,此时单片机控制关电的I/O口也可能变回高电平,将使电子开关重新开通。

<strong>解决方法:</strong>

一般单片机最低工作电压要比正常工作的电压低一些,我们就用这个差别来设计关机电路,就是让电子开关的开通电压必须大于单片机的最低工作压,这样在单片机正常工作时,此控制电压较高,能维持电子开关的正常导通,而当单片机在关电过程中因低压而产生的I/O口的高电平,因电压较低,不足以维持电子开关的导通, 从而实现彻底的关电。

单片机软件抗干扰的几种常见方法

cathy /

在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。

<strong>1 软件抗干扰方法的研究</strong>

在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。

1.1 指令冗余

CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞” 到了三字节指令,出错机率更大。

在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。

此外,对系统流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。

1.2 拦截技术