嵌入式系统常需透过数位类比转换器(DAC)产生类比电压与波形。这些转换器有时是嵌入式处理器的外部元件,有时则会整合在处理器内。无论是哪种形式,处理器都必须在适当的时间点把需要的输出值写入转换器。这通常要靠计时器来中断处理器的正常作业程序,再将所需的值写入转换器。如果转换器必须产生周期波形,处理器就要从资料列表(Table)读取下一个数值,并且递增资料列表的指标,然后检查资料列表的边界以决定是否应重置该指标。
在将周期性数值写入转换器的过程里,处理器必须执行许多额外的程序才能确保输出波形符合要求。这些额外的程序所带来的负荷须视资料表的长度、输出波形的频率和处理器的操作速率而定。举例来说,若要在处理器操作频率在1MHz的情形下,利用每个周期32笔资料点来产生1kHz的正弦波,处理器每秒就要执行3万2000次中断服务,这表示两次中断之间只有1,000,000 / 32,000 = 31.25个处理器指令周期可供使用。就算每次中断服务只需15个时脉周期来切换环境和执行服务内容,也会占用将近五成的处理器时间。
如果应用需要第二个类比输出波形,处理器的负担将变得更大,甚至无法在规定的中断服务时间内更新两个转换器的资料。在这种情况下,透过特定的微控制器(如MSP430F15x/16x)便可以解决这个问题,原因在于这些元件内含2个数位类比转换器和1个DMA控制器。 DMA控制器能将资料从一个位址搬移到另一位址,完全不需处理器介入。在本文的例子里,DMA控制器会在规定时间内将资料列表的资料移动到两个数位类比转换器。 (图一)就是资料移动过程的方块图。
...
...
另一名雇主 |
限られたニュース |
文章閱讀限制 |
出版品優惠 |
一般訪客 |
10/ごとに 30 日間 |
5//ごとに 30 日間 |
付费下载 |
VIP会员 |
无限制 |
20/ごとに 30 日間 |
付费下载 |