- 博客(33)
- 问答 (1)
- 收藏
- 关注
原创 TMS320F280049C实现PMBus从机
这次使用的是TI的TMS320F280049C系列,以TI的TIDA-010062设计参考为基础,结合技术手册熟悉相关外设的配置后(最主要就是EPWM、ADC及CMPSS模块),也趁硬件PCB还没有完成,PFC+LLC还不能调试,就开始验证PMBus这一块。实际调试我使用TOOMOSS的USB转I2C设备,故意使用错误的数据长度,不按PMBus规范发送数据,确实会产生这种错误,即使没有产生错误,或者通过I2C主机也可以解决I2C死锁问题,但是为了程序的健壮和可靠,也需要做一些预防措施确保总线的稳定。
2025-04-08 15:33:13
970
原创 Microchip AN1477中关于LLC数字补偿器的疑问
最近在学习Microchip的AN1477关于LLC的功率级传递函数推导及数字补偿器设计,对其中的2P2Z数字补偿器的系数有一些困惑。现在把相关有疑问的地方列举出来,也有可能我的理解有错误,到时需要和Microchip的技术支持进行沟通。根据系统从功率级传递函数中获取的主极点信息,两个补偿器零点分别是:ωz1 = -2.050968836111013e+04 + 1.931546679434790e+04i,功率极的零极点分布和补偿器的零极点分别在文档的第21页和第24页。
2025-03-20 10:28:38
316
原创 ATmega48 Fast PWM配置
这两个寄存器的定义如下图所示,是用来配置计数和定时的,如果是PWM,则是设置周期,我们根据前面设置的时钟分频是1,系统时钟是11.0592MHz,TCNT1H和TCNT1L合并后的值是0xEA84=60036,则计数值65535-60036=5499后溢出,由此可以计算定时/PWM周期:5499/11059200=0.000497s,换算成频率1/0.000497=2.01K,基本和源程序注释的频率一致。如果设置为000就是定时器/计数器停止工作,初始化时一般会先这样设置。
2024-12-11 11:17:39
678
原创 PFC电路相关传递函数及环路补偿的理解
这段时间一直在学习PFC的数字实现,由于是初学,又没有人指导,感觉无从下手,特别是那些传递函数是怎么来的我一直没有搞清楚,零零散散在网上找了很多资料,经过反复学习终于有了点柳暗花明又一村的感觉,把这一点点收获记录下来以供日后自己复习,也让有需要的朋友少走些弯路。以上这些只是在理论方面的理解,实际操作预计肯定还有很多问题,但只要愿意学习没有解决不了的问题。PI控制器的形式如下图所示,我们上面求出的Gca实际相当于PI控制中的P值,即Kp。或者将原来的传递函数中分母2去掉也是一样的,这样就可以理解了。
2024-11-27 16:57:53
2008
原创 STM32快速复制MX25L1606E系列Flash
生产部门表达了不满,我本想给他们解释原因,但后来想与其和一些不懂技术的人瞎争论、浪费时间,还不如想点实际的办法。2、擦除MX25L1606E上的相关块和扇区,比如:本程序一个扇区用于保存事先计算好的校验和及总的升级包长度,一个块用于存储实际的新的升级固件,一个块用于保存旧的在ROM中运行的程序。3、根据客户软件协议要求,RS485通信需要将一个字节拆分成两个字节进行传输,例如:如果要发送0xAB,则会拆分成0x3A和0x3B两个字节,接收处理程序再将这两个字节合并成0xAB,这无疑使数据的传输时间加倍;
2024-01-15 10:17:34
1317
原创 DALI1.0学习——BIT解码
那我们来看一下当接收地址和数据的BIT时,bit_index_temp是不是奇数并且对应的BIT是否正确,如图4所示,当起始位的上升沿产生后bit_index_temp被设置为1,然后从。根据边沿跳变触发时间将bit_index_temp加2或者加1,我们可以看到bit_index_temp确实是在每次为奇数时才读取接收到的BIT,为节省空间在图中我把bit_index_temp改为了bit_idx。是解码接收到的BIT值并赋值给地址变量dali_rec_addr和数据变量dali_rec_data。
2023-12-06 14:41:58
1730
原创 Y-MODEM协议定制上位机
刚开始也不知道从哪里下手比较好,刚好我手边有个逻辑分析仪,之前我就是用它抓取了PIC18F45K80官方程序UnifiedHost-1.19.0使用Ymodem协议和RS485发送给单片机的升级程序内容才成功制作了升级文件。单片机上的软件已经完成了,一般是使用secureCRT这样的工具作为上位机,后来想自己做一个定制化的简单的上位机。证明单片机接收文件有问题,我试着运行新程序,果然没有成功。于我抓取了secureCRT和本程序发送的数据,经过对比发现是第一帧数据不同,就是文件名称和长度这个数据包。
2023-11-24 14:45:07
2092
原创 国民技术Cortex-M0系列单片机IAP升级
使用野火的STM32开发实测过是没有问题的,于是在它的基础上进行修改,移植到N32G031系列单片机中来,经过一番折腾还是弄好了,现在把相关内容分享下,另外资源可以在以下链接中下载,无需积分。考虑到设备部署到现场后有可能需要进行软件升级,之前做过PIC系列单片机的升级,现在想做个国民技术N32G031系列Cortex-M0内核的单片机IAP方案。其实也很简单,主要就是串口和RS485相关引脚的初始化,串口这里没有使用中断的方法。相关外设初始化完成后就会进入主菜单,根据用户输入的值进行不同的操作。
2023-11-17 20:06:37
1721
原创 国民技术N32G031系列Flash数据存储
3、初始时从Flash页的指定位置读取数据(位置根据计算得到,就是找到第一个连续4个0xFF的位置),并存储在两个变量中A和B中,此时A和B中保存的数据是相同的,运行时如果上位机执行了导通和断开操作会改变B变量相关成员值,当while大循环检测到A和B的值不同时,则用B的值设置A变量,并根据计算的地址写入Flash页中。Flash每页有512个字节,每4个字节写一次,则一页可以写入128次,整页写完,继续再写时才擦除页,重新从页的起始位置写入数据,如此反复,这样可以大大减小Flash页的擦除次数;
2023-11-03 20:17:11
670
原创 中微CMS8S3680/69xx系列单片机
另外它的存储器资源也是很丰富的,16K字节ROM,256字节RAM以及512字节的XRAM,对于一般的程序是绰绰有余了。4、demo_adc.c:主要是ADC检测及NTC贴片电阻不同阻值下对应的AD值表,然后程序根据AD值表获取相应的温度信息。AD取样每两毫秒进行一次,12V输出电压共检测16次,温度值检测共8次,然后取平均值。12V /53V输出异常出高(电源风扇异常、输出过压、输出限流、输出短路、电源过温保护)输出>13V,4脚出高(打嗝保护)(3V保护,2.8V恢复正常)
2023-10-30 19:37:00
7854
4
原创 国民技术N32G031系列单片机编程
最近使用国民技术N32G031系列单片机的项目较多,功能较为简单,写这篇文章主要是为自己的学习做个总结。3、使用UART/RS485接口供主机读取各种电源及8路输出的通断控制。2、使用I2C接口作为从机供主机读取各种电源状态及8路输出的通断控制;好的,其他的不多说,直接上源代码。1、控制电源8路输出;
2023-10-18 09:49:59
338
原创 PIC12F510作为PMBus主机
根据公式:Voltage = V * 2^N,这其中V就是我们需要设置的值,查模块手册,N = -9,以设置45V输出电压为例:45 = V * 2^-9,求得V = 23040,也就是我们发送给模块的值。风险的提示,这个之前没有遇到过,为了避免这个潜在的风险,有些地方我直接去掉函数调用而直接将代码写到一个函数里,虽然结构看起来乱一些,但项目小,没有必要搞到那么层次清楚。用于发送模块调压指令,但由于有硬件堆栈溢出风险,故没有单独写成函数,而是直接将里面的代码放在了需要的地方;//将SDA恢复为输出模式。
2023-10-16 16:06:26
462
1
原创 国民技术N32G031系列单片机的AD采样
用过一段时间的国民技术N32G031系列单片机,编程模式几乎类同STM32系列(另外一个国产单片机品牌兆易创新好像也是仿STM32的编程模式,看来STM32的确是一款极其优秀的产品),但是价格实惠,功能也很齐全,软件支持包在官网都可以下载,所以总体感觉还是不错的。
2023-09-22 12:01:52
1274
原创 PIC16F18323电源控制软件
输入欠压恢复:此脚电压≥1.67V(对应输入35V),7脚输出高电平(开继电器),延时100mS后,5、9脚同时输出低电平(开-12V、+12V),再延时100mS,8脚输出低电平(开50V),6脚输出高电平(输入告警解除);输入过压恢复:此脚电压≤3.57V(对应输入75V),7脚输出高电平(开继电器),延时100mS后,5、9脚同时输出低电平(开-12V、+12V),再延时100mS,8脚输出低电平(开50V),6脚输出高电平(输入告警解除)。开环保护模式:-12V开40mS,关3S,打嗝模式。
2023-09-20 10:47:27
419
1
原创 STM32实现PMBus从机程序
另外我还参考了德州仪器的一篇基于TMS320F2803x系列单片机PMBus协议的实现,包括主机和从机程序(源程序和文档下载地址:http://www.ti.com/lit/zip/SPRABJ6,文档的截图如下)。
2023-09-19 20:08:55
3282
7
原创 关于35岁以后身体焦虑问题
不知不觉中身体机能的确和年轻时差别很大。年轻时晚上怎么吃体重都很难增加,代谢明显很旺盛,但是过了30岁后如果不经常运动体重飙升很快。我身高1米7左右,30岁过后最高体重曾达到76公斤,那时候只有周末打篮球运动一次,如果周末都不运动,那我简单不敢想像自己会变成什么猪狗模样。对于目前的工作我觉得还是能胜任的,平时也就是写些电源管理方面的单片机程序,难度不是特别大,由于不是科班出身,所以还得学习电源方面的相关知识,奋斗是不能停止的,只要活着一天就要学习一天。
2023-08-14 17:42:24
155
原创 PIC18F45K80系列MCU固件升级方案
借鉴Microchip的Bootloader在PIC18F45K80系列单片机中实现RS485固件升级
2023-04-17 09:36:03
1072
原创 2017随感
最近一段时间心思基本都不在工作上。今年春节前,由于没有人照顾小孩,所以向公司申请在家办公,公司也同意了,只是时间上不能超过一个月。小孩还没有放假,上午送完小孩回来已经快9点,下午4点半左右再去接回来,回来后就要陪小孩玩了,还要准备晚餐了,中间的时间可以自由支配,但我发现工作效率不高,似乎也没有在办公室上班的节奏。白天除了挂上Skype,查下邮件,基本都没做其他事。今年的春节假期足足有二十多天,...
2021-06-23 16:38:49
138
原创 C语言知识点总结3
C语言测试:嵌入式程序员必须知道的16个问题pcbomb 发表于 2008-10-9 13:39:00 阅读全文(1981) | 回复(2) | 引用通告(0) | 编辑C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的
2017-05-15 11:40:05
938
原创 2015年终总结
又到了年末,从前两年开始,每到年末都会写个总结,内容不外乎就是这一年来自己的工作、生活情况,然后设定新年的目标,以更好的心态迎接新的一年到来!这一年跟以往不一样,有一件事情占据了我很多时间,也影响到了我的工作和生活,这就是我开始了投资理财。以前买过几本理财方面的书,但一直没有付诸过行动,作为一个现代人,不懂理财的确有些像文盲,虽然不是纯粹的,货币贬值,财富缩水活生生的就发生在自己眼前。于是
2015-12-28 17:20:05
895
原创 这一年的投资
大概去年8月份的时候好朋友喊去他家玩,他老婆是平安集团的,向我们推荐了一款平安集团的叫做“壹钱包”的手机APP,当时应该是在推广期,我下载了软件并注册了,打开看了下,并按照他们的方法加了几个好友,当时以为只是普通的社交加买保险之类的应用,似乎对我意义不大,就很少再打开了。后来朋友说这个APP可以买理财产品,钱放在里面年化收益率高达7%,而且还是可以随时取现的,比放活期划算多了,我想起了理财这回事,
2015-12-21 14:44:44
1463
转载 怎么学习编程
首先作为一个优秀的程序员,数学是十分重要的。数学是自然科学的基础,计算机科学实际上是数学的一个分支。数学主要能让人懂得一种分析问题的方法,然后再通过编程去实现它。计算机内部的许多原理也都牵涉到比
2015-10-30 11:38:20
496
转载 C语言中八进制和十六进制怎么表示以及原码、反码、补码、C语言按位取反运算符~
C语言中8进制和16进制怎么表示C语言本身支持的三种输入是:1. 十进制。比如20,457; 2. 十六进制,以0x开头。
2015-10-30 11:32:04
19670
原创 C语言知识点总结2
继续我的C语言学习与总结,今天会探讨以下问题:1、关于无符号数据类型与有符号数据类型的加减和比较大小的问题这个问题我也一直比较模糊,关于加减法我做了如下测试,代码如下:signed int x=-50;unsigned int y=-40; signed int z=x+y;变量z的结果为0xFFFFFFA6(我使用的是STM32系列MCU,int数据类型是32位的),这是保存
2015-09-17 16:26:36
530
原创 错过的她,梦中的婚礼
我认识她是在高中三年级,因为分班到了同一个班上。她是个很文静的女孩子,笑起来特别可爱,看着她笑不论你有什么烦心事都会马上觉着开心,是我喜欢的那类女孩子。我已记不清第一次和她说话是什么时候,但是是很开心的,说完几句后大家会有一些沉默,好像找不到话题了,而且那时在上学,似乎除了学习其他讨论的较少,特别又是和异性同学,我也不是善言辞的或是甚至大家都还略带着些羞涩。渐渐地我似乎对她有一些好感了
2015-09-01 11:40:55
939
1
原创 我的高中时代──纪念1995年进入高中20周年
“其实不想走,其实我想留,留下来陪你每个春夏秋冬……”,每当听到这首歌,就会情不自禁地想到1996年的春天,唤起我对高中时代的回忆,怀念自己逝去的青春。20年前的1995年我中考成绩不理想,比全校第一的成绩少了100多分,只能读个一般的高中。暑假的时候,听家里人说我奶奶的一个亲弟弟(按照辈份和乡俗,我应该称他为舅爷爷)在我们县城的文教局任职,于是我的父母就想托关系把我转到县城的高中就读。说...
2015-08-18 12:54:23
3846
原创 C语言知识点总结
最近读了几本关于C语言的书,受益良多,也确实认识到自己真实的C语言水平还在低水平徘徊啊,而且真正的熟练掌握C语言还有很遥远的距离,感谢这些大师们,我会坚持至少把他们读10遍以上的。这几本书也是比较经典的C语言学习和参考资料,分别是:《C专家编程》、《C和指针》、《C陷阱与缺陷》及《C语言深度剖析》。
2015-03-02 14:16:54
722
原创 STM32中nRF24L01的使用
最近在一个项目中用到了nRF24L01这个无线2.4G收发芯片,项目中有主机和分机,默认都是使用数据通道0,主机通过nRF24L01发送数据后,对应地址的分机在收到数据后会返回一个确认数据包给主机(注意:这个确认数据包并不是nRF24L01自动应答时的数据包,而是自定义的一个数据包,说明了就是双方都能进行收发),在经过长时间的摸索之后,终于将接收和发送都调通了,基本的SPI驱动我使用的是正点原子的
2015-01-23 15:35:09
9707
原创 这几年
时间过得太快了,特别是年龄大了以后总感觉时间过得好快。很惭愧,我之前没写过技术博客,算是一个不合格的程序员,而且是很不合格的,而我在12年之前的程序员之路的确也算得上是不合格的,那几年可是我生命中最为年轻和宝贵的几年啊!可就是被我在碌碌无为之中挥霍掉了。12年之后到现在对我来说很重要,我也是把它当成一个转折点,现在我就来梳理一下这几年我的工作和生活
2015-01-09 14:27:06
2456
TMS320F280049C PMBus从机实现
2025-04-08
TI-SPLL系数计算excel文档
2024-07-23
国民技术N32G031使用YMODEM协议实现IAP
2023-11-17
STM32F103系列作为PMBus从机
2023-11-07
STM32作为I2C从机的PMBus初步实现
2023-09-19
正弦二角和公式的变形
2025-01-04
CAN多节点同时发送数据的问题
2024-09-26
51单片机实现32位乘除法
2024-08-31
51单片机只支持16位的加减乘除法
2024-08-31
51单片机能做32位的乘除法吗
2024-08-30
CAN总线的每个节点都要添加终端电阻吗?
2024-08-16
数字电源设计中是否根据传递函数来设计环路补偿
2024-08-09
PFC小信号传递函数
2024-08-08
请问下如下Notch Filter用的哪种离散方式
2024-07-09
SOGI单相锁相环原理及算法代码
2024-07-02
数字电源中的BUCK电路的闭环传递函数
2024-05-22
BUCK小信号传递函数是怎样的计算的
2024-05-22
请问下在BUCK电路中已知道BUCK的Gp(s),如何求Gc(s)
2024-05-22
电压控制型BUCK的传递函数包括哪些
2024-05-22
二阶IIR传递函数是什么
2024-05-20
开环传递函数和功率级传递函数的区别是什么?
2024-05-07
开环传递函数和功率级传递函数的区别是什么?
2024-05-07
BUCK数字电源控制中如何根据输出电压反馈来实现二阶IIR
2024-04-30
请问下在BUCK电路中二阶IIR是如何实现的
2024-04-30
请问下数字电源环路补偿如何理解
2024-04-30
两零点两极点环路补偿的原理是什么
2024-04-30
数字电源中知道了BUCK Gp(s)传递函数如何生成Gc(s)函数
2024-04-25
TMS320F28337x如何使用BUCK的传递函数
2024-04-25
DSP在数字电源中BUCK的传递函数
2024-04-24
BUCK电路相关传递函数
2024-04-24
数字电源中的相关疑问
2024-04-24
数字电源环路控制方法
2024-04-24
PID在数字电源中的作用
2024-04-24
DSP电源设计常用步骤
2024-04-24
数字电源及DSP相关
2024-04-15
开关电源中稳压及齐纳二极管
2024-03-29
开关电源中稳压及齐纳二极管
2024-03-29
开关电源过流保护打嗝原理
2024-03-27
PIC16F616引脚异常
2024-03-13
PIC18F45K80 ADC采样问题
2024-03-02
输出电压缓起的算法问题
2024-03-02
电源中的电压电流校准原理
2024-03-01
DALI总线协议实现
2023-11-25
N32G031的Flash擦写问题
2023-11-01
电源输出过流检测电路
2023-09-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人