打印
[DSP编程]

通过新外设CLB猜测TI C2000的发展方向

[复制链接]
702|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sphinz|  楼主 | 2020-10-28 21:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

关注公众号【C2000小百科】了解更多关于电机控制和C2000的内容。

TI在28004x,2837x,28002x,2838x等最新一代的器件上集成的新的外设模块叫CLB(Configurable Logic Block)。

官方的介绍如下:

“C2000可配置逻辑块(CLB)是可配置块的集合,可使用软件互连以实现自定义数字逻辑功能。CLB能够通过一组X-bar连接来增强现有的外围设备,如ePWM、eCAP、eQEP。X-bar还允许CLB连接到外部GPIO引脚,通过这种方式,CLB可以被配置为与外设交互以执行小的逻辑功能,例如简单的PWM发生器,或者实现定制的串行数据交换协议。”

本质上是将FPGA的一些功能集成到了DSP当中,其最大的好处是能够对EPWM、ECAP、EQEP以及外部输入部分信号进行逻辑处理,将输出的信号给到EPWM、XBAR以及别的模块当中。这使得工程师们在利用单片DSP的情况下,有更大的自由度去实现一些复杂的逻辑,减少外围的逻辑门。从一些应用实例来看,CLB可以直接支持市面上大多数编码器的接口协议,包括EnDat2.2,BiSS, 多摩川T-format,其余的,比如尼康、松下,还是要自己去开发。

使用CLB可以省去少一块解码芯片,可以从整个BOM上节省成本。最为强大的F2838xD简直就是就是巨无霸,集成了2个C28x内核和2个CLA和1个Cortex-M4内核,EMIF,CAN模块,EtherCAT,以太网和MCAN(CAN-FD)等外围设备可扩展F2838x的连接性,完全可以实现单芯片高性能的PMSM伺服驱动。可以省去EtherCAT芯片、FPGA和解码芯片,这一颗高达$15.38的芯片也就显得没有那么贵了。但是这样对产品的定义就要非常准确,对于系统和终端产品也需要有足够的认识。这样的芯片开发思路也值得国内半导体公司参考。

现在ARM内核MCU同质化严重,价格也拉的越来越低,而最便宜的C2000芯片都没有低于1.5美金的。整个TI对毛利率的要求又很高,所以这两年C2000产品线的日子并不好过,在C2000传统的应用领域,如家电、通用变频器、电源等也被ARM内核MCU挤压。TI也只能通过更高集成度的外设尽可能提供差异化的外设和芯片,从系统上节省成本,同时保证产品的毛利率。笔者大胆猜测C2000以后的发展方向如下,娱乐为主,莫当真。

  • 升级工艺,推出低价产品,死守传统的优势应用,如变频空调、通用变频器等;

  • 继续走高端路线,推出更高集成度的产品,重点在机器人控制、伺服驱动、新能源汽车等应用领域;

  • 持续加码功能安全,抱紧特斯拉;

  • 新的内核,指令精简,门电路少,die的尺寸小了成本也就下来了;

  • 持续推出参考设计,把C2000当成“工具人”推广模拟器件(还是模拟器件的毛利高啊!!!)。



下面来点正经的,我们看看CLB有什么特点,能做点什么。

           

            

C2000的28004x中CLB共有4个Tile,4个Tile各自独立。每个Tile中分别含有3个计数器(Counter Block)、3个有限状态机(The Finite State Machine Block)、3个查表模块(Look-Up Table Block)、8个输出查表模块(Output Look-Up Table Block)以及1个高级控制器(High Level Controller Block)。

CLB 是可由 CPU 通过配置寄存器进行配置的可编程逻辑基元、输入和输出多路复用器的集合。CLB 模块具有可选的输入和输出信号,这些信号连接选定的控制外设(增强型脉冲宽度调制器 (EPWM)、正交编码器脉冲 (QEP) 和增强型捕捉 (ECAP))内部。根据逻辑基元的配置方式,自定义逻辑作用于来自控制外设内部的输入信号,产生结果送到输出信号,然后把信号回注入到控制外设内的选定位置。进入和离开控制外设的原来的输入和输出功能不受 CLB 的影响,只有内部信号能被修改。此方法可以修改所选控制外设的操作,或将其完全替换为全新的自定义外设(当在外设边界处分接输入和输出时)。请注意,即使用 CLB 逻辑完全替换了控制外设的内部,外设边界处的输入和输出也不变(相关的通用输入/输出 (GPIO) 功能也是如此)。

           

           

CLB的开发是使用CCS9.0的插件Sysconfig图形用户界面来配置和开发,然后会生成一个C头文件和C源文件,包含一组与用户在 GUI 中定义的配置设置相对应的常量。通过一系列寄存器加载操作将这些常数加载到 CLB 寄存器中,从而初始化 CLB 模块。器件初始化期间必须调用该 C 源文件中的函数。

           

            

具体使用步骤可参考《CLB 工具》https://www.ti.com.cn/cn/lit/ug/zhcu712/zhcu712.pdf

定义 CLB 配置和输入激励之后,用户可以编译项目。完成 post-build 步骤之后,将生成“CLB.vcd”文件。假设已经完成了波形查看器配置,双击该文件应打开查看器并允许检查波形。下图显示了设置为显示输入波形样本的 GTKWave 查看器。

           

            

在《CLB 工具》这个中文文档中也介绍了很多应用的小例程,比如状态机、计时器、中断标签、输出相交等。但是,具体到实际的应用,需要开发人员首先弄清楚信号的输入输出以及相互的关系,能把相关时序图先画出来,这样才能开始基于CLB做出想要的功能。

TI也提供了几个实际应用的例程,如下:

  • PTO脉冲串输出的例程,这个可以在C2000ware中找到,实现的是PTO分频输出的功能。


           

            

  • 多摩川绝对值编码器的参考设计。


Tamagawa T-Format Absolute Encoder Master Interface Reference Design for C2000 MCUs

https://www.ti.com/tool/TIDM-1011

            

为了便于中国工程师开发入门,TI也比较贴心的把文档翻译成中文,主要核心文档有:

CLB 工具

https://www.ti.com.cn/cn/lit/ug/zhcu712/zhcu712.pdf


使用 C2000™可配置逻辑块 (CLB) 进行设计

https://www.ti.com/cn/lit/an/zhca963/zhca963.pdf


如何将 FPGA/CPLD 中的自定义逻辑迁移至 C2000™微控制器

https://www.ti.com/cn/lit/an/zhca964/zhca964.pdf


免责声明:本文部分内容来自网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。

如何配置C2000进入低功耗模式使用CCS连接正在运行的C2000芯片CCS奇怪现象如何解决

TMU介绍及使用方法

三相电机控制方式入门,看完这一篇就够了

TI eSMO 库 Fsmopos 和 Gsmopos 参数解析

增量式旋转编码器工作原理




关注公众号【C2000小百科】了解更多关于电机控制和C2000的内容。

使用特权

评论回复

相关帖子

沙发
zhangmangui| | 2020-11-15 17:46 | 只看该作者
常来论坛分享  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:鸵鸟蝈蝈

1

主题

40

帖子

1

粉丝