最近小编看到大家都在讨论详解串口通讯的概念及接口电路相关的事情,对此呢小编也是非常的感应兴趣,那么这件事究竟是怎么发生的呢?具体又是怎么回事呢?下面就是小编搜索到的关于详解串口通讯的概念及接口电路事件的相关信息,我们一起来看一下吧!
随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要。这里所说的通信是只计算机与外界的信息交换。因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。
【资料图】
许多外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与接口电路之间的信息传送方式,实际上,CPU与接口之间仍按并行方式工作。
1 串行通信的概念
图1 串行通信
所谓串行通信是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图1-1所示。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。
由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有接收移位寄存器(串→并)和发送移位寄存器(并→串)。典型的串行接口的结构如1-2所示。
图2 典型的串行接口结构图
在数据输入过程中,数据1位1位地从外设进入接口的接收移位寄存器,当接收移位寄存器中已接收完1个字符的各位后,数据就从接收移位寄存器进入数据输入寄存器.CPU从数据输入寄存器中读取接收到的字符。(并行读取,即D7~D0同时被读至累加器中)。接收移位寄存器的移位速度由接收时钟确定。
在数据输出过程中,CPU把要输出的字符(并行地)送入数据输出寄存器,数据输出寄存器的内容传输到发送移位寄存器,然后由发送移位寄存器移位,把数据1位1位地送到外设。发送移位寄存器的移位速度由发送时钟确定。
接口中的控制寄存器用来容纳CPU送给此接口的各种控制信息,这些控制信息决定接口的工作方式。
状态寄存器的各位称为状态位,每一个状态位都可以用来指示数据传输过程中的状态或某种错误。例如,用状态寄存器的D5位为1表示数据输出寄存器空,用D0位表示数据输入寄存器满,用D2位表示奇偶检验错等。