支持红外通信协议的UARTIP核方案.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 引言   IP核就是具有知识产权(IntellectualProperty)的模块,随着片上系统和系统级设计的出现,IP核的设计及其复用成为集成电路设计的关键手段。IP核按照ASIC设计学的要求可分为硬核,固核和软核。硬核是按照特定工艺,对设计进行了所有的验证和仿真,以达到最佳优化。复用硬核所需时间和技术难度都较小,但用户难以再修改硬核。固核是完成了综合的模块,它比软核更多完成了门级综合和时序仿真,提供门级网表。软核只完成RTL级的设计,是独立于工艺条件的HDL描述语言生成的源代码,使用者可以利用它针对不同工艺修改或重新综合设计,给后续者提供了更大的创作空间,软核具有很大灵活性,成为IP复用的主流。   本文设计的UART软核,不仅支持UART通用的RS232协议,还支持IRDA1.0协议,以适用于红外接口。   2 UART的IP核设计及分析   根据Top-Down的设计方法,对UART功能进行整体分析研究,划分为包括接口模块,发送模块,接收模块,中断控制模块,红外接口模块,波特率发生模块等主要功能模块。利用Verilog-HDL设计相应的IP核,UART模块图如图1所示。 图1 功能模块图   2.1 接口模块设计   接口模块包括各个控制寄存器和状态寄存器,这些寄存器的各个控制字控制其它各个功能模块。   它是UART与外界通信的接口,处理器通过它对UART进行控制。UART工作方式和传送的数据及其格式均由UART接口模块控制。   2.2 发送模块设计   发送模块将从处理器接收到的数据,按规定的格式加上起始位,奇偶检验位和停止位后串行输出。   发送数据格式由一个有限状态机来控制。如图2所示。   空闲状态:UART复位时,状态机自动到空闲状态。发送模块检查是否发送数据,有则进入开始状态。开始状态:开始状态将给待发送的数据加上起始位(低位)。   移位状态:发送模块将待发送的数据从发送缓冲寄存器THR或发送FIFO中移出,按规定格式一位一位发送,直到最后一位数据位。发送模块根据发送数据格式控制字判断是否进入校验状态。若无,则到停止1位状态,如有校验,则到检验状态。 图2 发送模块状态机   校验状态:发送状态机按控制字格式,给数据加入奇偶检验位。   停止1位状态:状态机根据控制字,给数据加上1,0.5,2位数据位。发送模块首先进入停止1位状态,给数据加上1位停止位(高位)。若只需一位停止位,则回到空闲状态。否则根据要求到停止0.5位状态或停止2位状态。   停止0.5状态:发送模块在此状态下,给数据位加入5个发送时钟周期长度的高电平。   停止2位状态:发送模块对需要2位停止位的数据再加一位停止位。   2.3 接收模块设计   接收模块将从UART外部接收串行数据,将所接收的数据放到接收FIFO中存放起来,以便处理器读取。接收过程同样由有限状态机控制。如图3所示。 图3 接收模块状态机   接收器模块不仅对接收的数据滤出噪声干扰,还要对数据位的溢出出错,奇偶检验出错,帧出错,BREAK等进行检验,并根据检验结果设置线状态寄存器相应的状态位。   空闲状态:UART复位时,接收状态机进入空闲状态。一旦接收到有用起始位,状态机进入接收数据状态,到移位状态。   移位状态:状态机根据接收控制字,对接收数据移位,并按正确格式将数据放入接收缓冲器或接收FIFO中。   校验状态:对接收的数据根据接收的校验位进行判断。并置相关位。   停止状态:状态机在此状态下,根据接收数据是否在正确时间采样到停止位,置相关位。   2.4 中断控制模块设计   中断控制模块要求当任何中断发生时,使中断使能寄存器的相应位允许中断发生,输出端口INTER将为高电平。中断识别寄存器保存着多级中断类型:接收器线状态(溢出出错,奇偶检验出错,帧格式出错,BREAK)出错,接收数据准备好,接收超时,发送器空。外界将通过中断识别寄存器识别中断类型。同样中断级别判定由有限状态机来控制,以决定中断的优先权。   2.5 波特率发生器模块设计   波特率发生器模块提供UART进行通信时所需时钟,还需对外部接收时钟进行同步处理,本设计的波特率发生器模块利用时钟分频寄存器(PSD和DL)对主频fclk分频提供给UART所需的各标准波特率BR(如式1)。DL可以提供1到65536的任意分频,PSD还可以提供针对主频过高的分频因子,以适用于更广的主频。BR的计算公式如下:   2.6 红外接口模块设计   通用发送模块和接收模块传送的是RS232协议要求的不归零码NRZ,传送的每一位数据都是占用一位数据的全部时间来保持为“1”或为“0”。红外协议与RS232协议一样都是按照每个字符为一帧来进行传送的,包括起始位,数据位,奇偶检验位和停止位。但与RS232协议不

文档评论(0)

tcpe + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档