草庐IT

AXI_UART

全部标签

FPGA入门 —— FPGA UART 串口通信

FPGA入门——FPGAUART串口通信串口简介UART通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter),通常称作UART。UART是一种通用的数据通信协议,也是异步串行通信口(串口)的总称,它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。它包括了ch340、RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范串口作为常用的三大低速总线(UART、SPI、IIC)之一,在设计众多通信接口和调试时占有重要地位。但UART和SPI、IIC不同的是,它是异步通信接口,

串行通信协议UART,IIC,SPI的对比分析

常见串行通信有三个,即UART(UniversalAsynchronousReceiver/Trasmitter,异步串行收发器),IIC,SPI。下面将分别介绍三种串行通信的过程。一、UART、IIC、SPI通信过程1、UART通信过程UART是一种异步全双工串行通信协议。UART通信就是常说的串口通信。其数据传输方式为:1.串口通信的信号线只需要两条线就可以完成,即发送端TX和接收端RX。2.起始位,数据线从高变低,低有效为0,数据传输开始。3.数据位,起始位传输之后便是数据位开始,一般为8位,传输时低位(LSB)在前,高位(MSB)在后。4.校验位,校验位可以认为是一个特殊的数据位,通常

ZYNQ使用AXI DMA(Scatter/Gather)模式进行PL与PS数据交互附源码(ps端移植freertos或者裸机)

简介AXIDMA操作需要先提供一个在内存中驻留的不变空间,用于存储需要进行的DMA操作。形容这“每一次操作”的东西叫做BufferDescriptor,缩写叫BD,这些BD是连接成链表的形式的,因为BD会动态增加,而预先分配存储BD的空间是恒定的,因此BD被连成一个环(BDRing),其实就是一个循环链表。Scatter/Gather 允许一个数据包(Packet)由多个描述符(BD)来描述。官方文档指出的一个典型应用是在传输网络包时,Header和数据往往是分开存储的,利用SG模式可以较好的处理向多个目标读写的操作,提高应用吞吐量。DBRing中DB成链存放,为了解决环形结构带来的不知道Pa

【STM32+HAL库+CubeMX】UART轮询收发、中断收发、DMA收发方法及空闲中断详解

Author:DrinkCat(szt@drinkcat.com)Copyright©2023DrinkCatOriginallink:DrinkCat’sBlog1.什么是UART?UART是一种异步串行通信接口,常用于通过串口与外部设备进行通信。它通过发送和接收数据帧来实现数据传输,使用起来相对简单。UART通常包含发送器(Transmitter)和接收器(Receiver),通过两根信号线(传输线)进行双向通信。2.UART协议内容简介UART协议将一长串数据切成很多固定长度的小段,分别发送。每小段数据前后会加上一些附加数据以保证通信的实时性和准确性,最后形成的每个小段叫做一个数据包——

AXI Memory Mapped To PCI Express手册学习笔记

一、其它笔记1,名词解释名词说明MSIMessagedSignaledInterruptTLPTransactionLayerPacketsBARBaseAddressRegisters2,MemoryMap。基地址的值可通过C_BASEADDR配置二、地址1,ip内部分两个BARS(BaseAddressRegisters),分别是PCIE_BARS和AXI_BARS,二者都有自己的寄存器map,映射关系可配2,三、中断 1,中断分为3种,分别是:Local,MSIandLegacyInterrupts 2,ip核中断端口定义:MSI_Vector_Num(PCIE核的输入):请求一个MS

Xilinx VIVADO 中 DDR3(AXI4)的使用(1)创建 IP 核

1、前言    DDR3SDRAM简称DDR3,是当今较为常见的一种储存器,在计算机及嵌入式产品中得到广泛应用,特别是应用在涉及到大量数据交互的场合,比如电脑的内存条。DDR3的时序相当复杂,对DDR3的读写操作大都借助IP核来完成。    MIG(MemoryInterfaceGenerators)IP核是Xilinx公司针对DDR存储器开发的IP,里面集成存储器控制模块,实现DDR读写操作的控制流程。在默认情况下,MIGIP核对外分出两组接口(即Naive接口)。一是用户接口,就是用户(FPGA)同MIG交互的接口,用户只有充分掌握了这些接口才能操作MIG。二是DDR物理芯片接口,负责产生

AXI interconnect IP核的说明及用法

AXIinterconnect介绍        AXIinterconnect可以对AXI总线进行管理,支持多个主机采用AXI总线访问从机,或者一个主机访问多个从机。真正实现了总线通信,NMaster模块与MSlave模块的通信,减少了相互间通信的复杂度,内部实现时钟域转换,不需要外部的过度干预,内部可实现FIFO等,免去了很多场景下需要FIFO,Register,位宽转换,协议转换的需求。        该IP核最多可以支持16个主设备、16个从设备,如果需要更多的接口,可以多加入几个IP核,通常该IP核在BlockDesign中用的比较多,下面介绍一下在BlockDesign中的用法。在

UART和RS232、RS485的联系和区别、以及对软件编程的影响

1、串口、UART、RS232、RS485概念的理解(1)狭义上的串口:指的是串口协议,就是时序图、数据收发先后顺序等,是抽象出来的协议;(2)广义上的串口:指的是符合串口协议的接口,UART、RS232、RS485在实际工作中都叫做串口;(3)UART:主要指的是Soc端的串口控制器和引脚,也是串口编程主要考虑的;(4)RS232和RS485是在两个Soc的串口引脚相连的中间电路,负责做转换,解决传输距离和电压不匹配的问题;2、UART2.1、UART介绍参考博客:《ARM芯片(S5PV210芯片)——串口通信详解》;2.2、UART接口(1)现在的Soc都内置了串口控制器,串口一般都是两根

UART串口通讯乱码分析

一:基础功能分析1:串口通讯乱码最主要的原因就是波特率不对,乱码的话请先检查波特率是否正确;2:波特率正确的条件下,请检查设备两端电压是否稳定,电压不稳也会导致乱码;3:当我们无法确认串口波特率的时候,可以参考下面的方式进行排查二:数据流程走向说明大部分的通讯设备中间都是要经过电平转换的,实际以所用设备为准;三:波特率获取分析1:PC端波特率是我们设定的,所以PC端波特率是已知,设备端波特率乱未知;2:数据中间经过了三次传输,所以在哪一步发生错乱吗,需要一步步排查;3:可以用逻辑分析仪,先不接设备,抓取每一步传输的波形如下如所示,就说明,已经提示数据出现异常,那我们就可以调整逻辑分析仪的波特率

【数字IC】从零开始的Verilog UART设计

从零开始的UART协议设计一、写在前面1.1协议标准1.2数字IC组件代码二、设计要求三、模块划分四、全局参数五、整体结构六、波特率生成器6.1设计文件6.2仿真文件6.3仿真结果七、发送模块7.1发射模块状态机跳变7.2设计文件7.3仿真文件7.4仿真结果八、接收模块8.1接收模块状态机跳变8.2设计文件8.3仿真文件8.4仿真结果九、TOP模块9.1设计文件9.2仿真文件9.3仿真结果十、本设计与工业级UART的差距十一、其他数字IC基础协议解读11.1UART协议11.2SPI协议11.3I2C协议11.4AXI协议一、写在前面上一节中,我们详细讨论了UART的协议内容并从设计组件的角度