DSP编程的关键问题分析

最新更新时间:2013-09-22来源: 互联网关键字:DSP编程  关键问题 手机看文章 扫描二维码
随时随地手机看文章

1 McBSP(Multichannel Buffered Serial Port)串口利用DMA中的多帧(Multi-Frame)方式通信的中断处理

  在实际通信应用中,一个突发之后,程序必须为下一个突发作准备。因此一般采用串口的DMA多帧方式但在串口以DMA方式传输数据时却有一些问题要讨论。首先DMA的传输同步事件应设McBSP的传输事件即XEVT,这样一字节传输后会自动准备另一字节(McBSP的READY上升沿触发DMA传输)。中断发生时意味着一个块已传完,这时DMA的使能自动关闭,McBSP的READY将一直保持高状态。但是在下一次突发传输直接使能DMA时却启动不了传输(相信会有许多我遇到此类问题)。这是因为无法产生McBSP触发启动所需的READY上升沿。解决办法是在中断程序中先关闭McBSP的发送,使 READY="0",随后在程序中发送使能DMA,再打开McBSP的发送即可。如先打开McBSP的发送后打开DMA,也是不会工作的。因为McBSP的 READY已经由0变到1了,无法再产生READY上升沿。

  2关闭DMA与关闭McBSP的区别

  在通信领域,为了充分利用DSP的片上外设资源,常常利用DMA把从串口来的数据或要发的数据放入缓冲区,再处理。对DMA而言,只要其在数据缓冲区的指针指向了中断应发生的位置,就产生中断。但此时最后一个数据只是进入了McBSP而并未真正发出去,所以在传送结束的中断程序中只能关闭DMA不能关闭McBSP。因为此时McBSP的发寄存器DXR中还有一个字没有发出。

  3 McBSP串口配置的关键时序

  主要是寄存器SPCR2的配置:在保持RRST、XRST、FRST各位为0的前提下,配置好其它串口控制寄存器。等待至少2个CLKR/T时钟以确保DSP内部的同步。

  (1)可以向DXR装载数据或使能DMA。

  (2)使能GRST(GRST=1)(如果需要DSP内部产生采样时钟)。

  (3)使能RRST或XRST,注意此时要保证SPCR中仅有此一位发生改变。

  (4)使能FRST(FRST=1)(如果需要DSP内部产生帧同步)。

  (5)等待2个R/T CLK时钟周期后,收或发端便会有效。

4 汇编语言程序中的变量

  汇编语言程序中的公用变量应在文件中定义,如.def carry。汇编语言程序中使用的局部变量不需定义,可直接声明,例如trn_num .word 00h。如果在两个asm文件中有两个都没有定义的同名变量,则编译程序会认为分他们不是同一变量。在汇编程序的开头应有.mmregs宏语句。它一方面表示对默认定义的确认(ah,bh,trn等),另一方面可以对所用寄存器重新定义。如:.mmregs DMPREC .set 54h ;定义DMA优先和使能寄存器地址在54h DMSA .set 55h DMSDN .set 57h DXR10 .set 23h ;定义串口1的发送寄存器地睛在23h

  5 ST1寄存器中CPL位的影响

  CPL位是编译模式控制位,它表示在相对直接寻址时采用哪种指针。当CPL=0时,使用页指针DP;当CPL=1时,使用堆栈指针SP。实际使用中二者没有什么差别,但使用SP寻址的程序更易读。在程序中经常使用CPL=1。

  6指令的歧义

  6.1 比较下面指令STLM B,AR4 ;把bl内容送入寄存器AR4 (×)

  STLM B,*AR4 ;把bl内容送入寄存器AR4 (√)

  前者实际执行的是把bl内容送入一个系统用的缓冲区,后者也可用:MVDM BL,AR4 ;把bl内容送入寄存器AR4 (√)

  其他易导致歧义的语句还有:

  LD AR5,A ;把AR5的内容送入寄存器A (×)

  LDM AR5,A ;把AR5的内容送入寄存器A (√)

  ANDM #0x107e,AR4;把#107e加到寄存器AR4 (×)

  ANDN #0x107e,*AR4;把#107e加到寄存器AR4 (√)

  仅对某些寄存器有效的指令:

  MVDD * AR2+,*AR3+ ;把以AR2为地址的内容拷入AR3的地址中此类指令用作数据块搬移特别有效,但仅对AR2、AR3、AR4、AR5有效。

  易错语句中对程序运行危害最大的是:

  ST #0,*(bsp0_out_sign) ;bsp0_out_sign是一个变量名(√)

  STM #0,bsp0_out_sign ;此语句被编译为STM #0,PMST或STM #0,IMR (×)

  这种语句会导致程序运行中的随机故障,且极难发现。

关键字:DSP编程  关键问题 编辑:神话 引用地址:DSP编程的关键问题分析

上一篇:近距离通信技术比较研究
下一篇:智能电网之分布式能源接入技术

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

ASON技术在现网应用中所面临的关键问题
目前,很多国外运营商已建设了ASON网络,其中:AT&T的140个节点覆盖美国的骨干传送网;BT组建21CN网,目前已建40个ASON节点;Vodafone的131个节点覆盖英国的ASON骨干传送网;西班牙电信78个节点的骨干传送网;巴西电信13个节点的骨干传送网。 虽然各个运营商选择ASON技术组建骨干传送网络的具体目的不尽相同,但都是被ASON技术提供的灵活的网络结构、快速自动的建路方式、丰富有效的保护恢复机制等优势所吸引。他们选择ASON技术建设自己的传送网,达到了提高网络可靠性、降低网络成本的目的。但鉴于前述ENNI存在的问题以及多域组网需求的不迫切性,至今还没有多域ENNI互联的应用实例。 自动交换光网络(AS
[网络通信]
半导体参数测试的关键问题之一——探针的接触电阻
通常,参数测试系统将电流或电压输入被测器件(DUT),然后测量该器件对于此输入信号的响应。这些信号的路径为:从测试仪通过电缆束至测试头,再通过测试头至探针卡,然后通过探针至芯片上的焊点,到达被测器件,并最后沿原路径返回测试仪器。 如果获得的结果不尽如人意,问题可能是由测量仪器或软件所致,也可能是其它原因造成。通常情况下,测量仪器引进一些噪声或测量误差。而更可能导致误差的原因是系统的其它部件,其中之一可能是接触电阻,它会受探针参数的影响,如探针的材料、针尖的直径与形状、焊接的材质、触点压力、以及探针台的平整度。此外,探针尖磨损和污染也会对测试结果造成极大的负面影响。 测试信号的完整性需要高质量的探针接触,这与接触电阻(CRes)直
[测试测量]
LED灯具散热建模仿真关键问题研究(二)
4 散热材料导热系数和辐射率 4.1 散热材料导热系数 材料的导热系数高低反映的是材料热传导能力的强弱,热传导是影响散热的最根本因素,它决定了LED 灯具产生的热量能否有效、快速传递到灯具散热表面。不同材料的导热系数因其物理属性、生产工艺等有所不同。仿真分析14W LED PAR30 射灯,采用不同导热系数的散热材料,对LED 灯具的工作温度产生的影响,仿真结果如图9所示,说明材料的导热系数越高,最终的LED 灯具工作温度越低,散热效果越好。 4.2 散热材料辐射率 不同材料的热辐射系数γ 是不相同的,即使是同种材料不同表面处理工艺,其热辐射系数也不尽相同 ,因此在CFD 散热仿真时,必须明确材料及其表面处理情况。仿真分
[电源管理]
LED灯具散热建模仿真<font color='red'>关键问题</font>研究(二)
TI低功耗可编程DSP显著延长电池使用寿命
超低价位的全新 C5506 DSP 以 USB 连接功能与通用片上存储器开拓全新市场机遇 2006 年 10 月 31 日,北京讯 日前,德州仪器 (TI) 宣布,其超低功耗可编程 DSP 产品系列又添新成员—— TMS 320C 5506 DSP 。这款 业界最低功耗可编程 DSP 将进一步推动低功耗音频/语音应用领域的创新。全新 TMS 320C 5506 DSP 在待机模式下的功耗仅为 0.12 mW ,另外,其还具备众多其它低功耗特性,堪称同类产品中功耗最低的处理器。全面的 128 KB 片上存储器可显著简化编程工作,而全速 USB 2.0 接口则提供了低成本的有线连接方案。 C5506
[嵌入式]
无线传感器网络和网格结合关键问题研究
微电子学、嵌入式系统等技术的进步推动着无线传感器网络技术的快速发展。无线传感器网络现在已应用于环境和生物监测、工业监控、军事安全监测等多个领域。通过监测区域中布置的大量传感器节点,可以精密测量物理世界,提高应用所需真实世界数据的数量和质量,降低监控成本。无线传感器网络已经成为一个新的计算平台,可以无缝衔接数字世界和物理世界;它由一系列的传感器节点构成,每个节点都具有环境感知、数据处理和无线通信能力。传感器节点具有电池供电、计算存储能力有限、通信带宽低的特点,这使其在处理和利用所得数据时受到了限制 。 现在,具有高速计算能力、巨量存储能力和高速通信带宽特点的网格技术已经成为在动态虚拟社区中解决大规模分布式、异构资源共享的一个标
[工业控制]
无线传感器网络和网格结合<font color='red'>关键问题</font>研究
DSP编程技巧-使用代码优化时必须考虑的五大问题
   1. 小心使用汇编表达式   在 C/C++ 代码中,有时候一些操作难免会对某些CPU寄存器进行操作,此时要使用内嵌的汇编表达式,例如asm("EALLOW"),或者重置某个中断的掩码寄存器等。在优化代码时,编译器会重新调整某些代码段的顺序,自己决定使用某些寄存器(例如AR0-AR7这样的辅助寄存器),甚至删除某些编译器认为无用的变量、函数等,但是编译器一般情况下并不会对内嵌的汇编代码进行任何优化(除非这段汇编代码被编译器认为是永远不会执行到的无用代码),这就造成了编译器的优化效果在这段汇编代码和它的上下文代码中无法进行有效的优化,特别是汇编代码和 C/C++ 代码直接存在变量调用的情况下。所以非必要的情况下,要尽量避免C
[嵌入式]
DSP/BIOS中的I/O设备驱动编程技术
    摘要: 介绍了DSP/BIOS中I/O设备驱动程序的编写,并给出了一个在TMS320C5402 DSK上开发语音处理程序的实例。     关键词: 数字信号处理器(DSP) 实时操作系统 I/O设备驱动 应用程序接口(API) 近年来,随着信息技术的飞速发展,DSP在航空、航天、雷达、通信、消费类电子设备等方面都得到了广泛应用;同时,DSP的运算能力也越大越强大,TI公司新推出的TMS320C6400系列的运算能力可以达到8800MIPS。这些都要求开发DSP的应用程序要缩短开发时间,增加软件的可编护性和可重用性。语音压缩、语音识别、图像处理等方面的应用要求DSP的开发尽可能简单,还要求
[嵌入式]
公路隧道LED照明技术应用关键问题探讨
  公路建设的发展,特别是山区高速公路建设的发展,带来了公路隧道在规模和长度上的快速增长。据不完全统计,目前我国公路隧道建设里程已突破2500km。与此同时,隧道运营能耗问题,特别是隧道照明能耗问题,已显得越来越突出,对构建安全和和谐交通环境构成严重影响。   以安徽省交通投资集团有限责任公司下属黄塔桃高速公路和六武高速公路为例,即可充分说明问题。   安徽省黄塔桃( 黄山至塔岭和小贺至桃林) 高速公路是国家高速公路干线网中京台( G3) 高速公路和杭瑞( G56) 高速公路的重要组成部分。路线全长51. 3km。其中起点至小贺段长17. 5km,为双向6车道,设计速度100km/h,路基宽度33. 5m; 小贺至桃林
[电源管理]
公路隧道LED照明技术应用<font color='red'>关键问题</font>探讨
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved