AXI UART 16550 IP核简介

AXI UART 16550 IP核实现了PC16550D UART的硬件和软件功能,该UART可以在16450和16550 UART模式下工作。

一、  功能

AXI UART 16550 IP核执行从AXI主设备接收的字符的并行到串行转换,以及从调制解调器或串行外设接收的字符的串行到并行转换。它支持发送和接收8位、7位、6位或5位的字符,以及2位、1.5位或1位的停止位,还支持奇校验、偶校验或无校验。AXI UART 16550 IP核可以独立地发送和接收数据。

AXI UART 16550 IP核具有内部寄存器,用于监视其在配置状态下的状态。该IP核可以发出接收器、发送器和调制解调器控制中断。这些中断可以被屏蔽和设置优先级,并且可以通过读取内部寄存器来识别。该IP核还包含一个16位的可编程波特率生成器,以及独立的、长度为16个字符的发送和接收FIFOs。这些FIFOs可以通过软件进行启用或禁用。

AXI UART 16550 IP核的顶层框图在图1-1中展示。

AXI UART 16550 IP核由几个关键部分组成,共同实现UART(通用异步收发传输器)的基本功能,并允许通过AXI4-Lite接口与外部系统进行通信。以下是对各个部分的详细解释:

  1. AXI接口(AXI Interface): 实现AXI4-Lite从设备接口,用于寄存器访问和数据传输。
  2. UART控制(UART Control):包括以下几个模块

        接收控制(RX Control)

           根据生成的波特率对接收到的数据进行采样,并将其写入接收数据FIFO。FIFO用于缓存接             收到的数据,直到它们被主处理器读取。

        ②发送控制(TX Control)

            从发送数据FIFO中读取数据,并通过UART TX接口发送出去。发送数据FIFO用于存储等

            待发送的数据。

         ③波特率生成器(BRG, Baud Rate Generator)

             生成各种由用户编程设定的波特率。波特率是UART通信中的一个重要参数,它决定了数               据位的传输速率。

    3. 中断控制(Interrupt Control):AXI UART 16550 IP核提供了独立的中断使能和中断标识

        寄存器。当中断被使能时,以下情况会生成一个电平敏感的中断:

    ① 接收器线路状态(Receiver line status)

  • 溢出错误(Overrun error):当主设备没有读取接收缓冲区,而下一个字符被转移到接收缓冲区寄存器时,会产生中断。在FIFO模式下,只有当FIFO已满,并且下一个字符完全接收在移位寄存器中时,才会产生溢出中断。
  • 奇偶校验错误(Parity error):当接收到的字符具有无效的奇偶校验位时,会产生此中断。
  • 帧错误(Framing error):如果接收到的字符具有无效的停止位,则会产生此中断。这些中断在读取相关寄存器时被清除。

    ② 接收数据可用(Received data available):当接收FIFO中有新数据可读,且接收FIFO达到          触发级别时,会产生接收数据可用中断。这个中断在接收FIFO中的数据量低于触发级别时被          清除。

    ③ 字符超时(Character timeout):当在最近四个字符时间内没有从接收FIFO中移除或输入字           符,并且在这段时间内FIFO中至少有一个字符时,会产生字符超时中断。考虑超时的字符时           间(起始位 + 8个数据位 + 1个奇偶校验位 + 2个停止位)对于所有配置都是恒定的。这个中           断通过读取接收缓冲区寄存器来清除。

     ④ 发送器保持寄存器为空(Transmitter holding register empty):当字符从发送器保持寄存器            转移到发送器移位寄存器时,会产生此中断。在FIFO模式下,当发送FIFO为空时,会产生            此中断。这个中断可以通过读取中断标识寄存器(IIR)或写入发送器保持寄存器来清除。

    ⑤ 调制解调器状态(Modem status)

        在串行通信中,调制解调器通常用于在计算机和其他设备(如电话线)之间转换数字信号和            模拟信号。当调制解调器遇到特定的状态变化时,它会生成一个中断信号,以通知主机系统            这些状态的变化。

       Clear to Send (CTS):当调制解调器准备好接收来自另一端的数据时,它会发送一个CTS信         号。这是用来通知对方,发送端现在可以开始发送数据了。

       Data Set Ready (DSR):当调制解调器准备好与对方通信时,它会发送一个DSR信号。这通

       常意味着调制解调器已经成功连接到另一端,并准备好进行数据交换。

       Ring Indicator (RI): 当有呼叫到来时(例如,在电话线上),调制解调器会发送一个RI信           号。这是用来通知计算机或相关设备有呼叫或消息到达。

       Data Carrier Detect (DCD):当调制解调器检测到数据载波(即,它检测到来自另一端的信           号)时,它会发送一个DCD信号。这通常表示物理连接已经建立,并且可能有数据在传输中。

       中断的清除
       当主机系统(通常是计算机的某个接口控制器或处理器)检测到上述任一状态变化的中断               时,它会读取“调制解调器状态寄存器”以获取更详细的信息。读取这个寄存器通常会清除中             断,告诉系统已经注意到了这个状态变化,并已经处理了相关的中断服务程序(ISR)。

二、 特性

     AXI UART 16550  IP核的的主要特性如下:

  1. AXI4-Lite接口: 用于访问寄存器和进行数据传输。            ​​​
  2. 与标准16450和16550 UART的硬件和软件寄存器兼容:该UART的设计考虑了与常见的16450和16550 UART的兼容性,这意味着许多现有的软件驱动和硬件设计可以很容易地与之集成。
  3. 默认IP核配置:UART在启动时默认为9600波特率、8位数据长度、1个停止位和无校验位。这些设置是串行通信中常见的默认配置。
  4. 支持所有标准串行接口协议:    
  • 字符长度:5、6、7或8位
  • 校验位:奇校验、偶校验或无校验
  • 停止位:1、1.5或2个
  • 内部波特率生成器和独立的接收器时钟输入
  • 调制解调器控制功能
  • 按优先级的发送、接收、线路状态和调制解调器控制中断
  • 错误起始位检测和恢复功能,以处理在接收数据时的起始位错误。线路中断检测和生成,用于检测线路上的长时间空闲状态
  • 内部循环回测试功能,允许发送的数据在内部被接收,以进行诊断和测试
  • 16个字符的发送和接收FIFO(先进先出)缓冲区,这有助于减少CPU的干预频率,提高通信效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/627360.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VMware虚拟机中ubuntu使用记录(8)—— 如何在Ubuntu18.04中安装运行非ROS版本的ORB_SLAM3跑官方数据集(全程手把手教学安装)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 ORB_SLAM3的介绍一、gitee下载ORB_SLAM3源码1. gitee导入gitHub仓库 二、安装支持C特性依赖三、安装Pangolin1. 安装Pangolin的依赖2. 下载编译 四、安装Eigen31.下…

C#委托以及在事件驱动编程中的使用

C#中的委托(Delegate)是一种类型,它可以存储对方法的引用,并且可以像其他类型一样传递给方法。委托提供了一种灵活的方式来实现事件处理、回调函数和多播委托等功能。以下是关于C#委托的详细介绍: 定义: …

IDEA运行main方法,为什么要编译整个工程?

每次在IDEA中导入工程后,想写一个类去测试一些数据,有时候只是写一个main方法进行简单的输出; 但是每次运行一个main方法,整个工程都会重新编译一下,耗时不短 在Eclipse就不会有这个问题; 为什么会编译整…

AXI GPIO IP核配置详解

AXI GPIO(AXI General-Purpose Input/Output)设计提供了一个通用的输入/输出接口,该接口连接到一个AXI4-Lite接口。AXI GPIO可以被配置为单通道或双通道设备,每个通道的位宽可以独立配置。 端口(即GPIO引脚&#xff0…

linux系统介绍和安装教程(含安装链接放在最下面了)

一、linux系统简介 在Linux和C语言的发展历程中,有几位关键人物为它们的诞生和推广做出了重要贡献。 首先,肯汤姆森(Ken Thompson)是一位在AT&T公司工作的员工,他不仅发明了B语言,还创造了Unix系统。…

【已解决】力扣打不开

表现: 1.访问国内其他网站都没有问题 2.访问github也能成功 3.wifi没有问题 4.连接同网络的其他主机能打开 唯独力扣打不开,可能是DNS解析错误 》自己网络配置问题 解决办法【亲测可行】 找可用的hosts 打开站长之家,进行DNS查询&#xff…

高中数学:平面向量-加减运算

一、向量的加法运算 三角形法则(推荐) 两个或多个向量收尾相连的加法运算,用三角形法则 简便算法 首尾相连的多个向量,去掉中间点,就是最终的和。 也可以用三角形法则证明 向量加法交换律 向量加法结合律 平行四…

HTML静态网页成品作业(HTML+CSS)——自动化专业介绍设计制作(4个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有4个页面。 二、作品演示 三、代…

未授权访问:ZooKeeper 未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验,一共有好多篇,内容主要是参考先知社区的一位大佬的关于未授权访问的好文章,还有其他大佬总结好的文章: 这里附上大…

在k8s中部署单机版Elasticsearch,并进行数据持久化

🐇明明跟你说过:个人主页 🏅个人专栏:《洞察之眼:ELK监控与可视化》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、Elasticsearch简介 2、k8s简介 二、存储准备 …

IP代理如何帮助SEO进行优化?

IP代理在SEO优化中扮演着重要的角色,它通过多种方式帮助提升网站的搜索排名和可见性。以下是IP代理如何帮助SEO进行优化的详细阐述: 第一点,数据采集与分析:在SEO过程中,大量的数据是必不可少的。通过使用IP代理&…

随笔:贝特弹琴

半年前,我买了一架朗朗代言的智能电子琴。所谓智能是指,它配套的手机软件知道你在按哪个键,它还能让任意按键发光。用专业术语说,它的键盘具有输入和输出功能,和软件组合起来是一个完整的计算机系统。 随着软件练习曲…

Kubernetes学习-深入Pod篇(二) 探针技术详解与应用

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Kubernetes渐进式学习-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 1. 前言 2. 探针是什么 3. 探针的分类 3.1. StartupProbe(启动…

Ubuntu安装k8s集群

文章目录 Ubuntu安装k8s3台主机前置操作:3台主机k8s前置安装命令:k8s安装命令: 节点加入 Ubuntu安装k8s 官方文档:https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ 默认3台机子 注…

Java | Leetcode Java题解之第90题子集II

题目&#xff1a; 题解&#xff1a; class Solution {List<Integer> t new ArrayList<Integer>();List<List<Integer>> ans new ArrayList<List<Integer>>();public List<List<Integer>> subsetsWithDup(int[] nums) {Arra…

Postgresql中JIT函数能否inline的依据function_inlinable

相关 《Postgresql源码&#xff08;128&#xff09;深入分析JIT中的函数内联llvm_inline》 《LLVM的ThinLTO编译优化技术在Postgresql中的应用》 前置阅读&#xff1a;《Postgresql源码&#xff08;128&#xff09;深入分析JIT中的函数内联llvm_inline》 在JIT inline函数的过…

【C#】学习获取程序执行路径,Gemini 帮助分析

一、前言&#xff1a; 在Delphi中&#xff0c;如果想要获取当前执行程序的目录&#xff0c;程序代码如下&#xff1a; ExtractFilePath(ParamStr(0)); 今天在分析一个别人做的C#程序时看到了一段C#代码&#xff0c;意思是获取执行程序所在的文件目录&#xff1a; public stat…

Spring Boot集成dubbo快速入门Demo

1.什么是dubbo&#xff1f; Apache Dubbo 是一款微服务开发框架&#xff0c;它提供了 RPC通信 与 微服务治理 两大关键能力。这意味着&#xff0c;使用 Dubbo 开发的微服务&#xff0c;将具备相互之间的远程发现与通信能力&#xff0c; 同时利用 Dubbo 提供的丰富服务治理能力…

(教程)gpt-4o如何使用,怎么体验?gpt-4o和gpt-4-turbo的区别

今天OpenAI发布了gpt-4o&#xff0c;我体验之后&#xff0c;gpt-4o简直逆天了。中文能力也挺别强。速度比现在的gpt4还要快。 早在 5 月 11 日&#xff0c;Sam 就在推文中表示&#xff1a;OpenAI 并没有推出 GPT-5&#xff0c;或搜索引擎&#xff0c;但团队一直在努力研发一些…

halo博客--解决恶意刷评论的问题

原文网址&#xff1a;halo博客--解决恶意刷评论的问题_IT利刃出鞘的博客-CSDN博客 简介 本文介绍halo博客如何通过设置评论次数来解决恶意刷评论的问题。 评论功能要设置频率的限制&#xff0c;否则可能被人一直刷评论&#xff0c;然后数据库存的垃圾评论越来越多&#xff0…