串 并 行 顾名思义
并行 接口 是指数据的 各位同时进行传送
串行通信是指数据一位位地顺序传送。 其特点是通信 线路简单,只要一对传输线即可。可以利用电话线,特别适合远距离通信。
I2C 总线
是PHILIPS 开发的两线式 串行总线,用于连接微控制器及其外围设备。
I2C 总线通过SDA和SCL线的配合来产生传输信号。 低电平时 改变,高电平期间 稳定
时钟线(SCL)时钟脉冲 为高电平期间(需要稳定),不允许数据线(SDA)有改变,否则会被认为是START或STOP
数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变。
接收器应答信号:
对于有效ACK的要求是:接收器在第9个时钟脉冲 之前的低电平期间将SDA拉低,并且确保在该时钟的高电平期间为稳定的低电平。(说白了就是这时候要求接收器发送一个低电平信号)
寻址方式: ——器件去判断是否是自己,然后发送ACK,如上
地址信号占7位,与读写控制信号组成一个字节。R/W为0时写 为1时读
7 6 5 4 3 2 1 1
7位地址信号又由两部分组成:器件地址(fixed)和引脚地址(引脚地址 programmable)。
引脚设定 地址,可以由外部引脚来设定(并非所有器件都可以设定)
当发送了一个地址后,系统中的每个器件都在起始条件后将头7 位与它自己的地址比较,如果一样,器件会判定它被主机寻址
====================================================
芯片:PCA9555 –带中断的16位I2C和SMbus I/O口 是一个挂在I2C总线上的芯片。
PCA9555有3个管脚(A0,A1,A2)来实现不同I2C地址。最多允许8个器件共用总线。
是因为他只能够产生8个地址。
其器件地址为0100
芯片有两个配置寄存器,两个输入寄存器,两个输出寄存器和两个极性反转寄存器。如下面的command对应的。
工作原理
command byte 命令字节
the command byte is the first byte to follow the address byte during a write transmission.
--------------------
command register
0 input port 0
1 input port 1
2 output port 0
3 output port 1
4 极性反转寄存器 0
5 极性反转寄存器 1
6 配置寄存器 0
7 配置寄存器 1
在系统主控制器发送地址和读/写操作的字节后,将会发送该命令字节,来决定芯片中哪个寄存器将会被读/写。
地址 还要 发送对应 command 对寄存器 读写。