为什么 TI 有这么多微控制器?

电器工程 微控制器 德州仪器
2022-01-17 04:31:24

我正在和一个小组一起做一个项目,我负责项目的数字部分,所以我将编写代码。要从模拟到数字,我必须选择一个微控制器。

我正在查看 TI 微控制器,发现它们有很多。他们有:

  • 群星

  • 大力神

  • MSP430 系列

  • 名单还在继续..

我的问题:

  • 使用哪种微控制器,为什么?

  • 在什么情况下我应该使用微控制器 X 而不是 Y ?

  • 为什么有这么多不同的微控制器?

4个回答

我是一名 TI 员工,在 MCU 开发组工作,但这不是 TI 的官方声明。特别是,这不是关于路线图或优先事项的官方声明。另外,我不是营销人员,所以如果我与我们的任何营销材料相矛盾,他们是对的,我是错的。:-)

M D 的答案是正确的,但我认为更多细节会有所帮助。TI 针对具有不同要求的不同应用。当您竞争 MCU 插槽时(并且这个行业有很多竞争),功能和价格都很重要。十美分的成本差异可以赢得或失去插座。成本的主要驱动因素之一是芯片尺寸——芯片上有多少东西。因此,在这些产品线中拥有不同的产品线和不同的系列是有意义的。产品线的主要区别在于外设类型和架构,而同一系列产品的区别主要在于成本和功能集。

以下是有关产品线的一些详细信息:

  • Hercules 是 TMS470/TMS570 系列的延续。它专注于安全和性能。Hercules 的关键特性之一是双 CPU 并行运行相同的代码(“锁步”)。这使您可以立即检测 CPU 本身的故障。查看此数据表以获取有关较新产品的一些性能信息。Cortex-R5F CPU 的运行频率 >300 MHz,并且有大量具有高端功能的外设——例如,CAN 模块有 64 个邮箱。显然,这些东西并不便宜。但看看应用——除颤器、呼吸机、电梯、胰岛素泵……这些都是客户愿意为安全买单的地方。Hercules 还涉足温度范围更广、使用寿命更长的汽车产品。
  • C2000 的重点是支持控制算法。C28x“CPU”实际上是一个 DSP,它的指令集已被扩展为处理三角函数和复数之类的事情。还有一个单独的基于任务的处理器,称为控制律加速器 (CLA),它可以独立于 CPU 运行控制算法。ADC 和 PWM 也支持许多时序选项。性能从中端(Piccolo)到高端(双核 Delfino)不等。这里的主要应用是电源转换器、电力线通信、工业驱动和电机控制。
  • MSP430 是关于低功耗的。他们有一些使用 FRAM(铁电非易失性存储器)的产品,它比闪存使用更少的功率,甚至还有一种使用 0.9V(一节电池)的产品。他们有一些不太常见的外围设备来支持 LCD 和电容式触摸感应等功能。查看他们的数据表,您会看到远程传感器、烟雾报警器和智能仪表等应用。
  • 我对无线MCU组了解不多,但显然无线连接有它自己的特殊要求。他们似乎拥有 Cortex-M 和 MSP430 CPU,在消费电子产品和物联网中都有应用。一段时间以来,物联网一直是一个热门词,所以我想这是他们的主要目标之一。他们最新的 (?)产品被描述为“Internet-on-a-chip™ 解决方案”。更新: TIer justinrjy 同事评论了有关无线/连接 MCU 的更多信息:“‘无线 MCU’产品的区别在于具有运行无线协议的驱动程序/堆栈的处理器内核。例如,CC26xx 在uC 本身,使其非常容易开发。与 CC3200 相同,只是处理器在 Cortex-M4 上运行 WiFi 驱动程序。集成的内核和驱动程序确实使这些成为“无线 MCU”,而不是收发器。”

如您所见,这些产品线的目标是非常不同的应用程序,具有非常不同的要求。将 300 MHz Hercules 芯片放入电池供电的设备将是一场灾难,但将 MSP430 放入安全气囊也是如此。物理尺寸也很重要。337 引脚 BGA 封装很难装入微型传感器,但对于工业设备来说就不算什么了。

在产品线中,有多个系列。C2000 Delfino 器件速度更快,外设更多,封装上的引脚也更多。它们的成本(至少)是 Piccolo 设备的两倍。你需要哪一个?这取决于您的应用程序。MSP430 有一些产品可以平衡功耗和性能,而另一些则只关注低功耗。(单电池 MCU 的最大频率为 4 MHz 和 2 kB 的 RAM。)

每个家庭都有很多产品,因为新产品一直在开发。晶体管变得更小/更便宜,所以更多的东西可以放在芯片上。今天的中档 MCU 在十年前应该是超高端的。每个产品通常都针对一些特定的应用程序并在可能的情况下支持其他应用程序。

最后,每个产品都有多个变体(也就是零件编号中的最后一位数字)。这些通常具有不同的内存量,并且(可能)在可用的外围设备方面有微小的变化。同样,这一切都是为了提供一个价格范围。

简短的版本是每种产品在价格、性能和功能方面提供不同的平衡。这是简单的旧市场细分。我们的客户是制造商,他们比最终用户更关心微小的价格差异人们购买我们拥有的每一个零件号,所以很明显需求就在那里。:-)

更新: Jeremy 询问大客户的要求如何影响设计过程,以及我们是否制造定制 MCU。我见过几个为单个大型汽车客户制造的 TMS470/570 MCU。该小组还拥有几个 MCU,其架构是由一个客户设计并为一个客户设计的。在其中至少一个中,客户编写了大部分 RTL。这些都受到严格的保密协议限制,所以我不能提供细节。

一般市场产品通常至少有一个大客户。有时大客户会得到一个特殊的零件号。有时我们会添加一个外围设备只是为了赢得一个大套接字。但总的来说,我认为大客户在功能方面更像是地板而不是天花板。

定制零件的一个极端例子是我们的高可靠性组。我只听说过关于这些人的故事,但显然他们采用现有产品并对其进行改造以在极端条件下工作——高温、辐射、人们向你开枪等等。我认识一个购买 HiRel TMS470 用于井下钻探的人,那里的温度可以达到200C。(也许这个——Arrow 的库存仅 400 美元/芯片!)他们在网站上列出了一堆标准产品,但据我所知,他们甚至可以按订单生产少量——你如果您愿意为每个芯片花费 50,000 美元以上,则可以购买十几个 HiRel 版本的任何芯片。:-)

根据经验,如果你花足够的钱,商业中的一切都是可以协商的。

MSP430 是/现在是 TI 开发的内核。它是一个 16 位内核,并以极低的功耗销售。由于 16 位 MCU 市场随着 Arm Cortex-M0 的普及而迅速蒸发,因此出现了基于 Cortex 内核的更新的 MSP430。较旧的 MPS430 现在通常竞争 8 位插槽。

Stellaris,更名为 Tiva,是以前的 Luminary Micro MCU。那家公司可能在 6 或 7 年前被 TI 收购。这些是(是?)基于 Cortex-M3/M4 的设备。在大多数情况下,比 MSP430 更强大/更强大。

C2000(Piccolo/Delfino/etc.)针对实时控制(电机控制、电源转换/调节等)。该系列还具有低端 DSP 功能。更多地针对工业,也许还有一些汽车(为数不多的符合汽车标准的 TI MCU 之一)。

Hercules 专注于安全。冗余、运行时错误检查、BIST、大量看门狗功能。安全关键应用。

还有其他几个部分混合了一些特性和/或小众功能(即集成无线、双核、FRAM 等)。然后还提供功能更强大的 DSP 和微处理器。

你的应用是什么?体积?发展时间表?您需要哪些外围设备/资源?需要多少——以及什么样的——处理能力?您是否可以使用 MCU 的较低性能模拟外设,或者您是否会在外部/离散地进行所有信号路径处理?在为特定系统/应用程序选择处理器/控制器时有许多因素。

Microchip 是另一家拥有完整系列微控制器的公司——Digi-Key 库存超过 4,000 件,包括所有封装变体。与 TI 一样,它们的范围从 8 位到 32 位:

~2700  8-bitters: from 384 bytes Flash and 16 bytes RAM to 128 KB Flash and 4 KB RAM 
~1000 16-bitters: from 4 KB Flash and 256 bytes RAM to 1 MB Flash and 96 KB RAM
 ~500 32-bitters: from 16 KB Flash and 4 KB bytes RAM to 2 MB Flash and 512 KB RAM

请注意,最小的以字节为单位,而不是 KB。

它们的单件价格从 35 美分到 13.36 美元不等。我想价格最低的可能会大量购买不到 20 美分。未经测试的产品甚至可能是 10 美分(客户而不是制造商进行验收测试)。最便宜的 32 位 ARM 单件数量是 76 美分的两倍。对于大批量产品,这是一个很大的区别。PIC10F200 是Digi-Key 库存的近 15,000 个µC 中最便宜的。

Microchip 在维持其较旧的 µC 库存(在下面的产品选择器中列为“成熟”)方面也享有盛誉,这是另一件需要考虑的事情。

如何理解这一切?使用产品选择器。Digi-Key、Mouser等分销商都有不错的,但没有包含所有参数(Digi-Key的µC产品选择器不到20个,下表超过50个)。Microchip(我想其他制造商)有更广泛的,例如下面的那个。请注意,您可以为几乎所有参数指定范围:

在此处输入图像描述

现在随着 Microchip 对 Atmel 的收购,看看会发生什么将会很有趣。似乎在某些行中有相当多的重叠。

在不详细说明 TI 提供哪些产品(已在此处回答)的情况下,我想强调您需要规范。如果您没有它们,请假设识别它们是您的工作。如果您是新手,这可能有点让人不知所措,但让我们列举一些项目中可能出现的规范:

  • MCU会做什么?它受CPU时间限制吗?你会做一些像浮点一样的“特殊处理”吗?这将确定所需的 CPU 内核和时钟速度。

  • 还是受到电池寿命的限制?如果是这样的话; 您需要调查微控制器必须提供的待机模式、唤醒延迟、唤醒源、数字和模拟电压轨(例如,如果您直接从电池供电)等。此外,请注意所有 I/O在系统中也是如此。您可以拥有一个在睡眠期间消耗 50nA 的出色微控制器 - 但如果 LDO 或 EEPROM 消耗 10uA 静态电流,则可以忽略不计。

  • 您可以/需要使用什么软件包?多少针和什么技术?你有多少空间,你能组装什么?

  • 你要为它写多少代码?你知道你需要多少 RAM/FLASH 吗?开发板上的一些实践经验可以帮助解决这个问题。

  • 您需要在系统设计中使用哪些接口,以及您希望如何使用它们基本出发点:

1) 速度限制(例如我需要一个以 3MBaud 运行的 USART)

2) 端口数限制(例如我需要 5 个 USART)

3) 吞吐量限制(例如,我需要 DMA 向/从 USART 传输 2Mbps 的数据)

4) 观察系统中可能发生的任何“事件”以及您必须满足的延迟。例如,您可以轮询设备的警报引脚还是需要外部中断引脚?

无论您设计“自下而上”还是“自上而下”,这都是一个棘手的问题。如果您设计“自上而下”,您可能会发现此时系统设计认为没有具有 16 个 USART 的微控制器是理所当然的。

OTOH,如果您设计“自下而上”,您可能会选择您知道并熟悉的微控制器,但会发现它没有正确数量的 I/O,并且需要“胶合芯片”才能工作。

如果有什么; 让自己熟悉供应商的报价。当您将所有愿望输入参数搜索并获得 0 个结果时,很高兴知道约束在哪里。

  • 任何其他特殊限制?如前所述; 一些微控制器具有用于电源管理(高分辨率 PWM 模块)或安全性(冗余、确定性看门狗和复位周期等)的非常特定的外围设备。

识别设计中的瓶颈并尝试解决它们始终是一个好主意。开发板可以是一个很好的“动手”体验,可以根据 CPU 时间、内存要求和微控制器可能具有的“怪癖”来测试您的代码。