自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (8)
  • 收藏
  • 关注

原创 使用AXI4总线控制MMCM时钟模块

这篇文章主要记录了笔者在使用AXI控制MMCM模块的一些笔记和过程,当然MMCM模块还有好多功能本文并未体现。笔者水平有限,如有错误尽请指正。

2023-04-03 22:09:29 1140 5

原创 FPGA驱动HUB75接口的LED模组(像素点映射)

笔者最近在项目中需要使用FPGA驱动显示HUB75接口的LED模组,但是该模组网上资料很少,而且这种LED模组的扫描方式不是常规的从上到下从左到右。而是先从左到右扫描四个像素点,然后跳到下一行再扫描四个像素点。单板像素地址映射表如图所示绿色部分为正常扫描顺序,红色部分为LED模组扫描顺序。

2022-11-15 15:49:38 1776

原创 FPGA实现千兆/百兆自适应以太网UDP传输

该IP核是笔者在项目中解决自己的问题所编写,水平有限如有疏漏敬请指正。

2022-11-15 15:00:56 6218 6

原创 ZYNQ使用AXI4-HP接口总线读取DDR中的数据

最近笔者在做项目的时候需要使用zynq中的AXI4-HP总线在PL端读取DDR中的数据这种功能,但是网上很多历程对于这方面只是创建了一个官方提供的IP核用于测试,并且每次写入和读取的长度为4K字节。所以为了满足我自己的项目需求,笔者将官方提供的测试IP核上做修改,主要实现一下功能:1、上升沿使能读取数据。2、读使能后,IP核需要从基地址开始,突发读取X次(X数量可控)3、内置一个同步FIFO将读出的数据暂存在FIFO中。

2022-11-15 14:21:24 2951 1

原创 STM32使用SPI方式驱动HX8347方案的TFT-LCD优化代码

笔者最近再做一个小项目的时候需要用到一个LCD显示屏,由于平时不常用这类显示屏又不太了解常用的显示屏驱动IC所以就选择的这款驱动IC。到货后商家提供的代码也只是一些基础的写点、填充和字符显示的函数,并且没有任何优化,加上显示屏是采用SPI协议亲测最高速度不能高于36M/bit。导致显示屏写一次全屏就需要0.4s左右的时间。这样的速度几乎是不能接受的。所以基于这款IC驱动的TFT-LCD笔者对一些必要的函数进行了一定优化。主要是采用SPI配合STM32的DMA来加快速度。优化后的速度差不多就可以达到每秒20-

2022-02-16 20:50:12 3722

原创 C语言实现FIFO代码

最近笔者在做一个小项目的时候需要使用FIFO来做为数据的缓存。但笔者使用的芯片并没有硬件的FIFO管理器,所以需要使用C语言来用软件做一个FIFO的管理。 开始引用了这位大神的一些代码(5条消息) C语言实现标准FIFO_jdh99的专栏-CSDN博客_c fifohttps://blog.csdn.net/jdh99/article/details/83789431?ops_request_misc=%257B%2522request%255Fid%2522%253A%2...

2022-02-16 20:12:20 2620 10

原创 MPU6050读ID错误,出现0XD1现象(正确ID应为0x68或0x69)解决办法。

起因:笔者最近的一个小项目里面需要使用到一块MPU6050姿态传感器。因为之前在某宝买过现成的MPU6050调试过,使用的是一块STM32F1x系列的单片机驱动,代码是没有问题的。所以根据MPU6050官方手册提供的参考电路直接弄到项目的板子上了。但是板子出来之后再调试的过程中一直读取ID的时候一直出现0XD1的数值,并且读取到的所有数据都是错误的。解决办法:1、首先检查一下电路是否连接正确,特别是第20引脚的电荷泵电容。之前翻阅的中文手册发现参考电路上的电容数据是错误的,而且错误的离谱,电路和原件列表

2021-09-10 22:56:20 7521 7

原创 STM32H7系列KEIL软件仿真失败的原因分析和解决办法(error 65:access violation at 0x58024400 : no ‘read‘ permision)

一、问题叙述笔者最近在使用STM32H750型号的单片机做一个小项目,调试的时候发现无法进行软件仿真,进入仿真之后出现下图类似的错误,并且无法进入main函数。笔者在网上找了许多方法,但是一部分是只使用STM32F10X系列的。最终笔者总结了一下方法。下文先阐述方法再大致叙述一个原理。二、解决方法1、在工程目录下新创建一个名为 debug.ini 的文件,在文件中写入一下文本并保存map 0x40000000, 0x4000D3FF read write // APB1map 0

2021-02-10 23:48:41 3430 4

原创 使用STM32 ST-LINK Utility 连接不上出现Unknown device ID!原因与解决办法

ST-LINK Utility版本过低,下载最新版本下载地址:https://www.st.com/en/development-tools/stsw-link004.html

2021-01-23 17:37:06 6039

原创 优化三维空间定位法及C语言快捷实现

一、三维空间定位原理假设我们知道自身到定位基站的距离di (i=1 2 3 4…)并且知道定位基站的坐标,那么我们就可以在空间上建立n个以基站坐标为圆心,距离为半径的空间球体,球体方程如下。其中a,b,c为基站坐标,r为被定位者距离基站的绝对距离。假定,我们拥有三个定位基站,那么我们就可以得到一个方程组。该方程组最终可以解得两组实数数据。此时高度无法准确的确定,如果要确定准确的高度,我们就要在引入一个基站,构成一个拥有四个方程的方程组。解这个方程组就可以得到我们想要的坐标了。但是这里就会

2021-01-05 00:48:29 2614

原创 音乐频谱显示小玩具——FFT在STM32中的实现与应用

0、前言音乐频谱显示说白了就是“儿童版”频谱仪。笔者平时比较喜欢听音乐,闲暇之余听音乐的时候如果有个频谱显示的小玩具在旁边跳来跳去的也挺有意思的,所以笔者去万能的某宝上搜索了一下,发现便宜的都很小,大一点的都很贵,而且都需要音频接头输入,很麻烦,所以笔者就自制了这个小玩具。效果图如下图1所示。效果视频:https://www.bilibili.com/video/BV1dZ4y1x77d...

2020-04-16 18:52:18 8946 7

原创 ModelSim仿真FFT核无法仿真解决方法(Qsys)

一、平台与环境1、仿真环境:ModelSim-altera 10.32、FPGA设计环境:Quartus ii 15.03、操作系统:Windows 10二、问题叙述最近笔者在调试Altrera FPGA自带的FFT核,在使用ModelSim仿真的时候出现了以下错误:错误提示Instantiation or 'FFT_out' failed.The design unit ...

2020-03-18 21:31:03 3108 15

原创 解决STM32运行μC/OS-II系统时出现任务突然无法调度的情况办法

本文为笔者遇到的问题,所总结的经验。一、调用了采用Systick做延迟。因为μC/OS-II实时操作系统的心跳一般就是用Systick提供的,而采用Systick做延迟会打断心跳,或者直接停止了Systick时钟的运行,导致系统无法进入调度。当然也可以在延迟函数做一些改动来避免。二、进入中断时没有“告诉”操作系统进入了中断进入中断的时候一般需要调用OSIntEnter();和OSI...

2020-03-06 18:54:54 698

原创 T-S型模糊算法简述及FPGA的实现

目录0 引言1 将清晰的数据模糊化2、模糊推理2.1模糊命题2.2T-S模糊推理3、将模糊的数据清晰化4、使用模糊算法逼近一阶线性定常系统在MATLAB中实现5、在FPGA中实现模糊算法5.1、电路系统结构设计5.2、模糊算法运算单元概述5.3、测试结果6、结论0 引言模糊算法是一种智能算法,也可以说它是一种非模型算法。它是一种以人类的语言为...

2019-12-03 22:27:46 7520 9

原创 卡尔曼滤波算法在FPGA中实现

一、卡尔曼滤波算法 卡尔曼滤波算法是一种基于时域的最佳线性滤波器。卡尔曼滤波器的原理通俗的讲,可以比我们要观测的一个小车的行进速度的过程 小车可能是接近匀速运动的(系统推测) 小车的电机上有一个具有噪声编码器,可以根据编码器计算出当前速度(外界具有噪声的测量数据) 根据上面两个条件我们任意选用一种都可以预测到该时刻小车的速度,...

2019-10-10 17:47:57 9399 56

原创 FPGA笔记之——FPGA浮点运算的实现

一、IEEE-754规范 IEEE-754标准数值表示包括:浮点数,特殊值(零,无穷大,非标准数值,nan), 单精度、双精度、单精度扩展格式的浮点数。(1)浮点格式。在IEEE-754标准中,所有的浮点数都用二进制模板表示:IEEE-754格式其中,S域表示符号位,E域表示指数,M域表示尾数(对数的一部分或小数)。 对于标准浮点数,默认总是存在1个隐含的引导...

2019-10-07 17:28:07 13817 5

原创 最小二乘拟合二次曲线在STM32中的实现笔记

传感器使用前要进行标定, 标定时必定需要进行曲线拟合。若用计算机处理很简单, 但实际中用微控制器中标定时, 只能进行一般的代数运算,无矩阵运算, 处理就显得非常不方便。最小二乘法推导了二次多项式曲线拟合待定系数的代数计算公式, 应用这些公式来处理数据非常方便。 设有一组实测数据(x i , yi)i =1 , 2 , … , n , 其拟合函数为 ...

2019-09-22 12:50:47 7696 5

原创 MSP430F5529LP官方板子(红色)无法DEBUG问题解决

一、简述: 板子是学校申请下来的而本人第一次接触MSP430的板子,想着正好趁着这个板子学习一下,但是好巧不巧的翻车了。按照搜索来的教学视频安装IAR软件和硬件驱动之后发现:视频上的板子可以正常使用,而自己的板子变成了U盘。。。而且在我乱按的过程中发现这个设备好像还能在文档中打印出一个MSP430字符。二、解决方法: 这里我先把解决方法放在最前面,过程放...

2019-08-04 09:54:33 1859 2

原创 带修正因子的Mamdani型模糊算法配合人工势场的机器人路径规划

一、绪论 人工势场算法一种比较常用的机器人路径规划、避障算法,但是普通的人工势场算法容易出现局最优解的问题,本文依托这一问题采用Mamdani型的模糊算法对传统的人工势场算法进行校正,在解决传统人工势场算法中的局部最优解的前题下,优化传统人工势场算法的最优路径。二、传统人工势场算法 传统人工势场算法通俗的说就是,将目标点人为设置一个引力场,将路径上的所有障碍物人为的设置一个...

2018-12-09 11:56:14 2385 2

原创 ADC采集噪声问题及均方根值滤波与Kalman滤波比较

有一阵子笔者在做一个PT100热电阻的调理电路的时候采用了,使用恒流源的方式测热电阻的阻值。为了采集方便,将0.3mA的电流接入PT100直接把ADC输入端接在了PT100的两端。之后再输出温度的时候数据非常乱。查阅资料受到启发,采用求该信号的有效值(均方根值)方法进行滤波。 ADC采样、恒流源 ADC使用的是STM32F10x系列的内部12位ADC。恒流源电流值为0.3...

2018-10-26 19:38:04 9929 3

原创 STM32的推挽输出与开漏输出,及模拟IIC驱动MLX90615失败问题总结

一、前言 前一阵子笔者在调试一款非接触式温度传感器的时候发现了一个有趣的问题——如果SCL和SDA写数据的时候都是推挽输出的时候,会导致写失败,而把推挽输出全部替换成开漏输出这个问题就迎刃而解了。这段时间里笔者一直在寻找其中的答案,而笔者找到的答案一般就是1、干扰的问题。2、IIC的速度太快的问题。就这两个答案笔者在接下来调试中证明:的确有关系,但是关系不是很大,并不是主要的原因...

2018-07-26 14:06:47 7947 4

原创 基于MCGS与STM32的电机监控系统

0、项目简介该项目是本校本院系协助工厂开发的一款监控系统,本着资源共享、共同学习的本心笔者将该项目总结与此文章。该项目目前需求较为简单,主要检测5路温度信息并将其信息反映到MCGS组态屏幕上,其中两路使用18B20数字温度传感器,三路使用PT100热敏电阻。接下来笔者会从MCGS、MODBUS总线协议以及PT100驱动电路等几个方面详解介绍。一、MCGS简介MCGS是北...

2018-07-05 15:31:51 5182 1

原创 机器人视觉之上帝视角的迷宫

第一篇博客,先做一下自我经历介绍。。本人学生一枚,自2015年接触电路与模电,经过一年的学习开始转战单片机原理。又经过一年的努力,终于考入了一所本科院校的专科专业。大学在校期间,学习了AVRSTM32单片机以及uC/OS_II嵌入式系统。但是在之前的学习中本人并没有记录学习的过程,和累积的一些经验。所以在接下来转战控制理论与算法的学习中(其实本人想做导弹精确制导的)利用此...

2018-06-02 20:51:34 1179 2

千兆-百兆自适应以太网UDP传输.zip

千兆_百兆自适应以太网UDP传输具体功能见博客介绍

2022-11-15

ZYNQ使用AXI40-HP协议读DDR数据修改后的IP核.zip

修改了官方IP核,具体介绍见博客

2022-11-15

STM32使用SPI方式驱动HX8347方案的TFT-LCD优化代码。

STM32使用SPI方式驱动HX8347方案的TFT-LCD优化代码。优化后速度大概为每秒20-30帧左右。

2022-02-16

STM32使用SPI方式驱动HX8347方案的TFT-LCD优化代码

STM32使用SPI方式驱动HX8347方案的TFT-LCD优化代码。优化后速度大概为每秒20-30帧左右。

2022-02-16

音乐频谱显示资料.zip

本资源内含STM32源程序和PCB文件。可直接DIY制作。 声明: 本资料仅供娱乐参考。如转发或在其他平台发布,请注明。

2020-04-16

FPGA-FFT核ModelSim仿真测试代码

Altrera的FPGA-FFT核ModelSim仿真测试代码,使用的是Qsys工具生成IP核仿真测试代码

2020-03-18

T-S型模糊算法FPGA的实现

T-S型模糊算法在FPGA上的实现。TB文件已经写好。详细见我的博客《T-S型模糊算法简述及FPGA的实现》

2019-12-03

卡尔曼滤波算法在FPGA中实现-Verilog代码

该文档是卡尔曼滤波算法在FPGA中实现的所有源代码,采用Verilog硬件描述语言。

2019-10-10

人工势场结合模糊控制算法的机器人路径规划(可直接运行)

人工势场配合Mamdani型模糊控制算法的机器人路径规划与分析。MATLAB代码,可直接运行

2018-12-09

uC/OS-II内核文件

该内核文件已经修改过,可在Cortex-M3内核的单片机中直接使用

2018-07-05

STM32F1X固件库

STM32F1x的固件库,含有I/O口的位绑定头文件。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-07-05

空空如也

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

TA关注的人

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