自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 PS端定时器学习记录

还有一个比较重要的预分频器(PSC),比方说我们要一秒产生一个中断,有两种方式,一个是通过计算装载值与定时器时钟频率的倍数之比来算,还有一种就是通过预分频,将定时器的时钟频率降低,例如:zynq cpu的系统频率为666.66MHz,定时器的频率是CPU的一半,即333.33MHz,原定667*1000*1000 / 2-1装载值,运行产生中断是一秒一次,当设置预分频,为二分频时,装载值不变的话,2秒才能产生一个中断。对于系统级来说的话,有一个24位看门狗和二个16位的triple定时器;

2024-10-22 11:47:26 877

原创 关于多路PWM波原理以及实现学习

我们需要新建一个AXI4 peripheral ,我理解为外设从机,system对这个从机进行读写操作,或者命令操作。在内层例化pwm,因为我们用zedbroad8个led灯,所以例化8次,每一个改变占空比的数据都分别从8个寄存器读取。个人对PWM的理解,就是根据高低位持续时间不同,所代表的占空比不同,在现象可以从led灯亮灭来看出来。之后添加这个IP核到BD文件中,并编辑IP核。并在更新ip核,添加到bd文件中。我自己写了一个pwm的工程文件,加进去,并进行例化。之后烧录Bit流文件,软件运行即可。

2024-10-17 22:53:44 226

原创 关于PS端串口中断的学习记录

基本PS端用什么端口需要先用设备ID查找相关配置,再进行初始化,之后根据自己所需要的功能调用函数进行配置,但本质就是各个寄存器的读写操作,但本人(小白一只)还没学会。XUARTPS_IMR_OFFSET这个32位寄存器的作用是所在位置1时,中断使能,此实验我们在串口中断配置中配置uart_ps为XUARTPS_IXR_RXOVR,就是上面寄存器第0位置1,对于中断处理函数其中的中断句柄我们还要设置,中断句柄我理解为发生中断后,需要做些什么。当这两个寄存器都是1时,我们将数据接收,并清除中断状态寄存器。

2024-10-11 15:48:12 667

原创 PS与PL协同设计实现GPIO

可以选Hello World 模板,之后自己编写代码,也可以用Peripheral Tests 模板,用里面的GPIO输入输出部分;RUN BLOCK AUTOMATION 是根据板子所配置的,再点击Run Connection Automation 让模块自动连接;这样就可以把按键的值传给led了,这里的0x41200000,0x41210000是两个端口原来分配的地址。并添加两个GPIO核,并一个设置为输入,一个设置为输出,都是八位。选上面的,你修改代码是有效的,下面的修改无效;创建一个新的工程文件。

2024-04-24 15:52:32 284

原创 GPIO输出LED闪烁、LED流水灯、以及蜂鸣器

建立工程,在工程文件下添加三个文件,start、Library,User文件夹。之后Debug选择STLINK Debug,点击setttings。Library文件夹放置库函数文件。start文件夹放置启动文件。User文件夹放置.c文件。LED闪烁工程如上;

2024-04-14 13:02:57 205 1

原创 Zedbroad测试

设置串口名和速率115200波特,打开之后进入linux操作页面进行测试。打开之后会出现这个页面,可以进行linux命令操作。ping+ip地址 用来检测网络连通情况和速度;用显示器HDMI口接板子后,会显示两个小企鹅;write_led 命令是设置led亮灭;ifconfig 命令可查ip地址;read_sw命令是读取按键;ls命令是列出目录中的文件;以下是基本的测试步骤。

2024-04-13 22:51:23 706 1

原创 关于stm32建立工程学习

H:\360MoveData\Users\16580\Desktop\STM32入门教程资料\固件库\固件库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm。stm32f10x.h文件是外设寄存器描述文件,用来描述stm32的寄存器和对应的地址;这个是内核配置文件,也粘贴到start下,工程的必要文件就准备完成了。

2024-01-16 16:49:55 417 1

原创 PS与PL协同设计实现GPIO学习记录

由于FPGA要控制外设是通过寄存器来控制的,而寄存器要映射FPGA的寻址地址。给没有映射的外设配置地址,之后保存。之后点击Xilinx Tools > program FPGA 进行烧写程序。生成BIT流文件之后,先点击file>export>export hardware 之后launch SDK。点击run block automation,根据Zedboard中所存有的配置来配置system。之后点击Run > Run as >Launch on hardware。另外一个全为输入,宽度也是8位。

2023-08-02 14:56:42 250 1

原创 关于串口通信及其回环测试的学习记录

首先通过算出发送一个数据所用的周期(时钟频率/波特率 -1),设定一个计数器,当计满时,状态机跳转下一个状态并传输数据,此处注意写使能生效后,才开始判定起始位,但此时并不知道计数器数值,可能发送起始位数据的时间不够,接收端可能检测不到。接收模块需要关注的是什么时候采信号,通常一个信号,在其中点进行采样,数据比较稳定,所以接收数据时,计数半个周期,来采样数据。分析数据发送接收比较方便。2.写使能有效后,状态机状态变化后,中间加一次状态转变,转变后让计数器计满后,保证发送起始位数据时,计数器从0开始计数。

2023-07-06 16:53:07 745 3

原创 关于动态数码管显示以及24小时时钟的学习笔记

对于数码管动态显示胡整体思路如下:此模块作为可以调用的模块,外部输入数据对应着相应位置数码管的输出(也就是对应的位选),设定一个函数根据输入数据用来选择数码管显示的数字,其次设定一个计数器,将输入的数据通过状态机传输出去,并且根据计数器一些位数的变化对位选输出进行移位操作,保证对应位选与段选对应,显示正确的数据。本模块思路:本模块用的开发板时钟为50MHz,将秒,分,时的个位和十位分开计算,这样节省资源,每次进位都需要求计数器计够,才能进位。输入变量:时钟,复位,以及对应数码管的输入数据。

2023-07-03 16:49:10 825 2

原创 关于移动平均算法的学习笔记

总体思路:设定一个存储器,用来存储数据,当计数器计满后,有三个数据已经存入存储器,而且下一个周期输出使能生效,存储器存够四个,等下一个周期来时,求出平均值。2.对于求平均中的除法,本模块所采用的是二进制数进行移位,每向左移动一位,等于除于2。3.计数器在本模块的用法是延迟求平均,当数据收集够四个之后才开始求平均。本质是在做符号扩展,因为本模块最初目的来计算风扇的转速的偏移量,所以说带有符号位计算。输出使能,平均结果输出。本模块输入变量:时钟,复位,模块使能,写使能。

2023-06-25 20:28:12 133

原创 关于同步FIFO学习记录

总体思路:确定FIFO的所存储数据的个位以及位宽,定义一个读写有效信号,对将满将空信号进行判断,以及空信号、满信号的判断,根据读写使能信号、空满信号状态,以及FIFO计数器计数,来观察当前FIFO存储量。3.对于fifo计数器可以计数到256,是为了显示存入的数据量,读写计数器只能计数到255,是因为用作指针,来指向数据缓冲器中对应位置的数据。输出变量:空信号、满信号、将空信号、将满信号、输出数据、FIFO计数器、FWFT模式下输出数据。输入变量:时钟、复位、输入数据、写使能、读使能。

2023-06-24 21:57:03 257 1

原创 对于延迟按键控制模块的梳理总结

/表示按键时长2s。按键输入要打两拍,控制状态机跳转的信号可由按键计数器和按键控制。按键按下2s,电源使能,LED常亮。根据按键的状态来控制按键计数器的计数以及复位。//1表示按键按下,0表示按键未按下。//用于状态机转换的信号。//用于状态机的寄存器。reg led_on;

2023-06-23 15:54:20 97 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除