- 博客(28)
- 收藏
- 关注
原创 2开关电源中,为什么电感会发生饱和
那么在开关电源工作的时候,匝数横截面积,等效磁路,这些东西除非有人砍它一下,不然大概率不会变。但是μ值会随着电感峰值电流的变化而变化。磁感应强度跟磁芯本身有关,它一开始会随着H的增加呈现斜率增长,但是到达一个点后,它会饱和,突然随着H的增大而下降。意思就是电感量等于真空磁导率与匝数平方和横截面积的的乘积与等效磁路的比值。H是啥呢,是磁场强度,这个东西可以一直增长。自己学习的空余记下笔记,长话短说。1.已知L = μN^2S/l。B又是啥呢,是磁感应强度。那么μ值可以想到就变小了。2.又已知μ = B/H。
2023-07-12 22:13:10
381
原创 开关电源的一点碎片记录——1尖峰问题
这是我之前在工作中遇到的问题,之前做开关电源,有点凭印象了,认为电压尖峰的产生是因为电流过冲,如图绿色为变压器的电压波形,紫色为电流波形,今天依靠公式来记录一下。但是影响开关电源效率的一大因素就是交叉损耗,既不能过快,也不能过慢。在硬件方面,造成电流的变化率过快的原因是因为mos管开关速度过快。当电流的变化率过剧时,就会产生高额电压。可以说开关电源是平衡的艺术了。
2023-06-14 14:35:08
772
原创 1.奇奇怪怪的CLA
以下是CLA的官方部分配置代码,这一切都很普通,也很正常,但是让鄙人调试难受的一点是,此&claTask1中断函数赋值的时候,只有EALLOW,但是没有EDIS,只要加了EDIS就不行。dsp的学习历程远比我的单片机学习例程痛苦。今天说下CLA配置的问题。
2023-06-03 14:55:29
702
原创 关于CCS仿真Graph的一些问题
之前在做pwm控制的时候,我在epwm中断里,添加了一个数组,里面放置采样到的输入三相电压数据,然后在多次仿真调试中,我发现graph里的三相电压波形不正确,有断与缺,在同事告知下,才知道原因。2.我的epwm频率为18k,那么必须采样深度(数组深度)为18k的倍数,例如我设置数组深度为360后,graph观察到的问题就消失了(之前是500)。1.graph的显示在我只管看来是连续的,但实际上是把采样深度的数组直接一整个搬进来。
2023-05-05 10:35:54
1265
4
原创 敏源M117 IIC CRC校验程序(X8+X5+X4+1)
/****************************************************************************** * Name: CRC-8/MINGYUAN x8+x5+x4+1 * Poly: 0x31 * Init: 0xFF * Refin: False * Refout: False * Xorout: 0x00 ****************************************
2022-06-20 20:13:55
790
原创 在中断里使用HAL_IWDG_Refresh()函数,可能造成硬件错误
具体原因无法深究,个人能力有限。解决方法是把喂狗的操作,加个定时器标志位,放在while里执行。切记不要再中断回调函数里面跑中断
2022-04-14 14:50:09
795
1
原创 关于轩微电子ADS1256+stm32f103开发板的一点使用小tip
已经解决的问题1.官方给的程序spi速率设置的很高,其实对于ads1256,应该设置低一点,不过无所谓啦,倒是2.ads1256的寄存器写入模式,还是应该使用连续写入,单次写入的时候,确确实实会出现pga寄存器无法设置成功的情况。未解决的问题1.基准芯片上电有漂移,目前还没分析出来原因...
2021-11-17 08:50:59
1305
原创 CCS报错 gmake: Target ‘all‘ not remade because of errors.
刚入坑dsp,相关的资料比起stm32少的不是一点半点。如上的错误经常碰到,一直不明所以。这次发现了问题所在,特地来总结一下。此问题为路径问题,调用的函数不在你的工程目录下导致的.将文件添加到你的目录下即可。同时要养成习惯,debug完了后,查看错误提示到多看这个窗口这里面是有提示错误的...
2021-08-17 14:50:14
17017
7
原创 CCS软件报错“unresolved symbol remain”
试了网上的好多办法,都没用用,还有很多说没有配置GEL文件的,最后也没搞懂GEL是什么,不过最后问题还是解决了。解决办法:将图中的宏定义改为1,问题得以解决。记得重新编译的时候保存头文件,ccs比较恼火的是,你修改文件后编译,文件不会自动保存的。...
2021-07-29 09:01:34
10698
原创 采用串口读取电流计模块的方案
1.接收函数原型HAL_UART_Receive_DMA(&UART1_Handler,rx_buff,37)2.发送函数原型HAL_UART_Transmit(&UART1_Handler,tx_buff,8,50)代码逻辑上先初始化接收DMA,然后调用发送函数。DMA配置用stmcubemx来配置,不要遗漏以下代码void DMA2_Stream2_IRQHandler(void){ HAL_DMA_IRQHandler(&hdma_...
2021-07-19 19:29:32
323
原创 stm32F7 spi+dma同时收发
首先还是提醒在使用dma后,应当关闭spi中断使能。之前应用过spi的dma接收和发送,但是在特定情况下想要做同时收发,得换一个函数原型:HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)目前研究的不是很深,只是用了这个函数解决了我工程实际问题,关于入口参数size,由于我收发数据包长度不一样,采用较长的包长度填入size中,没有出现问.
2021-04-09 15:10:40
1845
2
原创 filezilla无法启动传输及严重文件传输错误
1.ubuntu下文件权限不够,直接将ubuntu下文件调整为可写入或者权限改为777,直接在filezilla工具里改文件属性是不行的,必须在ubuntu里用chmod2.文件已经删除或正在使用
2021-04-06 09:15:16
2973
原创 视频编解码器使用pptp模式的vpn通过公网传输的方案
一:概况:传输模式:PPTP VPN使用的设备:华为cpe 5g路由器,tplink路由器(TL-R473G),视频编码器,视频解码器,相机。连接方式:相机视频源接入视频编码器 视频编码器经过网线将视频发送到华为cpe 华为cpe经过公网,通过vpn发送数据到tplink路由器 tplink路由器将数据通过网线发送至视频解码器 视频解码器可以正常传...
2021-04-02 15:22:46
591
原创 将一个浮点数,拆分成两个整数表示
在做串口收发的时候出现的一个问题,废了一些功夫,借鉴了一些代码。解决方案如下:#include "stdio.h"float shift_coefficient = 10.2;static int modff(const char* value, int* iptr){ int fractional; sscanf(value, "%d.%d", &fractional, iptr); return fractional;}int main(){ int
2021-04-02 15:17:34
1339
原创 学习笔记:如何将已经初始化的DMA完全消除已经初始化以及传输的内容(2)
在(1)中我提到调用HAL_SPI_DeInit可以完全消除DMA和SPI的初始化内对于结构体的赋值,之后再调用HAL_SPI_Init()就可以开启新一轮的传输。一开始确实可以,但后来出了问题。出现error的代码为:HAL_SPI_Init()下的HAL_SPI_MspInit()下的HAL_DMA_Init()出了error该函数原型为:HAL_StatusTypeDef ...
2019-12-10 09:04:37
947
原创 学习笔记:如何将已经初始化的HAL_SPI_Receive_DMA改变其函数入口参数(1)
我在工作中碰到了这个问题:我初始化了一个SPI+DMA的接收函数,我看到函数内部就是一个初始化过程。HAL_SPI_Receive_DMA(&hspi1, Spi_Buff, size)当函数完成调用后,DMA就一直准备接收了。想问在这过程之后,数据到来之前,我还有办法修改size参数,或者彻底清除本次接收吗我试过将spi1复位,都不能把size变量清掉我试了如下办法:...
2019-12-04 14:14:44
4402
原创 关于SPI的HAl库函数为什么入口参数位 uint8_t *TxData,但是却可以传递16bit的参数
uint8_t 指的是指针,而不是变量本身数据寄存器本身是16bit的没有问题
2019-12-02 18:04:08
1655
原创 计算一个数组中三个最小值的算法
void Sort_incream(uint16_t Arr[DEALY_RANGE] ){ uint16_t i, j, temp, isSorted; for(i=0; i<(DEALY_RANGE)-1; i++){ isSorted = 1; for(j=0; j<(DEALY_RANGE)-1-i; j++){...
2019-12-01 14:23:56
1206
原创 IIC地址的移位
从工作以来一直在调芯片。使用IIC协议配置过LT8619C,LT8618,ADV7619这些芯片,他们的IIC通信地址和芯片手册上一致,读写均正常。最近在调一块特别的IIC芯片,LMH1983。它的IIC地址经过实验,才发现需要对IIC地址向左移位一位,个人理解的是需要流出一位表示读写状态。首先I2C的从机地址时MSB先发送的,所以需要左对齐,其次I2C时序中第8位即LSB使其R/W即读写控制...
2019-11-14 20:49:18
2149
1
原创 SPI发送函数
uint8_t SPI4_ReadWriteByte(uint8_t TxData,uint8_t reg){ uint8_t Rxdata; uint8_t get_error; Write_Data[0] = 0x01; Write_Data[1] = reg; Write_Data[2]...
2019-11-13 19:25:39
1451
原创 关于sizeof踩过的一个小坑
在DEV C++中写了一个例程,来表示我在项目中遇到的问题#include <stdio.h> char diff[19] = {0};int main(){ printf("%d\r\n",sizeof(diff)); }我习惯性的认为对数组diff[19]使用sizeof,得到的是20,但是经过验证,应当为19,以后注意。...
2019-10-05 16:21:58
215
原创 SN软件在windows环境下的使用流程
(一)基于华硕主板的H.264解码盒。1.初始化配置。IP:192.168.3.101(data口) 192.168.4.100(control口)编码盒存在无法使用的问题。问题经过寻找为网口的配置有问题。以下为操作流程。(1)登入ubuntu界面。 user name:sn password:snsecure12(2)进入配置文...
2019-10-05 16:21:33
817
原创 应用汉明称重法计算一个32位数中有多少个1
int count_one(int x){ x = (x & (0x55555555)) + ((x >> 1) & (0x55555555)); x = (x & (0x33333333)) + ((x >> 2) & (0x33333333)); x = (x & (0x0f0f0f0f)) + ((x &...
2019-08-22 15:46:46
261
原创 stm32 SPI的从机中断接收
先放上代码: hspi1.Instance = SPI1; hspi1.Init.Mode = SPI_MODE_SLAVE; hspi1.Init.Direction = SPI_DIRECTION_2LINES; hspi1.Init.DataSize = SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity = SPI...
2019-08-22 15:43:58
14712
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人