单片机IIC通讯实例讲解
IIC通讯在单片机开发中是比较常见的一种通讯协议,也有很多网友对其进行了详细分析,但是作者发现网友大多是对IIC进行理论上的讲解,很少有具体分析通讯内容,现在作者将以数字电位器(CAT5140)为实例为你讲解单片机如何通过IIC进行通讯。(数字电位器可以理解位一个滑动变阻器,RH为滑动变阻器上端,RL为滑动变阻器下端,RW为滑动端)。
第一步我们当然要读CAT5140的数据手册,对于IIC通讯的器件,我们重点关注如下信息:首先,自然是要看器件支持的通讯速度以及VCC电压范围,如图(1)我们就可以知道CAT5140最大支持400KHz的通讯速率,供电范围在2.5-5.5V。
图(1)器件资料1
然后我们就要获取器件地址了,如图(2)我们就可以知道器件地址为0x50+读写位。
图(2)器件地址
获取器件地址后,我们便要根据器件的脚位描述来画线路图了,图(3)为器件脚位描述。
图(3)器件脚位描述
根据描述,可以得出如下线路图,SCL和SDA接单片机IIC通讯口即可。
图(4)器件连接图
画出线路图后,我们就要进行最后一步了,那就是驱动该器件。下面我们来看往CAT5140的寄存器地址(0x00)写数据的操作过程。可以看出整个过程复位9个步骤(有些器件是直接给时序图)。
可以大致描述为:开始信号-写器件地址(0x50)-从机应答-写寄存器地址(0x00)-从机应答-写数据(0x1a)-从机应答-如需要重复写数据则重复6和7两个步骤即可-主机发送停止信号。
按照这个步骤我们就可以实现器件的驱动,如果出现问题,我们可以通过示波器或者逻辑分析仪抓取信号波形,如下图,只要逐步对比,就可以看出是哪个步骤出错了。
图(5)时序图
通过分析SDA和SCL的波形,与数据手册给出的步骤吻合,所以这个器件我们驱动成功。如有些器件给出的是时序图,那我们就直接对比时序图就好。
如文章对你有帮助,欢迎关注作者,后面作者将为你推送更有价值的文章!如大家如有疑问,请把问题发到评论区,我们一起讨论。如各位路过的大佬有更好的方法,欢迎发到评论区分享给大家,谢谢~~
//附上参考程序
//addr 器件地址
//RegAddr 寄存器地址
//dat 写入寄存器的数据
void IIC_SendOneByte(u8 addr,u8 RegAddr,u8 dat)
{
u8 i = 0;
IIC_Init();
IIC_Start();
for(i=0;i<8;i++)
{
if(addr & 0x80)
SDA = 1;
else
SDA = 0;
NOP(2);
SCL = 1;
NOP(4);
SCL = 0;
addr <<= 1;
}
IIC_WateACK(); //等待从机应答
NOP(8);
for(i=0;i<8;i++)
{
if(RegAddr & 0x80)
SDA = 1;
else
SDA = 0;
NOP(2);
SCL = 1;
NOP(8);
SCL = 0;
RegAddr <<= 1;
}
IIC_WateACK(); //等待从机应答
NOP(16);
SCL = 0;
NOP(16);
//SDAM = 0;
for(i=0;i<8;i++)
{
if(dat & 0x80)
SDA = 1;
else
SDA = 0;
NOP(4);
SCL = 1;
NOP(8);
SCL = 0;
NOP(4);
dat <<= 1;
}
IIC_WateACK();//等待从机应答
IIC_Stop(); //主机发送停止信号
}
基于PIC单片机的交流净化稳压电源设计
本文完成了交流净化稳压电源的设计,定量设计和计算了系统的主回路,完成了控制电路的硬件设计。通过交流净化稳压电源仿真模型的建立,实现了电源主回路的仿真,进一步明确了主回路各元件参数对电源输出电压的影响。通过对样机稳压性能的实际测试证明,样机的稳压性能可以很好的满足对输出电压的稳定要求,并且在实际 试用 中,效果良好。
目前,现有的各类民用稳压电源均普遍针对一般民用电网的特点而设计,不适合航天发射计量测试的需求。一般说来,民用电网由于负荷大,电源电压通常偏低,而航天计量测试设备所用的电网由于采用了逆变不间断供电技术,供电容量相对较小,易受负荷变动的影响,为适应多种负荷的工作需要,电源电压通常偏高。
普通的交流稳压电源,由于供电波形失真大,过零检测不准确,易造成输出电压不稳,另外,由于某些交流稳压电源的一些固有的特点,当驱动非线性负载时易产生振荡。这样就造成的问题主要是现有稳压电源不适用于航天计量测试的条件,故障率高,使用寿命短,一般不超过2年,给计量测试工作带来很大的麻烦。
1 交流净化稳压电源设计方案
通过对国内外交流稳压电源技术现状了解和发展动态的分析,以及对发射基地供用电特点的调查,计量测试用精密交流净化稳压电源的设计方案主要考虑2个方面的内容,一是主调整回路采用正弦能量分配器,在设计上主要考虑输入电压普遍偏高,且变动幅度大,谐波含量丰富的基地供电特点,需要对正弦能量分配器各元件进行参数的设计;二是由于计量测试用电对稳压精度的要求较高,控制电路的设计成为研制的关键。
交流净化稳压电源的基本设计思路是,在设计正弦能量分配器、采用数字控制技术的基础上,充分借鉴目前交流稳压电源设计技术,根据对交流净化稳压电源自身特性的理解,着重克服基地实际使用中面临的问题,以达到预先的设计目标。根据上述思路,设计如图1所示的交流净化稳压电源原理框图。
该方案设计以含有功率滤波功能的正弦能量分配器为主回路,控制电路以PIC微处理器为核心,由过零检测电路、电压采样电路、波形采样电路、电平变化电路组成。当市电电压或负载波动引起输出电压变化时,通过采样电路和数字化处理之后,通过控制电路控制双向可控硅SCR的导通角,从而改变流过电感的电流的大小,进而改变补偿电压的大小及其相位,最后达到稳压的目的。
图1 原理框图
电源控制电路要解决的主要问题:精密过零检测技术,误差放大技术,振荡抑制技术,可控硅导通角精密控制技术,极速稳压技术,以克服正弦能量分配器主调整回路易产生低频振荡的缺陷,使长期稳压精度优于±1%,稳定时间减小到10ms。
2 控制电路硬件设计与仿真
传统精密交流净化稳压电源的改进,即数字监控精密交流净化稳压电源的开发方案根据当前技术发展、数字化趋势,通过对数字信号处理器DSP和可编程逻辑控制器PLD、单片机MPU三者组成数字监控系统的优缺点的比较,综合经济和功能实现的要求,精密交流净化稳压电源监控系统的改进任务由单片机实现。
2.1 控制电路中各功能电路设计
控制电路设计应遵循下列设计原则:
1.选择典型电路和微处理器的常规用法,便于实现硬件系统的标准化、模块化。2.系统中模块设计尽可能做到性能匹配,例如选用晶振频率较高时,存储器存取时间有限,应该选择允许存取速度较高的芯片。3.微处理器外接电路较多时,必须考虑其驱动能力和电平配合。4.系统硬件配置与应用软件方案统筹考虑,软件能实现的功能尽可能由软件来实现,以简化硬件结构。5.可靠性和抗干扰设计是硬件系统设计不可缺少的一部分,它包括芯片、器件选择、电气隔离等。2.1.1市电同步正弦波电路
该部分电路的作用是获得与市电同步的正弦波。因为与市电同步的正弦波是以后产生与市电同步脉冲波的基础,而整个数字监控系统的工作都是按照与市电同步的脉冲波的时序来进行的,系统监控核心PIC单片机处于中断工作方式,与市电同步的脉冲波是它的中断触发信号,可见这部分电路的作用十分重要。
2.1.2 同步脉冲波电路
交流净化稳压电源是根据输出电压的大小改变晶闸管导通的相位角来稳定电压的,这个相位角由众多因素来决定,同时晶闸管触发脉冲必须与交流信号同步,而交流过零点脉冲的提取是确定相位角的基础,只有准确无误的捕获它,才能准确确定相位角。
当为整流滤波型负载时,使其交流输入电流为严重的非正弦波,使输出电压波形平顶化,并最终影响到过零采样点处的电压幅值和波形,这是造成普通控制电路控制的净化型交流稳压电源振荡的主要原因,波形示意图如图2,3所示。
图2 市电同步正弦波电路波形示意图
图3 市电同步脉冲示意图
这里选取的方案是与市电同步的正弦波先通过一片LM339组成的比较器得到方波,然后通过一片LM339组成的电平转换电路进行电平转换,最后通过一片线性光耦TIL117进行光电隔离,得到与市电同步的脉冲波。脉冲波的上升沿十分陡峭,而且使用了线性光耦TIL117进行光电隔离,保证数字监控系统免受其他外来噪声的干扰,实现强弱电的隔离。
光电隔离器传输信号采用光电转换原理,使信号输入端与信号接受并输出端实现电绝缘。因此,可以消除输入回路中噪声信号、共地杂波等对输出回路的信号干扰,实现直流信号到交流或脉冲信号间的传送,如图4所示。
图4 市电同步脉冲电路原理图
图5 电压采样电路原理图
2.1.3 电压采样电路
任何一个含有智能处理单元的电路系统中,采样信号处理的好坏,对整个电路系统的性能都起着至关重要的作用。这是因为,一方面采样电路的好坏,关系到能否为智能处理单元提供正确、稳定的采样信号,如实地反应电路系统的状态;另一方面,质量优异的采样信号为相应的电路提高转换质量和稳定性提供了保障。电源实际控制电路的设计中,为提高整个交流稳压系统的稳压精度和系统故障检测功能,在稳压电源的输入电压和输出电压都设置了采样电路。
输出电压采样值的精确与否对本数字监控式精密净化稳压电源技术指标的提高的影响是十分关键的,因为根据输出电压采样值来计算可控硅触发脉冲的起始时间,以达到监控的目的。输出电压进行采样的同时,加上了电压限幅电路和高频滤波电路。 先把输出电压通过全波整流,转换为纹波较小的脉动直流,然后通过两个二极管组成的限幅电路,最后通过RC电路进行高频滤波,送入PIC单片机A/D转换口,如图 5所示。
另外,为了实时的相对准确的显示输入电压和输出电压的波形,还设计了波形采样电路及信号处理电路,晶闸管触发电路,报警电路,控制电路供电电源等等这里不一一叙述。
2.2 电源主回路仿真
在确定电路主回路参数的基础上,利用PSPICE的电路仿真能力,对于主回路中各参数的作用做了较为详细的研究,仿真图如图6所示。
图6 净化稳压电源主回路仿真示意图
图7 输出电压与可变电感曲线关系图
图8 输出电压与负载阻抗曲线关系图
在电源主回路的仿真研究中,为了清晰的、直观的显示主回路参数对输出电压的影响,假设电源主回路其他元件参数固定不变。单独分析可变电感L在(38.7mH-200 mH)变化时,输出电压呈现了逐渐下降的趋势。
这种主回路元件参数的组合,在没有控制电路稳压控制的时候,最大电压输出值达到280V,最小电压输出值可以达到160V,如图7所示,如显然难以满足稳定输出电压的要求,但只要通过控制电路实现晶闸管控制角的相应改变,可变电感值必然发生相应变化,输出电压的变化趋势一定会发生相应的变化,可以达到电源稳压的目的。
在交流稳压电源的实际使用中,影响电源稳压特性的因素很多,而电源负载阻抗的复杂特性和大小变化也是其中的重要影响元素。那么电源负载阻抗的变化,对于稳压电源输出电压的影响到底怎么样呢?假设电源负载阻抗从空载阻抗一直变化到满载阻抗,稳压电源的输出电压变化规律怎么样呢?
这里,设交流稳压电源空载时,负载阻抗值为1KΩ;满载时,设定其负载值为50Ω。如图8 所示,在主回路其他元件参数固定的情况下,负载阻抗的变化,确实可以引起输出电压的相应变化。当负载阻抗从满载阻抗增大时,输出电压相应的呈增大趋势。
图9 输出电压与感性阻抗曲线关系图
图10 输出电压与容性阻抗曲线关系图
交流稳压电源的实际应用中,负载阻抗的表现为感性的情况较多。当负载阻抗存在感性阻抗时,交流输出电压值相应的产生变化。在交流稳压电源主回路其他元件参数不发生变化时,输出电压随感性负载的增大,呈现减小的趋势,如图9所示。
图10中所示的这种变化关系,是一种理想的变化状况,在实际的电源使用中负载的变化规律复杂,但是这样的关系直观的表达了感性负载变化时输出电压的变化规律。
交流稳压电源的实际应用中,电源负载的特性复杂,容性阻抗作为阻抗类型的一种,到底对于交流稳压电源的输出电压影响作用如何,本文在规定其他主回路元件参数不变的基础上做了仿真分析。
图10中显示,容性阻抗在一定的范围内,当容性阻抗逐渐增大时,输出电压呈上升趋势。但是当容性阻抗超出这个范围后,输出电压随着容性阻抗逐渐增大而逐渐减小。这种固定其他因素不变,单独反映容性阻抗的影响作用的曲线图,从一个侧面直观的反映了电源负载阻抗对于输出电压影响的复杂性。
图11 输出电压与可变电感并联电容曲线关系图
图12 输出电压与滤波电容曲线关系图
交流净化稳压电源的稳压原理是通过改变晶闸管导通角的大小,来改变可变电感的大小,进而改变可变电感与并联电容组成的电抗属性和大小,通过控制电路从而实现输出电压的稳定输出。所以,并联电容的选取很关键。
图11中显示,一定范围内增大并联电容,减小可变电感与并联电容组成的电抗值,输出电压呈下降趋势。但是,当并联电容增大超过一定范围后,对输出电压的影响作用变化不定,这样会影响电源工作的稳定性,这也为主回路并联电容大小的选取提供了必要的指导。
在交流净化稳压电源主回路的设计中,有专门谐振于市电3倍频和5倍频的滤波电容和电感的设计,除此之外,在交流净化稳压电源的设计中,与电源负载并联的滤波的电感的设计也很重要,它在一定意义上将极大的影响交流净化稳压电源的低通滤波特性。从图12中可以清晰看出,滤波电容的选取不宜太大,太大会对电源的工作稳定性产生不良影响。
3.样机稳压性能测试
交流稳压电源中,负载变化、主回路参数、输入电压等因素会引起输出电压的变化。在实际交流稳压电源的应用中,各种相关因素是不断变化的,而输出电压最大限度保持恒定的能力是用户最关心的事情。样机经性能测试,其指标完全符合设计要求,后在计量站进行了实际试用,效果良好。
图13是实验样机的实物图片,为说明其主要性能表现,给出了稳压电源在5KW输出负载时,通过调压器对输入电压进行突变调节时,图14所示实测的输入输出比对波形, 图15所示外场实测的输入输出比对波形。
图13 高稳定度精密供电电源样机实物图
图14 实测输入输出比对波形(上波形为输入,下波形为输出)
图15 外场实测输入输出比对波形(上波形为输出,下波形为输入)
从图14中明显看出,稳压精度优于±1%,稳压输出的调整速度不大于10ms,表明研制的稳压电源具有优良的性能。从图15中可以看出,外场实际的输入电压波形得到了很好的改善,输出电压可以满足实际需求。
4.总结
通过交流净化稳压电源仿真模型的建立,实现了电源主回路的仿真,进一步明确了主回路各元件参数对电源输出电压的影响,为主回路参数的斟酌选取提供了理论指导,并且克服了实际设计中器件更换繁琐的缺点,对于各元件参数的影响有了直观的认识。
通过对样机稳压性能的实际测试证明,样机的稳压性能可以很好的满足基地对输出电压的稳定要求,并且在实际试用中,效果良好。
(本文选编自《电气技术》,作者为任贤。)
相关问答
交流 电压220V如何用 单片机 测量电压?要用单片机测量交流220V的电压,需要三个步骤:将高压的220V电压变压成低压交流信号;一般通过电压互感器将220V的电压转换为低压交流信号,电压互感器的电路...
如何将51 单片机 与电脑通过串口连接并实现数据 交流 ?51单片机端口是TTL电平电脑串口是标准RS232电平必须做电平转换才能连接,传输数据E232-TTL串口电平转换模块51单片机端口是TTL电平电脑串口是...
单片机 的最小单位?这句话说的多少有些毛病,实际上单片机可以有由一两个简单信号控制的时候,比如复位信号。这句话如果改成:指令是我们对单片机进行程序控制的最小单位。这就比较...
单片机 怎么进行工频 交流 电流的采样啊?我是用电流?单片机进行流电流的采样,是通过电流互感器实现的,输出要接一个额定电阻作为负载,检测负载电压就可以了,不是直接检测电流。单片机怎么进行工频交流电流的采...
单片机 中50hz 交流 电过零检测电路的作用?零检测的作用可以理解为给主芯片提供一个标准,这个标准的起点是零电压,可控硅导通角的大小就是依据这个标准。也就是说塑封电机高、中、低、微转速都对应一...
如何实现 单片机 与手机的远距离通信?通过云服务器中转可以实现单片机与手机的远距离通信只要有互联网连接,通过云服务器中转,单片机和手机无论处于地球的哪一个角落都可以进行通信,这就是物联网...
单片机 在有传感器的电路中是起什么作用?比如根据气压传感器的数据,单片机可以计算出海拔高度。根据气压、温度、湿度的变化,可以进行天气预报。单片机是指挥中心根据传感器的数据,再结合用户的需求...
关于用 单片机 控制可控硅的导通角实现调节 交流 电压的问题?原理很简单,用可控硅的调光台灯电路到处都有,把上边电位器那一部分换成单片机的一个输出端,使用单片机输出PWM信号,即可得到不同的控制电压,以控制...
关于用 单片机 控制可控硅的导通角实现调节 交流 电压的问题?原理很简单,用可控硅的调光台灯电路到处都有,把上边电位器那一部分换成单片机的一个输出端,使用单片机输出PWM信号,即可得到不同的控制电压,以控制...
单片机 是怎么工作的?单片机就是多片机集于一片的机,俗称“微处理器”。多片指的是:处理器、存储器、ROM(FLASH)、RAM、I/O、定时器、时钟电路、复位电路等等。首先,我们想实...单...