📜  异步通讯接口

📅  最后修改于: 2021-08-27 18:12:08             🧑  作者: Mango

上面显示了异步通信接口的框图。它既充当发送器又充当接收器。

接口部分:
通过加载到控制寄存器中的控制位来初始化接口。发送器寄存器通过数据总线从CPU接收数据字节,然后将其传输到移位寄存器以进行串行传输。当累积完整的数据字节时,串行信息将被接收到另一个移位寄存器中,并被传输到接收器寄存器中。状态寄存器中的位用于检查传输期间的任何错误以及CPU可以读取的输入和输出标志。片选(CS)输入用于通过地址总线选择接口。寄存器选择(RS)与读取(RD)和写入(WR)控件关联。两个寄存器是只读和写入的。

所选的寄存器是RS值以及RD和WR状态的函数,如下表所示。

界面的工作方式:
该接口由CPU通过向控制寄存器发送一个字节来初始化。状态寄存器中的两位用作标志,一位用于指示发送寄存器是否为空,另一位用于指示接收器寄存器是否为满。

发射器部分的工作:
CPU读取状态寄存器并检查发送器。如果发送器为空,则CPU将字符传输到发送器。发送器中的第一位设置为0,以生成起始位。字符的并行传输是从发送器寄存器到移位寄存器的。然后将变送器标记为空。检查状态寄存器中的标志后,CPU可以将另一个字符传输到发送器寄存器。

接收器部分的工作:
线路空闲时,接收数据输入处于1状态。接收器控件监视接收数据线以检测起始位的出现。一旦检测到起始位,字符位便移至移位寄存器。当接收到停止位时,字符从移位寄存器并行传输到接收寄存器。
接口在传输过程中检查是否有错误,并在状态寄存器中设置适当的位。接口检查的三个可能的错误是奇偶校验错误,成帧错误和超限运行错误。