串口通信基础理解

来源:互联网 发布:金钥匙软件怎么使用 编辑:程序博客网 时间:2024/06/11 13:46

接口技术简介

一般情况下,人们是通过外部设备使用计算机的,但是由于某些原因,外设是不能与CPU直接相连的。他们之间需要一个中间环节实现信息交换,称之为接口电路。
接口是CPU与外界的连接部件,是CPU和外界信息交换的中转站。

接口的基本功能

(1) 数据缓冲
接口中设置数据寄存器或者锁存器,以解决主机高速和外设低速的矛盾,避免因速度不一致而造成数据丢失。
(2) 信号转换
由于外设提供的状态信号和需要的控制信号往往同微机的总线信号不兼容。
(3) 设备选择
系统中一般有多种外设。而CPU在同一时间内只能与微机同一外设交换信息。
(4) 接受、解释并执行微处理器的命令
CPU对外设的各种命令都是以代码的形式发送到接口电路中,然后经过接口电路读取后,形成一系列的控制信号控制被控对象。
(5) 中断管理
当外设急迫需要CPU的服务的时候,特别是出现故障需要CPU的处理,就会要求在接口中设置中断控制器,为CPU处理有关中断事务。
(6) 数据宽带变换
CPU处理的是并行数据,而有的外设只能处理串行数据。因此,接口就应该具有数据“并->串”和“串->并”的变换功能。
(7) 可编程
现在接口芯片绝大多数是可编程的,这样可以在不改动硬件的情况下,只修改驱动程序即可改变接口的工作方式。

常见接口

1. 并行接口
主机与接口、接口与外设之间都是以并行方式传送数据,即每次传送一个字或字节的全部代码。
并行接口的数据通路宽度是按字或字节设置,其数据传输速率高。
2. 串行接口
现在的PC机一般都会有两个串行口COM1和COM2。串行口的数据和控制信息是一位接一位串行的传送下去。这样,速度会慢一些。但传送距离较并行口更长,因此长距离的通信应该使用串行口。
3. 磁盘接口
(1) IDE接口
控制器集成在驱动器中。
(2) EIDE接口
支持外设4个。
4. SCSI接口
SCSI小计算机系统接口,在做图形处理和网络服务的计算机中被广泛使用SCSI接口的硬盘。
5. USB接口
新一代接口标准,也是一种连接外设的机外总线。

接口的控制方式

(1) 程序查询方式
CPU通过I/O指令询问指定外设的当前状态。如果外设准备就绪,则进行数据的输入或者输出,否则CPU等待,循环查询。
(2) 中断处理方式
CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,就可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。
(3) DMA传送方式
采用专门的硬件电路——DMA控制器来控制内存与外设之间的数据交流。无需CPU介入。

RS-232-C串口标准

RS-232-C概述

串行通信接口标准经过使用和发展,目前已经有很多种。目前RS-232-C作为一种标准,通信设备厂商生产的设备与该制式兼容。

数据终端设备和数据通信设备

终端和计算机之间的通信或者计算机之间的相互通信,统一称为数据通信。用于接收和发送数据的设备称为数据终端设备DTE。用来连接与数据通信网络的设备称为数据通信设备DCE。

端口通信编程基础

基本概念

端口通信-同步传输和异步传输

1.同步传输方式
采用同步传输,将多个字符组成一个信息组,这样字符可以一个接一
个地传输,但是需要在每组信息的开始处加上同步字符,在没有帧要传输
的时候,要填上空字符,因为同步传输不允许有间隙。
2.异步传输方式
异步传输方式指比特被划分成小组独立传送。发送方可以在任何时刻
发送这些比特组,而接收方不知道什么时候达到。
3.同步传输方式和异步传输方式的简单比较
同步传输通信效率高,异步传输效率低。
异步传输简单,双方时钟允许存在一定误差,同步传输较复杂,双方
时钟的允许误差较小。
异步传输只适用于点到点的数据传输,而同步传输可用于点到多点之
间的数据传输。

单工、半双工和全双工通信

1.单工
通信只在一个方向上进行。
2.半双工
使用同一根传输线既作接收又作发送,数据可以在两个方向上传送,
但是不能同时收发数据
3.全双工
数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方
都能同时进行发送和接收数据。

通信协议

1.ISO的OSI模型
OSI七层参考模型不是通信标准,只是给出一个不会由于技术发展而
必须修改的稳定模型。如EIA-RS0232实现了物理层。
2.串行通信协议
(1)面向字符的同步协议
一次传送由若干个字符组成的数据块,而不是只传送一个字符。

(3) 面向比特的同步协议
所传输的一帧数据可以是任意比特,而且是靠约定的比特组合模式,
而不是靠特定字符来标志帧的开始和结束。

(4) 起止式异步协议—异步传输协议的实例
一个一个字符地进行传输,并且传送一个字符总是以起始比特开始,
以停止位结束,字符之间没有固定的时间间隔要求。
3.数据编码、数据安全和完整
1.编码
ASCII编码和扩展的二-十进制交换码。
2.奇偶校验
计算数据中1的个数,再增加一个附加比特,使得1的个数为奇数
或偶数。
3.循环冗余校验
将每个比特串看作一个多项式,通过多项式除法来检测错误。

原创粉丝点击