解决嵌入式设计中信号和接口太多带来的挑战
Posted 11/07/2017 by Joel Coplen
在基于最先进的微控制器和嵌入式处理器构建设计时,工程师们往往会遇到共同的挑战:没有足够的I/O和接口。现在的嵌入式系统对于实时数据和控制功能的要求要比以往任何时候都来得高。I/O要求可能包括支持通过I2C和SPI连接传感器以及用于电机控制的脉宽调制(PWM)输出、边带中断和复位等信号。但很多时候您的嵌入式系统是独一无二的,要在处理资源、I/O、外设与嵌入式处理器等多方面实现完美的匹配难度极高。
低密度、I/O密集型FPGAs能够很好地解决这一挑战。这些器件提供的I/O支持各种可编程配置,如开漏、电流驱动、信号标准(LVDS或LVCMOS)。系统设计工程师可以使用这些配置来实现I2C、MIPI D-PHY、I2S和其他信号协议。可编程I/O配置与诸如锁相环(PLL)和可编程延迟元件等高级功能的结合,使得设计工程师能够实现双倍数据速率(DDR)协议和其他源同步协议(如7:1 LVDS)。
将FPGA中的可编程逻辑和存储器块与I/O相配对,可用于实现信号聚合、接口复用、数据缓冲等功能。这些功能是传统CPLD粘合逻辑功能的发展方向。FPGA的并行硬件执行能力在实现这种系统时具有很大的优势,预测通过FPGA进行的所有操作的延迟是可以实现的。
就拿控制某些系统中支持混色和调光效果的大量状态LED来举个简单的例子。RGB LED通常需要至少3个高分辨率PWM信号来实现这些效果。包含10个这种LED的系统将需要30个专用PWM信号,这就很有可能挤占嵌入式微控制器的可用资源。
在这种情况下,工程师可以使用低密度FPGA来实现PWM模块以及到嵌入式微控制器的灵活接口(如SPI)。系统设计工程师可以在FPGA中定义和实现一组灵活的控制寄存器,用于驱动预定义的颜色和配置调光效果等。带有嵌入式用户闪存的FPGA可以使用闪存与来存储与LED性能相关的校准信息,使用简单的查找表实现颜色校正功能,进一步增强这些应用。
MachXO3FPGA系列是上述应用的最优选择。大量灵活的可编程I/O和优化的逻辑资源使得MachXO3器件成为解决当今嵌入式设计挑战的理想解决方案。MachXO3系列中的MachXO3-9400器件,在10K LUT级领域提供业内最多的I/O数量。为您选择的微控制器或嵌入式处理器添加上述器件可解决I/O和接口不足的问题,从而让您专注于独特的设计需求。