8.1.4 串行传输与串行接口

8.1.4 串行传输与串行接口

串行传输是位串行、字节串行的传输方式。该方式所需传输线少,特别适合远距离传输。串行传输可以与现行的通信线路直接连接,实现任意两地间的通信。

1.数据串行传输要解决的问题

(1)同步问题

·比特同步(每比特的可靠接收)。

·帧同步(保证字符的正确分割,也称为字节同步)。

·数据块同步(保证数据块按正确顺序发和收)。

(2)传输控制问题(在通信原理等课程中详细讲解)

·链路的连接/去连接(对公用通信线路)。

·传输命令与响应。

·数据流量控制。

·差错控制,出错恢复机制。

2.通信协议

(1)信息格式与结构

·异步型

起止式异步数据格式:所谓异步是指被传送的字符在数据流中的相对时间是任意的、随机的,字符间隔是可变的。收端检测起始位,这会使收端自动实现字符同步。传送的每个字符都以起始位开头,以停止位结束,又称为起止式同步。要求熟悉异步数据传输格式。

·同步型

同步数据传输要求收发双方按系统时钟或约定的同步码严格同步。同步传输又分为面向字符的同步协议和面向比特的同步协议。

·字符型

面向字符的同步通信数据格式在每一帧开始处都有SYN(同步字符),加一个SYN为单同步,加两个SYN为双同步。接着是文始、标题等控制字符,之后是数据块,最后是校验码。为了防止数据块中出现假的控制字符,采用字符填充技术,即需在发端出现的假控制字符前面加入转义字符(DEL),在收端识别并删除转义字符。

·比特型

面向比特的同步通信数据格式是以同步识别码(01111110)表明一帧的开始和结束的,每帧的比特长度是任意的。为了防止数据场中出现假的同步码,需在发/收两端采用零插入技术和零删除技术。

(2)通信协议

·基本型(包括异步协议和字符型同步协议)。

·高级协议(比特型同步协议,如HDLC、SDLC等)。

3.通信控制器(串行接口芯片)

通信控制器分为异步通信控制器和同步通信控制器两类。

异步通信控制器用异步传输格式,可实现基本型通信协议和自定义的其他通信协议。

同步通信控制器采用同步方式,可实现基本型(面向字符型协议)或高级(HDLS/SDLC)通信协议。

4.异步通信控制器8250

(1)对外引脚信号

与系统连接有关的信号如下。

·时钟信号:XTAL1和XTAL2。可在两端间接一石英晶体振荡器,由内部产生时钟,也可用外部时钟输入XTAL1

(2)内部结构

8250有8个8位寄存器和一个16位分频比锁存器,被安排在8个口地址空间内。除了数据接收缓冲寄存器(RBR,只读)和发送数据保持寄存器(THR,只写)占用同一口地址(0地址)外,其他命令/状态寄存器各占一个口地址,它们具体如下。

·中断允许寄存器(IER),读/写(W/R)。

·中断识别寄存器(HR),只读(RO)。

·线路控制寄存器(LCR),读/写。

·线路状态寄存器(LSR),读/写。

·MODEM控制寄存器(MCR),读/写。通过该寄存器,可控制MODEM信号(RTS、DTR,以及自定义线OUT1、OUT2)状态的高/低(ON/OFF)。

·MODEM状态寄存器(MSR),读/写。它反映MODEM输入线(CTS、DCD、RI、DSR)的状态和这些状态的变化。

一个16位寄存器是分频比锁存器,它分成两个8位寄存器:

·分频比锁存器低位(DLL),读/写;

·分频比锁存器高位(DLH),读/写。

(3)功能及特点

8250是一个单通道异步通信控制器,具有内部振荡放大和波特率发生器,以及完善的MODEM控制/检测口;具有本地环回测试功能,利用其内部命令/状态寄存器,可以仿真数据发送/接收,接收线路状态和MODEM状态改变等各种事件,模拟相应处理程序的调试。8250内部设有4个中断源,即发送寄存器空中断、接收FIFO字符超时中断、接收数据寄存器满中断、接收数据出错(分别为FE、PE、OE、BI)中断。

(4)初始化编程

串口初始化编程的要求是:确定数据传输格式(包括字符长度、停止位长度、有无奇偶校验),选择传输波特率,确定串口的操作方式。操作方式指是自发自收的环回测试方式还是发/收两端之间的通信方式,是程序查询方式还是中断传送方式。

可以按一定的步骤分别对线路控制寄存器、波特率与分频次数锁存器、MODEM控制寄存器进行参数写入操作,完成初始化编程。之后可以编写发送和接收字符的有关程序。

(5)本地环回测试功能

在MODEM控制寄存器(MCR)的LOOP=1时,进入本地环回测试方式,8250实现自发自收的循环反馈操作。有关本地环回测试的细节请参看主教材《微机原理与接口技术(第3版)》的说明。