串口通讯


   

   随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要.这里所说的通信是只计算机与外界的信息交换.因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换.由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输.对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍.在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各 CPU 之间的通信一般都是串行方式.所以串行接口是微机应用系统常用的接口.
许多外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与接口电路之间的信息传送方式,实际上, CPU 与接口之间仍按并行方式工作.
1  串行通信的概念

所谓 " 串行通信 " 是指外设和计算机间使用一根数据信号线 ( 另外需要地线 , 可能还需要控制线 ), 数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度.如图 1-1 所示.这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢.
由于 CPU 与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有 " 接收移位寄存器 " (串→并)和 " 发送移位寄存器 " (并→串). 在数据输入过程中,数据 1 位 1 位地从外设进入接口的 " 接收移位寄存器 " ,当 " 接收移位寄存器 " 中已接收完 1 个字符的各位后,数据就从 " 接收移位寄存器 " 进入 " 数据输入寄存器 " . CPU 从 " 数据输入寄存器 " 中读取接收到的字符.(并行读取,即 D7~D0 同时被读至累加器中). " 接收移位寄存器 " 的移位速度由 " 接收时钟 " 确定.
在数据输出过程中, CPU 把要输出的字符(并行地)送入 " 数据输出寄存器 " , " 数据输出寄存器 " 的内容传输到 " 发送移位寄存器 " ,然后由 " 发送移位寄存器 " 移位,把数据 1 位 1 位地送到外设. " 发送移位寄存器 " 的移位速度由 " 发送时钟 " 确定.
接口中的 " 控制寄存器 " 用来容纳 CPU 送给此接口的各种控制信息,这些控制信息决定接口的工作方式.
" 状态寄存器 " 的各位称为 " 状态位 " ,每一个状态位都可以用来指示数据传输过程中的状态或某种错误.例如,用状态寄存器的 D5 位为 "1" 表示 " 数据输出寄存器 " 空,用 D0 位表示 " 数据输入寄存器满 " ,用 D2 位表示 " 奇偶检验错 " 等.
能够完成上述 " 串 <- -> 并 " 转换功能的电路,通常称为 " 通用异步收发器 " ( UART : Universal Asynchronous Receiver and Transmitter ) , 典型的芯片有: Intel 8250/8251,16550
   

相关词条:
串口通讯服务器  
 
自定义分类:
杂志商标
 
贡献者:
leecb72
Copyright © 1999-2024 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4