STM32F407学习
1 STM 32 相关外设接口学习1.1 GPIOSTM 32 F 4 每组通用 GPIO 口由 7 个 32 位的寄存器控制,包括: 4 个 32 位配置寄存器(MODER、OTYPER、OSPEEDR、PUPDR) 2 个 32 位数据寄存器(IDR、ODR) 1 个 32 位置位、复位寄存器(BSRR) 1 个 32 位锁定寄存器(LCKR) 2 个 32 位复用功能选择寄存器(AFRH、
运放选型
在使用OP07设计单路运放时,设计目标为将100K到1M的1V峰峰值的正弦波放大2倍,但是测试过程中发现100K频率下输出的波形类似三角波,数据手册说OP07的增益带宽积为0.5MHz,正常来说100K的频率下2倍增益是没问题的。 但是数据手册又说OP07的压摆率Slew Rate为0.3V/us,那么根据设计目标可以计算得出运放的压摆率至少要到6.28V/us,可以看到OP0
Quartus报错记录
[!note]由于 Quartus 的 VWF 仿真只能仿真很短的时间,而且 Vivado 仿真的时候也需要添加激励信号,因此需要编写 testbench 文件进行激励仿真。 Testbench 文件结构编写 testbench 的目的是为了测试 module 的功能、性能是否符合设计的预期。验证设计的功能包括以下步骤: 产生合适的激励波形:该激励通常要覆盖被测 HDL 模块所有可能产生的输
多速率信号处理-CIC滤波器
1 基本原理级联积分梳状滤波器(Cascade Intergrator Comb)是多速率信号处理中一种十分高效的数字滤波器。CIC滤波器具有低通滤波器的特性,同时具有以下优势: 滤波器系数全为1,设计时不需要存储滤波器系数,节省存储单元,同时使得滤波时只需要加法器和累加器,不需要乘法器 结构规则,可灵活设置插值因子而不影响整体结构 1.1 积分器积分器结构为 时域上可表示为 频域上可表示
C语言知识复习
C 语言教程 | 菜鸟教程 1 Vscode 编译调试 C 代码由于 vscode 只是一个文本编辑器,因此需要配置 task.json 和 launch.json 来完成编译和调试的工作。(笔者的 C 环境基于 WSL 2(Ubuntu-20.04)搭建)task.json 如下: 1234567891011121314151617181920212223{ "version": "2.0
WSL2 Ubuntu-22.04LTS
1 gui 花屏WSL 2 安装的 Ubuntu-20.04 默认的显示管理器是 gdm。默认情况下运行 vivado 的安装程序启动 gui 后,页面发生改变时就会花屏,修改缩放也无法修复。 1.1 解决方法安装 kde,将显示管理器修改为 ssdm 后即可修复该问题。 2 ubuntu nvim 复制的内容无法粘贴到 win原因是 wsl2 的 Linux 程序不能直接访问 Windows 剪
不同波段电磁波的特点和使用场景
不同波段的电磁波在频率、波长、能量以及传播方式上各有差异,这使得它们在应用上也各有所长。下面我们将对中波、短波之外的主要电磁波波段的特点以及它们在通信或其它领域中的应用做一详细解析: 1. 超低频与极低频波段(ELF、SLF、ULF、VLF) 频率与波长特点 极低频(ELF):通常在3~30 Hz之间,波长可达数万公里。 超低频(SLF)和特低频(ULF):频率分别约在30–300 Hz和3
Vivado中关于综合的设置
1 1. 综合策略(Synthesis Strategy) 作用:控制综合工具优化设计的方向(性能、面积、功耗)。 选项: Vivado Synthesis Defaults:默认策略,平衡性能和资源。 AreaOptimized_high:优先减少资源占用(如LUT、寄存器)。 PerformanceOptimized_high:优先时序性能(降低关键路径延迟)。 PowerOptimized_
多频点数字上变频器-调试记录
顶层 bd通过 mm-s-fifo 将 PS 侧的 GP 接口转化为 stream 接口。 调试结果2025-3-14可以看出 mm-s-fifo 的输出一直没变,后级的 ready 信号可能有问题。 mm-s-fifo 的 valid 信号有问题 解决方法勾选 cut through 后才会流式传输数据 3-16写入 fifo 时必须加入打印,后面的 valid 信号才会有效,但是 valid
win11 Hyper-V消失
在 win 中的“启动或关闭 Windows 功能“中突然找不到 Hyper-V 相关的选项,同时 wsl 无法启动。在桌面新建一个 .bat 文件,内容为 ``` 1234567891011pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr
Linux用到的命令
1 Tar 命令 1234567tar -xzvf archive.tar.gz # 解压 .tar.gz 格式的文件 tar -xjvf archive.tar.bz2 # 解压 .tar.bz2 格式的文件 tar -xJvf archive.tar.xz # 解压 .tar.xz 格式的文件 tar -xvf archive.tar # 解压 .tar 格式的文件 -x:提取文件 -z:解
Petalinux报错记录
Unable to connect to bitbake server编译时卡住,检查 build.log 发现 log 文件提示 Unable to connect to bitbake server,此时只需要将 build 文件夹下的 bitbake.lock 删除即可 Login incorrect在最新版的UG1144 (v2022.2) 文档中,可以发现当前的 petalinux 登录
Petalinux
Petalinux 命令参考《UG 1157 PetaLinux Command Line Reference Guide》 123456789101112131415161718192021//创建petalinux工程petalinux-create -t project --template zynq -n <name> //配置工程cd 上一步的工程petalinux-conf
FIFO
FIFO 本质是由 RAM 加上读写逻辑构成的先入先出的数据缓冲器。与 RAM 的区别是 FIFO 没有外部读写地址线,顺序写入顺序读出数据,其数据地址是由内部读写指针自增完成,因此 FIFO 在读写时不需要考虑读写冲突的问题。根据 FIFO 工作的时钟域,可以分为同步 FIFO 和异步 FIFO,同步 FIFO 的读时钟和写时钟是同一个时钟,常用于两边数据位宽不同的临时缓冲,异步 FIFO 的读
FPGA开发时序图绘制
开始的时候画时序图都是拿 visio 硬连,但是那个线宽太难统一了,丑不拉几的,遂学习 waveform 语法使用代码来画时序图。 开始Vscode 中安装 waveform render 或者在 GitHub 搜索 wavedrom 安装即可。由于 vscode 是我常用的编辑器,所以选择在 vscode 安装插件的方式来学习使用 waveform。在 vscode 中创建一个 json 文件,
ZYNQ-PS GPIO中断过程
中断初始化设置过程 查找中断控制器配置信息并初始化中断控制器驱动(XScuGic_LookupConfig、XScuGic_CfgInitialize) 设置中断类型(XScuGic_SetPriorityTriggerType) 为中断设置中断处理函数(XScuGic_Connect) 使能中断 (XScuGic_Enable) 设置并使能中断异常(Xil_ExceptionInit、Xil_E