1、开发板硬件环境熟悉
(1) 2018年3月19日 上午收到的开发板,红色的盒子很应景,另附一张精美的“剪纸”感谢Microchip的开发板。
(2) 开发板做工很是精细,全球通用的电源适配器是极大的亮点,测试点很讲究。整体比较简单,左侧主控芯片液晶,右上同步降压,右下boost升压。背面是负载电阻和在线调试器官方名称为:PKON,极大的方便了用户,不用再单独购买调试器。
(3) 第一天按捺不住激动的心情,下载完开发板的资料,安装上IDE:MPLAB X 该IED 是基于Netbeans搞过Java的一定知道他的大名。那就需要jre,他本身也是Java编写的,原来电脑上开发过Android,所以应该会有JDK安装比较顺利,打开源代码重新烧录,第二次成功写入。结果是开机变成了都是1.25W+1.25W很快就过热报警了。总结下比较顺利的:笔者以前未接触过MicroChip的片子,所以电脑很干净,装上就连接成功了,驱动也不用切换。dsP33EP64GS502 对应的是16bit DSC 安装配套的xc16编译,Maplab Code Configurator(MCC)开发环境基本搭建完成。
(4) 下载开发板官方配套文件:MPLAB Starter Kit for Digital Power Design Package-v2015-12-15内有详细的代码说明和使用说明,用Maplab 打开后发现并没有使用MCC配置,而且关键部分使用了汇编语言,对于刚入手的笔者,还是很有难度的,努力啃骨头中……
2018年3月23日星期五
做出了自己的Hello word,开发板中液晶程序移植,开发板中SPI驱动用的是软件模拟的SPI,该款处理器带有硬件的SPI,打算用硬件的SPI代替,软件中有太多的等待,第一次没有成功,肯定是我打开方式不对,用软件模拟没有问题,下周争取解决。
2018年3月26日星期一
液晶C0216使用的虽是SPI接口,但是并不是标准的,没有数据输出(液晶只管显示也用不到输出)所以用标准的SPI可能遇到问题,SPI通信可以理解成通信双方的移位寄存器相互交换数据,初步判断为这是dsPIC33EP与C0216液晶通信的壁垒所在,后续有时间再继续研究。开始以为用软件模拟带来很多硬件消耗很浪费,但是随着对开发板例程的研究发现,环路控制部分就是在中断直接实现的,而实现部分恰巧就是那两个汇编文件,使用了硬件加速(Hardware Accelerated Function Register Assignment),数字电源看似简单,但涉及内容非常严谨细致。笔者以前简单地认为采样+数字补偿器+占空比输出,功力有限,目前尚未吃透开发板环路控制的实现方式,一旦突破,接下来的工作将比较容易展开。与想象中相悖的原理图如下,数字控制却存在一个模拟比较器。
昨天还绞尽脑汁地思考,Digital Power Starter Kit(以后都称为Kit)是如何实现占空比调节的,其关键是在控制环路中未找到输出关于输出控制的寄存器。使用硬件加速的原理大概是:dsPIC33EP具有W1-W14备用寄存器,该寄存器能在处理器切换上下文之前装在数据,在之后也能保持,甚至能直接映射到中断响应上,这是提速的关键(参见数据手册DS70005127D 3.1 Registers),Kit使用了硬件加速,将2P2P补偿器用的数据接口指针或者地址预先存储到备用寄存器中,计算时直接调用函数即可。以同步buck为例,当时该函数的输出确是CMP1DAC。做了个测试,把CMP1DAC替换成控制占空比的寄存器PDC1,输出结果很是不稳定,而且电感啸叫,用示波器观察PWM,波动很大。
…… mov #ADCBUF1, w1 ; Address of the ADCBUF1 register (Input) ;mov #CMP1DAC, w2 ; Address of the CMP1DAC target register (Output) mov #PDC1, w2 ; Address of the PDC1 target register (Output)
回到昨天的问题,数字环路中存在一个模拟比较器,而且还有DAC与想象中的数字电源差别很大,为什么不是直接控制占空比?看来这个比较器是关键,很明显是作用是峰值限流,如果是个模拟控制的就再平常不过了,后面的部分就是模拟控制?继续研究该芯片的PWM控制器,该PWM控制器的Current-Limit PWM Mode就是这种机制。后来在初始化中得到验证:将占空比配置成最大,比较器提前输出错误信号,提前关断PWM,实现稳压控制,不得不服!高速比较器,以及PWM调制这种硬件模式速度上感觉比直接输出占空比响应要快。
PWM current-Limit Mode 摘自应用手册。
纹波和稳定度测试
Buck 3.3V 纹波 交流 10mV 20mS
Boost 15V 波形 交流10mV 20m
Buck 3.3V实测值能稳定到四位数字
Boost 15V实测值能稳定到四位数字
实验板的纹波和电压稳定性满足设计的要求,观察纹波能控制在10mV以内无论是3.3V输出还是15V输出;电压能稳住四个有效数字。15实测14.75V与板子自己测量值略有偏差,可能是分压电阻等温飘等引起,瑕不掩瑜。条件有限暂时不考虑转换效率。
这是在小功率下的可行性,当提升到上百瓦的功率,能否实现如此高的性能,拭目以待。
Starter Kit 测量值
距3月19收到板子已经8天了,加油!!
2018年4月8日星期日
前几天仔细研读PWM ADC compare的数据手册和参考手册了,分享下心得:对于新手认认真真啃数据手册和参考手册是就是捷径,这个过程很煎熬,但是不能缺少。直接看例程会是云里雾里的,如果上手编程更是无从下手,手册永远是基础,对芯片功能有了充分的了解,再看例程,同时结合数据手册,会轻松许多,这也是开始就上手例程处处碰壁的教训。
接下来将依次展开UART通讯 屏幕显示 PWM控制 硬件搭建 调试等步骤。