XMC4700 Relax 5V shield 评测2

接上文。这里近距离的看看XMC这颗片子。例子在XMC_Peripheral_Library_v2.1.16\XMCLib\examples\XMC4800_series中可以找到一些。运行效果我就不贴了,贴出来太多太琐碎,意义不大。

XMC4700 RelaxKit for 5V Shield小板上配备的XMC4700F144K2048是一颗强力的MCU,参数和性能在主流MCU市场上并不落下风。

XMC4700 Relax 5V shield 评测2

这颗LQFP封装的XMC4700包含了2M Flash和352KSRAM。其中352K的SRAM由96K代码SRAM(PSRAM)和256K数据SRAM(又划分为系统sys/DSRAM1和通讯comm/DSRAM2,好复杂)组成。如此划分组成的区别在于不同区段SRAM的校验位数和校验粒度。

  XMC4700配备的CortexM4内核标称运行频率144MHz。内核包含DSP扩展、浮点数扩展与内存保护扩展。一如前文所述:“Cortex大量蚕食中、低端市场使得这部分Level的产品趋向雷同” ,这样的内核配置放在主流Cortex内核芯片中表现中规中矩。

从MCU的应用角度看,相同制造工艺和水平的TriCore与Cortex内核差异,我个人认为不足以引起硬件和外部环境适应上的明显偏差,比如抗干扰能力。

  内核的不同在计算能力上确实会导致计算效率的差异,但是MCU在广泛的面向控制的市场上,大部分的场景和实时程度要求不会有针对MCU内核的明显的选型趋向。

Cortex产品的一致性泛化,导致厂家着重在应用方面下功夫。英飞凌作为工业电子的翘楚,发力点自然也更关注在采集、控制、通讯等工业相关方面。流行的视频、LCD、编解码等功能几乎不见于英飞凌的产线,以此可见德国人对产品自身定位的严格界限。从UserManual的目录组织也可以明显的看出定位分类。

XMC4700 Relax 5V shield 评测2

  XMC4700配备英飞凌特有的ERU,EventRequest Unit。看名字可猜得三分,该模块用于模块之间信息的直连直通,名字参考经典的WEB架构:请求Request / 服务Service。

  模块模型如下:

XMC4700 Relax 5V shield 评测2

直观的看各种事件Event发生器发出请求Request,这些Req经过选择,合并/排除,逻辑组合,最后触发服务Service模块予以相应,整个过程中无需内核参与。

 

ERU有点类似event dispatch这样的机构,在英飞凌手里做了强力扩展,是一个可以极大提升功力的模块。

通讯方面配备了用于简易人机交互的LED和触摸模块LEDTS,用于大量(相对于片内Flash)数据存储的SD/MMC接口SDMMC,用于外扩SRAM/Flash的扩展总线接口EBU,802.15.4网络接口ETH,USB,用于USART,LIN,SPI,IIS,IIC的通用串行传输协议接口USIC,CAN总线接口。如果是XMC4800的话,还有EtherCAT节点接口。可以看出XMC4700的接口从局域网到广域网,从总线到点对点,几乎含盖了绝大部分常见通讯场景。

这些模块功能上也中规中矩,可能和通讯场景中几乎都有相关标准的限定有关,也可能是我没看到。

有意思的是USIC,通用串行传输协议接口将过去常见的分离功能USART,LIN,SPI,IIS,IIC统统抽象合并到一个模块中,资源最大程度的共享和复用。前几年在论坛里和某版主交流的时候问IO如何抽象,我就说可参考英飞凌的USIC。(这样的能力并非英飞凌唯一,可是能做到这么多功能的合并,英飞凌无愧NO.1。)

模拟前端模块不用多说,论坛里很多模拟工程师天天都要打交道的东西: SAR ADC,DAC,还有一个Delta-Sigma ADC解调器(前面需要DS调制)。

模拟端不像通讯模块那样各种标准的条条框框,这片领域中英飞凌表现出自己的特色。可是短时间的评估并不能深刻的了解这些模块,为了不乱扯胡说,干脆Delta-Sigma ADC 和 DAC跳过不提,单看看最大12bit分辨率的VADC。

  性能参数表几个常用指标如下:

XMC4700 Relax 5V shield 评测2

功能上先上一个图

XMC4700 Relax 5V shield 评测2

实现三种不同采样策略和唤醒优先级的采样模式:Queue,Scan,Backgroud,里面可以有循环采样,顺序采样等各种采样策略。

采样后端可做窗口平均、FIR/IIR滤波、限值比较等。

为何这里我单独把VADC拿出来说到说到?这个模块有点意思。上面看到采样可以顺序可以循环,可以抢占,这样的形式近似的表达了一种“ADC采样语法”(这TM是我自造词),这种“语法”形式上可以表达不受限制(或者绝大多数)的应用场景。VADC的后端预处理,再加上前面说的ERU消息矩阵的协助,可以很大程度上简化MCU在模拟采样上需要处理的工作,MCU很轻松。

控制模块主要有位置编码和计时比较器组成,这部分的核心内容是Timer计时器。可能Timer表达的场景显少,所以德国人用了Capture/Compare来表达这个功能。不过不要紧,反正核心内容就是Timer计时器。

CCU4主要和POSIF配合做旋转编码、霍尔等信息采集;CCU8的功能最为强大,控制常用的PWM由它产生,和POSIF配合做多相控制。

 

CCU8上的死区时间控制、门开关控制、触发控制等出现于常见的计时器中,与VADC,ERU等组合,可完成很多复杂控制:

XMC4700 Relax 5V shield 评测2

以上为例,这些模块几乎是从英飞凌传统的C166和TriCore芯片中提取、升级出来的,与英飞凌MCU的主线一脉相传,甚至如VADC、CCU8的功能比前辈C166和TriCore更加强大。C166和TriCore的ADC功能几乎完全进化成了强大很多的VADC,它们配置的CCU6更多的也是定位在MotorControl(看名字6比8就小了2个档次)。



XMC4700是一颗全身扎根工业控制的MCU,资源大小适中,功能配置覆盖全面,无多余。出身英飞凌这个工控世家,工业环境的场景适应无疑比大多数MCU厂的产品起点更高。

XMC4700 Relax 5V shield 评测2

XMC4700 Relax 5V shield 评测2


长按下方二维码加微信号helloeeworld为好友,注明EEWORLD论坛账号+职业和感兴趣的方向,经审核通过即会被拉入不同领域建立的微信交流群。

XMC4700 Relax 5V shield 评测2