本文目录一览

1,IIC总线协议的问题

从读数据的角度来说没有区别;但是发了应答的话,从器件会继续输出数据,处于工作状态,发非应答则从器件就停止输出数据,处于standby状态,两种状态的耗能不一样的,实际应用时,就会在功率上有差别。
iic地址一样就不行,不过2个eerom有的也可以通过外部某引脚接高或者接低来使得从地址改变1位来达到连接2个同样从设备的目的iic通信就必须地址不同,spi就是用片选来控制。是这样的。

IIC总线协议的问题

2,2个单片机间以IIC进行通信它们各自的电压为33v和5v请问这是否

需要转换一下,最简单可以使用电阻配合三极管连接,注意,有的3.3V单片机可以承受5V的输入
中间需要加一个3.3转5V的电路吧
理论上应该不行的,需要加一个通信用的电压转换芯片
当然有问题,电压不匹配
1. 遇到这种界面问题,首先必须确认两个板子上的txd/rxd/gnd 若用到cts/rts当然也要 确认,确认它们的输出电压.(若是标准rs-232信号,那就确认两块板子的rxd/txd对接就是1板子的txd接2板子的rxd.....),有时候板子上输出的是ttl电压(5v/0v),串口标准电压是正负12v2. 一般拿出来卖的功能应该是有的,具体就是你怎么用?3. sp232是标准rs-232d界面,要加正负12v电压。sp3232的电压是3v-5.5v 也就是0v-3.3或5.5v两个当然不能直接接在一起。你看看是不是这个问题!

2个单片机间以IIC进行通信它们各自的电压为33v和5v请问这是否

3,IIC总线可以实现双向通信吗

可以啊,主机可以向从机读数据,亦可向从机写数据。 也可用于多主机系统!
对于疑问1:for循环已经把数据从主器件发送到从器件,没错,后面加那几句是为了释放数据总线,这是芯片协议已经规定了的,为什么是scl=0;而sda=1呢,应该总线scl与sda都是线与关系,任意一个器件输出低电平,都使该总线的信号变低,你可能会这么想:为什么不是scl=1;delay();sda=1;delay();呢?那是因为当scl=1;sda=1;这是终止信号。对吧,这样写的话iic将会停止工作。对于疑问2:加这几句也一样,是芯片现已规定:无论是写数据还是读数据,写完读完之后需释放总线,for循环语句的意思是:for(i=0;i<8;i++) scl=1; //拉高时钟总线,开始读数据 delay(); k=(k<<1)|sda; // 将读取到的sda数据存放到k中,这里你可能有点无法理解,我举个例子:刚开始k=0x00(系统默认),当读取到的sda数据为1时,k=0x01;对吧,反之当读取到的sda数据为0时,k=0x00; scl=0;// 读取完一个数据,拉低时钟总线 delay(); }就这样循环8次,这样一个字节的数据就从主器件读到了从器件了。对吧。如果那个释放总线你理解不了,你就记住,这是芯片协议规定,读完或写完都必须释放总线。iic协议都是如此。希望能帮助到你。

IIC总线可以实现双向通信吗

4,两个不同的芯片之间用IIC通信如何实现

IIC分主从,据我所知,从机不能主动发数据给主机(我也没查过这些资料,我就按我所知道和接触过的说)。IIC一般是2根线,主机不断控制CLK的翻转,这就是通讯频率,翻转一次,就通过SDA传一个数据(0或1).主机写数据到从机:起始+地址+读写命令+地址+数据+数据+数据+...+结束信号。从机:检测到起始+读地址+判断到写命令+读取地址+读取n个数据(n>0)+结束信号主机读从机数据:起始+地址+读写命令+地址 从机:检测到起始+读地址+判断到写命令+读取地址+控制SDA发送数据+直到检测到结束信号起始后7个数据是地址,第8个是读写标志。如果是写,表示下面SDA由主机控制,从机读SDA的状态。如果读,表示下面主机只控制CLK的信号翻转,从机在每次翻转时候,将数据写入SDA,主机来读。从机一直到发现新的起始信号活着结束信号方才结束本次通讯。总的来说:主机控制时钟频率(SCK翻转频率,可以不均匀)。主机先写,告诉从机下面要干嘛(写/读)。
分给的也太少了吧~!~!~推荐个芯片:vk3366vk3366是业界首款具备 iic/uart/spitm/8位并行总线接口的4通道uart器件。可以通过模式选择使得该芯片工作于以上任何一种主接口模式下:当主接口为uart时,vk3366将一个标准3线异步串口(uart)扩展成为4个增强功能串口(uart)。主接口uart在数据传输时可以选择需要转义字符和不需要转义字符两种模式。此外,主接口的uart可以通过引脚配置为红外通信模式。当主接口为spi接口时,vk3366实现spi桥接/扩展4个增强功能串口(uart)的功能。当主接口为iic接口时,vk3366实现iic桥接/扩展4个增强功能串口(uart)的功能。当主接口为8位并口时,vk3366实现一个8位并行数据总线与4个通道uart串行总线数据通信相互转换的功能。扩展的子通道的uart具备如下功能特点:每个子通道uart的波特率、字长、校验格式可以独立设置,最高可以提供1mbps的通信速率。每个子通道可以独立设置工作在irda红外通信、rs-485自动收发控制、9位网络地址自动识别、软件/硬件自动流量控制、广播接收等高级工作模式下。每个子通道具备收/发独立的16 byte fifo,fifo的中断为4级可编程条件触发点。提供一个子通道的调制解调器(modem)控制信号。vk3366采用qfp44绿色环保的无铅封装,可以工作在2.5~5.5v的宽工作电压范围,具备可配置自动休眠/唤醒功能。

文章TAG:iic通信  IIC总线协议的问题  
下一篇