- 博客(23)
- 收藏
- 关注
原创 ·DCDC电源模块学习
DCDC(开关电源)是指将直流输入的电压变换成另一等级的直流输出电压的装置。开关电源MOS管不断地开关,导致纹波比较大。LDO三极管工作在放大区,纹波小,但是损耗大。
2025-04-07 16:49:47
322
原创 SI9000阻抗计算学习记录
1.RF 高速USB HDMI DDR pxie等2.Td>Tr/6 信号点到点传输时间大于信号上升时间/6,分析时先看信号上升时间 一般是%10-%90为Tr,Td=Tr/6,用这个Td和6in/ns的一般信号传输速度大概估算一下临界走线长度,如果走线长度大于这个临界走线长度就要做阻抗设计。
2024-10-26 17:11:05
510
2
原创 LDO和开关电源(DCDC)
本次设计矩阵开关12v-5v并且电流较大,对纹波不是很敏感,选择DCDC。DCDC开关占空比调节电压,效率高,纹波大,布线复杂一些。Ldo可调分压电阻调节电压,效率低,易发热,但是纹波小。
2024-10-11 18:14:01
203
原创 SPI驱动
设置软件片选信号引脚PA6 PA3(设置俩因为本项目有俩需要驱动的芯片 并且通用一个数据就行)由max4820时序图 sclk空闲状态低电平 sclk上升沿数据有效 因此spi模式应该是0。不需要接收数据 时序图如下scl空闲状态低电平 sclk上升沿数据有效 不需要独写信号发送。HARDWARE中建立max4820.c和max4820.h。不适用硬件片选 这样多个从机的时候可以自己设定片选引脚。在工程文件中建立HARDWARE。添加include 编译。编写串口中断函数用于调试。cubemx配置参数。
2024-09-18 21:46:47
204
原创 zynq学习笔记3,fpga开发流程(基于vivado) testbench
仿真中有两个比较典型的 一个是Run Behavioral Simulation另一个是Run Post-implementation Timing Simulation,前一个是行为仿真,不存在时序前后的问题,后一个可以查看时序的先后(如输出信号和激励信号之间有延时),有时还会出现竞争关系产生的毛刺。写好源文件后 编写测试文件,测试文件的功能是给设计好的模块,施加激励,使之有输出,然后查看输入输出是否符合设计要求。1).时序仿真,布线后可进行时序仿真,看输入输出的延迟能不能达到要求,非常耗时。
2024-04-20 17:15:23
725
原创 开漏输出上拉电阻取值
而开漏模式,mos打开输出低电平,mos关闭输出是浮空,因此需要一个上拉电阻来确定输出的电位,而当mos关闭时,输入电流很小,上拉电阻电流很小,因此基本不分压,也就把输出电压控制在VCC。因此推荐取值是无脑10K,但最好的解决办法是上示波器看波形有无问题,若有失真,看情况调节(小)上拉电阻。但是上拉电阻也不是越大越好,上拉电阻大,寄生电容充电慢,驱动能力不好,高速iic通信,波形会出现失真。假如说上拉电阻1k 那么在vcc=5v的情况下漏电流就有5mA,可能会导致芯片发热。1.上拉电阻的使用场景。
2024-04-13 10:52:01
1269
原创 STM32定时器中断
之前第一种方案贼简单,就是在外部中断callback里写个这个//// // 按照配置的间隔等待//// // 触发GPIOB脉冲然后参数是EXTERN声明的,定义在usart.c里边间隔是A的下降沿和B的上升沿的间隔,这个代码问题是A总是在B脉冲前边,没法实现这样的效果。之后考虑写两个GPIO高低电平的函数,高电平在函数中,void pulseB(uint32_t nms) //A产生脉冲// 重新初始化定时器4的周期// 初始设置高电平。
2024-04-12 19:01:12
993
原创 AD20自制原理图库封装库
添加焊盘 按照器件原理图尺寸添加相应的焊盘 ctrl+shift+g设置格栅 挺好用的。起好名字然后把刚才保存的ocb添加进去就好了 注意查看一下引脚映射确认没问题。这两个位置都可以 点击添加footprint。首先建立一个文件夹用来存放原理图库和pcb库。以上步骤还可以用向导法 简便一些。左上角 文件 新建 库 原理图库。之后左上角文件 创建pcb元件库。可以添加一些必要的丝印。
2024-03-27 14:44:05
1072
1
原创 AD20入门
先添加基本库 比如0603电阻电容 插座 之后在立创或者淘宝商家上找到自己项目所需特殊元件的原理图导出为封装库。右键项目,添加新的原理图和pcb。文件 new 项目 项目名。
2024-03-27 12:32:31
442
1
原创 zynq学习2 verilog基础
2.1仿真工具:modelsim questsim vivado自带的仿真工具,一般来说用户激励如ab都是用reg型,模块内部连线以及out(c)用wire型。2.2 在fpga开发中每一个.v文件都是一个模块 模块由module-----endmodule来声明,在这两个关键字内部完成功能的实现。在sublime(外置编辑器)中插入verilog gadget插件用于生成testbench(用于仿真的文件)代码。仿真文件和源文件有区别,仿真文件是不可以综合的。创建源文件,添加代码(与门)
2024-03-26 17:10:45
254
原创 vivado设置sublime编辑器 并且解决每次开启vivado重新配置的问题
vivado使用过程中出现的一系列奇怪问题,感觉大部分都是电脑的某些用户文件是中文路径。。。
2024-03-23 20:55:22
1029
2
原创 zynq学习1 点灯
核心板50mhz频率,周期20ns,1s计数5000 0000次。实验需求 ZYNQXC7Z020核心板 LED1闪烁。计数器,计数到最大值,清零,LED1状态改变一次。等待综合完成(综合类似于编译?输入file name ok finish。左侧从上到下是FPGA开发流程。约束文件如何写 tool中有示例。之后创建约束文件 映射引脚。添加源文件(可综合文件)添加代码 LED1闪烁。
2024-03-22 15:47:12
352
1
原创 CUBEMX 配置USART
if(RXBuffer[USART_RX_LEN-1] == 0x0A && RXBuffer[USART_RX_LEN-2] == 0x0D )//判断结束位。4.最后一定要把RXBuffer清零,RX LEN重新置零,然后再一次开启接收中断,方便下一次接收。
2024-03-19 16:27:08
1512
1
原创 STM32 HAL IIC不好使debug时发现卡死在While(_HAL_I2C_ GET_FLAG(hi2c,Flagg == Status))
解决,iic通信线上的10k上拉电阻(SDA还是SCL忘记了应该是SCL)短路了,0603封装太小了 焊锡从电阻底下连上了 ,导致两个焊盘之间短路,SCL一直都是高电平拉不下来。用焊枪点一下就好了。STM32 HAL IIC不好使debug时发现卡死在While(_HAL_I2C_ GET_FLAG(hi2c,Flagg == Status)) 上示波器发现SDA下拉之后SCL没反应。这个HAL_GetTick()值也没变化。
2024-03-18 16:25:49
1247
原创 STLINK烧代码遇到 No Target Connect 或者 internal command error 或者Time out:reset the Traget and try it again
1:先上电 按住reset 在魔术棒debug里看能不能找到目标芯片,能找到的话,先点load,之后放开reset 多试几次。1.用软件STM32 ST-LINK Utility 这个软件不但可以解锁 还可以更新ST-LINK的驱动。No Target Connect 或者 internal command error 解决。2:按住reset再上电 点load后释放reset。3.Flymcu +Boot0置一的方法。4.J-link-unlock解锁。每个方法的具体细节在csdn搜索都有。
2024-03-18 16:12:33
1779
原创 STM32HAL TMP75驱动
这段代码 是四个tmp75做从机的代码 初始化也是四个tmp75一起 最后得到温度数据的函数 入口参数是tmp的地址 就是 引脚A2 A1 A0,比如说 A2 A1 A0(011)那么 写地址就是1001 0111 0x97。
2024-03-18 15:35:32
596
原创 STM32F103 HAL 字节读写eeprom
delay_us()很重要 要给iic操作的时间 AT24C02数据手册里边有 应该是5ms左右 本代码delay函数是自己用timer写的 做项目的时候遇到了一点问题 HAL_Delay()这个函数 用在串口中断还是iic中会卡死 具体是哪个记不太清楚了 有空解决一下。
2024-03-18 15:25:59
584
原创 STM32F407 HAL delay_us()
其中预分频系数这个参数 是APB1(timer6所在的时钟线的频率)-1。首先开启一个基本定时器或者通用定时器(timer6为例)
2024-03-18 15:10:01
521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人