草庐IT

FPGA-UART

全部标签

国产易灵思FPGA的FIFO应用详解

一、软件设置界面FIFO(FirstInFirstOut,即先入先出),是一种数据缓冲器,用来实现数据先入先出的读写。与ROM或RAM的按地址读写方式不同,FIFO的读写遵循“先进先出”的原则,即数据按顺序写入FIFO,先被写入的数据同样在读取的时候先被读出,所以FIFO存储器没有地址线。FIFO有一个写端口和一个读端口外部无需使用者控制地址,使用方便。 FIFO存储器主要是作用为缓存,应用在同步时钟系统和异步时钟系统中,在很多的设计中都会使用如:多比特数据做跨时钟域的转换、前后带宽不同步等都用到了异步FIFO,示意图如下。 FIFO根据读写时钟是否相同,分为SCFIFO(同步FIFO)和DC

高速Serdes技术(FPGA领域应用)

目录引入一、Serdes(概念-历程)1、概念2、技术现状3、发展历程二、Serdes结构三、在FPGA领域中的运用四、Serdes跟Lvds的关系五、Xilinx有关serdes的文档六、参考文献引入      回顾接口技术发展历史,其实数据的传输最开始是低速的串行接口(SerialInterface,简称串口),为了提高数据的总带宽,首先想到的是增加数据传输位宽,再进一步提升速率。也就是并行接口(ParallelInterface,简称并口)的方式,并逐渐取代传统低速串口成为主流。但随着并口的发展,其限制也也越来越明显。而高速串行(HighSpeedSerial,HSS)接口技术具有的优势

FPGA开发技巧备忘录——Vivado 自动日期版本号

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档FPGA开发技巧备忘录——Vivado自动日期版本号前言创建.v文件设定tcl文件路径tcl内容总结前言我们在编译FPGA工程的时候一般需要对版本号的更新,一般来说都会有一个日期或者时间的版本标识,在上板调试的时候用于表征当前版本确实已经更新成功,或者作为FPGA发布版本的标识等等。但有时候我们有时候会忘记更新版本号,从而导致时间的浪费。下面我们就是要解决这个痛点,利用vivado的tcl功能自动进行日期版本号的更新创建.v文件例如创建一个version_date.v里面就包含两句话,分别表示当前的年月日和时分秒parameter

【FPGA 约束:set_clock_groups 之异步时钟】——详细解析

【FPGA约束:set_clock_groups之异步时钟】——详细解析FPGA设计中,设置正确的时钟约束是非常重要的。在设计中,不同的时钟域之间都需要进行一定的同步和互锁,以保证系统能够正常工作。而异步时钟则是其中一个比较特殊的情况,其时序关系相对较为复杂,需要采用专门的约束方式来解决。本文将着重介绍FPGA约束中的set_clock_groups命令在异步时钟约束中的应用。一、什么是异步时钟?异步信号是指在时钟域之间没有明确的时序关系,两个信号之间既没有同步也没有互锁的机制。在异步时钟情况下,由于时序关系不确定,很容易产生一些奇怪的问题,例如互锁、冲突、抖动等。因此,在异步时钟情况下,必须

FPGA学习之实现PID算法

1废话篇1.1理论学习PID控制算法的学习,本次介绍位置式和增量式PID控制算法的原理和Matlab的仿真分析1.1.1模拟PID控制算法在工程中,比较用的多的就是比例、积分、微分控制,简称PID控制。G(s)为被控对象的系统传递函数。PID控制算法分为三种,分别是P调节,PI调节和PID调节算法。P调节算法:比例控制是一种最简单的控制方式。其控制器的输出和输入误差信号成比例光系。偏差一旦产生。控制器立即就发生作用即调节控制输出,使被控量朝着减小误差的方向变化,偏差减小的速度取决于比例系数Kp,Kp越大偏差减小的越快,但是容易引起振荡,尤其是在迟滞环节比较大的情况下,Kp减小,发生振荡的可能性

【FPGA】FPGA入门 —— 基本开发流程

FPGA入门1.FPGA入门2.FPGA开发流程3.二选一多路器-快速熟悉开发环境及流程1.FPGA入门快速上手verilog语法状态机,线性序列机FPGA常见的设计方法自己写代码,下载代码进行使用,使用厂家/第三方提供的IP核常见接口设计等等。。学习时间:基础内容的学习-20*8h,啊啊啊我可以我能行,看来这个月我给把时间砸这上面了~~仿真两大作用:检查验证设计功能是否正确;调试问题,可以看到设计中每一个信号每一个时刻的值,通过仿真分析设计中信号异常的原因。做设计时,超过50%的时间不是在写代码,而是通过仿真调试代码找问题。2.FPGA开发流程写一套硬件描述语言,能够在指定硬件平台实现相应功

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.校验位,校验位可以认为是一个特殊的数据位,通常

基于 STM32+FPGA 的多轴运动控制器的设计

运动控制器是数控机床、高端机器人等自动化设备控制系统的核心。为保证控制器的实用性、实时性和稳定性,提出一种以STM32为主控制器、FPGA为辅助控制器的多轴运动控制器设计方案。给出了运动控制器的硬件电路设计,将S形加减速算法融入运动控制器,提高了控制精度,可有效避免过冲、振荡等现象的发生。在三维点胶机平台上对运动控制器的性能进行了测试,结果表明:点胶机各轴能按照设定的轨迹运动,运行平稳且实时性高,具备良好的应用前景。运动控制器性能的好坏直接对自动化系统整体性能的发挥起决定性作用[1-2]。克莱斯勒、西门子、FANUC、MAZAK占据我国90%左右的工业用运动控制器市场。随着运动控制技术的发展,

FPGA远程更新/远程调试的一种简单方法

之前介绍过一种远程(无线)更新的方式,详见《起飞!通过无线WIFI下载调试FPGA》,这种方式缺点有两个:一是速度较慢;二是我们的设备中需要增加一个无线设备,增加成本的同时增加了暴露的风险。这两点即无法在调试的时候使用也没办法在实际设备中使用。今天我们再介绍另一种简单方式。下面是目前我们很多设备常用的硬件架构,这种架构中,我们可以很方便使用嵌入式设备作为“桥梁”用来调试FPGA,其实这也是XVC方案的“变种”。为了演示上面的方案,使用树莓派+FPGA进行方案验证。Xilinx的PlatformCableUSBIIJtagPi我们知道正常的调试器/下载区的JTAG接口可以兼容很多芯片,所以首先需