一种简易的UART IP核的设计与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:yongshuai520
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文章主要介绍一种简易通用的UART IP核的设计。UART作为一种短距离、低成本通信的串行传输接口,随着嵌入式系统的迅速发展,已成为SoC(System on Chip)芯片中的一个重要部件,在数字通信中得到了广泛的应用。本设计在对UART的串行通信协议进行详细分析的基础上,采用Verilog HDL语言对ALTERA的Cyclone系列FPGA进行设计,用一片FPGA实现了UART的发送、接收和波特率发生等功能,并验证了结果。这种灵活的设计方法使整体设计紧凑、小巧,提高了系统的兼容性,节约了硬件成本,具有较强的推广价值。
  关键词:现场可编程门阵列;UART IP;Verilog HDL;
  中图分类号:TN402 文献标识码:A文章编号:1009-3044(2007)06-11657-01
  
  1 引言
  随着集成电路的深亚微米制造技术和EDA技术的迅猛发展,芯片的密度和复杂度不断提高,复用以前的设计模块用于ASIC芯片和在一块芯片上实现嵌入式系统的功能形成所谓的片上可编程系统(System on Programmable Chip,SOPC)已成为一种发展的新趋势。IP(电路知识产权)设计的重用性以及SOPC技术的出现,以其设计的灵活性大大缩短了产品的设计周期,减少了设计成本,降低了设计风险,加快了产品的上市速度。本文中介绍的UART控制器是建立在计算机工业控制和通信领域中广泛使用的一种串行数据传输协议上的,其在SoC中是一种常用的数据通信部件,往往用于低速低成本的微机与下位机的通讯中,并允许在串行链路上进行全双工的通信,以其易于实现、传输距离较远的优点, 广泛应用于嵌入式微处理芯片的设计以及工业应用中。
  
  2 UART通信标准
  UART(Universal Asynchronous Receive Transmitter)即通用异步收发器,是一种串行通信方式。所谓“串行通信”是指外设与计算机间使用一根数据信号线,数据在传输过程中是通过一位一位地在一个数据信号线进行传输来实现通信的,每一位数据都占据一个固定的时间长度。在UART中, 数据位是以字符为传送单位, 数据的前、后要有起始位、停止位来实现字符的同步, 另外可以在停止位的前面加上一个比特(bit)的校验位。其帧格式如图1所示。其基本特点为:在信号线上共有2种状态,分别用逻辑1(高电平)和逻辑0(低电平)来区分。在发送空闲时, 数据线应该保持在逻辑高电平状态。而发送一个完整的字节信息首先是通过发送起始位来同步的,用下降沿通知接受方传输开始。紧跟着起始位的是数据位,数据可由5-8位数据位组成,低位在前,高位在后,比如字符A的ASCII码01000001B,那么传输的将是10000010B。数据位后面是奇偶检验位,校验位一般用来判断接收的数据位有无错误, 一般是奇偶校验。在实际使用中该位常被取消。最后是停止位,停止位是高电平,其标志一个字符传送的结束,并为下一个字符的传输做准备。停止位后面是不定长的空闲位,其对应于逻辑1状态。
  图1 UART的数据帧格式
  
  3 简易UART IP核的FPGA实现
  3.1 Cyclone的简介
  Altera? Cyclone? FPGA是目前市场上性价比最优且价格最低的FPGA。Cyclone器件具有为大批量价格敏感应用优化的功能集,这些应用市场包括消费类、工业类、汽车业、计算机和通信类。
  Cyclone器件基于成本优化的全铜1.5V SRAM工艺,容量从2910至20060个逻辑单元,具有多达294912bit嵌入RAM。Cyclone FPGA支持各种单端I/O标准如LVTTL、LVCMOS、PCI和SSTL-2/3,通过LVDS和RSDS标准提供多达129个通道的差分I/O支持。每个LVDS通道高达640Mbps。Cyclone器件具有双数据速率(DDR) SDRAM和FCRAM接口的专用电路。Cyclone FPGA中有两个锁相环(PLLs)提供六个输出和层次时钟结构,以及复杂设计的时钟管理电路。这些业界最高效架构特性的组合使得FPGA系列成为ASIC最灵活和最合算的替代方案。本设计采用Altera公司生产的EP1C6Q240C8芯片来实现TFT-LCD控制器以及它的外围逻辑时序的全部功能。
  3.2 UART IP核的设计
  根据异步串行通信的原理,本设计采用硬件描述语言Verilog HDL来开发符合RS-232标准的UART IP核,其内部结构由波特率发生器、数据接收器以及数据发送器三部分组成,如图2所示。其中,由于串行数据帧与接收时钟是异步的,所以接收器功能实现中的关键是接收器时钟与每个接收字符同步,一个比较有效的方法是接收器时钟采用高速率时钟对串行数据进行采样,本设计采用16倍于波特率的频率。
  图2 UART IP核的功能模块
  下面给出实现该UART IP核的关键代码,其中div_clk为波特率,由一分频模块产生,clk_div16 为16倍于波特率的采样率,txd为UART发送信号,rxd为接收信号。发送器完成的功能主要是把要发送的数据内容加上开始位和停止位,然后移位发送。
  下面是数据接收模块,其根据RS-232的通讯协议,在空闲状态,必须采集到rxd由高电平到低电平变化才开始接收数据,并通过间隔的采样来降低误码率:
  //通过检测到的2个数据来判断是否有开始位
  
  4 结论
  IC设计技术的发展使基于IP模块的SoC技术日趋流行和成熟,利用强大的EDA工具,以具有知识产权的内核(IP Core)复用技术为支撑,实现软硬件协同设计已成为SoC的核心思想。UART作为数字集成电路中常用的串行通信部件, 广泛应用于嵌入式微处理芯片的设计中。本文利用Verilog HDL硬件描述语言的灵活性,根据串行通信协议的要求,设计出一个简易的UART IP核。该IP核实现方法简单,代码易读,容易修改,并且具有较强可移植性。该设计已经下载到ALTERA公司的Cyclone系列器件EP1C6Q240C8中,其逻辑功能以及时序关系均符合设计要求。
  参考文献:
  [1]周立功, 夏宇闻.单片机与CPLD综合应用技术[M]. 北京: 北京航空航天大学出版社, 2003.
  [2]UART Transmitter and Receiver Macros, Ken Chapman Xilinx Ltd, 2002, 10.
  [3]周灿荣, 陈禾. UART通信的FPGA实现设计[J]. 山西电子技术, 2006.3.
  [4]Cyclone Device Handbook. [OB/OL]. http://www.altera.com/ literature/ lit- cyc.jsp.
  [5]聂涛, 许世宏. 基于FPGA的UART设计[J] . 现代电子技术, 2006. 2.
  [6]李或, 于宏毅, 王大鸣等. 简化UART功能的FPGA实现[J]. 现代电子技术, 2004. 4.
  本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘要:GUI能提供友好界面,使得计算机称为大多数人都能够使用和接受的工具。在一些界面功能要求简单的嵌入式系统中,可以自行编写一些函数集,来进行位图转换,图形,文字的显示以及中文的显示。文章对利用GUI的这些功能进行简单的界面设计,利用平台的键盘编写键盘控制程序实现对界面间的跳转,达到所需界面进行介绍。  关键词:Interface design;嵌入式系统;uC/GUI  中图分类号:TP311文
期刊
摘要:在分析大多数工作流管理系统的现状以及移动Agent技术特点的基础上,提出一种基于移动Agent的工作流系统架构,并利用IBM的移动Agent系统——Aglet实现原型系统。该架构采用移动Agent的安全机制,同时通过RSA公开密钥加密算法保护移动Agent所携带的信息,提高了安全性能。实践证明,基于移动Agent的工作流管理系统是可行的和先进的,能够有效地解决现有工作流管理系统中存在的效率问
期刊
摘要:S3C4510B是一种以ARM7TDMI为内核的嵌入式网络微处理器。对S3C4510B的HDLC模块的基本结构和工作原理进行了阐述,对S3C4510B的HDLC控制器驱动程序的基本设计思想及具体实现进行了研究。  关键词:S3C4510B;HDLC;驱动程序  中图分类号:TP316文献标识码:A文章编号:1009-3044(2007)06-11606-03    1 引言  HDLC作为一
期刊
摘要:本文阐述了Java中泛型的概念和特点,介绍了简单泛型创建和使用,探讨了泛型应用中存在的陷井。泛型最重要的特点是类型安全,泛型还可以消除类型转换等。泛型的创建和使用比较简单,但在使用中存在一定的陷阱,需要引起程序员的注意。  关键词:泛型;类型安全;类型通配符  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06-11612-03    1 前言  1.1泛型概念
期刊
摘要:介绍分析了SVM基础理论和目前多类SVM分类算法及其优缺点,提出了一种边界向量抽取算法,并基于该算法改进了1ar和1a1两种多类SVM算法。实验结果表明该边界向量抽取算法可以有效的减少训练样本的数量,在保持分类器推广能力的条件下缩短SVM的训练时间,特别是在大样本训练数据时1arΔ可以提供最好的训练性能。  关键词:向量机;多类支持向量机;支持向量;边界向量;分类   中图分类号:TP391
期刊
摘要:本文介绍了移动计算的特点,根据目前无线网络和移动设备应用程序设计的局限性,提出了基于J2ME+Agent的多线程的移动应用平台的设计方案,并引入了中间件思想。本文最后把该方案应用一个面向移动用户的云南省大型仪器协作共用网,从而证实了该平台在移动系统环境中具有较高的适应性和良好的使用性。  关键词:移动计算;MAP;J2ME;MIDP;无线消息API(WMA);Agent  中图分类号:TP3
期刊
摘要:对带CAN总线的智能小区多功能对讲系统进行设计。对讲部分以PIC16C55型单片机为核心,配上DTMF发送接收器件MT8880构成;安防报警部分采用带有CAN模块的MC68HC05X16构成CAN总线式系统,具有防盗、防火、防煤气泄漏、紧急情况报警等功能。  关键词:对讲;CAN总线;安防  中图分类号:TP933文献标识码:A文章编号:1009-3044(2007)06-11619-03 
期刊
摘要:分析并讨论了过采样Σ-ΔADC中过采样技术和噪声整形技术的工作原理,Σ-Δ调制器的级数对整形效果的影响及调制器的结构选择,并用MATLAB语言的simulink工具箱进行了系统级的仿真。  关键词:过采样;Σ-Δ调制器;噪声整形  中图分类号:TN761文献标识码:A文章编号:1009-3044(2007)06-11631-01    1 引言  传统A/D转换器,如逐次积分型、折叠型和流水
期刊
摘要:基于图像的建模语言GXML不同于以往的图像编码,它能够将图像的内容和样式分离,这使得图像能在网络上进行高速传输,并能适应不同的客户端浏览器。利用该特点对学科知识体系结构进行描述,可以得到一个图像的灵活布局。  关键词:GXML;样式;知识体系结构;灵活布局   中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06-11624-03    1 引言  随着功能更为强
期刊
摘要:关于窗体的卸载往往被程序设计者尤其是一些初学者所忽视。本文从事件Queryunload和Unload参数的作用及事件的使用两方面对事件Queryunload和Unload进行了详细的探讨。并且给出了两个比较重要的观点。  关键词:Queryunload;Unload;参数  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)06-11665-01    1 引言 
期刊