当前位置: 首页 > news >正文

UART16550 IP core笔记二


XIN时钟
表示use external clk for baud rate选型,IP核会出现Xin时钟引脚
XIN输入被外部驱动,也就是外部时钟源,那么外部时钟必须要满足特定的要求,就是XIN
的range范围是xin<=S_AXI_CLK/2,如果不满足这个条件,那么AXI UART16550这个IP核就
不能正确的运行。
XIN时钟如果太快,也就是超过系统时钟的一半,UART可能无法在一个时钟周期内完成这些任务,
从而导致数据的丢失或者错误。

16550模式编程步骤
1.由于LCR线控制器的bit7对register space的所有寄存器都有影响,所以首先要对LCR寄存器
的bit7进行配置;
2.通过LRC寄存器,然后设置数据位是5bit,还是7bit,还是8bit;
3.通过LRC寄存器,来设置Divisor latch access bit设置除数锁存访问位置;
4.中能使能寄存器写入之,运行哪些条件下产生中断,比如是否使能接收数据产生中断,是否
发送缓冲器为空的时候产生中断,是否发生极性错误产生中断等等。
5.配置FIFO,写FIFO控制寄存器
启用FIFO,清除FIFO,设置接收FIFO的触发级别,多少byte触发中断
6.设置uart波特率
写Divisor latch除数锁存,先写最低有效字节,再写最高有效字节,用于设置正确的波特率
7.处理中断
当AXI UART 16550触发中断的时候,软件必须读取相关寄存器,处理数据,然后清除中断标识。

参考:https://icode.best/i/815770382847922

相关文章:

  • SpringDataRedis的入门案例,以及RedisTemplate序列化实现
  • 小皮面板从未授权到RCE
  • 【pypi镜像源】使用devpi实现python镜像源代理(缓存加速,私有仓库,版本控制)
  • 基于Python的高效批量处理Splunk Session ID并写入MySQL的解决方案
  • 【人工智能-agent】--Dify中自然语言生成SQL查询数据库
  • 如何快速入门大模型?
  • 精益数据分析(55/126):双边市场模式的挑战、策略与创业阶段关联
  • o.redisson.client.handler.CommandsQueue : Exception occured. Channel
  • 【深度学习】计算机视觉(18)——从应用到设计
  • 【大模型MCP协议】MCP官方文档(Model Context Protocol)一、开始——1. 介绍
  • Java—— 集合 Set
  • 【Spark】使用Spark集群搭建-Standalone
  • 在Web应用中集成Google AI NLP服务的完整指南:从Dialogflow配置到高并发优化
  • FFmpeg 项目中的三大核心工具详解
  • 企业管理软件:数字化转型的核心引擎
  • spdlog日志器(logger)的创建方法大全
  • 从0到1:Python机器学习实战全攻略(8/10)
  • 03.Golang 切片(slice)源码分析(二、append实现)
  • 循环语句:for、range -《Go语言实战指南》
  • 【layout组件 与 路由镶嵌】vue3 后台管理系统
  • 张笑宇:物质极大丰富之后,我们该怎么办?
  • 《审判》|“被告”的魅力:K在等什么?
  • 季子文化与江南文化的根脉探寻与融合
  • 甩掉“肥胖刺客”,科学减重指南来了
  • 农行深圳市分行原副行长王国彪涉嫌严重违纪违法被查
  • 湖南湘西州副州长刘冬生主动交代问题,接受审查调查