欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    UART(串口)收发模块设计.doc

    • 资源ID:3274393       资源大小:15KB        全文页数:2页
    • 资源格式: DOC        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    UART(串口)收发模块设计.doc

    UART(串口)收发模块设计UART(串口)收发模块设计- 02整体架构回顾整体结构如下图,整个UART有两个大模块,一个接收模块,一个发送模块。具体大家可以回顾文章UART(串口)收发模块设计- 01。波特率时钟产生模块收发模块里面都有一个波特率时钟产生模块BuadRate_set,用于将系统时钟clk进行分频,得到波特率时钟Buad_clk,以控制数据的收发。端口如下,通过CLK_Period指定当前的clk时钟频率,比如50M,则为50000000。Buad_Rate为设定的波特率。主要设计代码如下,通过localparam DIV_PEREM指定分频计数值。分频计数器为cnt,当enable为高时,cnt开始循环的从0递增到DIV_PEREM。Buad_clk在每次cnt=DIV_PEREM的时候就翻转一次,从而得到clk时钟的CLK_Period/Buad_Rate倍分频。数据接收模块状态机:数据接收模块通过一个状态机来控制。状态机的跳转由波特率时钟下降沿控制。波特率时钟Buad_clk起始为高电平。IDLE:  其中IDLE为空闲状态,只有当检测到起始位的时候,才进入GET_DATA。GET_DATA: 在GET_DATA状态下获得8位数据位数据,通过一个计数器来计数接收到的数据位数。当cnt为d7时表明接收到了8位数据,便跳到最后一个状态END_BIT。END_BIT: 等待停止位的到来,然后回到IDLE状态,完成数据的接收。起始位的检测:其实就是在IDLE状态下,检测uart_rx的下降沿,如下代码所示。将uart_rx通过一个6bit的移位寄存器get_start_bit(uart_rx从低bit往高bit移动),那么当get_start_bit的,高3bit都为1,低3bit为0时,表明uart_rx出现了下降沿,此时将start拉高,以便启动状态机和波特率时钟产生模块BuadRate_set。数据的接收:在GET_DATA状态下,由波特率时钟的下降沿控制,将uart_rx往一个8bit的移位寄存器送,uart_rx从高bit向低bit流动(由于串口发送是先发低位数据)。数据发送模块状态机:数据接收模块通过一个状态机来控制。状态机的跳转由clk时钟上升沿控制。IDLE:IDLE为空闲状态,当检测到tx_en(发送使能信号)为高,则进入EN_TX模块。EN_TX:在EN_TX模块发送10bit数据(起始位,数据位,停止位)。数据的发送由波特率时钟Buad_clk上升沿控制。如下代码,在cnt为0时将tx_data(待发送的数据位)与起始位(0),装载到data_to_send中,然后对data_to_send做从高位向低位的移位操作,高位填1。将data_to_send的最低位接uart_tx,发送出去。利用cnt计数发送的位数。上板实测这里设计了一个实测设计(UART_TEST),功能如下:上电复位后,通过串口向上位机发送数据8h34,然后只要收到上位机发送过来的数据,就将其返回给上位机。大家可以把源码下下来,自己新建工程,结合开发板上板测试一下。文件里面提供了一个PC端串口调试上位机SSCOM。大家在上板测试时,需要一个USB转串口器(有的开发板上集成了这个),使得板子的串口可以通过USB端口与PC上位机通信。

    注意事项

    本文(UART(串口)收发模块设计.doc)为本站会员(白大夫)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开