硬件相关部分

IIC###

多主机总线,主机产生时钟信号
平常SDA、SCL都是高
a 由于SDA、SCL为漏极开路结构,借助于外部的上拉电阻实现了信号的“线与”逻辑
b 引脚在输出信号的同时还将引脚上的电平进行检测,检测是否与刚才输出一致。为 “时钟同步”和“总线仲裁”提供硬件基础
总线上任意器件输出低都会是总线上信号线变低,如果一设备发送逻辑0,其他发送逻辑1,那么线路看到的只有逻辑0。也就是说,如果出现电平冲突,发送逻辑0的始终是“赢家”。总线的物理接法允许主设备往总线写数据的同事读取数据。这样两主设备争总线的时候“赢家”并不知道竞争的发生,只有“输家”发现了冲突——当写一个逻辑1,却读到了0——而退出竞争。
总线控制随机而定,他们遵循“低电平优先”的原则,即谁先发送低电平谁就会掌握对总线的控制权
主控器通过检测SDA上自身发送的电平来判断是否发生总线“冲突”——总线仲裁
主控器通过检测SCL上的电平来调节与从器件的速度同步问题——时钟同步

7位地址即128个设备,但同一时刻只能有一个主控
7位地址+1位io选择(0read/1write)+8位数据;每收发一个字节,接收方都要发个ack
11110+2位高地址+1位io选择+低8位地址=10位寻址

SPI###

能一位一位发数据,中间可以暂停
可配置空闲状态是高/低电平,信号是在上升/下降沿采集

posted @ 2021-12-23 15:15  月的光景  阅读(43)  评论(0编辑  收藏  举报