EDN China > 技术文章 > 微处理器与DSP > 正文
?

PSoC的动态重配置

2008年10月14日 ?? 收藏0

  赛普拉斯半导体公司推出的 PSoC 混合信号阵列 (PSoC Mixed Signal Array) 可实现 ASIC 与可配置 FPGA 的集成,同时还能帮助用户像使用熟悉的微控制器一样应用该技术。动态重配置 (Dynamic Reconfiguration) 是 PSoC 的众多功能之一,能帮助用户在运行过程中灵活地更改资源功能。凭借自动生成的系统调用,PSoC 的可配置模块能够变形重构以支持多种功能,从而可最大限度地减少元件数量、加速设计进程、缩小板级空间,并降低嵌入式系统的成本。在某些情况下,动态重配置功能甚至使设计人员能够实现 400% 的硅芯片利用率。

  动态重配置是指实时对硬件进行再配置,以确保多个应用之间可以共享资源。在众多系统中,不会同时使用所有硬件。例如,就一般的对讲机来说,发射模式下不会使用接收功能,反之亦然。因此,在一般通话过程中,对讲机上的某些资源并没有被使用。不过,如果我们让步话机电路支持动态重配置功能的话,那么我们就能让同一颗硅芯片既支持来自麦克风的声音捕获和发射,又能满足接收信号以及将接收信号通过扬声器广播出来的功能。这种即时重配置功能将实现资源利用率的最大化,从而可减少元件数量,进而降低成本。

PSoC的动态重配置

  多年来,微控制器实现了高度的集成,并且能够集成多种外设。在许多情况下,微控制器上集成的众多功能往往很少使用,甚至从未被用到过。我们不妨以烟雾检测器为例来说明。烟雾检测器中的微控制器用 ADC 来监视电离室,但并不使用定时器和通信接口等资源。同样,如果发生了火灾,电离室的电压输出会下降,这时微控制器就不再需要 ADC 资源了,而需要通过PWM 输出让扬声器系统发出告警。微控制器将需要同时具备 ADC 与 PWM 功能,才能使烟雾检测器及时发出警报,但二者功能不会同时使用,这就造成了很大浪费。对于微控制器来说,若想将 ADC 模块变成 PWM 模块似乎有点变戏法的感觉,但 PSoC 就是为了实现这一目的而推出的。PSoC 可用相同的硬件来支持不同的模块,从而能够支持动态重配置。

  PSoC 是赛普拉斯半导体公司推出的一系列混合信号阵列芯片,在同一封装中集成了微控制器及其外部元件。PSoC 架构除包括模拟与数字等可配置模块之外,还提供可编程互连机制,帮助用户创建专用外设配置,从而满足不同应用的具体要求。每个模块都通过一系列基于锁存的 寄存器来控制,其值决定了其行为,并创建出模块。用户模块是寄存器设置的抽象,可以支持高级功能。举例来说,在诸多可用的选项之中,数字模块可以是定时 器、PWM 源乃至 UART 模块。同样,模拟块也有很多可能性,可以是过滤器或 ADC 乃至比较器。因此,如果采用微控制器的话,我们就必须明确列出 4 个 ADC、3 个定时器、2 个 DAC等等。但是,如果采用 PSoC 的话,我们则只需列出其中模拟与数字模块的数量即可,到底这些模块如何发挥作用,则有无数种可能。赛普拉斯半导体公司的 PSoC 最多支持 16 个数字模块和 12 个模拟块,而少的则有 4 个数字块、4 个模拟块。

  控制模块的寄存器值可在运行时更改,这样就能在应用程序的执行过程中根据需要创建新的功能。当完成特定模块的工作任务后,可将该模块转换为不同的模块,从而实现可用模块使用率的最大化。这不仅能够减少所需模块的数量,而且也能相应降低 PSoC 的成本。动态重配置可应用于多种设计方案之中。当然,如果同时使用所有不同模块,那么没有理由不对模块的结构进行重构。除此之外,我们可以预见在以下四种情况中,通过动态重配置来减少所需模块的数量。

  首先,在某些设计中,我们会在启动或关闭阶段使用特定模块组,而其他阶段则不会再使用。例如,电路可使用 ADC 模块来测量配置电阻,以确定无线控制玩具的正确接收频率。一旦明确了正确的工作频率,就不再需要 ADC 模块,而且用于支持 ADC 的模块则可作为到传动器的 PWM 输出。

  在其它设计中,仅在发生例外情况时才使用某些模块。 应急照明系统的控制器需要使模块运行例行程序来为电池充电,同时持续发挥监视作用,避免发生电源故障。如果发生电源故障,负责电池充电的模块就会转变功能,为 LED提供适当大小的电流。

  硬件有时需要针对不同用户发挥不同作用。对家庭用户来说,功率表通过测量电流 来计算用电情况。对进行维护工作的技术人员来说,则能发出指令,让用于测量的模块暂时变成 UART 模块,向计算机系统上载故障信息。这样,硬件就能在现场检测或修理厂返修时用于添加更多诊断设备,也能在产品出厂前进行检查。

  最后,有时我们需要所有模块来执行设备的例行功能,只不过不需要所有模块同时运行。但位于便携式气象设备中的控制器会使用不同类型的模块但是相同的模块来测量温度、湿度、风速及雨量。

  动态重配置是 PSoC 的一种强大功能,其拥有可轻松发挥作用的强大软件包。PSoC Designer 是赛普拉斯推出的一种专有软件,可为所有 PSoC 器件提供功能齐全的集成开发环境。用户友好型工具为选择和定制模块提供了图形界面,可在可用模块与适当引脚间放置并传输相关模块。该软件能生成应用编程接口,充分发挥模块的潜力,并支持 C 语言或汇编语言编写的代码。此外,该软件包含的工具还可创建与管理动态重配置所需的所有接口。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

PSoC? 动态重配置? FPGA?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈