当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读] 在实际的工作任务中,如果要设计一套由 dsp 与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; file://错误

while (*pcontrol == 0); file://等待一个外部事件

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

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

volatile unsigned int *pcontrol = (unsigned int *)0x00coffee; file://正确

while (*pcontrol == 0); file://等待一个外部事件

确保采样等距

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

数字信号处理器(DSP)在通信、控制、图像处理等多个领域扮演着越来越重要的角色。TMS320F2808PZA作为德州仪器(Texas Instruments)推出的一款高性能DSP控制器,其独特的架构和强大的功能使其在众...

关键字: tms320f2808pza 数字信号处理器 DSP

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

今天,小编将在这篇文章中为大家带来数字信号处理器DSP的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: DSP 数字信号处理器

DSP的国产替代不会是一件很容易的事情,但受到当前国际竞争态势的影响,本土开发者亟需拥有降本优势、供应链安全保证,以及能协助打造极高竞争力产品的DSP芯片。也就是说,发展国产DSP是不二选择。

关键字: DSP

嵌入式处理器是一种特殊的计算机处理器,它被设计用于嵌入到各种设备和系统中,以实现特定的功能。由于其低功耗、高性能和可靠性等特点,嵌入式处理器在许多领域都有广泛的应用,如汽车电子、工业控制、医疗设备等。本文将对嵌入式处理器...

关键字: 嵌入式处理器 嵌入式系统

将DSP和单片机构成双CPU处理器平台,可以充分利用DSP对大容量数据和复杂算法的处理能力,以及单片机接口的控制能力。而DSP与单片机之间快速正确的通信是构建双CPU处理器的关键问题。

关键字: 单片机 spi通信 DSP

随着科技的不断发展,微控制器(MCU)和数字信号处理器(DSP)已经成为了电子行业中不可或缺的重要组成部分。它们在各种电子设备中发挥着关键作用,如智能手机、平板电脑、家用电器等。然而,尽管它们都是用于处理数字信号的集成电...

关键字: MCU DSP 数字信号处理器 微控制器

2023年10月10日, [恩智浦创新技术论坛] 在深圳湾万丽酒店举行,众多工业、物联网、新能源和医疗等行业的企业出席论坛,深入交流市场趋势与行业洞察,一同讨论如何协同面对市场的机遇与挑战,共同促进未来市场的发展。米尔电...

关键字: NXP 嵌入式处理器

随着环境保护和能源可持续性的日益关注,电动汽车作为一种清洁、高效的交通工具逐渐成为全球汽车行业的热点。与传统的内燃机驱动汽车相比,电动汽车具有零排放、低噪音和高能量利用效率等显著优势。

关键字: DSP 芯片 混合动力汽车

在平常的日常生活中,噪声总是不可避免的。每个人承受噪声的能力也不尽相同,喜欢安静的人需要一些降噪措施,降噪耳机应运而生,甚至都能算得上是城市生活的必备品了

关键字: 主动降噪 DSP ANC
关闭
关闭