0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

2oON_changxuemc 2018-01-26 17:25 次阅读

现有的外设接口的优缺点:

电路连接都是有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,但软硬件实现起来都更简洁。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • USB总线
    +关注

    关注

    1

    文章

    70

    浏览量

    36949
  • SPI总线
    +关注

    关注

    4

    文章

    103

    浏览量

    27569
  • I2C总线
    +关注

    关注

    8

    文章

    388

    浏览量

    60822
  • TWI总线
    +关注

    关注

    0

    文章

    5

    浏览量

    9543
  • 外设接口
    +关注

    关注

    0

    文章

    9

    浏览量

    8180

原文标题:一种新型外设接口的构想

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SPI接口的概念,数据传输, 时钟极性、时钟相位以及优缺点解析

    SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用。1. 接口SPI
    的头像 发表于 02-05 08:49 2.1w次阅读
    SPI<b class='flag-5'>接口</b>的概念,数据传输, 时钟极性、时钟相位<b class='flag-5'>以及</b><b class='flag-5'>优缺点解析</b>

    一种新型外设接口构想

    现有的外设接口优缺点: 电路连接都是有VCC,GND两根电源线的,后面不再赘述了。应用的外设都局限在板载的
    发表于 01-12 13:11

    XILINX MIG(DDR3) IP的AXI接口与APP接口的区别以及优缺点对比

    XILINX MIG(DDR3) IP的AXI接口与APP接口的区别以及优缺点对比
    发表于 11-24 21:47

    SPI串行外设接口优缺点是什么

    **SPI简介:**串行外设接口(Serial Peripheral Interface Bus)SPI是一种用于芯片通信的同步串行通信接口规范,主要应用于单片机系统中。类似I²C。由
    发表于 02-17 06:26

    高速DSP串行外设接口设计

    文章分析了DSP 同步串行外设接口的整体结构,以及工作时钟与数据传输的四类型,具体讨论寄存器基本单元触发器的改进和利用Verilog 语言设计同步串行
    发表于 01-20 14:46 18次下载

    理解ATE SPI (串行外设接口)

    理解ATE SPI (串行外设接口) 大多数Maxim® ATE设计都采用了个串行接口,以便从外部控制器件。这种串行接口正在成为
    发表于 01-26 16:34 2590次阅读
    理解ATE SPI (串行<b class='flag-5'>外设</b><b class='flag-5'>接口</b>)

    正投、背投、吊装以及桌面安装的优缺点解析

    正投、背投、吊装以及桌面安装的优缺点解析 大家都知道,投影机般有四安装方式,包括有:正投、背投、吊装以及桌面四
    发表于 02-04 17:19 1.3w次阅读

    文读懂SPI串行外设接口

    SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。正是由于有了通信方式,我们才能够通过芯片控制各种各样的外围器件,实现很多“不可思议”的现代科技。这里将以SPI为题,从编程角度来介绍
    发表于 04-27 15:19 1w次阅读

    基于DSP的串行外设接口设计方案解析

    的学术研究、产品开发及应用。TI公司TMS320LF2407是一种专用定点DSP芯片,与以往的产品相比.最大不同就是有丰富的外设.像SCI、SPI、EV等等.在处理数据优势上添加了事务管理能力。 其中串行外设
    发表于 11-02 10:29 0次下载
    基于DSP的串行<b class='flag-5'>外设</b><b class='flag-5'>接口</b>设计方案<b class='flag-5'>解析</b>

    ofdm技术的优缺点解析,ofdm技术原理介绍

    ofdm技术是一种无线环境下的高速传输技术,下面我们主要来看看ofdm技术的优缺点解析以及ofdm技术原理介绍。
    发表于 12-12 11:12 9.1w次阅读
    ofdm技术的<b class='flag-5'>优缺点解析</b>,ofdm技术原理介绍

    芯片外设接口的功能

    无论是做芯片研发还是方案开发的工程师们都应该了解芯片有哪些常用的外设接口以及它们的作用是什么?今天给大家介绍下芯片通常都集成的外设
    发表于 07-21 18:14 3282次阅读
    芯片<b class='flag-5'>外设</b><b class='flag-5'>接口</b>的功能

    风力发电的优缺点以及技术原理的解析

    风力发电是一种利用风能转化为电能的技术,其主要原理是通过风轮机转动发电机,将机械能转化为电能。以下是风力发电的优缺点以及技术原理的解析
    的头像 发表于 04-16 16:37 1.1w次阅读

    SPI串行外设接口的特点概述

    SPI是Serial Peripheral interface的缩写,是一种串行外设接口。全双工通信,有4根信号线,在MCU、SOC、FLASH、DSP等芯片上常见。
    的头像 发表于 04-24 17:29 1873次阅读
    SPI串行<b class='flag-5'>外设</b><b class='flag-5'>接口</b>的特点概述

    SPI串行外设接口设计实现

    SPI 全称为 Serial Peripheral Interface,译为串行外设接口。它是 Motorola 公司推出的一种相对高速的同步、全双工的通信总线协议。
    发表于 05-29 15:40 1445次阅读
    SPI串行<b class='flag-5'>外设</b><b class='flag-5'>接口</b>设计实现

    DP接口和HDMI接口优缺点 如何做出明智选择?

    DP接口和HDMI接口优缺点 如何做出明智选择? DP接口和HDMI接口是用于连接计算机和外部设备的
    的头像 发表于 12-11 13:38 2355次阅读