微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 轻松体验DSP

轻松体验DSP

时间:02-13 来源:DSP专业资讯网 点击:
多媒体照亮实时控制

  模拟器件公司 (Analog Devices) 的 Blackfin 系列主要针对多媒体设备和便携式设备,包括三个代码兼容处理器,它们的不同之处仅在于速度和片上补充内存。

  从内部来看,Blackfin 内核包括一个双 MAC 定点处理引擎,该引擎把结果存储在两个 40 比特累加器里。在使用中,VisualDSP++ IDE 的编译器利用最适合该内核架构的 32 比特"长"的值,在软件中自动合成浮点运算;你可以选择改变这种行为,以符合 ANSII-C 规范。

  ADDS-BF533-EZlite 初学者工具包现已上市,价格为 295 美元,它包括一块 127mm×178 mm印制电路板,板上装有处理器、2MB 闪存和 32MB SDRAM。板上外设包括一个 AD1836 音频编解码器(带有四条输入声道和六条输出声道)、一个 ADV7171 视频编码器和 ADV7183 解码器(各带三个拾音插座、一个 ADM3202 RS-232 线路驱动器/接收器-用于片上 UART,它连接到一个 DB9 连接器、一个扩充接口-它承载并口、串口和 SPI 等各种 I/O、一个 JTAG 在线仿真器头,以及各种 LED 和按钮。该工具包依靠 VisualDSP++ IDE 的一个 20kB的代码有限版本,用于程序开发。调试通信采用板上"USB 至 JTAG"调试接口,该接口允许与主机 PC 之间的非侵入式通信,这是通过该环境的背景遥测通道进行的。

  不要理睬快速开始卡,遵照评估系统手册中的指示,VisualDSP++ IDE 就会顺利地安装好。

  头两个练习介绍了链接器等基本元件如何通过让你建造、运行和修改某个过程(它计算来自定点数组的三个乘积的各个和)来互动。有意思的是,C 源代码窗口中的"混合"控制视图使你能够同时比较例程的 C 语言实现和汇编器实现。某些 IDE 能够把源代码行拖到汇编器窗口中,或反过来,以找到相应的代码段,上述的同时比较功能是这种功能的替代方法。其它编辑器功能允许设置和清除断点、启用行编号,以及设置书签。假如你把第三课中的代码例子装载到前一课,你就能看到该 IDE 数据可视化能力的多个方面,比如正态图、正态图的 FFT 等价图,以及一份 FIR 滤波器响应分析。由于这个例子及目前的其它 Blackfin 例子是针对 535 处理器,因此你需要把目标改到 533。

  由于工具包许可证不允许仿真器会话,因此请你下载整个软件及其评估许可证,连同许可证管理器工具程序。运行该 60MB 的组合,就可以让你的安装升级。90 天后,它会回到最初的限制版。在选择单一仿真器会话选项之后,你现在可以看到线性剖析仿真工具,它专门分析处理器在某应用程序内的何处花了时间。双击某个例程,就会显示底层汇编器以及在该流程内部所花时间的百分比;双击某个程序计数器条目,就会高亮度显示相应的反汇编器输出。

  软件剖析工具一般在函数的开头和结尾插入侵入性的"包装代码",以获得统计数据。VisualDSP++ 消除了这种开销,因为它用 PC 计数器的一个统计随机样本来记录指令地址,得到执行统计数据,并显示代码瓶颈。ADI还还表示,该仿真器具有几项尖端而独特的功能,比如高速缓存和流水线可视化。他指出,由于这些功能提供非常多的细节,因此它们是"只有仿真器才具有的功能" 。他说,在这个水平上,目前不可能不露痕迹地全速询问处理器,而又不往该部件"增加大量的逻辑和测试引脚" 。

  该环境在安装期间创建的 ADSP-BF533 文件夹包括多个针对 533 的例子,你可以把它们用作进一步开发的模板。对新手的一个主要障碍是 C 语言程序员倾向于隐藏关键组件,比如头文件,并模糊它们的交互;好消息是伴随工具包的这些例子是极其清晰的。你还将看到 VSCE(VisualDSP++ 的组合式软件工程)模块,它们是预先配置的例程,根据模拟器件公司的 VCSE 标准编写。这种做法使你能够把来自模拟器件公司和第三方厂商的符合标准的模块添加到你自己的项目中,不用担心各种冲突,比如内存冲突或 I/O 冲突。

  1GHz 的能力使并行 I/O 更快

  假如你想做实验,那么你可能想知道和一个真正复杂的处理器打交道涉及哪些内容,这样的处理器包括德州仪器公司的 TMS320C6000 系列,它有用地提供了定点微分和浮点微分之间的代码兼容性。一款新型初学者工具包展示了 16 比特定点 6416 的 600MHz 版本,它紧随该厂商的 256 比特甚长指令字型号之后。这种顶级的机器针对 I/O 密集型应用,比如通信基础设施。例如,该芯片把一个 ATM (异步传输模式)接口装入其 532 引脚、0.8mm间距 BGA 封装中,封装大小仅为 23 mm2;其它通信外设包括维特比(Viterbi)和 turbo 解码器协处理器。

  这种初学者工具包由 Spectrum Digital 公司制造,包括一个 115mm×225 mm印制电路板,板上装有 DSP、一个 TLV320AIC23 编解码器、16MB SDRAM、512kB 用户闪存和一个"USB 至 JTAG"仿真端口--所有这些的价格为 395 美元左右。四个 3.5 mm立体声 I/O 端口与编解码器连接;一些简单的用户 I/O 端口连接到四个 LED 和若干钢琴键开关;高密度的扩充连接器提供额外的存储器、外设和 PCI/HPI 连接;两个端口选项提供外部仿真器。尽管硬件很复杂,但用户友好的软件展示了德州仪器公司针对模块化软件开发的 eXpressDSP 理念。理想情况下,eXpressDSP 把应用程序抽象得足够好,非程序员可以通过在执行模板内部组合现成的算法来构造应用程序。实际上,你需要充分的 C 语言编程经验来充分利用可提供给你的功能。

  eXpressDSP 的内核是 DSP/BIOS 内核,这是一种实时调度程序,该程序包括各种模块以处理各项中断、传输数据的管道和周期性事件。事实上,DSP/BIOS 构成了支持 320C 系列的 RTOS 的基础。Code Composer Studio IDE 拥有一个 DSP/BIOS 配置工具,它使你能够在程序编译期间选择包括哪些模块,从而使该固件的内存占位(memory footprint)达到最小。非常关键的是,每个 DSP/BIOS 模块都包括代码安插机制,允许 Code Composer 通过 USB 仿真链接来调试运行中的应用程序。为了使对实时操作的影响最小,当 DSP 芯片处于代码线程执行之间的闲置状态时,安插代码才开始运行。你可以在它以图形格式在线程之间切换时查看执行图,这种格式帮助揭示被超过的截止期限(图 1)。其它使时序要求严格的任务分析变得容易的工具包括一张 CPU 负载图和一个统计窗口,后者报告某个线程的平均情形和最差情形执行时间。你还可以从某个驻留在 PC 上的文件传送数据,比如来自 DSO 的输出,它代表了你想处理的真正信号。DSP/BIOS 提供了一组定义得非常好的 API,它们适用于整个 320Cxx 系列,这样你可以轻松地在各种平台之间移植代码。通过禁止直接访问外设和坚持可重入的可重定位码,eXpressDSP 算法标准允许你轻松集成来自德州仪器公司和第三方厂商的符合标准的算法。你可以下载免费的 DSP/BIOS 驱动程序开发工具包。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top