- 博客(82)
- 资源 (67)
- 收藏
- 关注
原创 二极管漏电流对单片机ad采样偏差的影响
前两个决定漏电流大小,最后一点决定漏电流叠加偏差电压大小。当产生的叠加电压可以非常小可以忽略该电压时,则此电路不影响,否则需要做一定调整。2),减小100k位置电阻的阻值,使漏电流在此电阻上产生的叠加电压足够小,小到可以忽略的误差即可。1,下图是常规的单片机采集电压电路,被测量电压经过电阻分压,给到mcu采集,反向二极管起到钳位作用,避免高压打坏mcu。二极管存在漏电流,会在100k电阻上产生叠加电压,从而被单片机采集,进而造成误差。1),更换漏电流更小的二极管。1),二极管漏电流的大小。
2024-01-26 09:58:40
1009
原创 C2000芯片避免锁死的方法记录
调试28035时,即使密码设置为0xffff,依旧会有芯片锁死的情况,调试起来很是麻烦。最好的方法就是屏蔽DSP2803x_CSMPasswords.asm这个文件。这样编译输出的hex文件就不会包含密码所在的flash区域,自然不会对其操作,就不会存在锁死的问题。
2024-01-05 16:51:29
775
原创 IR2110不具备隔离驱动作用
本来想使用2110做隔离驱动,实践证明IR2110不具备隔离驱动功能。当前后隔离后,IR2110无法工作。当前后共地,2110工作正常。特此记录,以免耽误时间。
2022-08-31 21:27:48
1155
1
原创 TMS320F28035的sci产生接收错误后不再继续接收数据
28035的sci产生接收错误后就不再接收数据,需要手动清楚错误标志,才能继续接收串口数据。所以,这里需要多一个错误中断已便于及时清除错误,我觉得这个比较麻烦,我用过的其他家都不这样。而28035zhong的lin作为串口使用时,就没有这个情况。...
2021-05-17 10:17:10
1738
2
原创 TMS320F28035中断发送485数据,总是少一个字节数据的问题
在无os的情况下,串口发送采用中断发送效率比较高,占用cpu的时间少。1,问题:这次调试485通信,使能485通信的信号总是提前一个字节,导致485通信少一个人字节。2,原因:发送使用TXRDY中断,但是TXRDY只是当SCIBUF中的数据移到shift中就置位,而此时不代表串口数据已经发送完成,此时shift中仍然有一个字节的数据在发送中,此时关闭485发送使能,肯定会丢失最后一个字节的数据。3,解决办法:多发送一个字节无效数据,使最后留在shift中的数据为无效数据,查看uart发送引脚波形,会多
2021-05-17 10:02:48
1596
原创 TMS320F28035屏蔽编译警告
1,右键工程-build-C2000 compiler-Advanced Options-Diagnostic Options2,在 suppress diagnostic 栏增加需要屏蔽的警告编码3,单击apply and close
2021-05-17 09:49:50
240
原创 keil调试时总是自动断开连接
原因1:在watch window窗口,有之前使用的变量,后来,注视了该变量,但是watchwindow中没有去掉,导致keil调试总是断开解决方法:打开watchwindow,去掉不存在的变量,然后,退出调试界面重新编译后,再进入调试界面,即可解决问题。原因2:memory地址有的不为4字节对齐解决:关闭memory窗口注:以上问题都可以通过新建工程解决。...
2021-05-16 11:31:00
2591
原创 keil调试死机问题
原因1:更改了调试界面结构,触发了keil本身的bug解决方法:A,进入调试界面B,window->Reset View to Defaults就是把调试界面恢复为keil默认界面
2021-05-16 11:28:00
2800
原创 灵动微MM32F013x的ADC采样通道串扰问题
1,adc时钟过大,超过了15M的最大值,改小ADC时钟即可 ADC1->ADCFG |= ADCFG_ADCPRE_9;2,采样时间太短,增大采样时间,越大数据越稳定,但是采样速率会更慢,自己根据项目权衡ADC1->ADCFG |= ADCFG_SAMCTL_13_5;...
2021-05-16 11:26:23
1054
原创 simulink S函数模块调用多个文件的编译方法
S函数有时不止一个文件,会调用外部文件,这种情况下如何编译?下面给出示例。S函数模块 pfc_ctrl,代码文件为pfc_ctrl.c pi.c pi.h编译方法:mex pfc_ctrl.c pi.c即可生成s函数需要的文件,文件名为第一个文件的名字pfc_ctrl,.h文件可不用加入编译指令中。...
2021-03-04 20:27:03
654
1
原创 matlab2020不联网安装,提示找不到秘钥文件
输入秘钥后,直接出现这个提示。1,由于我的电脑不联网,开始以为是没有网络的原因,后来,连接网络后,仍然是这样。所有,排除不联网不能安装的情况。2,经过一番折腾,发现是安装文件解压时损坏,导致找不到秘钥文件了。重新找到一个完好的解压文件,不联网的情况下,安装成功了。文件太大,这个问题折腾了好几天,终于是搞定了。最后,明确了不联网可安装,务必确认文件解压后完好。...
2021-03-01 13:39:31
5146
1
原创 铅酸电池三段式充电过程
1. 第一阶段,快充‘bulk’,以最大(100%)的输出电流对电池快速充电。2. 第二阶段,均充‘absorption’,达到电池最大充电电压,进行稳压,此时电流会逐步下降。3. 第二阶段持续2小时后,自动转到第三阶段‘floating’浮充模式,以浮充电压进行充电,此时会以小电流对电池补电。...
2021-01-19 11:49:48
8062
1
原创 USBDM文件下载地址
USBDM是pgo专门针对NXP芯片设计的一款仿真调试工具,非常棒,不过它仅支持NXP的开发环境,由于不断有新的芯片出现,故USBDM的软件版本也不得不持续更新,这里贴出地址,便于后续下载更新版本。https://sourceforge.net/projects/usbdm/files/最后,感谢pgo大神的无私奉献...
2021-01-14 14:00:50
1124
原创 使用灵动微MM32F013x函数库,出现编译警告1296-D:extended constant initialiser used case u32
使用灵动微MM32F013x函数库,出现编译警告1296-D:extended constant initialiser used case u32。没有找到好的解决办法,直接通过设置keil编译器,屏蔽此警告。
2021-01-07 10:00:25
693
1
原创 用PWM实现DAC功能
现在单片机型号很多,但是内部保护12位DAC且性价比较高的芯片恨少,导致在芯片选型时,捉襟见肘。没办法,就想着用PWM实现DAC的功能,这只是初步理论,还没有实践过,先贴出来,后续实现再看效果如何吧。1,如下图,改方式元器件少,但精度低,文波大一点输出的模拟量电压Vout=VDD*D1/ (D1+D2)。该输出电压带有纹波,当RC值足够大时,该纹波值几乎为零。为进一步减小纹波,可使用两级RC滤波。 此处LM324作为一个跟随器,提高电路的负载能力。...
2020-12-31 10:51:40
13971
3
原创 NXP KV10 FTM fault功能的配置
这是一个很有用的功能,配合FTM、CMP、DAC可以用来做电流控制,操作也比较简单,下面以fault0为例说明: FTM->MODE |= FTM_MODE_FAULTM(3);//Fault control is enabled for all channels, and the selected mode is the automatic fault clearing FTM->FLTPOL &= ~FTM_FLTPOL_FLT0POL_MASK;//The fau...
2020-12-30 16:32:07
821
原创 SG3525频率和占空比参数的选取
通过调节RD、RT、CT的参数即可设置我们需要的频率和占空比。如何选取参数呢?可参考手册中的参数表进行选取。
2020-12-28 14:18:57
5432
原创 TMS320F28035 Trip-Zone使用问题记录
Trip-Zone子模块还是很有用的,尤其是用在电流控制方面,搭配DAC和模拟比较器,非常实用的功能。今天初步尝试该功能,基本功能实现,调试过程中发现2个问题,这里记录一下,以便后续借鉴。1,我的程序中Trip-Zone只在某种状态下开启,其他状态必须关闭。故需要动态开关Trip-Zone,这个过程中,只有操作TZDCSEL可实现所需效果,操作TZSEL和TZCTL无法实现动态开关。具体原因未知,暂时就这样用了。有效操作:EPwm1Regs.TZDCSEL.bit.DCBEVT2 = 0;//Even
2020-12-19 11:18:13
2586
1
原创 TMS320F28035引脚复用功能
每个IO都拥有复用功能,在28035的数据手册的134页,就是28035的复用功能列表,这里记录一下,方便以后查找。
2020-12-19 09:16:19
1807
1
原创 TMS320F28035串口启动
这里写自定义目录标题新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入1,从28035的参考手册可以找到启动配置方法,芯片上电前,按照表格中的电平状态连接,就可以进入SCI启动模式,SCI启动内置了一个串口bootloade
2020-12-19 09:08:52
2100
1
原创 关于MCU内部flash存储数据的寿命及提高擦写次数的方法
最近在做便携式储能电源的项目,其中需要用flash实时存储电池的电量(1~100),由于芯片的最小擦写次数时10000次,所以,对于flash的擦写寿命进行了研究,下面是网友的一些见解,觉得有些道理,这里记录一下,以防后续忘记,也供大家参考。一,FLASH寿命测试(源自网络,有兴趣者可自行测试)测试的flash型号是sst39vf160,由于测试时间的问题,只测试了一个扇区4个字节,用了整整一个星期才完成所有测试,测试结果总结如下:1、flash有寿命限制,sst39vf160手册上说是1...
2020-12-16 11:08:00
22941
3
原创 NXP ARM MCU烧录引脚复用
当出现MCU引脚不够用,要使用烧录引脚复用时,一定不要把复位脚也复用了,不然,再次烧录程序就难了。烧录时,一般都会先通过复位引脚复位MCU,然后,再执行烧录。另外,程序中复用的代码不要执行的太快,留一点时间间隔,便于复位MCU后的烧录。...
2020-12-02 14:11:33
1195
原创 MCUXpresso在有些电脑无法使用multilink调试
同样的软件,同样的仿真器,有的电脑可以使用,有的电脑就不工作。很是郁闷,MCUXpresso还是有些问题的。最后,卸载软件,重新安装到默认的目录,工作空间也是默认目录,结果就可以了。所以,安装软件时,选择默认设置最保险。...
2020-12-02 14:07:50
279
原创 使用jflsh_v686烧录hex文件
1,打开jflash2,“create new project”->”start j-flash”3,选择芯片型号,ok4,把hex文件拖拽到”Drag & Drop data file here”5,”target”->”connect”6,烧录Target->production programming...
2020-12-02 14:04:57
665
原创 使用MCUXpresso直接烧录hex文件
这里介绍一种使用不需要源代码烧录hex文件的方法。打开MCUXpresso软件,并新建一个工程(工程的芯片选型要和需要烧录的芯片型号一致)选中中工程,编译,然后点击工具栏如下图标弹出如下界面,这里我使用jlink作为烧录工具,直接点击确定。四,点击file system 选择要烧录的文件单击“RUN”至此烧录完成。...
2020-12-02 14:03:45
2102
1
原创 中微单片机IDE版本升级吐槽
最近一年使用国产中微单片机较多,其中有几款8位廉价单片机(几毛钱一片)被用来做汽车应急启动电源。随着不断引入新的芯片,IDE的版本也不断升级。居然出现高版本IDE编译以前的工程出错。换回以前的低版本IDE仍可以编译成功。这个设计够坑人。...
2020-11-17 12:00:38
2444
4
原创 灵动微MM32F013x芯片学习-TIM1发互补PWM波形
调试过程中因为疏忽了一个位的操作,导致无输出,一番检查后发现MOE位必须要使能,否则,无波形输出.使能BDTR的MOE位后,波形正常输出,总体操作还是比较简单的,除了MOE没有使能外,其他寄存器的配置很顺利。该模块优点是操作简单,可互补输出,插入死区,通道极性可修改,灵活关闭通道,缺点是当通道被关闭后,无法修改被关闭通道的电平,只能是默认的低电平,这里还不够灵活。void TIM1_pwm_init(void){ //pin mux RCC->AHBENR |= RCC_...
2020-09-25 10:06:07
983
原创 灵动微MM32F013x芯片学习-UART1中断接收
//busclk unit is 1Khzvoid uart_init (UART_TypeDef *UART,uint32 busclk,uint32 baud){ uint16 BRR=0; //enable clock RCC->AHBENR |= RCC_AHBENR_GPIOB; //enablePORTB clock RCC->AHBENR |= RCC_AHBENR_GPIOC; //enablePORTC clock ...
2020-09-24 13:48:25
791
1
原创 灵动微MM32F013x芯片学习-TIM14定时器
这里只把TIM14作为一个定时器使用,设定一个时间,定时中断。整个操作还是比较简单,只是关于TIM14的时钟频率问题,掉到了坑里。由于灵动微的手册中并没有详细描述各个外设模块的时钟源,而在APB2ENR寄存器中看到使能位,导致误以为其时钟为PCLK2是TIM14的时钟。而实际TIM14的时钟源如下图,TIM14的时钟经过APB2分频后,又经过了一个倍频模块。此模块的倍频系数为1或2。当APB2的分频系数为1时,不倍频。当APB2的分频系数不为1,则倍频为2倍。这点大家要格外注意!!!下面上代码:
2020-09-24 13:41:41
1819
1
原创 灵动微MM32F013x芯片学习-ADC
MM32F013x的ADC还是蛮好用的,每一个ADC通道都有一个自己的结果寄存器。当启用连续转换模式时,ADC就可以自动更新转换结果到各自的结果寄存器,用户只需要直接读取结果寄存器即可,省去很多麻烦。由于ADC最快转换时间仅为1us,即使10个通道全部转换一次的时间也只有10us,对于一般的控制也是足够用的。还记得当初使用NXP芯片时,只有一个结果寄存器,每次都要修改转换通道,等待转换,而且还要考虑函数 的可重入性问题,甚是麻烦,而且也会浪费cpu的时间资源。灵动微的这点做的还是不错。下面就上代码:vo
2020-09-23 09:35:53
1185
原创 灵动微MM32F013x芯片学习-内部RC时钟倍频
MM32F013x内部集成了48Mhz的RC时钟,同时也有PLL,所以,这里采用PLL倍频内部RC时钟的方式,产生72MHZ的系统时钟。上代码:void clk_init(void){ u8 temp=0; RCC->CR |= RCC_CR_HSION; while(!(RCC->CR & RCC_CR_HSIRDY)); // HSI/4 is the input clock for pll RCC->CFGR &...
2020-09-22 15:58:13
857
原创 灵动微MM32F013x芯片学习-MCO时钟输出
我们在配置MCU时钟时,为了验证配置结果是否正确,可以通过MCO这个引脚查看时钟频率。很多芯片都有这个引脚的,之前使用NXP芯片时,也有这个引脚。下面说一下MM32F013x的MCO使用。我这里的时钟配置时内部RC时钟经过内部PLL倍频到72M,时钟配置忽略,只说MCO输出配置.1,MCO输出选择 RCC->CFGR |= RCC_CFGR_MCO_PLLDIV24;//PLL倍频后的时钟/24作为MCO的输出,方便示波器观察,频率太高了,示波器看波形就失真太严重了。 2...
2020-09-22 15:47:07
852
原创 移相全桥PWM发波要求
移相全桥的拓扑如下图所示,由于谐振电感L1的存在,结合移相控制,使开关管达到零电压开通(ZVS),从而有效的降低了电路的开关损耗和开关噪声,减少了开关过程中的产生的电磁干扰。移相控制的PWM驱动波形如下,Q1/Q2/Q3/Q4分别对应上图中的4个开关管的驱动。Q1与Q2驱动互补,插入死区;Q3与Q4驱动互补,插入死区。所有PWM波形的占空比固定,Q3/Q4相对与Q1/Q2移相,相位大小由控制环路确定。...
2020-09-11 10:00:14
4400
5
原创 TMS320F28035的模拟比较器学习(一)
28035有3个模拟比较器,每个比较器都含有一个10位DAC模块作为参考源。此外模拟比较器可以与PWM模块联动,从而实现逐波限流的功能,这对于电源控制来说,是非常有用的功能。本文先了解比较器最基本的功能,仅是实现比较输出的功能。1,如下图所示,比较器1A输入电压与DAC进行比较,比较结果直接输出到IO口,这是比较器的默认状态。比较器预留了输出滤波及输出取反的选项。2,引脚复用配置,如下图所示,一个输入,一个输出3,上代码//使能比较器模块时钟SysCtrlRegs.PCLKCR3
2020-09-07 15:36:06
5526
原创 28035 IO模拟IIC操作24C02问题记录
本以为很简单的事情,结果花了不少时间,记录一下问题,避免再犯.1,28035的GPIO方向寄存器是受保护的寄存器,操作前需调用EALLOW.由于开始没有注意,导致波形异常,出现了不高不低的状态。最后,附上源代码:...
2020-09-05 11:44:33
774
原创 51单片机WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
编译程序时出现如下警告:WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS出现这种警告是由于定义的函数或者代码段常量没有使用造成的,并不会影响程序的运行,但是会浪费空间。介意的话,就根据编译的提示,逐个删除未使用的代码。不介意这点空间的话,可以屏蔽这类警告,屏蔽方法如下:...
2020-09-04 10:00:14
43451
3
原创 CMS8S5880的烧录端口复用
5880的烧录端口作为IO使用时,必须在keil工程的配置选项里面disable 调试模块。否则,复用失败。另外低功耗模式也要disable调试模块才能做到低功耗。
2020-09-04 09:58:58
1701
TMS320F28035_ADC_software_trig.rar
2020-08-19
TMS320F28335_DEMO.rar
2020-05-30
Freetech_KE02例程.rar
2019-10-09
一种基于PWM的电压输出DAC电路设计.pdf
2020-12-31
test_mm32f0131.rar
2020-09-25
在kinetis K系列芯片上使用eDMA模拟ADC扫描模式.pdf
2020-07-16
逆变电源几个关键问题的讲解.rar
2020-07-02
pdf文件书签折叠工具工具.rar
2020-06-23
MC56F827xx快速上手指南.pdf
2020-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人