- 博客(123)
- 收藏
- 关注
原创 Tcl学习笔记(一)——环境搭建及基本语法
TCL(Tool Command Language,即工具命令语言)是一种解释执行的脚本语言,不需要通过编译和联结,而是直接对每条语句进行顺序解释、执行。
2024-03-19 21:05:51 950
原创 FPGA时序分析与时序约束(五)——使用Timing Analyzer进行时序分析与约束
通过Quartu自带例程fir_filter进行学习如何使用Timing Analyzer进行时序分析与约束。
2024-01-21 21:38:09 1342
原创 FPGA时序分析与时序约束(四)——时序例外约束
在STA中时序分析工具默认的时序检查方式可能与实际情况不吻合,此时就需要额外增加一些约束命令,用于调整时序检查方式,添加的这些额外的时序约束称为时序例外约束。
2024-01-14 20:36:15 1224
原创 FPGA时序分析与时序约束(三)——I/O接口约束
为了准确地对设计中的外部时序上下文进行建模,必须提供输入和输出端口的时序信息。因此要进行输入输出延时约束,延迟约束用的是set_input_delay和set_output_delay,分别用于input端和output端
2024-01-07 20:00:18 1041
原创 FPGA时序分析与时序约束(二)——时钟约束
主时钟通常是FPGA器件外部的板级时钟(如晶振、数据传输的同步时钟等)或FPGA的高速收发器输出数据的同步恢复时钟信号等。
2023-12-18 20:15:00 2155
原创 FPGA实现电机位置环、速度环双闭环PID控制
位置环作为外环,通过编码器计数通过PID输出速度;位置环输出的速度作为目标速度输入速度环,与编码器测速的当前速度进行PID计算,从而完成电机的双PID控制。
2023-12-05 09:01:25 2227
原创 FPGA时序分析与时序约束(一)——基础知识
FPGA的时序分析与约束需要设计者根据实际的系统功能,通过时序约束的方式提出时序要求;FPGA编译工具根据设计者的时序要求,进行布局布线;编译完成后,FPGA编译工具还需要针对布局布线的结果,套用特定的时序模型,给出最终的时序分析和报告;设计者通过查看时序报告,确认布局布线后的时序结果是否满足设计要求。
2023-12-01 17:16:19 1448
原创 FPGA实现Avalon-MM接口通信
Avalon总线常用于用户自定义的逻辑与NIOS Ⅱ处理器之间进行通信,再通俗一点的理解就是硬件(Verilog代码)和软件(Nios Ⅱ处理器)进行数据交互。Nios Ⅱ作为主端口(Master),而Verilog代码模块实现了从端口(Slave),比如在Verilog代码中写了一个计数器,而Nios想要知道这个计数器的值,那么就可以在Verilog代码中定义一个寄存器,该寄存器具有与之相对应的地址,Nios Ⅱ可以根据地址对这个寄存器的值进行读取或者写入,这就是Avalon-MM协议。
2023-11-16 10:27:07 503
原创 以太网UDP数据回环实验
上位机通过网口调试助手发送数据给FPGA,FPGA通过以太网接口接收数据并将收到的数据发送给上位机,完成以太网UDP数据的回环。
2023-10-16 09:59:11 1285
原创 以太网ARP测试实验
当上位机发送ARP请求时,FPGA返回ARP应答数据;当按下FPGA的触摸按键时,FPGA发送ARP请求,上位机返回ARP应答数据。
2023-09-20 10:31:52 582
原创 FPGA实现电机转速PID控制
通过纯RTL实现电机转速PID控制,包括电机编码器值读取,电机速度、正反转控制,PID算法,卡尔曼滤波,最终实现对电机速度进行控制,使其能够渐近设定的编码器目标值。
2023-09-04 11:30:41 3586 6
原创 SOPC之NIOS Ⅱ实现电机转速PID控制(调用中断函数)
采用中断函数的方式,每10ms调用一次中断服务函数,再中断函数中实现PID控制,从而达到更大的精确度,减少振荡。
2023-08-24 17:58:20 722
原创 SOPC之NIOS Ⅱ实现电机转速PID控制
通过FPGA开发板上的NIOS Ⅱ搭建电机控制的硬件平台,包括电机正反转、编码器的读取,再通过软件部分实现PID算法对电机速度进行控制,使其能够渐近设定的编码器目标值。
2023-08-21 09:02:08 622
原创 以太网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 9671 1
原创 PCIe总线详解
PCI Express (peripheral component interconnect express) 简称PCIe,是一种高速、串行、全双工、计算机扩展总线标准,采用高速差分总线,并采用端到端的连接方式。
2023-08-06 22:08:45 1165
原创 红外NEC通信协议
IR协议是指红外线通信协议的总称,而NEC协议是IR协议中的一种具体实现。NEC协议的编码格式包括一个起始标记、一个地址码、一个命令码和一个校验码,这些都是IR协议通用的编码要素。因此,NEC协议可以看作是IR协议的一种具体实现,它定义了红外线通信的具体细节和规范,使得不同厂商的设备可以互相兼容。
2023-08-03 10:09:44 5930
原创 SOC FPGA之流水灯设计
Altera Soc EDS开发套件的核心是Altera版ARM Development Studio 5(DS-5)工具包,为SoC器件提供了完整的嵌入式开发环境、FPGA自适应调试和对Altera工具的兼容。
2023-08-02 09:52:20 1207
原创 SOC FPGA之HPS模型设计(二)
Quartus工程经过全编译后会产生Handoff文件夹、SOPCINFO文件、SVD文件,通过信息交换文件Handoff文件生成Preloader镜像文件,通过.sopcinfo文件生成设备树
2023-07-27 15:45:52 777
原创 SOC FPGA之HPS模型设计(一)
建立HPS硬件模型有两种方式,一种是在GHRD中添加或修改,另外一种是从0开始搭建HPS,本文从0开始搭建一个HPS硬件平台
2023-07-26 20:00:04 1972
原创 SOC FPGA介绍及开发设计流程
SOC FPGA是在FPGA架构中集成了基于ARM的硬核处理器系统(HPS),包括处理器、外设和存储器控制器。相较于传统的仅有ARM处理器或 FPGA 的嵌入式芯片,SOC FPGA既拥有ARM处理器灵活高效的数据运算和事务处理能力,又拥有FPGA的高速并行数据处理优势。同时,基于两者独特的片上互联结构,在使用时可以将 FPGA 上的通用逻辑资源经过配置,映射为ARM处理器的一个或多个具有特定功能的外设,并通过高达128位位宽的AXI高速总线进行通信以完成控制命令和高速数据的交互。
2023-07-25 18:55:16 2740 1
原创 SPI通信协议
SPI(Serial Peripheral Interface,串行外围设备接口)是一种高速、全双工、同步通信总线。SPI 通讯协议的优点是支持全双工通信,通讯方式较为简单,且相对数据传输速率较快
2023-07-25 08:54:19 9587
原创 IIC通信协议
IIC即Inter-Integrated Circuit(集成电路总线),是一种双向、半双工、二线制串行通信总线。多用于主机和从机在数据量不大且传输距离短的场合下的主从通信。主机启动总线,并产生时钟用于传送数据,此时任何接收数据的器件均被认为是从机。
2023-07-23 15:09:10 724
原创 UART串口通信协议
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)是一种异步串行通信方式,它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据,可以实现全双工传输和接收。
2023-07-19 21:30:11 5881
原创 SOPC之NiosⅡ系统(一)
CPU硬核就是在FPGA上的一颗硬件结构固定并且用户不能对其结构进行任何更改、只能进行编程控制的芯片。CPU软核则是FPGA上本来不存在这样的硬件结构,用户可根据硬件描述语言利用NIOS Ⅱ软核搭建出一个CPU。
2023-07-12 09:10:40 437
原创 自定义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 232
原创 自定义seg_decoder组件并创建Nios系统(一)
将数码管译码器模块封装成符合Avalon-MM接口的组件创建一个基于Nios Ⅱ处理器的系统将数码管译码器组件添加至该系统中通过用户应用程序控制数码管显示字符0~F
2023-07-10 17:51:33 512
原创 Avalon总线协议(二)
Source and Sink Interfaces and Connections—当连接两个组件时,数据从source接口流向sink接口,将与sink接口连接的source接口的组合称为connection。中断接收器接口接收来自中断发送器接口的中断。具有 Avalon-MM主接口的组件可以包含一个中断接收器,用于检测由包含中断发送器接口的从组件置位的中断。典型应用包括多路复用流(multiplexed streams),数据包和DSP数据,能够在多个通道之间进行数据包交错的突发和数据包传输。
2023-07-10 16:21:37 617
原创 电路图中常见符号总结
前辈说不会FPGA电路原理图,就不能知道如何去控制、如何去实现因此本篇记录看的原理图中见到的符号,虽然都很基础,但我都不会,难受,因此只能看一点记一点>_____
2023-06-25 17:16:43 1088
原创 Avalon总线协议(一)
Avalon总线主要用于软核处理器NIOS Ⅱ与外设,常用于高速数据传输流、读写寄存器和存储器、控制片外器等。即用户自定义的逻辑与NIOS Ⅱ处理器之间进行通信常用的总线接口是Avalon-MM或者Avalon-STNIOS Ⅱ处理器和各外设之间通过Avalon-MM总线进行交互,而外设之间的点到点数据传输通过Avalon-ST总线完成Avalon-MMAvalon-STAvalon-TCAvalon接口通过描述它们的行为。
2023-06-21 11:26:53 1672
原创 【FPGA】译码器、计数器及数码管显示
数码管按段分可分为七段数码管和八段数码管,区别就是八段数码管多了个小数点共阴数码管和共阳数码管共阴数码管就是高电平亮,低电平灭;共阳数码管就是低电平亮,高电平灭。
2023-06-20 12:09:07 2890
原创 Web服务器项目实战(一)
1.阻塞/非阻塞、同步/异步2.五种IO模型3.网络服务器简介4.HTTP协议5.服务器编程基本框架6.两种高效的事件处理模式7.线程池
2022-06-27 09:18:49 1121 1
基于Qsys的HPS模型设计
2023-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人