我正在和一个小组一起做一个项目,我负责项目的数字部分,所以我将编写代码。要从模拟到数字,我必须选择一个微控制器。
我正在查看 TI 微控制器,发现它们有很多。他们有:
群星
大力神
MSP430 系列
名单还在继续..
我的问题:
使用哪种微控制器,为什么?
在什么情况下我应该使用微控制器 X 而不是 Y ?
为什么有这么多不同的微控制器?
我正在和一个小组一起做一个项目,我负责项目的数字部分,所以我将编写代码。要从模拟到数字,我必须选择一个微控制器。
我正在查看 TI 微控制器,发现它们有很多。他们有:
群星
大力神
MSP430 系列
名单还在继续..
我的问题:
使用哪种微控制器,为什么?
在什么情况下我应该使用微控制器 X 而不是 Y ?
为什么有这么多不同的微控制器?
我是一名 TI 员工,在 MCU 开发组工作,但这不是 TI 的官方声明。特别是,这不是关于路线图或优先事项的官方声明。另外,我不是营销人员,所以如果我与我们的任何营销材料相矛盾,他们是对的,我是错的。:-)
M D 的答案是正确的,但我认为更多细节会有所帮助。TI 针对具有不同要求的不同应用。当您竞争 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 个结果时,很高兴知道约束在哪里。
识别设计中的瓶颈并尝试解决它们始终是一个好主意。开发板可以是一个很好的“动手”体验,可以根据 CPU 时间、内存要求和微控制器可能具有的“怪癖”来测试您的代码。