C2000 ePWM模块

以TMS320F28030为例,其它型号可能有差异,不过大同小异。

在TI C2000 DSP中,PWM模块是一个独立的模块,并没有算作通用定时器的一部分,这也充分体现了C2000系列用于控制系统的定位。整个ePWM模块可以视为由若干个独立的ePWM子模块组成,每个ePWM子模块对应2个互补输出的通道——EPWMxA及EPWMxB。这样的设计减少了各PWM通道间的耦合关系,使用起来更为方便灵活。

Simulink仿真模式

在Simulink中,一共有6种仿真模式可供选择,如图:

  • Normal模式为一般正常的仿真模式
  • Accelerator及Rapid Accelerator模式用于加快代码的执行速度
  • SIL及PIL模式用于自动代码生成时进行测试仿真
  • External模式用于连接外部系统实现基于客户端/服务器模式的实时系统仿真

正常模式(Normal)不需要进行特殊设置,这是Simulink默认的仿真模式。下面简要介绍一下其他几种仿真模式。

STM8系列单片机

STM8系列单片机基于STM8专有8位内核,具有很高的性价比,其下一共有5个系列:STM8SSTM8LSTM8AFSTM8ALSTM8T这篇文章中比较分析了这几个系列,下面简要总结一下。

STM8S是STM8中的主流系列;STM8L侧重于低功耗;STM8AF与STM8AL则是STM8S及STM8L用于汽车应用的增强型,其使用温度更广,具有更高的可靠性;STM8T未在上图中出现,此系列在STM8L系列的基础上增加了ProxSense电荷转移电容采集技术,用于触控检测。

使用OpenMP进行多线程计算

OpenMP是一套支持跨平台共享内存方式的多线程并发的编程API,关于其详细介绍,可浏览其官方主页与Wiki页面

多线程并行计算是一个值得深入研究的问题,不过很多时候,我们仅仅是需要实现一些很基础的多线程计算。例如程序中需要依次处理100张图片,它们之间又没有什么关联,这时如果使用多线程,可以极大的提升程序的执行效率。使用OpenMP就可以很方便的实现上述要求而不必了解多线程的底层技术。

STC单片机不断电下载程序

在使用STC-ISP为STC单片机下载程序的过程中,需要手动对单片机进行复位,之后才能正确下载程序。这样不是很方便,我们可以采用一些方法来简化这一过程。

基本思路:在程序中加入一段监控代码,监测UART接收到的数据,当接收到STC-ISP程序发送的下载开始的数据后,软件复位单片机从系统ISP监控程序区启动。

STM8 SWIM接口

STM8系列单片机通过SWIM接口进行程序下载与Debug,这是一个单线接口,仅有一条数据线,即SWIM。SWIM引脚为开漏(OD)结构,以此实现双向通信。关于SWIM协议的详细说明,可参考ST的文档”STM8 SWIM communication protocol and debug module“,此文档介绍了SWIM协议的通信过程与物理层时序等内容,如果需要自行设计制作SWIM下载器需要参考此文档。

当然,如果仅是为了给STM8单片机下载程序,并不需要了解SWIM协议的具体实现方法,仅需要在板子上设计好下载接口,然后和ST-Link仿真器连接起来即可。

BLDC六步换相法基本原理及驱动波形

直流无刷电机(BLDC)最经典的驱动方法就是三相六步换相法,这几天调试时顺便用示波器捕捉了下6个MOS管的栅极驱动波形。

基本驱动电路如图所示:

所谓的六步换相法即是按如下的顺序通电:AB->AC->BC->BA->CA->CB。当然,除此之外还可以使用其他的通电顺序,只需要保证磁场的变化方向能构成一个旋转磁场即可。

|