片上系统的UART接口控制器IP设计毕业设计.doc
《片上系统的UART接口控制器IP设计毕业设计.doc》由会员分享,可在线阅读,更多相关《片上系统的UART接口控制器IP设计毕业设计.doc(56页珍藏版)》请在三一办公上搜索。
1、 毕业设计(论文)题目: 片上系统的UART接口控制器IP设计姓名 学号所在单位 指导教师完成日期 片上系统的UART接口控制器IP设计摘 要当代在通信和控制系统中,常使用UART (通用异步收发器)实现系统辅助信息的传输。 UART虽然通信速度不快,但是它具有电路简单,成本低,性能可靠,特别适合远距离数据传输等优点。因此,在许多对通信速度要求不高的场合,异步串行口还发挥着很重要的作用,被广泛的使用。而如今市场上的UART功能复杂,在应用只使用到它的几个基本功能,因而造成资源浪费,为此我们需要对UART的功能进行精简,方便使用,降低CPU的工作负担,提高了系统性能。关键词: UART 片上系统
2、 通信协议;AbstractContemporary in communication and control system, often use UART (general asynchronous transceiver) to implement system auxiliary information transmission. UART although communication at a modest pace, but it has a circuit is simple, low cost and reliable performance, especially suitab
3、le for the remote data transmission, etc. Therefore, in many of the communication speed demand is not high occasions, asynchronous serial mouth still plays a very important role, is widely used. And now the market UART function complex in application to use only a few basic function of it and cause
4、the waste of resources, and to do so we need to the function of the UART streamlined, convenient use, reduce work load of the CPU, and improve the system performance.Key Words: UART; SOC; agree on communication目 录第一章 绪论1第二章 背景22.1知识背景22.2 本课题的研究内容32.3 论文结构4第三章 UART接口协议53.1帧格式53.2 示例73.3 物理接口8第四章 UAR
5、T接口控制器的设计与实现114.1 UART接口控制器核(Core)的设计与实现114.2 UART顶层设计24第五章 测试验证325.1 基于quartus II的功能仿真测试325.2 基于FPGA的系统级测试34第六章 总结35致 谢37附 录38第一章 绪论当今社会,随着计算机的广泛应用,网络技术的快速发展和数字通信技术的日益普及,经常会采用串行通信方式来进行数据信息的交换传输。在串口通信中,数据的串行并行转换工作主要是由UART来实现。UART是当前较广泛使用的串行数据传输协议之一,它允许在串行链路上进行全双工通信,其应用范围遍及计算机外设、工业控制等场合。现在专用的UART集成电路
6、如8250、8251等既要考虑异步收发功能,又要兼容RS-232C接口设计等功能,比较复杂。而在实际应用中,往往只需要用到UART的几个基本功能,而使用专用芯片势必会造成资源的浪费以及设备成本的提高。所以我们可以将所需的UART功能集成到SOC内部,实现与其他SOC数字系统的直接通信,从而简化了整个系统电路,使系统更为灵活、紧凑,性能也更加稳定。UART16550采用通用的RS-232C串行接口标准,其实现较为简单,最少只需要2条导线即可实现基本通信。第二章 背景2.1知识背景一、UART概述及其发展UART:(Universal Asynchronous Receiver/Transmitt
7、er),全称是通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,用于控制计算机与串行设备, 是实现设备之间低速数据通信的标准协议。通常集成在主板上,多数是16550AFN芯片。UART作为一种串口因可靠性高、传输距离远、线路简单、串口通信协议的简洁而广泛应用于串行数据通信电路。其基本原理是1个完整的数据在数据线上依次按比特位传送,虽然传输速率较低,但由于这种传输方式需要的数据线较少,只需用两根线就可以完成数据的收发(一根接收数据,一根发送数据),而且成本低廉,因此特别适合远距离数据传输。“异步”指不需要额外的时钟线进行数据的同步传输,是一种串行总线接口。常用的标准通信波特率有9
8、600bps、115200bps等。UART产生于上个世纪70年代,是第一块大规模集成电路。1981年的推出的IBM PC采用了8250 UART与外设进行数据通信,直到上个世纪末,UART一直是PC中最主要的串行通信接口。随着高速串行总线USB的出现,USB以其诸多的优点取代了UART成为个人电脑中应用最广泛的串行接口。 而在嵌入式领域,由于UART具有操作简单、工作可靠、抗干扰强、传输距离远(组成485网络可以传输1,200米以上),设计人员普遍认为UART是从CPU或微控制器向系统的其他部分传输数据的最佳方式,因此它们被大量地应用在工业、通信和家电控制等嵌入式领域。通常MCU/CPU都会
9、自带一个UART串口,但实际应用中一个串口往往不够用,需要进行UART串口扩展。 二、UART控制器UART控制器完成串行通信功能,控制器在内部总线的操作下,通过对寄存器的读写,完成如波特率设置、串并变换、FIFO控制、流控制及中断控制等,最终将需要发送的并行数据以一定的格式发送;同时也将外部输入的串口数据流按一定格式进行采集完成数据的接收。计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(First Input First Output,先入先出队列)传送
10、到串行设备,ykl若是没有FIFO,信息将变得杂乱无章,不可能传送到Modem。 三、SOC的基本概念SOC (系统级芯片System onChip),也有称片上系统,狭义的角度上讲,它是信息系统核心的芯片集成,是将系统关键部位集成在一块芯片上;从广义角度讲,SOC是一个小型系统,是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。SOC 也有译为“系统芯片集成”,意指它是一种技术,用以实现从确定系统功能开始,到软硬件划分,并完成设计的整个过程。SOC是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。所谓完整的系统一般包括中央处理器(CP
11、U)、存储器、以及外围电路等。 SoC是与其它技术并行发展的,如绝缘硅,它可以提供增强的时钟频率,从而降低微芯片的功耗。 片上系统技术通常应用于小型的,日益复杂的客户电子设备。例如,声音检测设备的片上系统是在单个芯片上为所有用户提供包括音频接收端、模数转换器(ADC)、微处理器、必要的存储器以及输入输出逻辑控制等设备。此外系统芯片还应用于单芯片无线产品,诸如蓝牙设备,支持单芯片WLAN和蜂窝电话解决方案。 2.2 本课题的研究内容本课题内容是设计面向SOC的UART接口控制器,具体来说是设计基于Nios II处理器系统的UART接口控制器并在DE2开发板上进行了验证。2.3 论文结构第一章为绪
12、论第二章介绍了背景,包括UART、SOC.第三章介绍UART接口协议第四章为UART接口控制器的设计与实现第五章为测试验证第六章为总结第三章 UART接口协议UART主要由数据总线接口、控制逻辑、波特率发生器、发送部分和接收部分等组成。UART内部所实现的功能包括微处理器接口、发送缓冲器、发送移位寄存器、帧产生、奇偶校验、数据接收缓冲器、接收移位寄存器等。3.1帧格式UART一帧由起始位、数据位、校验位和停止位组成。数据逐位传输,示意图如图 31所示。异步串口通信协议作为UART的一种,工作原理是将传输数据的每个字符一位接一位地传输。 其中各位的意义如下:图31 UART帧格式示意图一、起始位
13、 UART空闲时(没有数据传输),总线为高电平(逻辑1),当需要数据传输时,首先发送一个“起始位”,起始位为一个低电平“逻辑0”。 二、数据位(资料位) 如图3-1的“2.”所示,紧挨着“起始位”的是数据位,它可以是、5、6、7或8位,收/发双方在数据开始传输前,需要对双方数据位位数作一致的定义,否则会导致数据的传输错误;数据位的发送采用低位(LSB)先发送。通常采用ASCII码。从最低位开始传送,靠时钟定位。三、校验位 UART的校验位紧挨着数据位,采用奇/偶位校验方式,数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。在实际的应用中,校验位
14、可以是奇校验或者偶校验,也可以不包括校验位。结束位也不一定是1位,还可以是15或者是2。可有可无,是为了验证数据传输的安全性而设置的,在收/发双方进行数据传输前要预设好是否需要校验位,如果需要则是奇校验还是偶校验。如图2-1的“3.”所示。奇偶校验是对数据进行逐位同或异或运算。如公式(1)和公式(2)所示。DEVEN D7D6D5D4D3D2D1D0 公式(1) DODD DEVEN 公式(2) 如对8位数据0x55(01010101b)作偶校验操作,得到的结果为“0”;作奇校验得到的结果为“1”。简单而言,偶校验增加一位“0”或“1”,使数据位加上校验位后“1”的个数为偶数;而奇校验则是使“
15、1”的个数为奇数。如图 32所示为奇偶校验RTL(寄存器传输级)示意图。使用移位寄存器进行逐位操作。当“LOAD”为逻辑“1”时,加载移位寄存器的数据和初始化校验结果寄存器为逻辑“0”;之后在“CLK”的每个上升沿进行逐位“异或”运算。图3-2 奇偶校验RTL示意图四、停止位 UART的帧以停止位作为停止标志,是在数据位(没有校验位)和校验位(有校验位)之后发送12位的逻辑“1”。停止为可以为1位、1.5位和2位。当发送完停止位之后,UART总线进入空闲。五、空闲位空闲指UART总线上没有数据进行传输,表现为发送方输出逻辑“1”,在空闲时,接收方时刻监视UART总线上电平变化,当发现起始化,则
16、进入数据接收状态,直至接收完一帧数据,如果最后没有检测到停止位,则标志帧错误。六、波特率(Baudrate) 波特率是衡量资料传送速率的指针,由于UART没有同步时钟线,收/发双方如果需要进行正确的数据传输,则要在收/发双方定义一致的位时钟,位时钟可以理解为UART总线一个位所占用的时间,即“波特率”。在定义上,收/发双方的波特率可以是随意的,只需要保持一致,如双方都是1000bps,但是,这不能兼容现有常用的设备,兼容性差。所以在工程应用中,常用一些特定的波特率真,如4800ps、9600bps或115200bps等。3.2 示例因为UART的帧格式是可变,以下以几个示例,形象地描述UART
17、的不同设置下的帧格式。一、常用帧格式 如图3-3所示为8位数据位、无校验位、1位停止位的帧格式示意图,一帧共有10位。发送的数据为0xA5。图33 常用帧格式二、偶校验 如图34所示为8位数据位、偶校验、1位停止位的帧格式示意图。每帧共有11位。发送的数据为0xA5,则偶校验结果为“0”。当加个校验位后,可以看出,“1”的个数为偶数。图34 带偶校验帧格式三、奇校验 如图35所示为8位数据位、奇校验、1位停止位的帧格式示意图。每帧共有11位。发送的数据为0xA5,则奇校验结果为“1”。当加个校验位后,可以看出,“1”的个数为奇数。图35 带奇校验帧格式 3.3 物理接口UART的物理接口可以是
18、RS-232、RS-485和IrDA红外线等。其中RS-232是最为大家容易接触的,在2006年之前是大部分PC机的标准接口,早期电话线上网就是利用RS-232连接数PC机和Modem。一、RS-232连接器RS-232的连接器常用的是DB-9,其连接器示意图如图3-6所示,为九针连接器。对于常用的简单应用,使用到的有三根线:RxD、TxD和GND。图36 DB-9连接器示意图实物图如图 37所示。图3-7 DB-9实物图二、RS-232电气特性RS-232规定说明了RS-323C标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V;
19、对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在(315)V之间。在TxD和RxD上: 逻辑“1”为-3V-15V; 逻辑“0”为+315V。 在RTS、CTS、DSR、DTR和DCD等控制线上: 信号有效(接通,ON状态,正电压) +3V+15V ; 信号无效(断开,OFF状态,负电压
20、) -3V-15V 。三、RS-232电平转换电路由于RS-232的电气特性和MCU等输出的电气特性不一致,所以对于TTL电平的MCU,使用RS-232连接器(如和PC机通信),需要使用电平转换电路,通常使用集成电路(IC)完成电平转换,常用的IC有MAX232等,当然还有其它公司生产的IC,如SP232等,常以232作为标识。如图 38所示,是使用MAX232作为转换IC的电路图。图38 电平转换电路四、实际应用 RS-232 RS-232在实际应用一般用于点对点的数据传输,当然在硬件和软件上加上一些手段,可以用于多机通信,但应用不多。在通信速率低于20kb/s时,RS
21、-232C所直接连接的最大物理距离为15m。 RS-485 RS-485在工业应用现场应用比较广泛,常使用单工通信组成一主多从的通信网络,使用双绞线连接多台设备,使用差分信号传输数据,所以抗共模干扰能力比RS-232强,共通信距离可以超过1Km。第四章 UART接口控制器的设计与实现4.1 UART接口控制器核(Core)的设计与实现UART采用模块化、层次化的设计思想,全部设计都采用Verilog HDL来实现,其组成框图如图41所示。整个UART由串行数据发送模块、串行数据接收模块、接收和发送FIFO、总线接口逻辑、寄存器和控制逻辑构成。串行发送模块的接收完成并串及串并
22、的转换;发送和接收FIFO用于缓存发送和接收的数据;总线逻辑用于连接UART IP内部总线和LPC模块接口;寄存器和控制逻辑实现UART内部所有数据的收发、控制和状态寄存器、内部中断的控制及波特率信号的产生等。总线接口单元主要完成寄存器访问。因为总线是由LPC总线模块产生。在这里需要为LPC总线模块产生lpc ack信号。因为内部寄存器操作相当快,我们可以让lpc ack在读写信号有效后下一时钟周期就有效,这样可以简化设计。在UART中用到两个FIFO,一个发送FIFO,一个接收FIFO,均为16个字节深度,8位宽。图41 UART的模块功能框图异步传输方式指收发两端各自有相互独立的定位时钟,
23、收方利用数据本身来进行同步的传输方式。数据流按照一定的帧格式串行发送,一个完整的数据帧由起始位、数据位、校验位、结束位构成,完成一个字节(8位)数据的传输。 图42 UART顶层框图设计采用经典的自上以下的分层次结构由图42 UART的顶层框图获知,本设计的UART分为以下三个模块(module):一、波特率发生器divider 这个模块用于为UART的收/发器提供时钟,这个时钟为UART的波特率的16倍频,即如果波特率要求为9600bps时,该模块输出的时钟为9600Hz16=153600Hz。输出时钟需要可配置(UBRRH、UBRRL)。波特率的产生由一个16位的计数器来产生,计数器的初值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 片上系统的UART接口控制器IP设计 毕业设计 系统 UART 接口 控制器 IP 设计
链接地址:https://www.31ppt.com/p-2401999.html