3.4 串行通信接口组成 12
3.5 UART通信协议 13
3.6 系统整体结构 15
3.7 串行通信实现方案 16
3.8 小结 16
4 UART的设计 17
4.1 UART设计概述 17
4.2 UART实现原理 17
4.3 UART各个模块的功能 18
4.3.1信号监测模块 18
4.3.2移位寄存器模块 18
4.3.3 波特率发生模块 18
4.3.4 奇偶校验模块 18
4.3.5 总线选择模块 18
4.3.6 计数器模块 19
4.3.7 UART内核模块 19
4.4 UART工作流程 19
4.4.1 接收过程 19
4.4.2 发送过程 19
4.5 小结 21
5 UART的各模块及顶层仿真结果 22
5.1 信号监测模块 22
5.2 移位寄存器模块 23
5.3 波特率发生器模块 24
5.4 奇偶校验器模块 26
5.5 总线选择模块 26
5.6 计数器模块 27
5.7 UART内核模块 28
5.7.1 UART内核模块的接口 29
5.7.2 UART内核模块的状态机设计 29
5.8 UART顶层模块 32
5.9 小结 33
结 论 34
致 谢 35
参考文献 36
附录 部分程序代码 37
1 绪论
1.1 课题背景与实现基础
随着计算机逐步的实现互联和网络化,以及微机分级分布式应用系统的迅速发展,通信的功能变得越来越重要。通信作为现代生活极其重要的一部分,有多种分类和定义。本课题所指的通信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部设备,如终端、打印机和磁盘等设备之间的传输,其主要方式包括串行通信和并行通信。我们这里主要研究串行通信。串行通信作为通信的主要方式之一,顾名思义是指 使用一条数据传输线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度,所以串行通信只需要少数几条线就可以在系统间交换信息,串行通信优点颇多,主要集中在传输线少,可靠性高,传输距离远等方面,所以它被广泛应用于计算机和外设的数据交换[1]。在此条件和基础下,研究如何快速有效的实现串行通信变得十分重要和热门。
同时在另一个方面,随着微电子技术的迅猛发展,数字电路系统正朝着速度变快、容量变大、体积变小、重量变轻的方向发展。而推动该趋势迅猛发展的驱动力就是日益完善的专用集成电路ASIC设计技术。它是由早时候的电子管、晶体管、小中规模集成电路发展到超大规模集成电路,以及许多具有许多特定功能的专用集成电路ASIC,ASIC通常包括全制定、半制定及可编程逻辑器件(包括简单的SPLD 复杂的CPLD和FPGA)[2]。对于前两种来说,由于生产中要交一次性的工程费用,所以对于小批量生产、试验产品等,采用前两种方法不可取。因此可编程逻辑器件(SPLD,CPLD和FPGA)已成为实现ASIC的主要手段。可编程器件具有较多ASIC的一般优点,比如保密性强、体积小、重量轻、可靠性高等,同时它还具有现场可编程的最大优点。相当于普通电路的集成电路,它具有设计开发周期短、设计制造成本低、开发工具优先等特点[3]。因此可编程逻辑器件被广泛地应用在数字通信的系统中。