侵权投诉

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

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,但软硬件实现起来都更简洁。

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

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

收藏 人收藏
分享:

评论

相关推荐

手机电脑成功的意义和战略价值

原来的智能手机是很难提供外设接口的,而通过手机电脑,手机可以支持的外设就与PC完全一样了。HDMI、....
的头像 lhl545545 发表于 06-18 11:22 643次 阅读
手机电脑成功的意义和战略价值

纳芯微宣布推出五款 I²C总线接口芯片

国内领先的信号链芯片及其解决方案提供商苏州纳芯微电子股份有限公司(以下简称“纳芯微”)宣布推出五款I....
的头像 电子魔法师 发表于 06-17 11:12 229次 阅读
纳芯微宣布推出五款 I²C总线接口芯片

基于usb总线与dsp2812开发运动控制卡如何设计?

您好!我现在要设计基于usb总线与dsp2812开发运动控制卡,但usb专用芯片cy7c68013A是16位的,dsp2812是32位的,需不需要一个协议...
发表于 06-10 16:56 39次 阅读
基于usb总线与dsp2812开发运动控制卡如何设计?

SPI总线的数据传输步骤

主机沿MOSI线一次一位地向从机发送数据,从机在接收到的位时读取这些位。
发表于 06-09 11:47 121次 阅读
SPI总线的数据传输步骤

I2C总线中的ACK只能下拉到1.5V的原因?

我的项目用到了I2C总线,开始用F28069自带的模块工作在中断方式和轮询方式,结果2者都不能出数据,无奈我用GPIO仿真I2C...
发表于 05-13 08:59 90次 阅读
I2C总线中的ACK只能下拉到1.5V的原因?

USB总线上找到什么

我尝试通过USB作为音频设备在PC和PIC32 MZ之间开始通信。也许有人有一个很好的Windows程序,我可以在USB总线上找到...
发表于 04-26 14:41 43次 阅读
USB总线上找到什么

基于I2C总线应用呼唤平台模式实现VIIC1.0软件包的设计

VIIC1.0是物化形式为软件包文档的广义平台,适合在80C51单片机系列单主系统中应用。
发表于 04-19 11:06 143次 阅读
基于I2C总线应用呼唤平台模式实现VIIC1.0软件包的设计

I2C总线系统中引起电压失常的原因和检修方法

I2C总线系统传送的是脉冲数字信号,总线上要传送少则十几项、多则数百项的控制项目和数据,被控集成电路....
发表于 04-12 09:50 655次 阅读
I2C总线系统中引起电压失常的原因和检修方法

基于一种专为USB设计的PDIUSBD12芯片解析

基于USB1.1的Philip公司的PDIUSBD12芯片结构比较简单,它必须单片机配合才能完成US....
发表于 03-12 15:40 167次 阅读
基于一种专为USB设计的PDIUSBD12芯片解析

I2C存储器的应用及结构原理解析

I2C总线是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL(串行时钟线)两....
发表于 03-04 15:05 329次 阅读
I2C存储器的应用及结构原理解析

I2C总线控制系统的构成_I2C总线控制系统的特点

I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总....
发表于 01-06 14:48 408次 阅读
I2C总线控制系统的构成_I2C总线控制系统的特点

I2C总线的特点及工作原理解析

I2C总线上的数据稳定规则,SCL为高电平时SDA上的数据保持稳定,SCL为低电平时允许SDA变化。....
发表于 12-12 15:53 706次 阅读
I2C总线的特点及工作原理解析

I2C总线的工作原理以及优缺点解析

如果您正在使用OLED显示器,气压传感器或陀螺仪/加速度计模块的项目,您可能会发现正在使用I2C总线....
发表于 11-28 09:13 1725次 阅读
I2C总线的工作原理以及优缺点解析

I2C基本用法,硬件问题汇总

I2C总线是一种简单、双向二线制同步串行总线。所有主机在 SCL 线上产生它们自己的时钟来传输总线上....
的头像 嵌入式资讯精选 发表于 11-27 15:40 5371次 阅读
I2C基本用法,硬件问题汇总

基于DSP虚拟I2C总线软件包的结构设计

TMS320F206(简称F206)由于具有片内32K字的Flash,支持JTAG扫描端口的仿真调试....
发表于 11-06 08:34 341次 阅读
基于DSP虚拟I2C总线软件包的结构设计

AT24C系列芯片的驱动设计

信息(R/W 位置 0)给从器件,主器件在收到从器件产生应答信号后,主器件发送 1 个 8 位字节地....
发表于 11-04 16:33 496次 阅读
AT24C系列芯片的驱动设计

电容式触摸屏的通讯接口设计方案

Cypress PSoC技术将可编程模拟/数字资源集成在单颗芯片上,为感应电容式触摸屏提供了True....
发表于 10-30 16:25 1768次 阅读
电容式触摸屏的通讯接口设计方案

浅谈USB总线的Host主机接口芯片——CH370

特 点 > 全速USB设备接口,兼容USB V2.0,即插即用,外围元器件只需要晶体和电容。 >....
的头像 沁恒股份 发表于 10-24 17:14 1617次 阅读
浅谈USB总线的Host主机接口芯片——CH370

SPI总线的特点工作方式以及常见错误解析

SPI(serial peripheral interface,串行外围设备接口)总线技术是Moto....
发表于 10-24 15:32 587次 阅读
SPI总线的特点工作方式以及常见错误解析

用于ATtiny和ATmega的I2C总线

-寻址和命令I2C设备的方法不是规范的一部分!除了从机地址和读/写位以外,没有指定命令,模式等,这些....
的头像 39度创意研究所 发表于 10-24 10:09 1375次 阅读
用于ATtiny和ATmega的I2C总线

TSL256x光强度实时监测系统有什么优点?

TSL2560和TSL2561是TAOS公司推出的一种高速、低功耗、宽量程、可编程灵活配置的光强度数字转换芯片。该芯片可广泛应用...
发表于 10-21 06:35 376次 阅读
TSL256x光强度实时监测系统有什么优点?

基于MCS-51单片机I2C总线接口电路的设计

在单片机控制系统中,广泛使用I2C器件。如果单片机自带I2C总线接口,则所有I2C器件对应连接到该总....
发表于 10-15 16:13 728次 阅读
基于MCS-51单片机I2C总线接口电路的设计

I2C总线技术在HDTV数字地面接收机中的应用解析

I2C总线接口的数据线SDA和时钟线SCL必须经过上拉电阻接到正电源VDD上,各个I2C接口电路输出....
发表于 10-10 15:46 286次 阅读
I2C总线技术在HDTV数字地面接收机中的应用解析

如何使用示波器解决I2C通信开发中遇到的问题

I2C总线仅需采用两根通信线(一根为串行数据线“SDA”,一根为串行时钟线“SCL”),而传输速率在....
发表于 09-26 16:16 1134次 阅读
如何使用示波器解决I2C通信开发中遇到的问题

SD卡的三种传输模式及功能解析

SD卡共支持三种传输模式:SPI模式(独立序列输入和序列输出),1位SD模式(独立指令和数据通道,独....
发表于 09-23 15:49 2460次 阅读
SD卡的三种传输模式及功能解析

基于SPI兼容的LED显示屏网络控制

SPI接口的全称是“Serial Peripheral Interface”,意为串行外围接口,是M....
发表于 09-18 15:18 1276次 阅读
基于SPI兼容的LED显示屏网络控制

基于CH7004视频编码器的VGA接口设计

嵌入式系统的终端显示倾向选择LCD显示器。但在大屏幕显示情况下,大型工业级LCD液品显示器造价高。选....
发表于 09-16 15:31 349次 阅读
基于CH7004视频编码器的VGA接口设计

新一代Sensirion温湿度传感器SHT2x的应用案例介绍

SHT2x使用了6引脚封装中的4个引脚,分别是电源VDD、地VSS、双向串行时钟SCL和双向串行数据....
发表于 09-14 17:12 297次 阅读
新一代Sensirion温湿度传感器SHT2x的应用案例介绍

I2C数据传输步骤

主机向每一个连接的从设备发送数据,然后将SDA信号从高切换到低,之后在将SCL从高切换到低电平。
发表于 09-13 15:52 971次 阅读
I2C数据传输步骤

I2C总线是如何工作的

I2C结合了SPI和UART的优点。使用I2C,您可以将多个从设备连接到单个主设备上(如SPI),并....
发表于 09-13 15:46 709次 阅读
I2C总线是如何工作的

正点原子开拓者FPGA:RTC实时时钟实验(PCF8563)

PCF8563 是PHILIPS 公司推出的一款工业级内含I2C 总线接口功能的具有极低功耗的多功能....
的头像 电子硬件DIY视频 发表于 09-12 07:07 1908次 观看
正点原子开拓者FPGA:RTC实时时钟实验(PCF8563)

正点原子开拓者FPGA:ADDA实验(PCF8591)

PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有....
的头像 电子硬件DIY视频 发表于 09-10 06:04 1599次 观看
正点原子开拓者FPGA:ADDA实验(PCF8591)

秒懂I2C串行总线的工作原理以及特点

我们都知道I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送...
发表于 09-05 08:00 3523次 阅读
秒懂I2C串行总线的工作原理以及特点

新一代Sensirion温湿度传感器SHT2x的应用实例介绍

SHT2x使用了6引脚封装中的4个引脚,分别是电源VDD、地VSS、双向串行时钟SCL和双向串行数据....
发表于 09-04 15:41 533次 阅读
新一代Sensirion温湿度传感器SHT2x的应用实例介绍

I2C总线出现问题

嗨,大家好, 我想寻求一点帮助来缓解我古老的宿敌——I2C总线的麻烦。 我的设置是这样的:一个29566设备作为一个主机,并使...
发表于 09-03 12:42 391次 阅读
I2C总线出现问题

基于MAX7348的串行I2C总线的键盘电路设计

MAX7348 是美国MAXIM 公司生产的2 线接口、低EMI 键盘开关和发声控制器,可监控多达4....
发表于 09-02 14:48 560次 阅读
基于MAX7348的串行I2C总线的键盘电路设计

有哪些方法能利用数字示波器调试嵌入式I2C总线?

       I2C总线是PHLIPS公司上世纪80年代推出的一种两线式串行总线,最初为音频、视频设备所开发,...
发表于 08-29 08:03 247次 阅读
有哪些方法能利用数字示波器调试嵌入式I2C总线?

I2C总线的工作原理解析

I2C是一种双线双向接口,包括一个时钟信号和一个数据信号(SCL和SDA)。在不增加任何其他信号的情....
发表于 08-23 15:55 1426次 阅读
I2C总线的工作原理解析

基于MecGo平台的触摸屏驱动设计方案

电容式触摸屏是利用人体的电流感应工作的,分为表面电容式和投射电容式,前者不能识别多点,后者可以识别多....
发表于 08-13 15:11 353次 阅读
基于MecGo平台的触摸屏驱动设计方案

I2C总线的入门知识和程序等资料免费下载

1) 最近学习51单片机,学到A/D,D/A转换的时候发现我板子上的转换芯片不是书上所讲的ADC08....
发表于 08-12 17:33 125次 阅读
I2C总线的入门知识和程序等资料免费下载

怎么使用FPGA实现SPI总线的通信接口?

随着现代技术的发展,SPI接口总线已经成为了一种标准的接口,由于协议实现简单,并且I/O资源占用少,为此SPI总线的应用...
发表于 08-09 08:14 675次 阅读
怎么使用FPGA实现SPI总线的通信接口?

T类功放的特点及有何不同之处

T类功放,一种具有D类功放效率、同时音质媲美AB类功放的新功放类型。它利用功率晶体管工作在开关状态,....
的头像 牵手一起梦 发表于 08-01 14:51 4157次 阅读
T类功放的特点及有何不同之处

SPIsolator隔离器件的设计挑战

本视频中,两位实习生在隔离SPI总线时面临着使用传统光耦合器解决方案还是采用ADI公司最新SPIso....
的头像 EE techvideo 发表于 08-01 06:16 1031次 观看
SPIsolator隔离器件的设计挑战

单片机系统中最常用的三种通信协议解析

SPI 是英语 Serial Peripheral Interface 的缩写,顾名思义就是串行外围....
发表于 07-29 15:29 3435次 阅读
单片机系统中最常用的三种通信协议解析

如何解决USB-C接口在设计规范性上的问题?

USB TYPE-C规范里面,还规定了一种带Emark 芯片的Cable,这种Cable的CC2上,....
的头像 FPGA入门到精通 发表于 07-26 15:54 4881次 阅读
如何解决USB-C接口在设计规范性上的问题?

I2c总线推送数据错误

嗨,我用PIC16F1705作为奴隶,用时钟拉伸。在我开始推动足够的数据到使起停条件之间的时间下降到0.1ms以下之前,它似乎工作正...
发表于 07-23 11:54 194次 阅读
I2c总线推送数据错误

USB总线通用接口芯片CH375对比色计仪器的设计

CH375是一种USB总线的通用接口芯片,支持 USB-HOST主机方式和 USB-DEVICE/S....
发表于 07-17 15:21 358次 阅读
USB总线通用接口芯片CH375对比色计仪器的设计

I2C总线设计和测试在嵌入式系统的应用

I2C是一种中低数据速率主/从通信总线。物理层是一种简单的信号交换协议,该协议基于总线设备以及用于驱动或释放总线线路设备之...
发表于 06-19 08:25 196次 阅读
I2C总线设计和测试在嵌入式系统的应用

使用51单片机模拟I2C总线的资料和程序免费下载

I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:SerialClock(简....
发表于 06-18 17:44 183次 阅读
使用51单片机模拟I2C总线的资料和程序免费下载

STM32单片机SPI总线与FPGA的通信设计

SPI_InitStructure.SPI_Direction = SPI_Direction_2L....
发表于 06-06 15:17 1193次 阅读
STM32单片机SPI总线与FPGA的通信设计

基于I2C总线的多机通信调度指挥系统设计方案

主机内部采用分散控制方式,整个交换系统被分割成多个用户子系统及1个通信子系统,每个子系统由一个CPU....
发表于 06-06 15:12 464次 阅读
基于I2C总线的多机通信调度指挥系统设计方案

SPI总线的工作方式及原理详解

SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条....
发表于 05-22 15:51 3889次 阅读
SPI总线的工作方式及原理详解

数字温度传感器系统中每种串行总线的优缺点介绍

SPI 是一种四线制串行总线接口,为主/从结构,四条导线分别为串行时钟(SCLK)、主出从入(MOS....
发表于 05-14 15:16 501次 阅读
数字温度传感器系统中每种串行总线的优缺点介绍

SPI总线协议的通信原理解析

接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据....
发表于 05-10 15:17 1209次 阅读
SPI总线协议的通信原理解析

基于C语言模拟IIC总线来对I2C总线的理解

I2C 只是用两条双向的线,一条 Serial Data Line (SDA) ,另一条Serial....
发表于 05-08 15:10 865次 阅读
基于C语言模拟IIC总线来对I2C总线的理解

微机中各类常见的总线技术介绍

微机中总线一般有内部总线、系统总线和外部总线。内部总线是微机内部各外围芯片与处理器之间的总线,用于芯....
发表于 04-26 16:05 913次 阅读
微机中各类常见的总线技术介绍

USB总线的总体结构和基本概念

USB(通用串行总线),由Intel公司提出,带宽为12Mbps,与传统接口总线相比,主要优点有三个....
发表于 03-14 13:52 2670次 阅读
USB总线的总体结构和基本概念

PIC单片机模拟IIC读写的程序设计

;inthebank1 trISAequ85h trisbequ86h trisc....
发表于 03-11 14:49 1555次 阅读
PIC单片机模拟IIC读写的程序设计