导言
假设一座只能容一个人交游的独木桥,两头的人都想要过桥,为了不拥堵、堵塞,那咱们就得采纳有用的方法。比方规则某段时刻哪端的人过桥,另一端的人就等着该他过桥的时刻段的到来,一起也还能够规则人多时要按先来后到或年纪长幼的次第过桥。在这不经意间,咱们就领会到了现代电子信息数据经过总线准时分体系传输的最原始的思维。
现代网络信息的开展,特别是关于本钱和空间而言,总线传输代替点对点传输是现在开展的热门,它的呈现将给信息传输上供给了最大的便利和最有用的技能解决方案。假设一个微处理器与它的部件和外围设备都分别用点对点的线路来衔接通讯,则一切连线将会扑朔迷离,乃至难以完成。
现在与咱们日子习习相关的一系列活动都无不牵涉到总线技能的使用,如咱们上英特网、给亲戚朋友打电话、用U盘来存储信息等。尽管盛行的总线所采纳的方法不同,但他们首要的原则性思维无非便是时分体系、频分体系、相分体系和码分体系等。常言道“兵来将挡,水来土淹”,面临品种繁复的总线,咱们只要从根本原理动身,从骨子里去了解它的本质,而不要被它方法多样的表面所利诱,才干熟练掌握和灵活运用眼下正在或即将用到的各种总线技能。
1 总线的界说及分类
1.1界说
总线,英文叫作“BUS”,即咱们中文的“公共车”,这是十分形象的比方,公共车走的道路是必定的,咱们任何人都能够坐公共车去该条公共车道路的恣意一个站点。假设把咱们人比作是电子信号,这便是为什么英文叫它为“BUS”而不是“CAR”的真实意图。当然,从专业上来说,总线是一种描绘电子信号传输线路的结构方法,是一类信号线的调集,是子体系间传输信息的公共通道[1]。经过总线能使整个体系内各部件之间的信息进行传输、交流、同享和逻辑操控等功用。如在计算机体系中,它是CPU、内存、输入、输出设备传递信息的共用通道,主机的各个部件经过主机相衔接,外部设备经过相应的接口电路再于总线相衔接。
1.2分类
总线分类的方法有许多,如被分为外部和内部总线、体系总线和非体系总线等等,下面是几种最常用的分类方法[2]。
1.2.1按功用分
最常见的是从功用上来对数据总线进行区别,能够分为地址总线(address bus)、数据总线(data bus)和操控总线(control bus)。在有的体系中,数据总线和地址总线能够在地址锁存器操控下被同享,也即复用。
地址总线是专门用来传送地址的。在规划进程中,见得最多的应该是从CPU地址总线来选用外部存储器的存储地址。地址总线的位数往往决议了存储器存储空间的巨细,比方地址总线为16位,则其最大可存储空间为216(64KB)。
数据总线是用于传送数据信息,它又有单向传输和双向传输数据总线之分,双向传输数据总线一般选用双向三态方法的总线。数据总线的位数一般与微处理的字长相一致。例如Intel 8086微处理器字长16位,其数据总线宽度也是16位。在实践作业中,数据总线上传送的并不必定是彻底含义上的数据。
操控总线是用于传送操控信号和时序信号。如有时微处理器对外部存储器进行操作时要先经过操控总线宣布读/写信号、片选信号和读入中止呼应信号等。操控总线一般是双向的,其传送方向由详细操控信号而定,其位数也要根据体系的实践操控需求而定。
1.2.2准时钟信号方法分
依照时钟信号是否独立,能够分为同步总线和异步总线。同步总线的时钟信号独立于数据,也便是说要用一根独自的线来作为时钟信号线;而异步总线的时钟信号是从数据中提取出来的,一般使用数据信号的边缘来作为时钟同步信号。
1.2.3按传输方法分
依照数据传输的方法区别,总线能够被分为串行总线和并行总线。从原理来看,并行传输方法其实优于串行传输方法,但其本钱上会有所添加。浅显地讲,并行传输的通路犹如一条多车道公路,而串行传输则是只允许一辆轿车经过单线公路。现在常见的串行总线有SPI、I2C、USB、IEEE1394、RS232、CAN等;而并行总线相对来说品种要少,常见的如IEEE1284、ISA、PCI等。
2 总线传输根本原理
根据前面临总线的界说可知总线的根本效果便是用来传输信号,为了各子体系的信息能有用及时的被传送,为了不至于互相间的信号互相搅扰和防止物理空间上过于拥堵,其最好的方法便是选用多路复用技能[3],也便是说总线传输的根本原理便是多路复用技能。所谓多路复用便是指多个用户同享共用信道的一种机制,现在最常见的首要有时分多路复用、频分多路复用和码分多路复用等。
2.1时分多路复用(TDMA)
时分复用是将信道准时刻加以分割成多个时刻段,不同来历的信号会要求在不同的时刻段内得到呼应,互相信号的传输时刻在时刻坐标轴上是不会堆叠。
2.2频分多路复用(FDMA)
频分复用便是把信道的可用频带区别红若干互不交叠的频段,每路信号经过频率调制后的频谱占用其间的一个频段,以此来完成多路不同频率的信号在同一信道中传输。而当接纳端接纳到信号后将选用恰当的带通滤波器和频率解调器等来康复本来的信号。
2.3码分多路复用(CDMA)
码分多路复用是所被传输的信号都会有各自特定的标识码或地址码,接纳端将会根据不同的标识码或地址码来区别公共信道上的传输信息,只要标识码或地址码彻底一致的情况下传输信息才会被接纳。
3 总线的通信协议
关于总线的学习,了解其通讯协议是整个进程中最要害的一步,一切介绍总线技能的材料都会花很大的篇幅来描绘其协议,特别是ISO/OSI的那七层界说。其实要了解一种总线的协议,最首要的便是去了解总线的帧数据每一位所代表的特性和含义,总线各节点间有用数据的收发都是经过各节点对帧数据位或段的判别和坚信来得以完成。
常见的I2C总线上传输的一字节数据的数据帧,其总线方法是由数据线SDA和时钟SCL构成的双线制串行总线,并接在总线上的电路模块即可作为发送器(主机)又可作为接纳器(从机)。帧数据中除了操控码(包含从机标识码和拜访地址码)与数据码外还包含起始信号、完毕信号和应对信号[4]。
起始信号:SCL为高电平时,SDA由高电平向低电平跳变,开端传送数据。
操控码:用来选泽操作方针与目标,即接通需求操控的电路,确认操控的品种目标。在读期间,也即SCL时钟线处于时钟脉冲高电平时,SDA上的数据位不会跳变。
数据码:是主机向从机发送的详细的有用的数据(如对比度、亮度等)和信息。在读期间,SDA上的数据位不会跳变。
应对信号:接纳方收到8bit数据后,向发送方宣布特定的低电平。读/写的方向与其它数据位正好相反,也便是由从机写出该低电平,主机来读取该低电平。
完毕信号:SCL为高电平时,SDA由低电平向高电平跳变表明数据帧传输完毕。
当然不同的总线其数据位或段的界说必定不同,但根据相同的原理能够更快的去了解它的协议的特性和特色。尽管其信息帧的巨细不一,但详细的某一数据位或数据段都类似于本文所提及的I2C总线,会根据它的协议的要求来界说它所合格的含义和功用。
4 首要技能指标
点评总线的首要技能指标是总线的带宽(即传输速率)、数据位的宽度(位宽)、作业频率和传输数据的可靠性、稳定性等。
4.1带宽(传输速率)、位宽和作业频率
总线的带宽指的是单位时刻内总线上传送的数据量,即每钞传送MB的最大数据传输率。总线的位宽指的是总线能一起传送的二进制数据的位数,或数据总线的位数,即32位、64位等总线宽度的概念;总线的位宽越宽,数据传输速率越大,总线的带宽就越宽。总线的作业时钟频率以MHz为单位,它与传输的介质、信号的起伏巨细和传输间隔有关。在相同硬件条件下,咱们选用差分信号传输时的频率常常会比单边信号高得多,这是由于差分信号的的起伏只要单边信号的一半罢了。
4.2传输数据的可靠性
可靠性是鉴定总线最要害的参数,没有可靠性,传输的数据都是过错的信息,便就失去了总线的实践含义。为了进步总线的可靠性,一般选用的办法有:
选用数据帧发送前发送器对总线进行侦听,只要侦听到总线处于闲暇状态下时才可向总线传送数据帧,这样防止了不同节点的数据抵触。
选用双绞线差分信号来传送数据,以下降单线的电压升降起伏,减小信号的边缘发生的高次谐波。
恰当的让数据的边缘具有必定的斜坡。
添加匹配电阻和电容等来削减总线上信号的发射和平衡总线上的分布电容等。
选用适宜的网络拓扑结构和屏蔽技能等来削减受其他信号的搅扰。
还有便是在软件上经过数字滤波、数据校验纠错等办法来进步数据传输的可靠性。
5 完毕语
学习是一个按部就班的进程,对总线技能的学习和了解也是跟着其技能的不断开展而不断更新的进程。子曰“工欲善其事,必先利其器。”只要从最根本的原理动身,打好根底,才干在往后的学习中融会贯通,前仆后继,更进一步深化该知识点和拓展知识面。