为电机控制领域带来革命性变化——ADI ADSP-CM408F开发套件评测 by ADI_Amy
本文引用自爱板网,原文链接:http://www.eeboard.com/evaluation/adi-adsp-cm408f-eval/
在需要实时信号处理的场合,如电机控制领域,DSP与FPGA都有着广泛的应用。但随着ARM席卷而来,特别是发布了带有浮点运算功能的Cortex-M4处理器之后,ARM也气势汹汹杀入原本DSP占主流的市场。尤其是电机控制领域,一直以来MCU由于性能的限制,电机控制基本采用DSP或者FPGA为核心的解决方案,不过,依托于ARM Cortex-M系列处理器高效的能耗比以及广泛生态圈,Cortex-M4在嵌入式实时控制领域扮演越来越重要的角色。这不,原本作为DSP领域领跑者的ADI也推出了基于Cortex-M4内核的ADSP-CM40x系列混合信号控制器。
今天,就为大家介绍ADI的一款具有业界最快主频,集成了双路同步采样的16位高精度类比转换器(ADC),基于Cortex-M4内核的混合信号微控制器——ADI ADSP-CM408F。目前可以在ADI的官方在线商城订购此款微控制器的评估套件包括两种ADSP-CM408F EZ-KIT和ADSP-CM408F EZBRD,区别就是前者套件内增加了J-link仿真器。爱板网此次购买的就是ADSP-CM408F EZ-KIT,价格要到二千多元人民币。
ADSP-CM408F EZ-KIT
ADSP-CM408F EZ-KIT开发套件的配件异常丰富,包括:
各种型号的USB转接头,各样的电源适配器插头,高质量的线缆,以及配备的J-Link LITE调试器可以让用户轻松应对不同环境下的使用,快速可靠的搭建ADSP-CM408F开发平台。ADSP-CM408F EZ-KIT评估板重点来了解下板子的功能,ADSP-CM408F评估板第一眼给人的感觉是挺复杂的,板载IC器件特别多,外设接口也非常丰富,通过ADI的硬件文档得知,CM408F评估板为10层板设计,长宽约146mm*107mm大小,板卡四角有四个定位孔,搭配四个支撑柱很好的保护了板卡背部的元器件以及接口。板卡正面的段式LCD显示屏通过10pin的排针接口与主板相连,取下屏幕后即可看到板卡正面的整个概貌,见下图。
ADSP-CM408F评估板正面
ADSP-CM408F评估板背面
ADSP-CM408F评估板硬件系统框图
ADSP-CM408F评估板板载资源:
通过板卡的硬件系统框图,我们可以清楚直观的了解ADSP-CM408F板卡的硬件功能,这里想重点说一下评估板的几个特别之处:
除此之外,板载的其它功能包括我们常见的便于产品开发的液晶显示模块、USB OTG FS等;常用于工业控制的太网口、RS232串口、RS485接口、CAN接口等,当然这些功能的实现归根结底在于搭载了一颗功能丰富强大的ADI ADSP-CM408F混合信号控制器。
ADSP-CM408F混合信号控制器
众所周知,ARM Cortex-M4处理器与前几代M系列产品最大的不同之处在于带DSP单元,具有浮点运算功能,这种高性能的平台是专为满足需要有效且易于使用的实时控制和信号处理功能混合的数字信号控制市场,而ADI凭借多年来在DSP上累积的经验,无疑将这颗基于Cortex-M4内核的混合信号控制器ADSP-CM408F“加工”到了极致,除了浮点运算单元外,还集成了硬件加速器,如Sinc滤波器以及谐波分析引擎,见下图。
ADSP-CM408F微控制器
ADSP-CM40x系列微控制器系统框图
ADSP-CM408F微控制器特性:
评估板上搭载的ADSP-CM408F微控制器隶属 ADI ADSP-CM40x产品系列,此系列产品同样包括了更精简外设的CM402F、CM403F、CM407F以及功能更为强大的CM409F系列(各产品的功能对比参考下图)。ADSP-CM40x系列产品
和其他基于Cortex-M4内核的微控制器不同的是,ADI ADSP-CM408F系列产品上我们能看到极为鲜明的闪光点:
这里将着重介绍下ADSP-CM408F有别于其它品牌微控制器的两个重要特点:SINC滤波器模块以及谐波分析引擎模块(HAE)。
ADSP-CM408F微控制器集成的SINC滤波器模块均为完整电机电流反馈子系统的一部分,如下图简易框图所示。
电机控制简易框图
该系统包含了分流器、调制器(用于数字化和隔离信号)、SINC滤波器模块等,SINC滤波器模块由4对SINC滤波器组成,可直接通过DMA将数据传输至存储器。在电机控制中,SINC滤波器模块主要具备主、从两个功能:
谐波分析引擎模块HAE本质上等同于一个数字PLL,其简化的原理图可以表示如下
HAE简化的数字PLL原理框图
在ADSP-CM408F微控制器中,HAE的输入频率范围为45Hz~65Hz,HAE模块会以8kHz的采样速率连续接收电压数据和电流数据( V 和 I 数据可以来源于ADC或者SINC滤波器),然后进行处理,输出包括电源质量的基本数据(HAE信号处理框图如下所示),HAE模块一次可处理12个谐波数据。
HAE信号处理框图
基于ADI ADSP-CM408F微控制器的电机控制应用
相比ADSP-CM408F微控制器的特点,人们无疑会更关注如此强大的混合信号控制器可以应用在哪些领域?毫无疑问,最优推荐的当然是电机控制,如下图
传统的伺服控制中,经常会采用DSP负责控制算法,FPGA负责SINC滤波以及I/O扩展这样的架构。但是这样的设计,系统复杂,成本消耗大。而基于高性能的Cortex-M4处理器,集成高精度ADC,尤其是加上内部集成的SINC滤波器模块的支持,ADSP-CM408F可以一颗芯片覆盖全部的功能。
SINC滤波器信号可以直接与用于分流电阻式电流检测系统架构中的隔离式ADC转换器连接,功能等同于将滤波算法“实体化”,过去商家需要外挂一颗现场可编程逻辑阵列(FPGA)来置入软件代码算法来实现此功能,而采用ADSP-COM408的设计方案就等同于节省了以FPGA实现同一功能所需的成本和工程资源,同时也简化了电路的设计。
ADSP-CM408F EZ-KIT评估板上电试用
看完ADSP-CM408F评估套件以及CM40x系列微控制器的特点、应用后,不妨实际上电体验一下评估板。使用前一些必要的准备工作如下:
ADI ADSP-CM408F评估板自带的是一个POST(Power-On-Self-Test)自检程序,上电后可以看到4个用户LED呈快闪状态,此时板卡处于自检待机状态中,实物连接图如下:
Power-On-Self-Test自检程序
此时可以通过PB1和PB2的按键操作实现评估板的标准循环测试或者某个单独功能的测试,实际操作步骤可以根据官方提供的自检程序说明文档来完成,这里不再一一介绍。
POST自检例程说明
除了自检程序,官方提供了几乎所有功能单元的例程,我们都可以通过IAR IDE软件,J-Link Lite仿真器进行编译、下载、调试,比如下图中通过I2C接口实现液晶屏幕的显示
官方例程参考
I2C接口显示程序
关于ADSP-CM408F评估套件更详细的上手使用将在爱板网的经验频道中一一介绍。除了官方提供的例程使用,如果更进一步可以配合马达的电源驱动板卡,实现对伺服电机的控制,如下图分别为在低压平台以及高压平台对马达的控制。
低压驱动平台
高压驱动平台
小结
本文介绍了ADI ADSP-CM408F评估套件以及CM408F微控制器产品的特点以及应用,基于强大的240MHz的Cortex-M4内核,集成16位高精度ADC,整合了SINC滤波器模块、谐波分析引擎(HAE)模块等功能,再加之完整的开发工具链以及强大的技术支持,保证了ADSP-CM408F在高性能、高精度电机控制等实时控制领域中的广泛应用。