资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
湖南科技大学信息与电气工程学院课程设计报告题 目: DSP芯片与PC机的异步串行通信系统 专 业: 班 级: 姓 名: 学 号: 指导教师: 尹艳群 2015年 12月 25日信息与电气工程学院课程设计任务书20152016学年第一学期专业: 学号: 姓名: 课程设计名称: DSP原理及应用课程设计 设计题目: DSP芯片与PC机的异步串行通信系统 完成期限:自 2015 年 12 月 21 日至 2015 年 12 月 25 日共 1 周设计依据、要求及主要内容(可另加附页):指导教师(签字): 批准日期: 年 月 日12目录一 、课题设计概述及原理 41.1设计目的41.2设计要求41.3实验设备41.4实验原理4二、串行通信的基本概念 62.1数据传输方式 62.2波特率62.3 误码率62.4 串行通信的基本方式62.5 异步串行通信标准接口 72.6 异步通信的控制时钟 72.7 全双工串行通信模块UART 8三 、实验步骤及仿真结果 93.1实验步骤 93.2仿真程序 10四 、总结11五 、参考文献12一、 课题设计概述及原理1.1设计目的1.掌握异步串行通信协议;2.掌握通用异步收发器芯片的应用。3. 掌握异步串行通讯电路及系统的设计方法。1.2设计要求 设计一个能进行异步全双工串行通信的模块,该模块以固定的串行数据传送格式收发数据。要求如下: 1) 每帧数据供10 位,其中 1位启动位,8位数据位,1位停止位 。2) 波特率为:9600。3) 收发误码率1% 。4) 实现与PC机的通信,PC机端采用串口调试助手。在 PC 机端,用串口调试助手发送和显示数据;在 FPGA 端,发送的数据来自于自建ROM内存储的数据,数据量为200,接受数据由串口调试助手发送,并由数码管显示接受数据值。1.3 实验设备1.一台装有CCS软件的计算机;2.插上2407主控板的DSP实验箱;3.DSP硬件仿真器。1.4设计原理1.异步串行通信协议在传输数据前,数据线处于高电平状态,这称为标识态。传输开始后,数据线由高电平转为低电平状态,这称为起始位;起始位后面接着58个信息位;信息位后面是校验位;校验位后是停止位“1”。传输完毕后,可以立即开始下一个字符的传输;否则,数据线再次进入标识态。上面提到的信息位的位数(58位)、停止位的位数(1位、1.5位或2位)、校验的方式(奇校验、偶校验或不校验)等参数都可以根据不同需要进行设置,但对于同一个传输系统中的收发两端来说,这些参数必须保持一致。异步串行通信方式中另一个重要的参数是波特率。在一般的“0”/“1”系统中,波特率就是每秒钟传输的位数。国际上规定了一个标准波特率系列,它们是最常用的波特率。标准波特率系列为110、300、600、1200、1800、2400、4800、9600和19200。发送端和接收端必须设置统一的波特率,否则无法正确接收数据。2.通用异步收发器芯片SC16C550:通用异步收发器完成的功能是把并行数据转换为串行数据,按上述异步串行通信方式把数据发送出去,同时把接收到的串行数据转换成并行数据。本模块选用的是Philips公司的SC16C550型号芯片。该芯片内部有15个寄存器可由编程者进行读写控制。本实验只用到其中几个,如下:地址(A2 A1 A0)寄存器011线控制寄存器(LCR)101线状态寄存器(LSR)000 接收数据寄存器(RHC)000 发送数据寄存器(THC)000除数寄存器低位(DLL)001除数寄存器高位(DLM)LCR用来指定异步串行通信的参数,包括传送的字长、停止位的位数和校验方式。见下表:LCR1,0传送字长00=5, 01=6, 10=7, 11=8LCR2停止位位数0:1位;1:1.5位(字长为5时)1:2位(字长为6,7,8时)LCR3是否进行校验0:不校验; 1:校验LCR4奇校验或偶校验0:奇校验; 1:偶校验LCR5强制校验位缺省为0:即不强制校验位LCR6中止0:不中止; 1:中止发送LCR7选择除数寄存器0:收发寄存器有效;1:除数寄存器有效。当LCR7 位置为0时,CPU以000的地址读取RHR中存放的接收到的数据,或者往THR中写入要发送的数据。这两个都是8位的寄存器。当RHR中有数据到达时,线状态寄存器的LSR0 位为“1”,这时可以读出该数据;当THR中数据清空时,LSR5 位为“1”,这时可以写入下一个要发送的数据。当LCR7 位置为1时,就可以设置除数寄存器的值,该值的计算方法是: 。 把计算结果(十进制)转换为十六进制分别填入DLL和DLM即可。本实验中用的晶振频率是1.8432MHz,若所需波特率为9600,则DLL中应写入0CH(即12),DLM中写入0H。3.电平转换RS-232-C标准中规定 5V 15V为逻辑“1”,+5V+15V为逻辑“0”,因此要用专门的芯片完成TTL电平与RS-232电平的转换,如MAX3232。4.串口调试助手该计算机端程序可以监测计算机串口接收和发送数据的情况。本实验中需要用该程序帮助观察实验结果。 二、串行通信的基本概念2.1数据传输方式 在串行通信中,数据在通信线路上的传送有三种方式: 单工方式 数据只能按一个固定的方向传送。 半双工方式 数据可以分时在连个方向传输,但不能同时双向传输。 全双工方式 数据可以同时在两个方向上传输。 本设计选用的是全双工方式。 2.2 波特率 即单位时间内传送的二进制数据的位数,也称数据位率,单位为bit/s(位/秒)。波特率是衡量串行数据传送速度快慢的重要指标和参量。 在串行通信中,数据的接收和发送都必须要有时钟信号对传送的数据进行定位和同步控制。波特率与收/发时钟频率的关系如下:收/发时钟频率 = n波特率 n的取值一般为1、16、32、64等。同步通信必须满足n=1,异步通信中常采用n=16.2.3 误码率 即数据经过传输后发生错误的位数(码元数)与总传输位数(码总元数)之比,其与通信线路质量、干扰大小及波特率等因素有关。 2.4 串行通信的基本方式(两种) 异步串行方式 数据流中,字符间异步,字符内部各位间同步。 同步串行方式 数据流中,字符间以及字符内部各位间都同步。 目前PC机的串行接口基本都采用的异步通信方式,故本设计也采用此方式。2.5 异步串行通信标准接口通信协议,即通信规程,指通信双方在信息传输格式上的一种约定。 在数据通信中,收/发器之间传送的是一组二进制的“0”“1”位串,而“0”“1”在不同的位置可能有不同的含义。有的只用于同步,有的代表通信双方的地址,有的是控制信息,有的是为了差错控制而附加上的冗余位,有的则是真正的需要传输的数据。这些都需要在通信协议中事先进行约定,以形成收/发双方共同遵守的格式。 每帧信息(即每个字符)由4部分组成: 1位起始位,规定为低电平“0”; 5-8位数据位,紧跟于起始位的后面。规定从低位向高位依次传送; 0位或1位奇偶校验位; 1位,3/2位或2位停止位,规定为高电平。起始位标志着每个字符的开始,通知接收器开始装配一个字符,以便和发送器取得同步;停止位标志着每个字符的结束。通过起始位和停止位的结合,实现异步字符传输的同步。异步通信的关键是接收器必须准确地发现每个字符开始出现的时刻,因此协议规定起始位和结束位必须采用相反的极性,利用前一个字符的高电平停止位到后一个字符的低电平起始位的负跳变,接收器便知道这是一个字符的开始,以此作为新字符内位检测与采样的时间基准。为保持相邻两个字符的转换是一个负跳变,故通信协议规定字符与字符间出现的空闲状态(冗余位)也用“1”填充。 按课程设计要求,我们的设计的传输格式为1位起始位,1位停止位和8位数据位,无奇偶校验位。2.6 异步通信的控制时钟 因为在异步通信中,同步只在一个字符间保持,每个字符在传输时都会有新的起始位和停止位,故发送时钟和接收时钟只需分别使用两个频率相同的局部时钟,无需使用同一个时钟。由于收/发器使用的为各自独立控制的时钟,他们的频率虽然要求要相同,但不可能真正严格的相同,它们的上下始终边沿总会不可避免地出现一定程度的偏移。这种收/发时钟的相对误差会导致接收端的采样错误,为保证数据能正确传送,除了用起始位、停止位和空闲位提供正确的时间基准外,还可以采用接收器在码元中心进行采样,获得最大收/发时钟频率偏差容限的方法来实现。为了保证在每个码元的中心位置采样,在准确知道起始位前沿的前提下,接收器在起始位前沿到来后,先等半个周期采样一次,然后每过一个位周期采样一次,直至收到停止位。为提高采样的分辨能力和抗干扰能力,接收器应采用比波特率高的时钟来控制采样时间。利用经16倍波特率的接收时钟实现再同步的过程如上图所示。利用这种经16倍频的接收时钟对串行数据流进行检测和采样,接收器能在一个位周期的1/16时间内决定出字符的开始。不仅有利于实现收发同步,还有利于抗干扰和提高异步串行通信的可靠性。其采样、检测过程为:停止位或任意数目空闲位的后面,接收器在每个接收时钟的上升沿对输入数据流进行采样,通过检测是否有9个连续的低电平来确定它是否为起始位,如果是,则确认其为起始位,并且对应的是起始位中心,然后,以此为准确的时间基准
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号