现有的外设接口的优缺点解析以及一种新型外设接口的构想

现有的外设接口的优缺点:
电路连接都是有vcc,gnd两根电源线的,后面不再赘述了。应用的外设都局限在板载的一些低速低通信量芯片或模块,高性能或特殊需求的外设接口和此文无关。
单线总线(1-wire)
如18b20,硬件链接只需一根数据线,非常简单,但在编程和cpu效率上却很不理想,没有中断通知,通讯速率很低,而且在一个完整访问周期内不允许被中断。
i2c总线
i2c 接口的eeprom,只需要i2c两根接线,cpu主动读写数据。
i2c 接口的 温湿度传感器芯片,只需要i2c两根接线,需要cpu主动查询。
i2c 接口的多轴重力加速度传感器,除了i2c两根接线外还需要一根中断线通知cpu状态有变化。
i2c 接口的触摸屏,除了i2c两根接线外还需要一根中断线,一根复位/唤醒线。
通信速率较低,可以挂接多个从设备。总的来讲i2c接口还是比较简洁的,编程也不太复杂。
spi总线
spi接口的无线模块,spi 4根线,一根中断线,一根复位/唤醒线,共计6根线。
spi接口通信速率较高,但链接线数较多,尤其在挂接多个从设备时,每多一个设备都要多一条片选线和中断线。另外spi接口虽然是全双工接口,可到目前为止我还从来没见过使用全双工的情况。
串口
uart接口的从器件,自带收发中断,一般就收发两根线,为异步通信,通信速率低距离较短,为两主机对话模式,作为从机接口的话,编程相对复杂。
usb总线
差分两线链接,硬件链接很简单,速率高,距离远,但芯片实现复杂,软件协议也很复杂,不适用于板载的低成本低功耗低复杂度从属器件。
虽然i2c,spi总线都是可挂接多个从设备,但实际开发中大多数都是只挂一个从设备;即使真得要挂接多个从设备,在软硬件设计上也要多加小心,系统鲁棒性不是很好。另外实现中断通知,复位唤醒还需要借助额外的gpio引脚连接和中断响应处理,不够简洁。
而且有spi,uart还有多种硬件链接上的扩展或变体,使得软硬件设计不好统一处理。
基于以上情况,个人构想(不着边际,胡思乱想)这样一种从设备总线,适用于通信量不是很大(几字节到几k字节),速率要求不高(100k~100mbps),距离不是很远(1~100cm),有中断通知,休眠唤醒,硬件复位等操作需求的情况。主要是在i2c总线基础上实现,命名为
twi(tow wire interface)
特性如下:
1. 只需两根线,3.3v ttl电平,不需要额外扩展硬件线路,链接简单易实现。简洁统一的电路接口,标准易扩展的报文协议。
2. 只接一个从设备,免去了片选信号或地址字段,消除了总线竞争会引发的各种异常,因而大幅简化了芯片和软件复杂度。
3. 为同步传输方式,类似i2c总线,一根时钟线,一根数据线。相比于异步传输抗干扰强,通信速率高。即便用gpio模拟该总线,在通信中因cpu中断响应而拉长比特位也不影响传输准确性。
4. 时钟线由主机推挽输出,从机为输入端,空闲时为高电平,如果芯片处于休眠状态,时钟线置低能唤醒从机。
数据线为半双工方式,主从都可为输入模式,或开漏输出模式,需要外部电阻上拉,所以空闲时也为高电平。在空闲状态下,如果从器件有消息通知主机,可以发送一个低电平脉冲,这时主机中断响应,待数据线被从机释放恢复高电平后,主机方可发送数据。
在通信过程中如果从机出现忙碌,故障等问题也可一直保持数据线拉低,主机则一直等到从机释放数据线后,才可继续通信,查询从机状态。
5. 通信以字节为单位,每字节8位,高位先出。每次通信必须为一个完整报文,报文格式固定但长度不定。
通信中每发一字节不需要有应答过程,i2c每收发一字节都有一个应答过程,这会使得芯片电路和软件实现变得复杂,同时也影响通信速率。spi就没有校验位,校验可以在报文收发完成后整体校验。
6.每个从机都有一个最多128字节的寄存器组,报文通信就是读取或改写这一组寄存器值。电路上通过移位寄存器便可以实现。
对于一般的传感器或控制器,这最大的128个字节足够一个报文就传输足够多的信息。对于加大数据访问量的芯片则需要通过寄存器间接访问了。如对于存储类芯片则不够,可以先一个短报文设定内存访问地址,后一个起始地址设为127,让首字节自后的数据访问内存。spi接口的无线模块很多就是类似这样的方式。
7.报文的首字节高7位为寄存器地址(0~127),最低位为读写控制位(0为写1为读),表明第二字节从哪一个寄存器开始读写。
如果报文首字节为0,即表示要从0寄存器开始写,从机要忽略后面的数据,当数据长度大于等于4字节时,从机要进行硬件复位,复位后处于接收模式,等待主机命令。所以从机的0号寄存器应当不分配其他功能位。
与i2c相比是
去掉了起始位,停止位处理
去掉应答
去掉多主机多从机情况
去掉报文10位设备地址的情况
增加寄存器地址段
增加硬件唤醒复位功能
增加中断触发功能
与spi相比是
去掉了片选信号
将收发两线合并成一线
spi的4种电平相位模式统一为一种
增加硬件唤醒复位功能
增加中断触发功能
可以看做是i2c与spi总线的结合体变种,电路连接类似于i2c,而字节传输协议和芯片实现方式类似于spi,但软硬件实现起来都更简洁。

如何打造具有竞争力的线缆数智化升级解决方案?
关于GaN在射频功率领域分析介绍
八佰智能锁业WATCHDOG D360F密码锁简介
详解红外遥控器作为单片机输入键盘的接口原理和方法
闪烁光疗法或有助于对抗老年痴呆症
现有的外设接口的优缺点解析以及一种新型外设接口的构想
实时空间光调制器结构原理图
天嵌科技TQ210v6开发板产品介绍
LED照明实现高功率因数性能的无任何闪烁的调光控制技术与构建
AR电力远程巡查系统有哪些突破?
pwm控制的基本原理
吴雄昂回应ARM中国控制权之争
预计2026年视频监控仍是最大的智慧城市细分市场
日本出售逼真的3D仿真人脸面具
英国和欧盟就英伟达收购Arm一事展开调查
三相异步电动机定子绕组过负荷的保护配置及定值设置
功率放大模块的作用是什么(功率放大器模块的应用范围)
聚焦40nm快闪存储器,MCU战争将开打?
浅谈射频板PCB的布局、布线原则
动式红外线报警器的简易制作方法