您当前的位置:五五电子网电子知识电子知识资料总线技术用MAX517实现与单片机IIC总线数据的通信 正文
用MAX517实现与单片机IIC总线数据的通信

用MAX517实现与单片机IIC总线数据的通信

点击数:7248 次   录入时间:03-04 11:51:14   整理:http://www.55dianzi.com   总线技术

  IIC总线是PhilipsSEMIconductors在20世纪80年代中期开发的,最初用于音频和视频目的。将IIC扩展为系统管理总线SMBus后可用于电源管理及CPU与其它组件的通信。IIC支持多主控模式,2.1版规定的传输速率在标准模式下为最高1OOkbit/s,快速模式下为400kbit/s,高速模式下为3.4Mbit/s。由于只需要微控制器的两个端口引脚就可以传输任意特性的数据,所以IIC总线协议得到了广泛的应用,并促进了大量的IIC外部芯片的开发,下面所用到的MAX517既是其中一种。
  
  由于51系列的单片机没有IIC总线接口,从而限制了具有IIC总线接口的器件在51单片机系统中的使用。通过对IIC总线时序的分析,可以用51单片机的两根I/0线来实现IIC总线的功能。电路原理见下图,PCB图见右图。PCB图

  IIC总线是PhilipsSemiconductors在20世纪80年代中期开发的,最初用于音频和视频目的。将IIC扩展为系统管理总线SMBus后可用于电源管理及CPU与其它组件的通信。IIC支持多主控模式,2.1版规定的传输速率在标准模式下为最高1OOkbit/s,快速模式下为400kbit/s,高速模式下为3.4Mbit/s。由于只需要微控制器的两个端口引脚就可以传输任意特性的数据,所以IIC总线协议得到了广泛的应用,并促进了大量的IIC外部芯片的开发,下面所用到的MAX517既是其中一种。
  
  由于51系列的单片机没有IIC总线接口,从而限制了具有IIC总线接口的器件在51单片机系统中的使用。通过对IIC总线时序的分析,可以用51单片机的两根I/0线来实现IIC总线的功能。电路原理见下图,PCB图见右图。

系统电路


  
  用AT89C2O5l的p1.0、P1,1两引脚,分别与MAX517的sda、scl两引脚相连接。单片机按照MAX517的工作时序,通过p1.1产生的脉冲,作为MAX517时钟信号,然后从pl,0引脚逐个地输出地址字节、命令字节和数据字节。数据的传送过程必须遵守以下的步骤:
  
  (1)起始条件
  
  传送没有开始的时候,单片机先将P1.1置高,使得MAX517的scl=1;然后控制pl.0由高变低,使得MAX517的sda产生负跳变,传送开始。
  
  (2)中间过程
  
  中间过程需要传送地址字节、命令字节和数据字节。根据MAX517的工作时序,当且仅当scl=0(即pl.0=0)时,sda的高低电平转换才有效;当scl=1时,sda电平状态保持。
  
  (3)终止条件
  
  当传送快结束时,单片机先将p1.1置高,使得sc1=1;然后控制p1.0由低变高,使得sda产生正跳变,标志着传送的结束该设计将89C2O51作为主设备,MAX517作为从设备。首先主设备发送起始命令接着向从设备发送一个地址字节58H,之后从设备则发一个应答信号,主设备接到应答后,再发给从设备一个控制字节OOH,当从设备接到该控制字节后,再发给主设备一个应答。主设备便可发给从设备要转换的8位数据,最后等待完成本次的D/A转换。流程图见下图。


流程图

  
  电路中单片机P1.7脚检测输入脉冲,定时器初始值45536,预留20MS的余量,因为输入脉冲高电平时间为1~2MS,则低电平的时间为18~l9MS。
  
  19MS(64536)-计时值=脉冲高电平时间t(us)。得高电平t时间为Ous~lO00us。T÷4→30H,则30H中的数据为OOH~OFAH(0~250)。
  
  D/A转换电压变化范围为:0×(5V÷256)-250×(5V÷1256)=OV~4.88V  



www.55dianzi.com

  (4)电压转换电路

  此电路完成电压值O~4.88V对应-1OV~+1OV的转换。
  
  第一级为同相比例放大电路,因而

  利用叠加原理,第二级电路的输出为:

  本设计使Rf2=3.1R2=3.1K(其它电阻值也可需满足3.1倍关系),调节R3使U11=2.44V则公式变为Uo2=(1+3.1)(U12-2.44)=4.1(U12-2.44)当Ul2从O~4.88V变化时,对应输出电压Uo2从-1O~+1OV变化。见下图

差分电压转换电路

 




本文关键字:单片机  通信  总线技术电子知识资料 - 总线技术