RT-UFL v1.0下载地址:https://github.com/JayHeng/RT-UFL/archive/refs/tags/v1.0.zip
超级下载算法 RT-UFL v1.0 版本紧张针对 Segger J-Link 调试器,这也是本项目最原始的需求。当然为了能扩展支持各种 DAP-Link 类调试器,项目还有其他分支,即与 IDE 紧干系的下载算法,这些分支会在后续的版本里陆续完善。
一、在J-Link下安装

要利用 Segger J-Link 调试器去下载 Flash,就离不开 J-Link 的下载算法,可以先浏览一遍痞子衡旧文 《串行NOR Flash下载算法(J-Link工具篇)》,对 J-Link 下载算法有个初步设计,超级下载算法 v1.0 实在便是 J-Link 下载算法的一种分外实现。
1.1 安装J-Link驱动
Segger J-Link 调试器的功能离不开上位机的 J-Link 软件驱动,痞子衡手头的硬件调试器是正版 J-Link Plus v10.1,它可以合营不同版本 J-Link 驱动利用(如果安装新版软件驱动,在第一次利用时,硬件调试器里的 MCU 固件可能会被建议更新)。
J-Link驱动下载地址:https://www.segger.com/downloads/jlink
我们可以从 Segger 官网下载到所有历史版本 J-Link 驱动,默认总是下载最新版本驱动,但是痞子衡不能担保超级下载算法总是适用最新版软件驱动,以是还是建议下载安装 v6.86f 版本驱动,这个版本是痞子衡实测的版本……
原文链接:https://www.dianyuan.com/eestar/article-7812.html
细数i.MXRT1050 FlexSPI NOR启动连接办法
大家好,我是痞子衡,是正经搞技能的痞子。本日痞子衡给大家先容的是恩智浦i.MX RT1015/1020/1050三款MCU的FlexSPI NOR启动的连接办法。
由于i.MXRT内部没有非易失落性存储器,因此在系统设计时为i.MXRT搭配一块存放运用程序代码的存储器是头等大事。i.MXRT支持启动的外部存储器类型浩瀚,个中通过FlexSPI接口连接串行NOR Flash是首选。
就i.MXRT芯片引脚本身来说,其FlexSPI模块支持的Pinmux选择较多,这在芯片参考手册Chip IO一章可以找到详细信息。但是并不是所有FlexSPI Pinmux组合都能被用来连接串行NOR Flash去启动。
i.MXRT1050/1020/1015是i.MXRT系列MCU家族比较早亮相的型号,也是客户当前利用较多的i.MXRT芯片。它们三兄弟内部均只有一个双通道8bit的FlexSPI模块,在FlexSPI NOR启动连接办法支持上是相似的。本日痞子衡就来跟大家好好聊一聊到底哪些FlexSPI NOR连接办法是可以用作启动的。
一、涉及FlexSPI引脚
提及启动,就不得不提i.MXRT芯片内部BootROM,BootROM是固化在芯片内部ROM空间的一段代码,芯片上电永久是BootROM先运行,由BootROM从外部存储器去加载运用程序实行。因此FlexSPI NOR连接办法实在是由BootROM决定的,更直白点说,实在FlexSPI NOR连接办法是写去世在BootROM代码里。
我们可以在芯片参考手册System Boot这一章节找到BootROM指定的FlexSPI NOR引脚,痞子衡整理如下:
下表适用于i.MXRT105x:
下表适用于i.MXRT102x和i.MXRT1015:
上面的表格基本上已经给我们指明了方向,目前我们知道了哪些Pin可以用作FlexSPI NOR启动连接,但是彷佛还是有一些不清楚的地方:
疑问1:1st Option里一共有4根片选旗子暗记(SSx)和2根DQS旗子暗记,而Flash只须要一个片选和一个DQS,是不是所有片选+DQS组合都可以?
疑问2:1st Option里一共8根数据线,除了连接八线Octal/Hyper Flash之外,是否可以单连四线QSPI Flash?PortA和PortB是不是都可以连QSPI Flash?
疑问3:是否可以从1st和2nd Option里分别挑选旗子暗记线和数据线来连接Flash?比如1st Option里的PortA_DATA[1:0]和2nd Option里的PORTA_DATA[3:2]组成四线。
疑问4:那根FlexSPI Reset旗子暗记对付1st和2nd Option是不是都适用?
疑问5:是否可以挂两片QSPI Flash启动?详细怎么挂?两片Flash能否实现在一片Flash中实行代码去擦写另一片Flash?
疑问6:2nd Option里只有PortA和一根片选,但RT1050 Pinmux表里其也支持PortB和其他三根片选,那些旗子暗记线后续是否可以利用?
不才面文章的内容里,痞子衡会逐一为大家解析这些疑问……
原文链接:https://www.dianyuan.com/eestar/article-7817.html
PWM做DAC时,提高PWM-DAC精度的方法
昨天发了一篇TI的技能文章,里面提到了一个比较故意思的电路,便是用多路PWM并联来提高PWM-DAC的输出精度(如下图,点击可跳转链接)。比如组合两路8bit的PWM来组合为16bit的PWM-DAC。
理论
那么先阐明一下PWM的精度问题(由于PWM的占空比精度直接关联到PWM做DAC运用时的DAC精度)。举一个例子:如果要产生10kHz的PWM波形,而分别供应50Mhz的时钟和10Mhz的PWM外设时钟,那么毋庸置疑的是均可以产生10Khz的波形。
但是如果要调度这个波形的占空比,从0%到100%,那么在PWM时钟为50Mhz的时候,可以调度出5000步,而在时钟为10Mhz的情形下,只能调度出1000步。那么如果在上述的例子中,时钟为10Mhz的情形下,如果想要保持分辨率为5000,那么就要改变PWM的频率,把频率降落为2Khz就可以知足5000的分辨率。
然而在降落PWM频率的时候会随之带来另一个问题,那么便是转化出的DAC的纹波变大了(由于滤波器参数没变,PWM的频率降落后,滤波器对PWM的高次谐波的衰减变弱了)。那么为了坚持转化后DAC的纹波,就要调低滤波器的截止频率。如下图所示,滤波器和PWM的傅里叶变换后高次谐波的关系。
但是由RC滤波器的公式
可知,如若降落滤波器的截止频率fc的话,有两种选择,要么增加电阻阻值,要么增加电容容值。然而这两项无一例外的都会增加这个PWM转DAC的建立韶光(建立韶光和RC常数干系)。那么有什么方法可以在保持时钟和频率以及建立韶光都不改变的情形下来提高PWM-DAC的分辨率呢?
此时就可以利用多个PWM叠加,这种方法来提高转化DAC分辨率的电路,简图如下:
仿真首先利用旗子暗记发生器输出PWM频率为100Khz,假定PWM分辨率为10(即PWM占空比的调节步长为10%)那么如果只用一起PWM转DAC的话,输出DAC的电压只能是0.1VCC,0.2VCC,0.3VCC一贯到VCC,DAC输出也是10%步进,和PWM的精度(10%步进)是完备同等的。
例如下图仿真,幅值为10V的占空比为40%的PWM旗子暗记经由滤波器后输出的电压为4V。这个10V幅值PWM步进10%的话,这个电路的输出电压只能是随着占空比的10%步进而输出0V,1V,2V,3V,4V.....10V(1V精度)。
那么如果斯时按照TI的思路,再并联一起PWM过去会如何呢?此时绿色旗子暗记发生器XFG1的输出PWM1便可以代表DAC的低位(即TI技能文档中的PWML旗子暗记),蓝色旗子暗记发生器XFG2的输出PWM2便代表DAC的高位(即TI技能文档中的PWMH旗子暗记),那么全体电路便可以输出0-10V(1%步进,0.1V精度),输出电压公式可以列为:VXFG20.9+VXFG10.1(可以用叠加定理求取)……
原文链接:https://www.dianyuan.com/eestar/article-7882.html
【群友的问题】关于轨到轨运算放大器
昨天群友在群里问了一个关于运算放大器轨到轨输出的问题,对此我写一下我对此的理解,以及结合仿真,梳理给各位同好。理论问题的起因是杨建国老师的新观点仿照电路里的一个关于小旗子暗记放大的案例,大概便是输出的电压和预想偏差了很多,大家可以先看一下下面的节选。
群友的疑问:为什么运放的V-由GND(0V)改为-0.5V就输出正常了?
回答:这个和运算放大器的轨到轨输出有关系(比如0~5V供电,那么输出险些即是0~5V范围就算是轨到轨),虽然有的运算放大器说是轨到轨输出,但是实际上,由于其内部构造缘故原由,并不能完备轨到轨;就像杨老师举的例子一样,这个实际上第一级的运放是没有输出到0V的(如果暂且不考虑失落调电压电流等参数是要输出0V)。就如手册里写的:
在Rl = 10KΩ to Vcm的时候,0-5V供电的这个运放的输出最小电压为5mV(范例值)。这个不能完备轨到轨输出也就导致了第二级运算放大器放大了这个最小输出电压,从而导致了偏差。
群友问:如果仍旧是0V-5V供电,如果在同相输入端或者反相输入端叠加一个人为的偏置,能否抵消散落这个?能不能输出到0V?
回答:不能,由于这个轨到轨输出的最小或最大电压是由运算放大器内部的构造,以及运算放大器的负载电流,并且和供电电压直接干系的。无论在同相输入端或者反相输入端增加人为的偏置补偿均不能抵消散落。就像杨老师书里写的例子一样,如果想要让他输出0V(不考虑失落调电压等参数),那么只能加负压才能让他输出0V。
这一点可以理解为类似PMOS和NMOS的DS之间总会由于Rdson的存在而有一些压降一样,而且这个压降会随着流过DS的电流的增加而增加(IRdson)。
对此在ADI的设计文档里也找到了对轨到轨输出的干系描述,大家可以参照阅读一下:
仿真验证
那么我们就也仿真一下,去深入理解一下这个杨老师书里的问题吧……
原文链接:https://www.dianyuan.com/eestar/article-7883.html
差动放大器反着用?Vref管脚须要把稳什么?
本日在群里看到一个关于差动放大器的用法,仿真验证一下,下面先看一下书里是怎么写的,摘自《你好,放大器》第152页。
书里说将差动放大器旁边颠倒一下Vn变为Sense,Vp变为Vref,便可以实现放大功能(原来接法为衰减),并且所有的差动放大器都可以这么利用,那么就仿真一下看看吧:左图正常接法,Ad为0.5倍(20K/40K),输出为:Vout=Ad(Vin+-Vin-)+Vref = 0.52+0.5 = 1.5V右图旁边颠倒之后Ad变为2倍(40K/20K),输出为:Vout=Ad(Vin+-Vin-)+Vref = 22+0.5 = 4.5V
和书里写的完备符合,看来这个差动放大器的用法还是很灵巧奥妙的。既可以衰减也可以放大。
然后翻了下AD8278的数据手册,看到了一个把稳事变,便是关于VREF管脚的,手册里写不要把Vref管脚直接用分压电阻分压后连接,分压电阻分压后须要加一个电压跟随器减小输出阻抗后再接到Vref管脚(电压跟随器的输入阻抗大,输出阻抗小),这一点须要把稳。
如果1V的电源,经由两个10KΩ的电阻分压出0.5V的Vref,那么这个分压电路的输出阻抗就即是10kΩ//10kΩ=5kΩ,那么此时这个差动放大器的输出已经不再是之前打算的1.5V了(见第一张图),由于这个旗子暗记源的阻抗大,会导致输动身生偏差,以是有时候要格外把稳旗子暗记源的输出阻抗带来的影响……
原文链接:https://www.dianyuan.com/eestar/article-7884.html
更多精彩内容,尽在电子星球 APP(https://www.eestar.com/)
六篇技能文章,让你秒懂电容的脾气秉性
七篇DIY技能文章献给你,让你脑洞全开
五篇文章帮你开启DSP的学习思路
汇总篇:关于PID知识,重点在此