您的当前位置:首页0和1

0和1

来源:爱问旅游网


0和1

我们的生活越来越离不开信息,计算机是如何传输这些信息的呢?发送一个字母“A”,通过特定字符编码(如ASCII)就替换成数字“65”,换成十六进制的就是“01000001”,现在需要把这八个0和1发送出去,就需要用到通信协议。

通信协议简单的说就是研究什用么代表0什么代表1,在计算机的字典里,就存了0和1这两个字。那接下来我们来学习一下现如何传送0和1。

最直观的方式就是检测电压,如果是高位就是代表1低位代表0。看起来很简单的技术却有大用,如果你理解了这个概念那你就会学会如何通信了。如果要传送1个字符“A”即8个0或1:假如有八条线,一条线传输一个0或1,这种技术叫并行口技术,实际运用中我们多用串行技术;如果只有一条线,可以按照时间顺序传送这个传送这八个高低电位。至于每个位传输的时间持续多久呢,这个需要有个事先预定。这个时间叫传输周期,这个周期的倒数叫波特率。如果你能读懂这些你就掌握了异步串行通信RS232标准,这个古老的技术使用了几十年了,曾经的打印机键盘鼠标都是通过这种协议接上电脑的,如今绝大多数单片机都保留这种接口。

同步传输和异步传输:刚才介绍的RS232是异步传输的代表,异步传输需要先预定义两个位的时间间隔,这样才能有组织的传送一系列的0和1。同步传输就不需要预定义这个时间间隔,但是多出一条时钟线,这条时钟线提供了这个时间间隔,数据线则根据时钟线的时钟来传送数据。同步传输的代表是SPI和I2C,SPI的优势是传输速度快可达10Mps,I2C的优势是一条线能挂载多个器件。

I2C总线是飞利浦公司开发的两线式的串行总线,一条时钟线SCL和一条数据线

SDA,每个接入总线的器件都有一个唯一识别地址,传输速度达400kps,I2C是总线技术只能支持半双工。

SPI 总线是摩托罗拉公司推出的三线高速同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO;用于CPU与各种外围器件进行全双工、同步串行通讯。

CAN总线用在汽车上,属于现场总线范畴,要求是性能稳定反应速度极快。

这里理解一下总线的概念,假如系统中有很多个设备需要互联通信,为降低线路成本提高线路使用效率,提出了总线技术。总线的特点是一条总线上能挂载很多个器件,总线技术运用得非常普遍,总线技术具有连接方便,成本低廉,数据共享速度快。理解总线技术I2C是很好的代表,I2C同一条总线上挂载很多个器件,通过地址码区分。我们使用的局域网也是总线技术,虽然复杂很多,但是原理跟I2C很相似,数据包通过MAC地址区分。总线技术是在原有的基础协议上增加特定地址码来区分数据流向的技术,实现了对数据线缆的高效利用。总线技术需要解决数据冲突问题,类似于电话占线问题。

计算上使用的以太网协议是一个很大家族协议,按速率分10M,100M,1000M等类型,按介质来分同轴线,双绞线及光纤线,还有无线这一个大类。这里具体了解一下大家最常用的100Mps双绞线的快速以太网协议。 它使用两对双绞线,8条网线里面的第1.2.3.6,一对用于发送(TX+TX)-,一对用于接收数据(RX+RX-)。大家是不是很好奇,为何一条数据线分正负型,之前RS232只有TX线和RX线,电位的高地是以GND作为参考的。现在引入TX+和TX-确实可以省去GND线,但是现在总线条数4条比原来3条多了,为何要这样做呢。先来看看这种协议里什么代表0什么代表1。之前我猜测电流从TX+流向TX-代表1,反之代表0,按照这种协议的话需要4条线解释很合理,也许这种通信方

式速度很快。事实上快速以太网采用的MLT-3三阶基带编码技术,也是采用电位来区分0和1不是电流区分。简单点理解,TX+到TX-的信号被分为正电位,零电位,负电位,如果传送0就保持前一位状态不变,如果传送1就按照正弦波的走势来传送(如果前一位是1或-1则传送0;如果前两位是10,则传送-1,如果是-10则传送1)。至于为什么要这样传输,我也没弄清楚,大家一起学习。

这里出现了两种表示0和1的方式,最常见的表示法:以一条GND线为参考电位,数据线上的高电位代表1低电位代表0,绝大多数协议都这样表示0和1。另外一种是比较奇怪的快速以太网的正弦波表示法,以两条D+和D-线传输数据,D+与D-之间的电位不变代表0,电位按照正弦波变化代表1。至于我想到的一种表示法,按照电流的流向表示0和1还没有在哪里看到过,有空可以研究一下这种表示法。

计算机上USB通用串行总线技术为我们的生活带来了多么大的便利。看到这里大家都懂了“串行”和\"总线\"概念了吧。USB通信技术是如何表示0和1的呢?USB里面只有4条线除去电源线外只剩两条数据线了,看起来挺适合全双工串口模型的如RS232和SPI。但是USB需满足总线模型,USB是半双工模式,不能在发送数据的时候接受数据,收发只能分时进行。USB的两条线是D+和D-,采用了 差分信号传输方式,采用了NRZI的编码方式。NRZI一句话概括就是:不归零就反向。NRZI无须同步的时钟信号也能产生同步的数据存取。NRZI的编码规则是,当数据位为“1”时不转换,为“0”时再作转换。如果遇到连续6个1转码成0。这样做的目的能提高USB抗干扰能力。

以上介绍的都是USB2.0以前的接口,最近兴起的USB3.0已经有9条线缆了。多出来的5条隐藏在里面一点,最中间的是GND线,靠左边条线的SSRX-和SSRX+,靠右边的是SSTX-和SSTX+,SS的意思是SuperSpeed,USB3.0多出了两组全双工的差分信号线速度可以达到5Gps。是不是和上面介绍的快速以太网模型很像 ,网线这种高速传输

模型如今也运用到USB传输上来了。

最近在研究USB协议,本文未完待续

因篇幅问题不能全部显示,请点此查看更多更全内容