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

你还可以免费下载一组共三个参考框架应用程序,作为德州仪器公司大多数初学者工具包的“初学者件”。全面的应用程序说明描述了这些模型的功能,包括其定制示例。RF1 针对的是约 3.5k 字大小的应用程序,它们需要一至三条通道和类似数量的 eXpressDSP 算法。其局限包括不支持动态内存分配、线程预占、阻塞、多速率操作或控制函数。由于这些原因, RF1 最适合较低端的 5xxx 硬件平台。中档的 RF3 一般适合 6xxx 芯片,这些芯片运行一至十条通道和一至十种算法。RF3 约为 11k 字的占位提供了 RF1 中没有的所有工具,但不包括任务阻塞。最后,RF5 版本提供了所有此类工具,并支持 100 多条通道和同样多种算法,代价是 28k 字内存。RF5 增强包括一个用于支持多处理器的单独线程。
------------------------------------------------------------------------
附文:通往 DSP 的最初几步
假定你想首先从 DSP 开始,那么你将面临几个挑战。首先,如果你避开 C 语言,你将错过大量例子。你可以通过 www.cyberdiem.com/vin/learn.html 等门户网站来免费提高 C 语言方面的技巧,但你一定要弄到几本参考课本。
其次,假如你想有效利用数字信号处理,你就不能逃避数学。其包括复数理论,以及卷积和离散傅里叶变换等基本知识。
然后,你将需要选择一种处理器。你必须考虑在定点和浮点算术功能之间进行选择,以及传统的微控制器选择准则。总地说来,定点器件比同等的浮点器件需要更少的硅,并更便宜。假如你正在使用定点器件,并在设计自己的算法,那么你往往必须在可选数字格式表示法之间做选择,这些表示法有时需要仔细的软件设计,以避免舍入和截断误差,这些误差使数据。浮点芯片可以简化你的生活,因为它在硬件中实现了一致的数字表示系统,比如 IEEE-754 标准,它定义了 32 比特单精度和 64 比特双精度格式。浮点 DSP 一般采用单精度表示法,这些表示法把 23 比特小数尾数、8 比特指数和一个符号比特放入 32 比特的字中,使指数具有 ±127 的。
厂商支持和工具链的提供情况是关键的考虑事项。模拟器件、摩托罗拉和德州仪器提供各种 DSP 初学者工具包,跨越多种应用,从简单的马达控制器到复杂的通信链路。不过,如果你想继续使用常规的微控制器,并且需要硬件乘法功能,请考虑英飞凌 (Infineon) 的新款 XC167CI。这种 16 比特处理器扩展了嵌入式 166 架构的功能,把 32/40 比特 MAC(乘法/累加)单元包括进来,这种单元在 25 ns(40M 时钟)内进行单周期乘法;其它增强包括一个柱形移位器。要想获得更强的功能,该公司的 32 比特 Trore 系列增加了多种功能,比如反向比特寻址,用于恢复FFT算法的输出