自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (11)
  • 收藏
  • 关注

原创 STM Studio使用记录

STM Studio使用记录

2023-02-28 16:48:55 327 1

原创 Mathtype使用记录

Mathtype使用记录

2023-02-28 16:43:17 213

原创 Simulink使用记录

Simulink使用记录

2023-02-28 16:38:58 213

原创 FPGA中en-rdy机制和req-ack机制的区别

FPGA中en-rdy机制和req-ack机制的区别

2022-11-26 21:48:42 504

原创 亿图图示使用方法记录

国产替代,准备用亿图图示替代visio。

2022-09-25 15:17:08 4074

原创 windows找不到麦克风的解决方法

windows找不到麦克风的解决方法

2022-07-16 22:50:35 6744

原创 加法器中的饱和处理

  对于LPM_ADD_SUB,我比较好奇的是cout和overflow是如何变化的。以4比特有符号加法器为例,数的范围是-8~7,那么cout和overflow的变化规律如下:加数+加数coutoverflow说明正+正00和≤701和>7正+负10正数绝对值≥负数绝对值,和≥000正数绝对值<负数绝对值,和<0负+负10和≥-811和<-8  为了做饱和处理,需要根据cout和ove

2022-03-28 10:20:40 836

原创 Modelsim编写并运行SystemVerilog程序

  点击File-New-Project,输入Project Name,选择Project Location,其他保持默认,点击OK。弹出Add items to the project窗口,选择Create New File,在新弹出的窗口中输入File Name,选择Add file as type为SystemVerilog,点击OK。点击Project选项卡中的.sv文件,开始写。  写完.sv文件,点击Compile-Compile All,如果编译成功,.sv文件的Status一栏变为绿色的勾

2022-02-17 19:00:37 1724

原创 CRC-16/MODBUS的高低位之说

  MODBUS的CRC校验过程为:  1.预置1个16位的寄存器为0xFFFF(即全为1),称此寄存器为CRC寄存器;  2.把第一个8位二进制数据(既通讯信息帧的第一个字节)与CRC寄存器的低8位相异或,把结果赋值给CRC寄存器;  3.把CRC寄存器的内容右移一位(朝低位)用0填补最高位,并检查右移后的移出位;  4.如果移出位为0:重复第3步(再次右移一位); 如果移出位为1:CRC寄存器与0xA001(1010 0000 0000 0001)进行异或,结果赋值给CRC寄存器;  5.重复

2021-08-26 15:16:01 6398 3

原创 远程桌面复制文件到本地,报错“未指定的错误”

  从远程桌面复制一个文件到本地C盘,报错“未指定的错误”,参考该博文后解决了。方法就是在连接远程桌面时,在设置中勾选“端口”、“驱动器”和“其他支持的即插即用(PnP)设备”。这样的话就可以在远程桌面的文件资源管理器中看到本地的硬盘和U盘,在远程桌面中进行复制就不会报错了。...

2021-07-31 10:41:55 14547

原创 使用Sublime开发Verilog

  Sublime开发Verilog的优势在此就不赘述了,网上有很多讲解。  个人不建议在Sublime的Package Control中直接安装名为“Verilog"的插件,原因是找不到这个插件相关的模板文件,也就无法修改(比如always块的模板,用Everything搜索“always”后没有相关结果)。直接从Github上下载压缩包,然后放在C:\Users\Shaun\AppData\Roaming\Sublime Text 3\Packages\User路径下,解压即可。下面是解压后可以看到.

2021-07-27 19:36:56 3955 2

原创 Verilog实现UART接收时采用打拍检测RX脚下降沿导致连续接收字节出错

  代码如下:  发送模块uart_wr:module UART_WR( input clk, input rst_n, input wr_en, input[7:0] data_wr, output reg uart_tx, output reg rdy);parameter CLK_FREQ = 32'd50_000_000; // 输入时钟为50MHzparameter BAUDRATE = 32'd115200; // 波特率为1152

2021-07-23 15:46:06 343

原创 两种schematic symbol

  安装TINA时看到下图。schematic symbol分为US和European两种。

2021-06-28 14:39:28 517

原创 TINA导入器件

  第一个方法是从器件官网(比如TI、ADI等)下载器件的PSpice文件,然后进入TINA,新建宏(Macro),将PSpice文件(比如lib文件,cir文件等)转化为tsm文件,保存。接着在TINA工具栏中选择“Insert-Macro”插入器件。  第二个方法是从TI官网直接下载器件的TINA模型,存放到相应的文件夹,在TINA中插入。  总而言之,最后要有一个tsm文件。参考链接:[1].关于TINA仿真软件的模型库的添加[2]TINA导入SPICE模型[3]TINA-TI 仿真软件导

2021-06-28 14:11:24 6540

原创 看懂Quartus的RTL视图

  实现一个LED流水灯,切换周期为1s。代码如下:module led( input clk_50m, input rst_n, output[3:0] led);localparam TOTAL_TICK = 27'd50000000; // 1sreg[3:0] led_r;reg[26:0] cnt;assign led = led_r;// 写法一//always @(posedge clk_50m or negedge rst_n) begin// if(!r

2021-06-26 16:50:59 8639 2

原创 进制、字节、字符、字符串

  涉及通讯,比如UART,socket时,总是会接触到这四个概念。编程时经常在这上面出现BUG。现在整理归纳一下。  首先是进制。一个数可以有不同的进制表示,常用的有二进制、十进制和十六进制。只要是数,就可以进行加减乘除、与或非和移位。进行加减乘除时,我们习惯用十进制来表示和计算;进行与或非和移位时我们更习惯用二进制来表示和计算。  然后是字节。字节是计量单位,比如一个数是两个字节表示,那么意味这个数的范围可以是0-(216-1)或者-28-(28-1)。知道了字节,就知道数的范围。这就是字节提供的信

2021-06-07 14:31:07 327

原创 Quartus/Modelsim使用记录

1.Modelsim找不到文件  Modelsim仿真时报错找不到文件:  文件层级如下:  这个文件是在顶层文件CNN.v中读取的:  最后的解决方法就是把两个仿真需要用到的文件放在Modelsim仿真时生成的simulation文件夹里。  附工程代码链接。...

2021-05-23 23:09:08 2833

原创 BufferedReader的read方法有个Bug

源文件  源文件有两个,分别为Main.java和ThreadHandler.java。  Main.java如下:import com.sun.org.apache.xerces.internal.util.SynchronizedSymbolTable;import java.io.*;import java.net.ServerSocket;import java.net.Socket;import java.net.UnknownHostException;import java.

2021-04-15 20:05:44 521

原创 Git使用记录

查看Git当前版本号git --version基本流程在想要进行版本控制的文件夹里git init然后查看当前文件夹的文件状态git status接着把所有文件添加git add .再接着添加注释信息git commit最后push到远端服务器git push origin master............

2021-04-12 23:13:39 50

原创 ASCII码中的控制字符

键盘上所有的键(包括组合键)都有自己的扫描码和ASCII码,这些扫描码和ASCII码是由键盘中断(int 16h)定义的。  ASCII表格中Ctrl+A到Ctrl+Z分别对应0x01到0x1a,即1到26。回车对应的是13,也是Ctrl+M,所以在字符输入终端按回车键鹤按Ctrl+M效果一致。Ctrl+[ 对应27,Ctrl+\ 对应28,Ctrl+] 对应29,Ctrl+^ 对应30。  Ctrl+字母对应的ASCII码=字母的ASCII码 & 0x1F。  Delete键对应的ASC.

2021-04-06 21:08:37 2625

原创 电荷是一种物质?

我理解的电荷不是物质,而是物质的性质。物质带电荷,就像人有思想一样,都属于物质的性质。不过为了方便描述,可以把电荷当作物质,这时的电荷指的是带电粒子。

2021-03-30 11:02:05 579

原创 大小和方向?

矢量有大小和方向之分,而二者不是毫无联系的,当大小由正变负时,可以认为大小不变,方向反向。信号也是。信号有幅值和相位之分。当幅值由正变负时,可以认为幅值不变,相位增加了180°。...

2021-03-30 10:58:12 223 1

原创 saber 暂未解决的问题

双击一个电阻,出现了如图的错误,百度没有任何关于这个错误的搜索结果。

2021-03-24 21:31:04 121

原创 四种地符号

  上述四个地符号取自Saber仿真软件。  第一个地称为earth ground,顾名思义,表示物理上通过一个低电阻的导体接入大地。这种符号会出现在,比如墙体上三孔插座中的接地口。  第二个地称为chassis ground,它表示金属外壳/机壳是系统中信号和信号的公共连接点。处于安全考虑,chassis ground通常要连接earth ground,特殊情况不需要,比如天上飞的飞机。  第三和第四个地都属于signal ground,分别为analog signal ground和digita.

2021-03-24 16:25:58 4388

原创 Saber cannot find nonlinear system solution 的解决方法

不明原因的问题。可以尝试修改下面三个参数进行尝试:1.Time Domain Transient Analysis - Algorithm Selection:默认的Target Iteration值为3,改大一试,如5或者6;2.Time Domain Transient Analysis - Algorithm Selection:默认的Max Newton Iterations为100,改大一试,如200。3.Basic:尽可能改小Time Step。开关电源新手,在使用Saber的过程中经常

2021-03-24 15:48:25 2076

原创 变压器的匝间绝缘和层间绝缘

  变压器的工作原理取决于匝数比。匝与匝之间短路会改变匝数比,导致变压器工作异常,所以需要匝间绝缘。如果原/副边存在多层,层与层之间短路也会改变匝数比,而且改变比匝间短路更大,所以需要层间绝缘。  下面这段话取自百度百科:现代低压电器的电磁线圈,只要选择质量稳定的高强度漆包线,并且在线圈绕制工艺中严格地控制好线匝排列的均匀度,控制好电磁线本身绝缘层的针孔度、弹性、击穿电压和软化击穿等性能指标,一般靠漆包线的绝缘层即可满足层间绝缘的要求,没必要另加层间绝缘衬垫。但因层间有一定的电压梯度,同时考虑到线圈在

2021-03-22 13:07:14 3478

原创 对BJT工作原理的理解

可以认为,对于一个PN结来说,存在两种力,一种是浓度差产生的力,一种是空间电场的力(热运动产生的力在分析中不占主导作用,所以暂时忽略)。在稳定状态下,这两种力达到了平衡。此时PN结的表现就是扩散运动被阻止,同时空间电荷区达到某个稳定的厚度。现在拿一个NPN型的BJT,给一个大于开启电压的VBE,让发射结正偏。那么发射结的平衡被打破,具体表现为发射结的空间电荷区厚度减小,空间电场的力减少,于是扩散运动恢复,发射区的自由电子扩散到基区。可以认为,在某个VBE值下,这些扩散的自由电子的数目/量是固定的。而且在一

2021-03-21 21:09:14 3600

原创 Saber仿真软件no active design解决方法

在Saber Sketch中新建原理图,绘制后进行DC Operating Point…即直流工作点分析,报错no active design。解决方法是点击最上方工具栏Design-Use,然后勾选当前的原理图即可。

2021-03-08 21:56:55 2266

原创 Saber仿真软件许可证过期的解决方法

把EFA LicLen 0.4b\packs中的Synopsys.dat文件中的年份,比如2020,改为自己想要的年份,比如2050,然后按照破解步骤重新破解一遍即可。注意重新破解的过程中,需要修改KeyGen.exe中的EXPIRE框为自己想要的年份,如果HOSTID中出现了多串字符串,说明没有禁用网络适配器。...

2021-03-08 20:37:41 4930 2

原创 关于电感的理解

电感电流能否突变  流经电感的电流能否突变?突变的含义就是在无穷小的时间内完成变化。反激电源的开关管从导通切换为关断时,原边的电流迅速降为0,这与我原本的认识——流经电感的电流不能突变——相悖。如果流经电感的电流不可以突变,那么怎么理解反激电源原边电流的变化呢?大部分帖子都持“电容两端电压和流经电感的电流不能突变”的观点,有一个解释是能量不能突变,即能量的变化率,也就是功率不能无穷大。似乎也有道理。但也有反例,比如一个由电压源,电感和机械开关构成的电路,闭合开关对电感进行充电,然后突然断开开关,那么电路中

2021-02-26 11:15:48 3851

原创 SG3525的使用

1 引脚说明2 应用3 疑惑参考链接

2021-01-31 14:37:49 23676 2

原创 IDEA生成可运行Jar包并部署到服务器

IDEA生成可运行Jar包  按照下示步骤,生成可运行Jar包。  等待Build完成后,进入工程文件夹内找到生成的Jar包,路径如下图所示。在服务器上部署Jar包

2021-01-27 13:28:37 552

原创 Push-Pull电路和Totem Pole电路的区别

  现在有两个说法,一是说这两者是同一个东西,二是这两者很像,但有区别。我看了一些帖子和博客,谷歌搜索词条“push pull totem pole”,目前偏向于第一种说法,主要原因是Cadence的技术文章和TI的视频都将Push-Pull和Totem Pole放在一起叫做Push-Pull Totem Pole xxx。参考链接1.百度百科-推挽输出2.图腾和推挽的区别3.图腾柱驱动的作用与原理分析4.Power Electronics - The Totem Pole Circuit and

2020-12-15 22:41:41 2825

原创 程序鲁棒性问题

编程的时候,任何可能会出错的操作,都要try…catch…一下,比如往串口写数据。

2020-12-13 22:49:47 390

原创 LCD和OLED的区别

  今天同师兄聊到显示屏功耗问题,于是简单了解了LCD和OLED屏幕的区别,如下:  LCD(Liquid Crystal lighting):有背光层,通过控制电压(产生不同电场)来改变液晶的光学特性(如透光度等),从而进行显示。即使是显示黑色,背光层也依旧亮着,故能耗高。LCD是无机材料。  OLED(Organic Light Emitting Diode):不需要背光层,每个像素各自发光。如果要显示黑色,就让所有像素都不发光。因此相较LCD,OLED更省电。OLED是有机材料,寿命比LCD短。

2020-12-11 20:52:14 2979

原创 C语言预处理指令#error

  在FreeRTOS的FreeRTOS.h文件中看到一句代码#ifndef configMINIMAL_STACK_SIZE #error Missing definition: configMINIMAL_STACK_SIZE must be defined in FreeRTOSConfig.h. configMINIMAL_STACK_SIZE defines the size (in words) of the stack allocated to the idle task. R

2020-11-02 11:35:42 705

原创 FreeRTOS卡在SVC_Handler

  FreeRTOS已经实现了SVC_Handler()和PendSV_Handler()两个函数的功能,对应port.c中的vPortSVCHandler()和xPortPendSVHandler()。为了使用FreeRTOS的这两个函数,先要把stm32f10x_it.c中的SVC_Handler()和PendSV_Handler()注释掉,然后在FreeRTOSConfig.h中定义#define xPortPendSVHandler PendSV_Handler#define vPortSV.

2020-11-02 11:25:16 3510

原创 C中声明和定义的区别

  对变量来说,声明(declaration)指向编译器说明变量的类型和名字;定义(definition)指向编译器说明变量的类型和名字的同时,为变量分配内存,可指定初值也可不指定。可以看出,定义包含于声明中,平常最常见的int var;就是一种声明,或者说未指定初值的定义。  两者的其他区别如下:  1. 变量只可以定义一次,但可以声明多次;  2. extern关键字修饰变量时,如果有初始化,则视为定义;否则视为声明;int var; // definitionextern int va

2020-11-01 16:30:09 794

原创 C中局部变量、全局变量和静态变量辨析

  根据局部和全局、静态和非静态,可以将变量分为4种:非静态局部变量、非静态全局变量、静态局部变量和静态全局变量,为方便起见,下称为局部变量、全局变量、静态局部变量和静态全局变量。  从作用域上:  1. 局部变量只在声明它的函数中可用;  2. 全局变量在声明它的源文件中可用,可通过extern关键字被其他源文件使用;  3. 静态局部变量只在声明它的函数中可用;  4. 静态全局变量只在声明它的源文件中可用,其他源文件不可用。  从存储域(生存周期)上:  1. 局部变量存储在栈区,函数返

2020-11-01 16:06:47 427

原创 Error: L6218E: Undefined symbol xTaskGetCurrentTaskHandle (referred from stream_buffer.o)

移植freertos到stm32,编译时报错:.\stm32_freertos.axf: Error: L6218E: Undefined symbol xTaskGetCurrentTaskHandle (referred from stream_buffer.o).解决方法是在官方提供的FreeRTOS.h文件中#ifndef INCLUDE_xTaskGetSchedulerState #define INCLUDE_xTaskGetSchedulerState 0#endif

2020-11-01 11:06:21 2921 3

win10下v2.9.1版本的wavedrom

win10下v2.9.1版本的wavedrom

2023-11-25

wavedrom v2.9.1

wavedrom v2.9.1

2023-11-25

FPGA时序绘制软件TimeGen

FPGA时序绘制软件TimeGen

2022-07-06

博文《加法器中的饱和处理》对应的Quartus工程文件

博文《加法器中的饱和处理》对应的Quartus工程文件

2022-03-28

FPGA实现三层CNN

文章地址:https://blog.csdn.net/muxi_huang/article/details/117202366,见第一点“Modelsim找不到文件”

2021-05-23

Inheritance.zip

博客链接:【https://editor.csdn.net/md/?articleId=106988778#317_MarginPadding_1112】,见第2.19节。

2020-08-13

跨线程操作实例-Invoke()

博文链接为https://blog.csdn.net/muxi_huang/article/details/106970269,见二更部分。

2020-07-15

Demo1-2-多个panel的显示问题

博文链接为https://blog.csdn.net/muxi_huang/article/details/106988778,见第24条。

2020-07-13

Demo1-多个panel的显示问题

博文链接为https://blog.csdn.net/muxi_huang/article/details/106988778,见第24条。

2020-07-13

正弦波波形数据(正弦波周期为2pi,采样点1024个)

博客链接:https://blog.csdn.net/muxi_huang/article/details/106019015

2020-05-09

uart_tx.zip

简单串口发送的三段式状态机实现【博文链接:https://blog.csdn.net/muxi_huang/article/details/105499382】

2020-04-13

wavedrom-editor-v2.3.2-win-x64.zip

学习FPGA的过程中发现了时序图绘制软件wavedrom,但是进入官网下载页时一直加载不出来,尝试了好多遍之后才龟速下载下来。不知道有没有人遇到相同的情况。这是软件安装包,版本见名称,需要者自取。

2020-03-13

pca9685.zip

该工程的开发环境为stm32vet6,pca9685和sg90舵机。具体使用请参考Doc文件夹中的readme.txt。

2019-07-14

空空如也

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

TA关注的人

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