RS232 接口数据转发协议设计.pptxVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
崔延博 张凯 阴世琦 RS232 接口数据转发协议设计 并行数据转发为RS232协议的串口数据 串口RS232基本协议概要 系统框图及模块功能实现 实现程序 测试激励的设计 仿真结果 综合工具结果 串口RS232基本协议概要 1. 通信的种类 并行传输式:一次的传输量为8个位(1个字节)。 特点:传输率高,可靠性相对较差,适用于短距离通信。 串行传输式:一次传输1个位。 特点:可靠性高,传输率相对较低,适用于远距离通信。 2. RS232简介 RS-232全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”,也被称为标准串口,是最常用的一种串行通讯接口。RS232采用负逻辑电平,定义+5~+12V为低电平,-12~-5V为高电平。 3. RS232协议介绍 在数据输入过程中,数据1位1位地从外设进入接口的“接收移位寄器”,当“接收移位寄存器”中已接收完1个字符的各个位后,数据就从“接收移位寄存器”进入“数据输入寄存器”,CPU从“数据输入寄存器”中并行读取接收到的字符。在数据输出过程中,CPU把要输出的字符并行送入“数据输出寄存器”,“数据输出寄存器”的内容传输到“发送移位寄存器”,然后由“发送移位寄存器”移位,把数据1位1位地送到外设。完成上述”串—并”转换功能的电路,通常称为“通用异步收发器”。 为了为通信双方提供何时开始收发和收发结束的标志,发收双方要把所采用的起止式格式(包括字符的数据位长度,停止位位数,有无校验位以及是奇校验还是偶校验等)和数据传输速率作统一规定。 起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。 本次设计采用的数据帧格式为:一位起始位,8位数据位,一位校验位和一位停止位(停止位可为一位、一位半或二位,本次设计选用一位停止位),停止位后面是不定长度的空闲位。其中停止位和空闲为高电平逻辑1;起始位为低电平,逻辑0。 系统框图及模块功能实现 1.模块端口说明 设计RS232接口数据转发协议模块,并且将8位并行数据转发为RS232协议的串口数据发送出去。模块具体要求如下: 模块名:module rs232; 外部提供:clk信号,16MHz时钟; 外部信号:rdy数据准备好信号;当rdy由低电平变为高电平并持续一个时钟长度, 数据开始转换并且发送。 外部信号:data[7:0] ,需要发送的8位并行数据; 外部控制:bps[1:0],波特率设置信号;00:4800bps, 01:9600bps 10:19200bps,11:38400bps 串行输出信号:d_out,串行数据输出口; 外部控制:parity,奇偶校验控制信号;0:奇校验,1:偶校验 2.系统框图 波特率产生模块 reg [1:0]bps_mode; reg [7:0]count; reg clk_3,clk_2,clk_1,clk_0; always @ (posedge clk or posedge rdy) //产生clk_3=38461.5≈38400Hz if(rdy==1) begin clk_3 = 0; count = 0; bps_mode = bps; end else if(count==208) /38400=416.666,208.333 * 2 = 416.666 begin count = 0;clk_3 = ~clk_3; end else count = count + 1; always @ (posedge clk_3 or posedge rdy) //clk_2 = 19200Hz i

文档评论(0)

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

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

1亿VIP精品文档

相关文档