自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (4)
  • 收藏
  • 关注

原创 Qtxlsx第三方库的安装和使用

默认安装strawberry-perl-5.30.0.1-64bit.msi;3,执行命令Qt 5.14.2 (MinGW 7.3.0 64-bit)b,头文件添加#include 5,粘贴并执行,然后劈里啪啦会打印很多东西,默默等待直到完成。a,pro文件添加QT += xlsx;6,测试结果,新建一个Qt工程,没有任何讲究。2,下载Qtxlsx源代码。1,下载安装Perl脚本。

2024-04-05 21:04:18 340

原创 Driver not loaded之记录Qt访问MySql的解决经历

5,直接打开Qt安装目录中的工程文件:Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro。8,将编译产生的.dll和.a文件拷贝到:\Qt\5.14.2\mingw73_64\plugins\sqldrivers中,运行原来Qt的数据库工程文件,访问MySql数据库正常。4,因为需要重新编译MySQl的库文件,所以安装Qt的时候需要勾选Source,并且勾选mingw64和mingw32;2,其次Qt的编译工具需要和MySql的位数相同;

2024-04-04 23:07:13 394

原创 Windows平台下自定义HID设备通信

我的目的是实现Windows和自定义的HID设备实现通信,前后花了很久时间摸索,最终成功实现了通信,在此感谢网络平台提供的资源信息。QT调用HIDAPI进行 USB-HID设备通信_qt5 读取hid-CSDN博客https://blog.csdn.net/weixin_68016945/article/details/130159088 第三步:下载开源的HIDAPI源代码,解压后,把HIDAPI.h文件放在项目路径里面,下载地址如下:GitCode - 开发者的代

2024-02-22 09:48:06 759

原创 一文读懂C++的类和对象以及多态的原理

使用微软的开发者调试工具,在命令行输入:cl /EHsc -d1reportSingleClassLayoutAnimal main.cpp,查询单个类的布局如下,对象的空间占用还是8个字节,但是动物1和动物2有一个共同的group_num变量。

2024-02-03 22:58:48 375

原创 一文读懂Qt信号与槽的机制

不能把所有的事情都让类的成员函数去处理,因为没有人知道未来会添加哪些功能,所以把接收者中定义的show函数改成一个函数指针会更合理。上面的程序中发送者和接收者之间建立联系的过程不够形象,我用一个函数命名为管道连接,管理对象之间的通信管道。第一个类(接收者)的成员函数实现某种功能,第二个类(发送者)定义一个对象指针,初始化后达到间接访问类1(接收者)的成员函数。为了解决一个发送者对象和多个接收者对象产生关系的问题,发送者对象应该用一个指针数组保存所有的接收者,我的数组大小为2。程序的运行结果和上面一样。

2024-01-13 14:08:50 470

原创 模拟频率和数字频率的关系

模拟角频率表达的是一个速率,而数字角频率表达的是一个步长。,模拟角频率的单位是rad/s。,数字角频率的单位是rad。,频率的单位是hz;

2023-06-26 15:28:37 1219

原创 NTSC和PAL视频格式的区别

NTSC早期描述的是[email protected]格式视频,1953年确立标准,美国主导。后来为了方便和PAL制式格式的视频转换,于是将60hz的倍数关系的帧率纳入该系统。PAL描述的是625I@50格式视频,1967年确立标准,欧洲主导。由于成立时间晚,因此借鉴了不少NTSC的优点,两者在BT601之后规范统一化。通常来说NTSC采用YIQ色彩空间,PAL采用YUV色彩空间。wx=0.3127;,因此两者在显示端都需要做色彩纠正,这个工作是由电视机完成的。,由于历史原因,亮度方程通常采用的还是。

2023-06-07 18:29:30 1635

原创 RGB色彩空间中波形图、直方图、矢量图绘制

RGB色彩空间中波形图、直方图、矢量图绘制。

2023-06-04 13:58:32 458 4

原创 YUV色彩空间中对比度、色度、饱和度调节

图像处理中,如果要调整图像的对比度、色度、饱和度,在RGB色彩空间处理实为不变,这需要转换到HSV色彩空间中去,不够快速。因此本文提出了直接基于YUV色彩空间处理的方法。

2023-06-04 13:06:56 965 2

原创 YUV色彩空间中高光和低光调节

高光和低光调节属于亮度调节范畴,但是和通过伽马变换来时实现的亮度增强不是一个意思。高低光的调节是指,增强亮部并降低暗部,或者降低亮部并增强暗部。

2023-06-04 12:38:20 298

原创 详解RGB和YUV色彩空间转换

首先指出本文中的RGB指的是非线性RGB,意思就是经过了伽马校正,按照行业规矩应当写成R'G'B',但是为了书写方便,仍写成RGB。关于YUV有多种叫法,分别是YUV,YPbPr,YCbCr。因此本文将首先指出他们之间的区别与联系,然后依次推演和RGB色彩空间之间的关系,最后导出转换矩阵。

2023-05-31 18:37:13 5104

原创 详解RGB和XYZ色彩空间转换之下篇

首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R',G',B',而是波长分别为700nm,546.1nm,435.8nm的单色红光,单色绿光,单色蓝光。sRGB中的R'G'B'中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB,但是需要有所区别。前面两篇讲解了CIE标准观察者色彩空间转换,本文开始回归正题。

2023-05-27 17:35:18 3582

原创 详解RGB和XYZ色彩空间转换之中篇

首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R',G',B',而是波长分别为700nm,546.1nm,435.8nm的单色红光,单色绿光,单色蓝光。sRGB中的R'G'B'中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB,但是需要有所区别。本文将分别从为什么需要这种转换,怎么进行这种转换进行阐述。

2023-05-21 23:09:52 2956

原创 详解RGB和XYZ色彩空间转换之上篇

首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R',G',B',而是波长分别为700nm,546.1nm,435.8nm的单色红光,单色绿光,单色蓝光。sRGB中的R'G'B'中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB,但是需要有所区别。本文将分别从为什么需要这种转换,怎么进行这种转换进行阐述。

2023-05-21 20:28:47 1880

原创 LMS,RGB,XYZ色彩空间转换

首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R',G',B',而是波长分别为700nm,546.1nm,435.8nm的单色红光,单色绿光,单色蓝光。sRGB中的R'G'B'中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB,但是需要有所区别。那么RGB的定义是怎么来的呢,这需要从颜色匹配实验说起。

2023-05-20 17:06:54 1657

原创 伽马校正探究

这一切要从CRT的特性说起, CRT显示器是靠电压来驱动一个能够发射电子束的电子枪来击打荧光屏上的三种荧光粉,使其发出RGB三种颜色的光,通过调节电压的方向可以改变电子束击打在屏幕上的位置,实现扫描,并根据输入信号的大小来调节电压的大小从而改变荧光粉发出光的明暗。但是,电压的大小与荧光粉发出光的明暗之间并不是一个简单的线型关系,在大部分区间,两者之间是一个幂函数关系。通常这里的伽马值取2.2。

2023-05-02 22:08:56 1026

原创 色彩的本质

人的主观感受是由视神经来完成的,视神经有三类视锥细胞,分别感受短波,中波,长波,它们把对于各种波长的光线感受,或称之为刺激,反馈给人的大脑皮层,最终形成一个颜色的感觉来。既然对于色彩的感知靠神经完成,那么人类和动物对于光线的感觉也不一样,例如对于红色,人类看到的是红色,而猪看到的却是另一种色彩,姑且称之为猪红色,牛感知到的跟猪也不同,姑且称之位牛红色,也有可能猪和牛根本感知不到他们的存在,也就是说人类感知到的红色对于他们来说是不可见光。什么红的,什么绿的,什么蓝的,这些都是虚无的,都是人的主观臆想。

2023-04-30 22:02:33 227

原创 RGB三颜色

人眼对红绿蓝三色最为敏感,人的眼睛就像一个三频接收器的体系,任何一种基色都不能由其它两种颜色合成。红绿蓝是三基色,这三种颜色合成的颜色范围最为广泛。红绿蓝三基色按照不同的比例相加合成混色称为相加混色。

2023-04-30 19:49:31 237

原创 Matlab里面的size函数

matlab计算的时候分不清行和列,分不清矩阵的宽和高,可以看这个记录小结

2022-12-14 15:06:14 3306

原创 vivado创建层次原理图

创建层次原理图

2022-12-05 16:10:26 2044

原创 vivado创建原理图模块

创建RTL的图形

2022-12-05 14:23:53 4014

原创 Xilinx的TestPattern模块编译错误解决方法

vivado 编译tpg模块错误解决方法

2022-12-01 16:52:55 811

原创 EZ-USB-FX3 slavefifo调试

最近使用fx3-usb-3.0调试slave fifo的传输,期间遇到许多难以理解的问题。在这里分享给大家,希望可以少走一些弯路,我自己是这样走过来的。1,首先去官网下载原始的参考设计,并安装所提供的SDK软件:FX3SDKSetup_1.3.4.exe2,接着把参考设计文档AN65974阅读一遍,分别创建新的SDK工程和FPGA工程。如果使用的原厂的开发板,那么可以按照文档提示,可以很顺畅的跑完整过测试。否则需要匹配自己的硬件,做针对性的更改和移植,而我走的是后一条路,于是开始了漫长的调试之路。.

2021-08-18 19:41:05 1980 4

原创 等额本息和等额本金的选择

首先分别求两者的月供数额一、求解等额本息的月供:假定原始贷款金额我A,贷款期数为k,分期利率为R,设月供为X。则每期还款后剩余的本金如下:===因为第k次还款之后本金为0,即所以等额本息的月供为:二、求解等额本金的月供:假定原始贷款金额我A,贷款期数为k,分期利率为R。则每期的月供如下:三、还款完毕之后,等额本息的现值贴现计算如下:假定贷款金额A=100万,年化利率为5.5%,分期利率为0.458%如果把月供换成基金..

2021-07-24 15:56:33 197

原创 microblaze之assert函数的用法

调试程序过程中,经常会遇到传递的参数非法了,于是就进入了系统自带的Assert函数之中了,这时候程序是死循环,也不知道是在哪个地方出现的错误。1,曾经我是

2021-05-14 13:41:03 173

原创 microblaze之自定义IP的总线配置

做开发设计的时候,不可能完全使用官方原有的IP设计,因此少不了自己动手写一点实用的逻辑,于是需要将自己的模块总线化,便于耦合到系统之上。分几个步骤去实现:1,去ARM官网下载AXI4总线的文档,有兴趣可以仔细读一下,这件事情放在以后吧。当需要设计复杂的IP的时候,那么这件工作一定不能忽视。2,通过粗略的查看文档,大致有信号的定义,通信机制,握手协议,什么读写地址通道,数据通道,响应通道,没有必要列举清楚,完全可以在文档中去看。3,本来应该通过手册去写相关的驱动时序,我想也不是特别困难

2021-05-11 15:57:39 636

原创 microblaze之axi-timer定时器中断调试

序言:定时器是cpu不可缺少的部分,microblaze不能例外,所以需要亲自跑一遍。本文主要分享我遇到的问题和调试的经历,以及作为程序员不严谨所导致的惨痛教训。1,axi-timer可以计数也可以定时,详细特性可以参考xilinx的手册,这里放一个它的内部框图和寄存器列表,如下:2,在vivado里面添加axi-timer模块,连接好信号线,我首先把中断信号连接到中断控制器,然后使用一个axi-gpio模块控制他的freeze引脚,一个定时器0的generate_out控制另一个计数器的c

2021-04-28 18:29:05 3653 1

原创 microblaze之C语言基础知识复习

在microblaze的软件编程中主要以C语言为主,而C语言主要以指针为主,因此有必要剔除重要的点做几番认识。1,const修饰符的作用,它就是让一个变量具有常量的属性,如果有指针的时候,那么有两个摆放位置,例如:char const* p;意思是p is a pointer to const char,指针p所指向的变量不允许通过指针*p间接去修改,但是变量a本身显然可以被修改的,另外指针p不仅可以指向变量a,也可以指向变量b。char * const p;意思是p is a const.

2021-04-25 17:37:06 405 1

原创 microblaze之Video Processing Subsystem调试误区

内容:总结video processing subsystem调试中遇到的问题,以及在解决问题中的思路方法论,引为前车之鉴。1,我的目的是希望采用vps中的scaler模块对图像进行拉伸缩小。IP的配置如下:2,整个系统的框架图如下,仅比上期的内容增加了scaler模块,如下:3,查手册,可以知道这个scaler only组件分成了hscale,vscale和GPIO,其中GPIO是控制上下游stream流控设备复位用,暂时忽略。hscale和vscale的寄存器空间如下,主要关注图

2021-04-16 19:34:16 2160 10

原创 microblaze之Video Pattern Generator调试误区

内容:在使用xilinx自带的PatternGenerator的时候,出现了一些莫名的问题,现在做一个总结,如下:1,首先简单搭一个系统,由于原始的BLOCK图的连线过于复杂,于是简化处理;2,其中VTC和TPG分别可以工作在free run模式和pass thru模式,这些可以通过寄存器配置。对于TPG来说,如果工作在free run模式,那么XV_tpg_Set_enableInput(&tpg, 0x00)一定要写0,就是禁止输入的流,否则会影响后端的码流速率。3,如果工.

2021-04-09 18:03:44 1548

原创 microblaze之AXI4-Stream to Video Out图像输出调试

目的:xilinx系列图像处理的IP大多是采用的AXI4-Stream流形式的接口,为了发挥这种优势,需要对它的应用做必要的认识。1,查看数据手册看到这个IP应该按如下方式搭建,于是依葫芦画瓢创建系统。2,在调试完VTC模块之后,就开始调试stream out模块,我采用了MASTER模式,配置如下:3,下载程序之后,在电视机上看视频内容还是黑屏,同时用示波器看LOCK信号还是低电平。于是认为需要监控一下stream流信号,于是如下:4,从信号中只能看到有东西,但是无法知道传

2021-04-07 16:53:51 2186

原创 microblaze之串口打印和LED显示

现在早已忘记怎么使用microblaze来做系统设计,但是xilinx的很多方案要么基于zynq要么基于软核,面对这种困境,为了不让自己局限于逻辑开发的层次,于是从头跑一回软核吧。总的来说就是先在vivado里面搭建CPU硬件,然后导出设计到SDK去进行C代码编译。最后下载到板上进行验证。1,首先建立一个rtl工程,然后create BlockDesign文件,选择添加IP,我自己调用了microblaze和axi_gpio,axi_uartlite这三个IP,如下:2,这...

2021-03-24 14:42:13 1063

原创 ISERDESE3和OSERDESE3的仿真分析

1,这是xilinx的器件内部的解串和串行的元件,首先看官方文档的描述:2,在8bit模式下面,猜想模型的信号输出情况,看一下到底是符合解串,于是例化iserdes3模块,并且自行使用逻辑模拟,如下:其中rx_clk的频率是clkdiv的频率4倍,刚好匹配8个bit位宽,可以知道每个字节的输出都是在clkdiv的上升沿之后,数据解串的低位在前高位在后,对比发现和xilinx自身的数据一致,仿真的结果如下:3,接下来猜测4bit位宽情况,clkdiv的频率应当是rx_clk的四分之

2020-05-26 15:36:59 5343 4

原创 绘制FPGA原理图封装

一般来讲FPGA的引脚数目非常多,如果原厂没有提供元件库,那么自己也可以快速绘制。方法如下:第一步,在官网上下载对应的pinout_list文档,类似于这种。第二步,对这个表格稍作修改,好让跟ORCAD的风格匹配。需要注意的是把BANK这一列改为SECTION,按照习惯依次编为ABCD等等,引脚位置可以上下左右摆放,我习惯左右方式。另外如果引脚名称又长又短,可以在第一个名称后面补上一些横杆,也不影响理解,否则左右引脚会粘在一起。第三步,打开ORCAD建立PART封装,选择from spr

2020-05-14 09:18:11 6182 4

原创 Matlab编程学习记录

2020年的五一假期只能宅在家里,无所事事看看代码。在这里做一个记录,免的忘记了。matlab作为界面编程的工具十分简单,而且也超级实用。快速的方法是用GUIDE或者APP Design来做,至于拖动几个按键加几个坐标,则没有必要写下来。主要的是要理解编程的框架,理解一些常用的函数,那么才能做出有个性的软件。 从编程框架上来说,非常类似于MFC的编程,各种窗体和对象都是基于类来实现,每一个对...

2020-05-05 15:13:37 277

原创 从视觉响应到色品图

lamda=380:780;vs=1.019*exp(-0.2854*0.001*(lamda-555).^2);%507plot(lamda,vs);人眼对色彩的感知通过视锥(Cone)细胞完成. 人眼中包含大概6到7M个视锥细胞.有三类视锥细胞, 分别对应三种不同颜色的感应:65%65%, red 33%33%, green 2%2%, blue. 虽然数量最少, 但却...

2020-04-25 17:39:48 912 4

原创 动态电路分析方法对比

1,电路如下,直流5伏特,电容和电感初始为0,simulink仿真的结果如下:2,列出电路的微分方程:先求方程的通解,令,则所以,代入RLC数值可得所以,,根据解的叠加原理可以知道很容易知道方程的特解为所以微分方程的全部解为因为初始时刻电容电压为0,即是,所以同时初始回路电流也为0,所以所以所以因此电容电压为3,使用matlab绘...

2020-04-05 11:09:40 461

原创 二阶电路分析

1,电路由电感和电容串联,无信号源输入,电容初始电压为1V,电感初始电流为0。可以看到电压和电流的相位相差90度,起初电容开始放电,正电荷由正极板流向负极板,从图可以看出电流的方向与参考顺时针相反(电流表的接法正端口输入,副端口输出),于是电感不断被充电,直到为负向最大,此时电容两端0,然后电感给电容负极充电,直到电流为0,此时电容端电压为负1伏。照此规律形成等幅振荡,周期为。2,如果电容...

2020-03-29 18:24:20 2759

原创 一阶电路分析

1,先来感性认识一下指数衰减函数的图像,下图分别为1倍时间常数和4倍时间常数的波形图。其中K和时间常数归一化为1.2,电容充电电路仿真,如下图R=1000欧姆,C=1uF,时间常数为1ms,直流电源为5V,仿真电路如下:仿真结果如下,需要注意把电路初始状态设置为0,如下:3,列写电路的微分方程,解方程可以得到。4,电感充电电路仿真,如下图R=1欧姆,L=1mH,...

2020-03-29 11:49:27 2318

原创 向量的矢量积计算

如果已知向量和向量,以及他们之间的夹角,那么按照定义它们之间的矢量积数值大小为:,其方向根据右手定则指向屏幕的内部。这个结果的数值大小等于平行四边形的面积,理由如下:如果已知向量a和向量b的坐标分别为和,那结果如下:另一方面从作图法研究一遍,看看怎么直接求平行四边形的面积:将红色区域用蓝色替换继续将红色区域用蓝色替换继续将红...

2020-01-04 16:30:51 6735 1

SPDIF文档标准

比较全面的SPDIF资料,包含7个part

2014-12-12

FPGA 原理图 FPGA 原理图

fpga原理图fpga原理图fpga原理图fpga原理图fpga原理图fpga原理图fpga原理图fpga原理图fpga原理图fpga原理图

2010-11-28

fpag-cpld学习

我经常用的fpag教程,大家都可以看,非常好的。我经常用的fpag教程,大家都可以看,非常好的。

2010-08-23

空空如也

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

TA关注的人

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