新闻中心

EEPW首页 > 嵌入式系统 > 牛人业话 > 【单片机到嵌入式之路】序列之9:总线你懂么?

【单片机到嵌入式之路】序列之9:总线你懂么?

作者:时间:2015-07-30来源:网络收藏

  本节我们主要是从下面6个方面进行讲解:

本文引用地址:http://www.eepw.com.cn/article/278046.htm

  1.的简单介绍

  2.的原理

  3.的特征

  4.总线的分类

  5.总线的技术指标

  6.传输数据可靠性

  一、总线的简单介绍:

  其实现实生活中也有很多总线的影子。比如从A地到B地,只能通过船来渡河,并且船一次只能承载一个人,这时候,如果大家蜂拥而上,那么大家都会掉到河里去,轻则都去不了,重则出现死亡。这时,我们可以通过分时来实行,比如多少点是谁坐船过去,人之间的先后顺序如何排序等。这就不知道不觉中运用了总线的时分系统传输性质。

  随着网络的发展,现在总线不仅仅局限于时分。还有频分系统、相分系统和码分系统等。只要认真分析,抓住本质东西,总线不是大家想象的那么难理解。

  二、总线原理【参考百度百科和网络】

  如果说主板(Mother Board)是一座城市,那么总线就像是城市里的公共汽车(bus),能按照固定行车路线,传输来回不停运作的比特(bit)。这些线路在同一时间内都仅能负责传输一个比特。因此,必须同时采用多条线路才能传送更多数据,而总线可同时传输的数据数就称为宽度(width),以比特为单位,总线宽度愈大,传输性能就愈佳。总线的带宽(即单位时间内可以传输的总数据数)为:总线带宽 = 频率 x 宽度(Bytes/sec)。当总线空闲(其他器件都以高阻态形式连接在总线上)且一个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成通信,将总线让出(输出变为高阻态)。

  目前最常见的主要有时分多路复用、频分多路复用和码分多路复用等。

  1.时分多路复用(TDMA)

  时分复用是将信道按时间加以分割成多个时间段,不同来源的信号会要求在不同的时间段内得到响应,彼此信号的传输时间在时间坐标轴上是不会重叠。

  2.频分多路复用(FDMA)

  频分复用就是把信道的可用频带划分成若干互不交叠的频段,每路信号经过频率调制后的频谱占用其中的一个频段,以此来实现多路不同频率的信号在同一信道中传输。而当接收端接收到信号后将采用适当的带通滤波器和频率解调器等来恢复原来的信号。

  3.码分多路复用(CDMA)

  码分多路复用是所被传输的信号都会有各自特定的标识码或地址码,接收端将会根据不同的标识码或地址码来区分公共信道上的传输信息,只有标识码或地址码完全一致的情况下传输信息才会被接收。

  总线的通信协议

  对于总线的学习,了解其通讯协议是整个过程中最关键的一步,所有介绍总线技术的资料都会花很大的篇幅来描述其协议,特别是ISO/OSI的那七层定义。其实要了解一种总线的协议,最主要的就是去了解总线的帧数据每一位所代表的特性和意义,总线各节点间有效数据的收发都是通过各节点对帧数据位或段的判断和确信来得以实现。

  

【原创】【单片机到嵌入式之路】序列之9:总线你懂么?

 

  如图1所示是常见的I2C总线上传输的一字节数据的数据帧,其总线形式是由数据线SDA和时钟SCL构成的双线制串行总线,并接在总线上的电路模块即可作为发送器(主机)又可作为接收器(从机)。帧数据中除了控制码(包括从机标识码和访问地址码)与数据码外还包括起始信号、结束信号和应答信号。

  起始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。

  控制码:用来选泽操作目标与对象,即接通需要控制的电路,确定控制的种类对象。在读期间,也即SCL时钟线处于时钟脉冲高电平时,SDA上的数据位不会跳变。

  数据码:是主机向从机发送的具体的有用的数据(如对比度、亮度等)和信息。在读期间,SDA上的数据位不会跳变。

  应答信号:接收方收到8bit数据后,向发送方发出特定的低电平。读/写的方向与其它数据位正好相反,也即是由从机写出该低电平,主机来读取该低电平。

  结束信号:SCL为高电平时,SDA由低电平向高电平跳变表示数据帧传输结束。

  当然不同的总线其数据位或段的定义肯定不同,但依据同样的原理可以更快的去了解它的协议的特性和特点。虽然其信息帧的大小不一,但具体的某一数据位或数据段都类似于本文所提及的I2C总线,会依据它的协议的要求来定义它所达标的意义和功能。

  三、总线的特征

  由于总线是连接各个部件的一组信号线。通过信号线上的信号表示信息,通过约定不同信号的先后次序即可约定操作如何实现。总线的特性如下

  (1)物理特性:

  物理特性又称为机械特性,指总线上部件在物理连接时表现出的一些特性,如插头与插座的几何尺寸、形状、引脚个数及排列顺序等。

  (2)功能特性:

  功能特性是指每一根信号线的功能,如地址总线用来表示地址码。数据总线用来表示传输的数据,控制总线表示总线上操作的命令、状态等。

  (3)电气特性:

  电气特性是指每一根信号线上的信号方向及表示信号有效的电平范围,通常,由主设备(如CPU)发出的信号称为输出信号(OUT),送入主设备的信号称为输入信号(IN)。通常数据信号和地址信号定义高电平为逻辑1、低电平为逻辑0,控制信号则没有俗成的约定,如WE表示低电平有有效、Ready表示高电平有效。不同总线高电平、低电平的电平范围也无统一的规定,通常与TTL是相符的。

  (4)时间特性:

  时间特性又称为逻辑特性,指在总线操作过程中每一根信号线上信号什么时候有效,通过这种信号有效的时序关系约定,确保了总线操作的正确进行。

  为了提高计算机的可拓展性,以及部件及设备的通用性,除了片内总线外,各个部件或设备都采用标准化的形式连接到总线上,并按标准化的方式实现总线上的信息传输。而总线的这些标准化的连接形式及操作方式,统称为总线标准。如ISA、PCI、USB总线标准等,相应的,采用这些标准的总线为ISA总线、PCI总线、USB总线等。

  四、总线的分类

  总线按功能和规范可分为五大类型:

  数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。

  地址总线(Address Bus):用来指定在RAM(Random Access Memory)之中储存的数据的地址。

  控制总线(Control Bus):将微处理器控制单元(Control Unit)的信号,传送到周边设备,一般常见的为 USB Bus和1394 Bus。

  扩展总线(Expansion Bus):可连接扩展槽和电脑。

  局部总线(Local Bus):取代更高速数据传输的扩展总线。

  按照传输数据的方式划分,可以分为串行总线和并行总线。

  串行总线中,二进制数据逐位通过一根数据线发送到目的器件;并行总线的数据线通常超过2根。常见的串行总线有SPI、I2C、USB及RS232等。

  按照时钟信号是否独立,可以分为同步总线和异步总线。

  同步总线的时钟信号独立于数据,而异步总线的时钟信号是从数据中提取出来的。SPI、I2C是同步串行总线,RS232采用异步串行总线。

  五、总线的技术指标

  1、总线的带宽(总线数据传输速率)

  总线的带宽指的是单位时间内总线上传送的数据量,即每钞钟传送MB的最大稳态数据传输率。与总线密切相关的两个因素是总线的位宽和总线的工作频率,它们之间的关系:

  总线的带宽=总线的工作频率*总线的位宽/8

  或者 总线的带宽=(总线的位宽/8 )/总线周期

  2、总线的位宽

  总线的位宽指的是总线能同时传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念。总线的位宽越宽,每秒钟数据传输率越大,总线的带宽越宽。

  3、总线的工作频率

  总线的工作时钟频率以MHZ为单位,工作频率越高,总线工作速度越快,总线带宽越宽。

  六、传输数据可靠性

  可靠性是评定总线最关键的参数,没有可靠性,传输的数据都是错误的信息,便就失去了总线的实际意义。为了提高总线的可靠性,通常采用的措施有:

  采用数据帧发送前发送器对总线进行侦听,只有侦听到总线处于空闲状态下时才可向总线传送数据帧,这样避免了不同节点的数据冲突。

  采用双绞线差分信号来传送数据,以降低单线的电压升降幅度,减小信号的边沿产生的高次谐波。

  适当的让数据的边沿具有一定的斜坡。

  增加匹配电阻和电容等来减少总线上信号的发射和平衡总线上的分布电容等。

  采用合适的网络拓扑结构和屏蔽技术等来减少受其他信号的干扰。

  还有就是在软件上通过数字滤波、数据校验纠错等措施来提高数据传输的可靠性。

  看了上面的是不是对总线没有那么陌生了,感觉总线没有那么恐怖了!!

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理


cdma相关文章:cdma原理


双绞线传输器相关文章:双绞线传输器原理


关键词: 嵌入式 总线

评论


相关推荐

技术专区

关闭