使用低成本FPGA巧妙地扩展微处理器的连接
扫描二维码
随时随地手机看文章
微处理器连接的挑战
在现代电子系统设计中,微处理器是不可缺少的一个部件。然而,随着系统变得越来越复杂,拥有更广泛的功能和用户接口时,使用中档微处理器的系统架构在连接一个或多个微处理器时面临着三个关键的挑战:
•运行超过150个通用I/O(GPIO);
•在100至150个GPIO范围内
寻找符合成本效益的解决方案;
•匹配系统所需要的I/O外设。
采用FPGA(现场可编程门阵列)可以很容易地应对这些挑战,在过去10年里,FPGA的成本和功耗已经大幅下降,使它们非常适合于各种大批量、低成本的应用,包括移动电子产品。
微处理器连接的回顾
对中档微处理器的回顾揭示了三种常见的连接特性。首先,大多数系列GPIO的数量被限制在100和150之间;其次,每个GPIO的价格曲线不是线性的,通常在100个GPIO左右时,每个GPIO的成本迅速增加;第三,虽然大多数微处理器提供一些连接外设,如UART、SPI和I2C,但外设的数量和可用的组合是有限的。
图1展示了源于美国分销商的信息,针对两个通用的中档微处理器,一种基于ARM M3内核,另一种ARM M4内核,图中说明了GPIO选择的典型范围和与之相关的小批量的定价。这两个系列都显示出在100个GPIO附近的价格拐点,以及总的GPIO所受的限制。
FPGA技术的回顾
在过去的20年中,FPGA技术提供了一种能够快速实现连接扩展的方法,但这些器件的成本和功耗限制了这种方法的应用。尽管如此,FPGA的功耗和成本的降低充分地证明了摩尔定律。在1995年,相当于现在的256个查找表(LUT)FPGA的成本超过50美元。而现在有此功能的最新器件的成本仅为0.50美元。功耗的改进同样可观。对于示例的器件,在1995年典型的静态功耗为0.5W,如今已降至的50μW。这些趋势如图2所示。
图1 中档微处理器I/O的选择
图2 FPGA成本相对于功耗的趋势
图3 低成本FPGA的I/O特性
低成本FPGA提供了众多的I/O数。例如,莱迪思超低密度MachXO2提供了从22到超过250个I/O的数量。如图3所示,对应I/O范围的价格是相当线性的,根据一家美国分销商的信息,图中示出了小批量的价格。
除了逻辑和I/O之外,MachXO2提供了一些可以帮助建立功能的模块,以便扩展微处理器的连接。这些包括嵌入式RAM块(EBR)、锁相环(PLL)和提供固化模块的嵌入式功能块(EBR),诸如SPI、2×I2C,以及定时计数器和用户闪存。
接口的实现方法
微处理器连接的主要方式是UART以及SPI和I2C总线。绝大多数的中档微控制器提供了数量有限的这些大量使用的接口。图4指出了前一节中重点所述器件所提供的这些接口的数量。
当一个设计所需的接口数量比微处理器所能提供的更多时,设计师可以采取两种常用的方法:
•微处理器控制GPIO(称为位拆裂)
•在FPGA中用硬件实现
位拆裂方法有三个明显的缺点:首先,接口操作的速度可能被限制到低MHz范围,微处理器无法快速地控制I/O引脚的状态;其次,由于额外的工作量和微处理器可以保持在低功耗睡眠模式的时间的减少,微处理器的功耗增加了;第三,由于微处理器本质上是有限的时序精度,除了采用非常低的速度,实现异步UART型接口变得不可能。
一片综合的FPGA实现这些接口可能用大约250个LUT,用优化版本实现约100个LUT。根据所用FPGA的功能,在适当的组合下可以轻松实现数10个额外的接口。由于FPGA的硬件性质,执行速度高达几十MHz是很容易实现的。FPGA中还可以实现缓冲和智能中断,可以允许微处理器有更多的时间处于睡眠模式下,以便降低整个系统的功耗。
巧妙实施连接扩展的实例
通过对微处理器和FPGA进行巧妙地配置连接,设计师可以在他们的系统中实现所需的连接,同时降低整体成本。图5中使用之前所述的价格数据对采用这种策略的成本进行了调查。可以看到通过最大化地利用FPGA,连接扩展成本可以减少24%至34%。
低成本、低功耗FPGA让您可以重新考虑系统的划分
在过去的15年中,FPGA的成本和功耗下降了2个数量级。这些改进特性使设计师能够重新思考如何实现微处理器的连接。通过对FPGA和微控制器之间的巧妙配置,现在设计师可以降低成本和功耗,同时提高性能和灵活性。
图4 微处理器可用的接口
图5 巧妙实施系统配置的实例