- 博客(127)
- 收藏
- 关注
原创 V-Series Avalon-MM DMA Interface for PCIE IP核
适用于PCI Express的V系列Avalon-MM DMA实现了完整的协议栈,包括事务层、数据链路层核物理层,并且支持Gen1 x8、Gen2 x4、Gen2 x8、Gen3 x2、Gen3 x4 和 Gen3 x8。
2024-06-26 23:20:03
1023
原创 DMA/SGDMA Controller IP Core学习
具有 Avalon 接口的DMA Control Core执行批量数据传输,从源地址范围读取数据并将数据写入不同的地址范围。 Avalon 内存映射 (Avalon-MM) 主机外设(如 CPU)可以将内存传输任务交给DMA控制器。 当DMA控制器执行内存传输时,主机可以自由地并行执行其他任务。
2024-05-21 22:45:01
894
原创 DMA原理、传输过程及传输方式
DMA(Direct Memory Access,直接存储器访问),是硬件实现存储器与存储器之间或存储器与I/O设备之间直接进行数据传输的内存技术,它允许不同速度的硬件设备(外设到内存、内存到外设、内存到内存、外设到外设)进行沟通,而不需要依靠中央处理器(CPU)的中断负载,从而节省CPU的资源,此外DMA具有一般CPU没有的高效操作,能够提高系统的吞吐率。如果不用DMA搬运数据,那么CPU就需要从来源把每一片段的数据复制到寄存器中,这一过程一直 占用CPU的资源。
2024-05-12 17:31:27
3351
原创 Tcl学习笔记(一)——环境搭建及基本语法
TCL(Tool Command Language,即工具命令语言)是一种解释执行的脚本语言,不需要通过编译和联结,而是直接对每条语句进行顺序解释、执行。
2024-03-19 21:05:51
2244
原创 FPGA时序分析与时序约束(五)——使用Timing Analyzer进行时序分析与约束
通过Quartu自带例程fir_filter进行学习如何使用Timing Analyzer进行时序分析与约束。
2024-01-21 21:38:09
2396
1
原创 FPGA时序分析与时序约束(四)——时序例外约束
在STA中时序分析工具默认的时序检查方式可能与实际情况不吻合,此时就需要额外增加一些约束命令,用于调整时序检查方式,添加的这些额外的时序约束称为时序例外约束。
2024-01-14 20:36:15
1608
原创 FPGA时序分析与时序约束(三)——I/O接口约束
为了准确地对设计中的外部时序上下文进行建模,必须提供输入和输出端口的时序信息。因此要进行输入输出延时约束,延迟约束用的是set_input_delay和set_output_delay,分别用于input端和output端
2024-01-07 20:00:18
1491
原创 FPGA时序分析与时序约束(二)——时钟约束
主时钟通常是FPGA器件外部的板级时钟(如晶振、数据传输的同步时钟等)或FPGA的高速收发器输出数据的同步恢复时钟信号等。
2023-12-18 20:15:00
4547
原创 FPGA实现电机位置环、速度环双闭环PID控制
位置环作为外环,通过编码器计数通过PID输出速度;位置环输出的速度作为目标速度输入速度环,与编码器测速的当前速度进行PID计算,从而完成电机的双PID控制。
2023-12-05 09:01:25
4413
3
原创 FPGA时序分析与时序约束(一)——基础知识
FPGA的时序分析与约束需要设计者根据实际的系统功能,通过时序约束的方式提出时序要求;FPGA编译工具根据设计者的时序要求,进行布局布线;编译完成后,FPGA编译工具还需要针对布局布线的结果,套用特定的时序模型,给出最终的时序分析和报告;设计者通过查看时序报告,确认布局布线后的时序结果是否满足设计要求。
2023-12-01 17:16:19
2428
原创 FPGA实现Avalon-MM接口通信
Avalon总线常用于用户自定义的逻辑与NIOS Ⅱ处理器之间进行通信,再通俗一点的理解就是硬件(Verilog代码)和软件(Nios Ⅱ处理器)进行数据交互。Nios Ⅱ作为主端口(Master),而Verilog代码模块实现了从端口(Slave),比如在Verilog代码中写了一个计数器,而Nios想要知道这个计数器的值,那么就可以在Verilog代码中定义一个寄存器,该寄存器具有与之相对应的地址,Nios Ⅱ可以根据地址对这个寄存器的值进行读取或者写入,这就是Avalon-MM协议。
2023-11-16 10:27:07
880
原创 以太网UDP数据回环实验
上位机通过网口调试助手发送数据给FPGA,FPGA通过以太网接口接收数据并将收到的数据发送给上位机,完成以太网UDP数据的回环。
2023-10-16 09:59:11
1740
原创 以太网ARP测试实验
当上位机发送ARP请求时,FPGA返回ARP应答数据;当按下FPGA的触摸按键时,FPGA发送ARP请求,上位机返回ARP应答数据。
2023-09-20 10:31:52
761
原创 FPGA实现电机转速PID控制
通过纯RTL实现电机转速PID控制,包括电机编码器值读取,电机速度、正反转控制,PID算法,卡尔曼滤波,最终实现对电机速度进行控制,使其能够渐近设定的编码器目标值。
2023-09-04 11:30:41
4629
7
原创 SOPC之NIOS Ⅱ实现电机转速PID控制(调用中断函数)
采用中断函数的方式,每10ms调用一次中断服务函数,再中断函数中实现PID控制,从而达到更大的精确度,减少振荡。
2023-08-24 17:58:20
957
原创 SOPC之NIOS Ⅱ实现电机转速PID控制
通过FPGA开发板上的NIOS Ⅱ搭建电机控制的硬件平台,包括电机正反转、编码器的读取,再通过软件部分实现PID算法对电机速度进行控制,使其能够渐近设定的编码器目标值。
2023-08-21 09:02:08
788
原创 以太网Ethernet通信协议
以太网协议(Ethernet Protocol)是一种广泛应用于局域网(LAN)和广域网(WAN)的计算机网络通信协议。它是一种基于共享介质的局域网技术,最早由Xerox、Intel和Digital Equipment Corporation(DEC)于1970年代开发,并在1980年代初由IEEE标准化为IEEE 802.3。以太网根据最大传输速率的不同可以分为标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)、千兆以太网 (1000Mbit/s)和万兆以太网(10Gbit/s)。
2023-08-07 16:23:15
14853
2
原创 PCIe总线详解
PCI Express (peripheral component interconnect express) 简称PCIe,是一种高速、串行、全双工、计算机扩展总线标准,采用高速差分总线,并采用端到端的连接方式。
2023-08-06 22:08:45
5374
原创 红外NEC通信协议
IR协议是指红外线通信协议的总称,而NEC协议是IR协议中的一种具体实现。NEC协议的编码格式包括一个起始标记、一个地址码、一个命令码和一个校验码,这些都是IR协议通用的编码要素。因此,NEC协议可以看作是IR协议的一种具体实现,它定义了红外线通信的具体细节和规范,使得不同厂商的设备可以互相兼容。
2023-08-03 10:09:44
10046
原创 SOC FPGA之流水灯设计
Altera Soc EDS开发套件的核心是Altera版ARM Development Studio 5(DS-5)工具包,为SoC器件提供了完整的嵌入式开发环境、FPGA自适应调试和对Altera工具的兼容。
2023-08-02 09:52:20
1384
原创 SOC FPGA之HPS模型设计(二)
Quartus工程经过全编译后会产生Handoff文件夹、SOPCINFO文件、SVD文件,通过信息交换文件Handoff文件生成Preloader镜像文件,通过.sopcinfo文件生成设备树
2023-07-27 15:45:52
914
原创 SOC FPGA之HPS模型设计(一)
建立HPS硬件模型有两种方式,一种是在GHRD中添加或修改,另外一种是从0开始搭建HPS,本文从0开始搭建一个HPS硬件平台
2023-07-26 20:00:04
2342
原创 SOC FPGA介绍及开发设计流程
SOC FPGA是在FPGA架构中集成了基于ARM的硬核处理器系统(HPS),包括处理器、外设和存储器控制器。相较于传统的仅有ARM处理器或 FPGA 的嵌入式芯片,SOC FPGA既拥有ARM处理器灵活高效的数据运算和事务处理能力,又拥有FPGA的高速并行数据处理优势。同时,基于两者独特的片上互联结构,在使用时可以将 FPGA 上的通用逻辑资源经过配置,映射为ARM处理器的一个或多个具有特定功能的外设,并通过高达128位位宽的AXI高速总线进行通信以完成控制命令和高速数据的交互。
2023-07-25 18:55:16
3573
1
原创 SPI通信协议
SPI(Serial Peripheral Interface,串行外围设备接口)是一种高速、全双工、同步通信总线。SPI 通讯协议的优点是支持全双工通信,通讯方式较为简单,且相对数据传输速率较快
2023-07-25 08:54:19
21967
1
原创 IIC通信协议
IIC即Inter-Integrated Circuit(集成电路总线),是一种双向、半双工、二线制串行通信总线。多用于主机和从机在数据量不大且传输距离短的场合下的主从通信。主机启动总线,并产生时钟用于传送数据,此时任何接收数据的器件均被认为是从机。
2023-07-23 15:09:10
1459
1
原创 UART串口通信协议
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)是一种异步串行通信方式,它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据,可以实现全双工传输和接收。
2023-07-19 21:30:11
8574
原创 SOPC之NiosⅡ系统(一)
CPU硬核就是在FPGA上的一颗硬件结构固定并且用户不能对其结构进行任何更改、只能进行编程控制的芯片。CPU软核则是FPGA上本来不存在这样的硬件结构,用户可根据硬件描述语言利用NIOS Ⅱ软核搭建出一个CPU。
2023-07-12 09:10:40
539
原创 自定义seg_decoder组件并创建Nios系统(二)
添加Nios Ⅱ处理器,将Nios Processor组件设置框中Nios Core选择Nios Ⅱ/f系统会自动添加一个clk的clock source组件作为时钟组件,可直接使用该组件作为系统时钟。选择clk组件的clk接口,点击与nios2_gen2组件的clk接口交叉的连接点即可相连。至此Nios Ⅱ系统硬件部分搭建完成,开始软件部分,编写用户应用程序,测试自定义的seg组件。然后打开nios2_system_inst.v文件,将其复制到顶层文件,并连接到相应模块。
2023-07-11 11:49:12
303
原创 自定义seg_decoder组件并创建Nios系统(一)
将数码管译码器模块封装成符合Avalon-MM接口的组件创建一个基于Nios Ⅱ处理器的系统将数码管译码器组件添加至该系统中通过用户应用程序控制数码管显示字符0~F
2023-07-10 17:51:33
570
原创 Avalon总线协议(二)
Source and Sink Interfaces and Connections—当连接两个组件时,数据从source接口流向sink接口,将与sink接口连接的source接口的组合称为connection。中断接收器接口接收来自中断发送器接口的中断。具有 Avalon-MM主接口的组件可以包含一个中断接收器,用于检测由包含中断发送器接口的从组件置位的中断。典型应用包括多路复用流(multiplexed streams),数据包和DSP数据,能够在多个通道之间进行数据包交错的突发和数据包传输。
2023-07-10 16:21:37
737
基于Qsys的HPS模型设计
2023-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人