DSP 与数据转换器协同工作所必须考虑的10 大因素

最新更新时间:2007-02-01来源: 电子设计应用关键字:DAC  ADC  速率  控制 手机看文章 扫描二维码
随时随地手机看文章

假设您接到一项工作任务,设计一套由 DSP 与DAC与ADC等模拟器件组成的信号处理系统。如果您考虑到几个重要因素,工作就会非常简单。下面就来谈谈设计工作中应该考虑的这几个因素。

详细了解应用类型

第一步需要了解应用类型。对于控制型应用,既需要应对突发的大量数据处理情形,也要考虑间歇的闲置状态;而对于音频应用,则需要处理连续数据流的能力。了解应用的具体需求将有助于选择适当的接口和正确的数据读取方法。

评估系统速率

第二步需要了解数据采样的速率。举例来说,音频系统可能是一部 CD 播放机,采样率为 96 kHz,也可能是电话语音系统,采样率仅为 8 kHz。当然,也可能是其他系统,如 ADSL 质量测量应用,采样速率高达 10 MSPS,或者是称重应用,每秒只要 16 次采样就足够了,但要求具备较高的分辨率(如 24 位)。了解此方面信息,将有助于开展下一步工作,即选择正确的 DSP 接口。

选择正确的 DSP 接口

了解了应用及速率要求后,就对采用哪种 DSP 接口有了一定的认识。大多数音频设备均使用特定类型的串行接口,不过高速应用则要求并行接口。当采样速率为 10 MSPS、分辨率为 12 位时,如果采用串行接口,其端口的速率要达到 120 MHz 才能从转换器向 DSP 发送数据。这一要求大大超过了大多数50 MHz 串行端口的处理能力。若使用并行接口,则总线上信号交换的频率为 10 MHz,速率显著降低,因此处理起来非常简单。

在选择接口时,还要考虑的另一问题就是,并行总线能否满足所需的数据速率要求,或者说并行总线芯片在满足程序与系数要求后是否已经达到了满负荷。如果是的话,不妨考虑在 DSP 与转换器之间插入 FIFO。

确定握手模式

一旦选择了 DSP 接口,下一步就要考虑转换器与 DSP 之间的握手模式 (handshake mode)。大多数转换器在发出新的数据字之前都会给出某种类型的转换结束 (EOC) 信号。处理器使用上述信号的方式有两种:一是轮询 (poll);二是用其作为中断。
使用 EOC 信号作为中断具有一定优势,因为 CPU 不会被轮询标记占用,因此在获得数据前不会打断 CPU 的正常工作。不过,如果转换器等待处理特定的协议来读取数据,比如转换器发出转换结束信号后又需要读取命令来检索数据,每个读取命令都会触发新的中断,那么就会造成过多的开销,得不偿失。在这种情况下,轮询的方法就具有明显的优势了。

如果中断时延非常重要的话,那么使用轮询方式就更具优势。轮询可确保信号响应速度更快,这比进入中断服务例程要快得多。如果数据检索有短暂时隙 (narrow timeslot),那么采用轮询方式也是有利的。

确定传输模式

下一步就是实际收集数据的工作了。收集数据有两种方法,各有千秋。第一种方法是采用 DSP 的 DMA(直接存储器存取)控制器,可使传输与转换器的转换结束标记同步,并使 CPU 不用承担传输工作,因为数据阵列的填充是在后台完成的,传输完成后再通知 CPU。不过,这种方法只有在进行直接传输的情况下才有效。如果数据转换器在检索数据时需要某些复杂的机制,那么 DMA 就不太有效了。

在这种情况下,应让 CPU 参与传输工作。尽管服从特殊的协议相当简单,但必须使用大量的 CPU资源来收集数据。如果中断率非常高,那么 CPU 可能很难有时间再去执行数据收集之后的算法了。

是否采用数据猝发

假设数据转换器连接至 DSP 的并行总线,该并行总线在存储器存取(读取正在执行的数据)和 I/O 存取(读取采样)之间需要几个周期的转换,而且数据转换速率非常高,因此,转换常常是必需的,几乎每次采样读取都要进行转换。

如果一步就能读取多个数据字,且不用每次都进行数据总线交换,肯定是非常有价值的。在这种情况下,不妨考虑在数据转换器与 DSP 之间采用 FIFO。一旦 FIFO 达到一定的水平即中断 DSP,达到一定数量的数据字一步完成传输,这就大大降低了总线转换的开销。

针对变量选择正确的数据类型

数据转换器针对所用的数据采用不同的格式。有的使用标准二进制(即无符号二进制)数据类型,有的则采用带符号的二进制数据类型,这就是问题的复杂所在。如果有一个 12 位数据转换器,那么在带符号二进制数据情况下,如何使用将是一个问题。符号位占据最重要的位置,即第“11”位(这里的起始位是第“0”位)。如果将此数据字赋予“C”变量,宽度为“16”位,那么假定“C”符号位为第“15”位。如果从转换器读取的数字为负,那么 DSP 就不能识别其为负值,因为符号位的位置错误。如何解决这一问题呢?第一种方法是在读取数据时进行数据位移。不过,这只有在 CPU 读取数据时才有可能,因为 DMA 控制器不可能在传输时进行数据位移。另一种方法是在数据块完全传输后在环路中将数据位移至正确的位置。不过这必须使用 CPU,并要求额外的 MIPS。
如果改变连接后转换器的第“11”位刚好连接至 DSP 数据总线的第“15”位,那么符号位从首位算起刚好位于正确的位置,这就能实现基于DMA 的传输,而且也不用再进行数据位移。

确保处理的是正确数据

现在,数据已经进入系统,数据字存储在阵列中,数据大小也合适,于是开始处理数据,但没有获得预期的结果,这时需要思考到底出了什么问题。首先应该检查 DSP 的高速缓存,DMA 传输数据进入存储器时是否启用高速缓存,在这种情况下,高速缓存很可能保留拷贝的旧数据,并在算法工作中使用它们。如果发生了此类问题,就必需注意高速缓存相关性与转储清除问题,或者是存储新数据的高速缓存区失效。这样就能确保 CPU 处理的数据是传输完成后的最新数据。

如果用 C 语言编程应分配易失关键字

在调试嵌入式系统时,采用变量查询外设的状态后,发现 CPU 所用变量值是错误的,这时就要思考到底哪里出了问题。先看看下面这个结构:

unsigned int *pControl = (unsigned int *)0x00COFFEE;
while (*pControl == 0); 待一个外部事件
这里的 *pControl 指向一个外设。通过 while 循环,期望 EOC 能从“0”转换为“1”。但在大多数情况下,恐怕得一直等下去,因为编译器认为它已经完全控制了变量及与其相关的存储器,只加载 *pControl 指向的存储器位置的内容一次,就会对其进行循环测试。但问题在于,由于不会重新读取存储器内容,也就不能结束循环。

解决这一问题的方法就是将 *pControl 的声明作一下修改,通知编译器其指向的存储器位置可由外部事件修改,而每次使用该变量时都必须重新载入,如下所示:

volatile unsigned int *pControl = (unsigned int *)0x00COFFEE;
while (*pControl == 0); 待一个外部事件

确保采样等距

如果要在频域中处理采样数据,那么还要提到一点:不是所有转换器都有启动新转换的自身时基。在这种情况下,应采用外部时基或 DSP 定时针 (timer pin) 。

关键字:DAC  ADC  速率  控制 编辑: 引用地址:DSP 与数据转换器协同工作所必须考虑的10 大因素

上一篇:高速ADC的低抖动时钟设计
下一篇:S/N高达120dB的数模变换器SM5865CM

推荐阅读最新更新时间:2023-10-12 20:12

TI 微控制器(MCU)MSP430如何让低功耗与高性能兼得
随着现在和未来的产品变得越来越智能,我们发现需要处理的数据也日益增多。为了收集这些数据,厂商们部署了传感器网络来记录多个位置的事件,并为众多用例从不同的数据源收集许多不同类型的数据。 通过检测门窗打开等事件,家庭安防传感器能够为居民们带来安全感。工业泵上的传感器发出的数据可以帮助工厂所有者及早检测到警示信号,从而防止出现故障并降低随着时间的推移而产生的维护成本。来自基于分布式网格的传感器网络的数据甚至可以用来应对地质事件,让应急人员有更多的时间采取行动。在大多数情况下,必须将系统中记录的这类数据发送给中央节点,用于处理、分析和制定决策。要维持这个恒定的数据流,需要耗费大量的能源和时间。通过加入局部智能功能将单个传感器转换
[嵌入式]
TI 微<font color='red'>控制</font>器(MCU)MSP430如何让低功耗与高性能兼得
日立新技术,自动验证汽车控制系统的安全要求
日立制作所与日立汽车系统公司2016年9月26日宣布共同开发了一项新技术,该技术可针对设计开发汽车控制系统时制定的安全要求,用计算机自动验证这些要求是否存在遗漏。第三方测试认证机构 德国TUV SUD已确认该技术可有效应对功能安全标准ISO26262。 安全要求的定位。图片来自日立 此次开发的技术的要点。图片来自日立 汽车控制系统开发中的要求定义包括主功能(自动驾驶系统等)相关要求,以及构成主功能的控制系统发生故障时也能确保安全的安全要求。这些安全要求一直是使用英语和日语记述,但由于一句话或一个单词有多种意思和解释,表达经常含糊不清,并不统一。而且,安全要求的记述还有可能发生遗漏,即便是专业技术人员,也
[汽车电子]
日立新技术,自动验证汽车<font color='red'>控制</font>系统的安全要求
msp430f5529 uart pwm adc
//msp430f5529的串口使用程序使用示例 //--------------------------------------------- uart 头文件 -------------------------------------------------------------// #ifndef UART_H_ #define UART_H_ #include msp430f5529.h #include config.h //默认为115200 void USCIA0_Init(void); void USCIA0_SendChar(u8 c); u8 USCIA0_ReceiveChar(
[单片机]
用一只引脚为微控制器输入并行数据
与UART的复杂相比,用微控制器的单一输入引脚来输入多个信息比特更简单,事实证明这很有用。这种方案允许扫描键盘、模式开关或任何变化较慢的数字数据。参考文献1详细说明了一种用单一引脚输出信号的方法。来自开关组S1的数据首先到达IC3,后者是NXP Semiconductors公司的74HC165并串转换器(图1)。把数据加载到移位寄存器中,这需要PL线路上的一个脉冲(引脚1)。线路CK在微控制器引脚线路上把一个长脉冲作为输出发送出去,由此完成上述脉冲。R2和C2引入延时,并且一旦脉冲超过该延时,PL线路就变为低电平,数据被加载。   PL信号上升后,微控制器的I/O端口上的较短脉冲在移位寄存器的时钟输入端CP(不
[单片机]
用一只引脚为微<font color='red'>控制</font>器输入并行数据
EZ-Color控制器设计的高亮LED照明混色方案
  引言   本文介绍了一种基于赛普拉斯的EZ-Color控制器不需要指定LED型号规格,而且能快速简单完成一个性能优良的高亮LED照明混色设计方案。   随着半导体照明行业日异更新的步伐,具有寿命长,能耗低,应用灵活,环保无害等众多优点的高亮LED正在孕育一场新的产业革命—照明革命,使我们的生活与工作环境魅力四射,绚丽多彩。不过,由于LED本身属于半导体器件的特性,使得LED照明设计时需面临两大挑战——同种颜色的LED具有多种型号规格以及LED的性能随温度而降低的特性。这就要求照明工程师在进行LED照明混色设计时,必须做LED型号规格和温度补偿的考虑。LED型号规格和温度补偿算法设计不但算法复杂,而且还要求照明工程师
[电源管理]
EZ-Color<font color='red'>控制</font>器设计的高亮LED照明混色方案
ADC/DAC精度计算器(ACCU)教程
精度计算器(ACCU)的 数据转换器 的应用电路的设计和分析。它计算的数据转换器的理想的直流精度。该方案是使用一台HP ® 50G的计算器或免费PC模拟器。   精度计算器   精度计算器(ACCU)的数据转换器的应用电路的设计和分析 。它计算了一个理想的数据转换器的直流精度,覆盖模拟数字转换器(ADC)和数字-模拟转换器(DAC )。数据转换器的直流精度的测量线性传递函数与理想的最大偏差。HP 50g的手持计算器是一个方便的工具,但也有许多使用Windows ®操作系统的计算机上运行一个免费的模拟器,如图1。精度参数的一个数据转换器的输入, 该信息的精度计算器,包括在自由模拟器完整的封装,输出传输功能。 “AACU用户的
[模拟电子]
<font color='red'>ADC</font>/<font color='red'>DAC</font>精度计算器(ACCU)教程
数字控制挑战传统电源设计理念
电源 设计之初所要求的基本决定之一是:采用 电压 模式控制(VMC)还是采用 电流 模式控制(CMC)。对任何设计而言,交易存在于两个执行方法之间。然而,由于数字控制方法的引入,这些已被尝试并值得信赖的交易正面临着严峻挑战。本文将研究这条绘制的主线,以及数字控制是如何在是否采用VMC还是采用CMC的交锋中成为一种不可阻挡的再认知的。 方法 大量详实的材料充分的描述了电流模式控制和电压模式控制,因此本文只作一下简单的回顾。VMC由单个控制环路组成,该环路采用输出电压作为反馈信号。输出电压改变之后环路重新动作产生一个瞬时响应去替换。由于我们的目标是要维持一个恒定输出电压,因此缓慢响应是一个明显的缺陷。CMC添加
[电源管理]
数字<font color='red'>控制</font>挑战传统电源设计理念
AT89C51单片机在电话远程控制器中的应用
随着通讯产业的发展,电话机已经走进了千家万户,利用电话机进行远程控制的技术也日益用于生活中,本文设计了一种电话远程控制系统,该系统主要应用于电话遥控控制的家用电器,用户在户外可通过任意一部双音多频电话(包括手机、电话分机),根据语音提示,可以对各种电器(如电饭锅、微波炉等电器)进行远程控制。   1 系统结构 此系统主要包括电话振铃检测电路,电话自动拾机和挂机电话,DTMF信号解码电路,语音提示电路,以及音频放大电路,系统结构框图如图1所示。 当有电话呼入时,电话振铃检测电路检测到有振铃并等待系统默认的振铃次数后,控制器自动拾机。用户在语音提示下依次输入用户的操作密码和操作指令。DTMF解码电路将接
[应用]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved