加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
申请入驻 产业图谱

MCU+可编程逻辑:从Microchip、TI C2000到AG32

01/02 08:44
482
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

竞争激烈的MCU市场,迫切需要差异化的创新产品。为了能够从众多竞争者中脱颖而出,MCU产品一直在不断添加新“技能”,以适应市场环境的新要求。

特别是在MCU内核趋向同质化的时代,厂商为了增加卖点,在MCU外设功能上做了很多文章,存储器定时器、模拟外设、通信接口,甚至是射频收发器,都有厂商集成到MCU里,现在市面上销售的通用MCU产品,在外设上也已经几乎看不出什么差异化了。

MCU和以FPGA为代表的可编程逻辑,是两个特性迥异的开发平台:前者是在通用CPU架构的基础上,通过软件编程去满足不同应用的设计要求,具有较高的灵活性和可扩展性,不过代价就是在性能和功耗上有所折中;而后者由于具有硬件可编程特性,开发者可以根据应用“定制”所需的硬件电路,在性能和功耗上自然更胜一筹,不过开发门槛相对较高。两者如果能够有效地结合起来,那么就有可能成为兼具灵活性和⾼能效的异构平台。

MCU+FPGA(CPLD/CLB)的独特结合,可以为开发者带来诸多好处:

首先,集成到MCU的可编程逻辑,是通过硬件的方式实现逻辑功能,在性能上明显优于“通用MCU+软件”的模式,有利于优化嵌入式控制系统的速度和响应时间,提升整体的系统性能。而且由于在系统设计时,无需增加额外的外部逻辑器件,还可以降低BOM成本,可谓是一举两得。

其次,作为独立于CPU内核的外设,可编程逻辑模块可以在MCU处于睡眠模式时运行,以响应和处理来自外部和内部的任务,更大限度地降低MCU的功耗。可编程逻辑还可以与其他外设(如定时器、ADCPWM模块等)结合使用,进一步优化系统功耗性能。

此外,可编程逻辑还有助于MCU实现更强的可扩展性。在实际工作中,随着需求的变化,设计的调整在所难免,而MCU所具备的可编程逻辑功能,使得开发者无需“从头再来”彻底修改整个设计,就能够通过灵活的硬件编程快速完成设计迭代,简化整个设计流程。

业内经典的产品有这些:

1、Microchip的PIC16F13145 系列MCU

作为一款8位MCU,与传统不同,PIC16F13145系列的外设中,除了ADC、DAC、比较器和定时器等这些“常规”配置,还有⼀个特别的可配置逻辑块(CLB)模块。

CLB由32个基本逻辑元件(BLE)阵列(每个BLE都能够模拟AND / OR / NAND / NOR门)以及缓冲器/反相缓冲器、D触发器JK触发器多路复用器或四输入LUT构成。这意味着,开发者可以利用CLB直接在MCU内创建基于硬件的定制组合逻辑功能,实现自己想要的硬件电路,而不受通用MCU固定硬件架构的限制,就好像在MCU中添加了⼀个“微型FPGA”。

十多年前,Microchip就曾在其MCU中引入了⼀种被称为可配置逻辑单元(CLC)的可编程逻辑外设,这一设计思路的价值已经被市场所验证。随着实际应⽤中对更复杂的可编程逻辑需求的增加,终在PIC16F13145系列中演化出了CLB这个规模更大、更复杂的可编程逻辑块,完成了⼀次重要的迭代升级,也使得该系列MCU能够⽤于以往属于独立可编程逻辑器件的应用领域。

PIC16F13145 系列MCU的开发, 可以得到MPLAB® 代码配置器(MCC)的支持,MCC是Microchip的MPLAB X IDE中⼀个免费软件插件,为开发者提供了⼀个基于GUI的简便开发界面,用于配置器件和片上外设(包括CLB)。CLB所需的⾃定义逻辑配置可通过MCC创建原理图,因此大大减少了开发时间,而且用户可以使用硬件描述语言(Verilog)作为开发语言,增加了开发的灵活性。

2、TI的C2000系列

C2000一共有三代产品,有人叫它MCU(微处理器),有人叫它DSP数字信号处理器),不过官方还是把这款产品规划到了MCU之下。

C2000 的可配置逻辑块 (CLB, Configurable Logic Block),这是C2000在系统架构上值得称道的一大创新点。在C2000芯片的内部创建了一种灵活的自定义逻辑机制,用户可以利用其在MCU内部的硬件中添加个性化的定制逻辑电路。

有些应用利用 FPGA 来实现时序关键型功能或特殊功能,例如电机应用中的编码器。为了满足这种需求,TI 开发了可配置逻辑块 (CLB) 解决方案。使用 CLB 实现不同的编码器,例如绝对编码器、T-format 等。C2000 在 CLB 中提供了许多编码器示例,同时允许客户创建自己的解决方案,还使用 CLB 实现有源 EMI 滤波器等创新解决方案,从而减少数字电源应用中的 EMI。

CLB 将一个经优化的高速可编程逻辑集成到 C2000 MCU 等实时控制器中,为增强型脉宽调制器 (PWM)、增强型捕捉、增强型正交编码器和通用 I/O 等关键外设提供智能的信号输入/输出 (I/O) 路由功能,最终成为具有系统级差异化特性的增强版知识产权 (IP) 模块。

工程师们在利用单片DSP的情况下,有更大的自由度去实现一些复杂的逻辑,减少外围的逻辑门。从一些应用实例来看,CLB可以直接支持市面上大多数编码器的接口协议,包括EnDat2.2,BiSS, 多摩川T-format,其余的,比如尼康、松下,还是要自己去开发。使用CLB可以省去少一块解码芯片,可以从整个BOM上节省成本。

3、AGM的AG32系列

AG32芯片内置两部分硬核:MCU(RISC-V)、CPLD(2K)。也就是说,一颗AG32芯片,即包含一颗 32位MCU 的功能(最高 248M 主频),又包含了一颗 CPLD(2K 逻辑单元)的功能。

MCU部分可以平替市面上多数流行的芯片(如:ST系列)

CPLD可以辅助增加MCU无法实现的芯片功能(如:新增外设、实现高速逻辑)

通过CPLD,还可以新增自己独有的功能,相当于“定制自己的MCU”。

AG32的两部分是相互独立的(各自编译、各自下载),但又可以相互连通起来(信号连通)。在开发生态上,AG32采用最流行的VSCode开发环境对MCU和CPLD进行编程和烧录,辅助AGM自研的Supra工具来对CPLD生成最终的bin。

此外,在AG32中,MCU和CPLD和外部引脚,三者是相互独立的。这样做的好处是AG32的所有管脚几乎都可以通过软件重新配置,无形中增加了GPIO口的可用数量,大大提升了客户的灵活度。

客户使用AG32的芯片时,有三种选择:

1)只使用 MCU部分;

2)只使用 CPLD部分;

3)同时使用 MCU和 CPLD(即:MCU和 CPLD联合编程);

以上产品将可编程逻辑外设功能与MCU架构相结合,在继承MCU固有优势特性的同时,又带来了更佳的性能、低功耗特性和可扩展性,在实时控制、数字传感器节点,以及工业、消费和汽车等细分市场,为嵌入式开发者提供了全新的想象空间和开发体验。

相关推荐