1、1DSP 在嵌入系统中的应用北京合众达电子技术有限责任公司 钱建良摘 要:通过北京合众达公司(SEED)在工业控制、信息安全和信息家电等领域的具体DSP 应用产品,结合 DSP 方案与传统 MCU 方案的比较,详细说明 DSP 在嵌入系统中的应用情况。关键词:数字信号处理(DSP) 工业控制 信息安全 信息家电一 什么是 DSPDSP 从字面上来说即为“数字信号处理” ,也就是说将现实世界的模拟信号转换成数字信号,再用数学的方法来处理此数字信号,得到相应的结果。经典的数字信号处理有:时域的信号滤波(如 IIR、FIR ) ,频域的频谱分析(如 FFT) 。IIR 、FIR 和 FFT 等的处理
2、,归根结底为 AiXi,即乘加运算。 “数字信号处理”的关键在于,研发一种处理器,对这种处理器从结构上进行优化,使其更适合于乘加运算,高速实现 IIR、FIR 和 FFT 等数字信号处理。美国 TI 公司从 80 代初推出了全球第一款“数字信号处理器”TMS320C010,从此引发了一场“数字信号处理”革命。我们现在所说的 DSP,如果没有特殊说明,一般均指“数字信号处理器” 。二 DSP 与 MCU 的比较DSP 实际上是一种特殊的 MCU(单片机) ,只不过 DSP 内部结构专为数值处理进行了优化,使其主频和运算速度远比 MCU 快,外部特性与 MCU 基本相同。与 MCU 相比它有以下的
3、特点:片内有多条地址、数据和控制总线,可使多个控制和运算部件并行工作,提高CPU 的处理能力。例如,CPU 完成一条指令,一般要有:取指、译码,执行和存数等 4 个步骤。MCU 顺序执行上述 4 个步骤,所以一个指令周期要由多个机器周期组成。而 DSP 并行执行上述 4 个步骤,所以指令周期等于机器周期。也就是说,上述 4 步 DSP 以流水线方式运行,提高了 CPU 执行速度。DSP 中一定有硬件乘法器,乘法运算一条指令完成。并且乘法器是独立的,可以和加法器等运算部件并行工作,提高了 CPU 的数字处理能力DSP 中有一些特殊的指令,用来加速数字处理。比如,连乘加(MAC)指令,一个指令周期
4、内同时完成乘法和加法运算。主频较一般比 MCU 要高许多。从指令周期来看:低档 DSP 一般为 50ns;中档DSP 一般为 10ns;高档 DSP 一般为 5ns。从处理能力来看:低档 DSP 一般为20MIPS;中档 DSP 一般为 100MIPS;高档 DSP 一般为 1600MIPS。这里MIPS 代表每秒执行百万个指令。片内具有软件插等待寄存器,方便与慢速器件接口。片内具有 PLL(数字锁相电路) ,使片内高频、片外低频工作,有利于系统稳定。与 MCU 相比,DSP 有较大的片内存储体(RAM 、ROM、Flash) ,少则几 K 字,多则几十 K 字,甚至几百 K 字。丰富的片上外
5、设(定时器、异步串口、同步串口、DMA 控制器、HPI 接口、A/D和通用 I/O 口等) 。DSP 的外部硬件结构和 MCU 相同,由地址、数据和控制三总线组成,所以外部硬件构成和 MCU 大致相同,只不过 DSP 的外部总线要比 MCU 快很多,所以选择外部器件时注意要选用高速器件,做 PCB 板时,一般应采用多层板,这样才能保证 DSP 系统的可靠2性和稳定性。在软件开发上,DSP 与 MCU 相比,更好地支持模块化编程,并更便于工程化管理。MCU 的汇编程序,起始于 ORG 语句,程序在编程时已经绝对定位,这么做的好处是简单,初学者很容易上手。缺点是模块化编程差,无法支持工程化管理。所
6、谓工程化管理,就是在一个项目中,尽可能地将硬件开发人员和软件开发人员分离开,软件开发人员基本上不需要了解系统的硬件资源,软件开发人员只需专注于算法的研究和程序的编制,而软件和硬件之间的联系,由项目的技术负责人完成,即由既懂硬件,又懂软件的系统分析员来完成。对于 MCU 来说,由于编程时程序是绝对定位的,软件人员必须明白系统的硬件资源才能编程,所以是无法工程化管理的。而 DSP 的汇编语言引进了一个非常简单,但又非常有效的概念 Section,中文称着“段” 。 “段”即为一块连续的储存空间,可以用来存放程序或数据。在编程时, “段”没有绝对定位,每个“段”都认为是从 0 地址开始的一块连续的储
7、存空间,所以软件开发人员只需要将不同代码和数据放到不同的“段”中,而无需关心这些“段”究竟定位在系统的哪些地方。这样,一方面便于程序的模块化编程,另一方面,可以将软件开发人员和硬件开发人员基本上分离开,便于工程化管理。由于所有的“段”都是从 0 地址开始,所以程序编译完成后是无法运行的,要让程序正确运行,必须对“段”进行重新定位,这个工作由链接器完成。对于链接器来说,首先要知道系统的硬件资源,其次要知道程序中用了哪些“段” ,这些“段”究竟如何定位到系统的硬件资源上去。所以要由硬件人员描述系统的硬件资源,软件人员描述程序中用到的“段” ,而由系统分析员将相应的“段”定位到恰当的硬件资源上。在软
8、/硬件的调试方面,DSP 与 MCU 有较大的区别。MCU 的软/硬件调试是用替代方式来进行的,也就是说 MCU 的仿真器是一套完整的 MCU 系统,用 MCU 仿真器的仿真头代替被仿真的目标系统的 MCU,甚至还可以用仿真器上的存储器代替目标系统的存储器。这样做法的缺点有:硬件时序为仿真器的硬件时序,与目标系统硬件时序有一定差异。仿真器或多或少要占用一定的硬件资源。随着 MCU 引脚数的增多和封装的小型化,仿真头制作越来越难。随着 MCU 主频的提高,仿真电缆长度将越来越短,使用更加不便。不同的 MCU 仿真器的硬件各不相同,用户开发投资加重。而 DSP 是用接口方式来仿真,DSP 仿真器上
9、没有任何 DSP 资源,所有资源都在 DSP 目标系统上,DSP 仿真器只提供独立于 DSP 的 JTAG 标准接口(IEEE 标准) ,DSP 芯片上有专门用于仿真调试的信号引脚,用户只需按 JTAG 标准,在 DSP 目标板上作一接口(14 芯双排插针) ,二者相连即可对 DSP 进行仿真调试。DSP 仿真器与 MCU 仿真器相比优点有: 硬件时序即为目标系统硬件时序。仿真器不占用 DSP 任何资源。仿真接口与 DSP 引脚数和封装无关。仿真接口与 DSP 主频无关。仿真器硬件与 DSP 无关,不同系列 DSP 仿真器硬件相同,所不同的只是编译软件和调试软件,节省用户的开发投资。高效的编译
10、软件和功能强大的调试软件,使用户开发 DSP 系统更加快捷、方便。由上可知,DSP 的内部硬件结构比 MCU 更适合于数字信号处理,片上外设也比MCU 丰富,价格也很便宜,最便宜的 16 位定点 DSP 只有$3。DSP 速度快、功能强、功耗低、价格便宜、软硬开发方便灵活,所以在高端的嵌入系统中只有 DSP 才能胜任,而在低端的嵌入系统中则 DSP 完全可以替代 MCU。三 DSP 在嵌入系统中的应用实例1. DSP 在工业控制领域的应用(1) DSP 在电力监控领域的应用根据电力系统的特点,及不同应用性能/价格比的要求,北京合众达公司推出二款用于电力系统的 DSP 嵌入模块:SEED-F20
11、6MS 和 SEED-C32MS。SEED-F206MS 适用于电力自动化(如站内分布式 RTU、柱上 RTU 和电力仪器/ 仪表)和低压保护;SEED-C32MS3适用于电力高压保护和故障录波器。SEED-F206MS 原理框图如图 1 所示,它由下列几部分组成:320F206DSP看 门 狗译 码数 字 量 输 出 01数 字 量 输 出 16数 字 量 输 入 01数 字 量 输 入 16 电 源 监 测光电隔离 数据缓冲光电隔离 数据锁存模 拟 量 输 入 01模 拟 量 输 入 32 A/D转 换 器多路切换器AMPAMP S/HS/H4x2通 道 同 时 采 样三 路 异 步 串
12、口RS23/RS42一 路 测 频 输 入一 路 同 步 串 口打 印 机 并 口图 1 SEEDF206MS 原理框图主处理器:采用 TMS320F206 16 位定点 DSP 作主处理器,处理能力为20MIPS, F206 片上有 4.5K16 位的高速 SRAM、32K16 位的高速 Flash、一个 16 位定时器、一个异步串口、一个同步串口及三个外部中断。 F206 另售价$15,与 MCU 相比有非常高的性能/价格比。模拟量输入:采用 4 片 MAX125 组成 16 通道同时采样、每通道采样率76KSPS、分辨率 14 位、输入范围 5V 的模拟输入部分。电流、电压经CT、PT
13、变换成满足要求的模拟输入量。模拟输入通道实际可达到 32 个通道,只不过这 32 个通道不是完全同时采样的,而是 16 通道/16 通道同时采样,在合理安排采样通道数的情况下,可以满足电力系统同相电压/电流同时采样的要求。频率测量:由硬件电路实现模拟输入信号的频率测量,硬件电路将输入的模拟信号转换为数字方波,用 2.5MHz 时钟计数方波信号,并将计数值锁存到测频寄存器中, F206 读测频寄存器,2.5MHz 除于测频寄存器值,即为被测信号的频率。被测信号要求满足:1V幅值10V,39Hz频率2.5MHz。测频精度的时间分辨率为 400ns。开关量输入:16 路开关量信号经限流、去抖后加到光
14、电隔离器上,并经数据缓冲给F206,由F206 来监测开关变位情况。限流电阻为 3.6K1/4W ,开关量输入范围:18V30V 直流。光电隔离器采用东芝 TLP121,隔离电压 2500V 直流,信号带宽 10KHz。开关量输出:16 路开关量输出,由F206 锁存到输出寄存器中,再经达灵顿型光电隔离器输出,用于驱动外部继电器。达灵顿型光电隔离器采用东芝 TLP127,输出级作为一个开关节点,最大耐压为 40V 直流,最大输出电流 200mA,隔离电压 2500V 直流,信号带宽 10KHz。外部接口:采用 16C552(2 串/1 并)器件,加上F206 片上 1 个异步串口和 1 个同步
15、串口,组成有 3 个异步串口,1 个同步串口和 1 个打印机接口的外部接口,4灵活系统的应用和扩充。3 个异步串口中,其中有 2 个带光电隔离,并且有 1 个可配置为 RS232/RS485/RS422,其余 2 个为 RS232。其它:看门狗电路,提高系统的可靠性;实时时钟,提供时间基准;2K8 位掉电数据不丢失 NVRAM,提供用户存放重要参数;64K 16 位外部扩展的程序或数据存储器,提供用户更大的应用范围。SEED-C32MS 原理框图如图 2 所示,它由下列几部分组成: 模 拟 输 入 01 模 拟 输 入 16 放 大 器 A/D转 换 器 通 道 地 址 发 生 器 方 式 控
16、 制 寄 存 器 读 /写 控 制 数据缓冲FLASH 128K16 320C32 DSP 看 门 狗 译 码 64K32 高 速 SRAM 数 字 量 输 出 01 数 字 量 输 出 16 数 字 量 输 入 01 数 字 量 输 入 16 电 源 监 测 光电隔离数据缓冲光电隔离 数据锁存 多路切换器 2路 串 口 图 2 SEEDC32MS 原理框图主处理器:采用 TMS320C32 32 位浮点 DSP 作主处理器,处理能力为40MFLOPS, C32 片上有 0.5K32 位的高速 SRAM、二个 32 位定时器、一个同步串口及四个外部中断。 C32 另售价$10,与 MCU 相比
17、有非常高的性能/价格比。模拟量输入:采用 1 片 AD676 和 16 片 LF398M 组成 16 通道同时采样分时转换、每通道采样率 5KSPS、分辨率 16 位、输入范围5V 的模拟输入部分。电流、电压经 CT、PT 变换成满足要求的模拟输入量。模拟输入通道还可通过扩展口扩展至 32 个通道。频率测量:由硬件电路实现模拟输入信号的频率测量,硬件电路将输入的模拟信号转换为数字方波,用 2.5MHz 时钟计数方波信号,并将计数值锁存到测频寄存器中, C32 读测频寄存器,2.5MHz 除于测频寄存器值,即为被测信号的频率。被测信号要求满足:1V幅值10V,39Hz频率2.5MHz。测频精度的
18、时间分辨率为 400ns。开关量输入:16 路开关量信号经限流、去抖后加到光电隔离器上,并经数据缓冲给C32,由C32 来监测开关变位情况。限流电阻为 3.6K1/4W,开关量输入范围:18V30V 直流。光电隔离器采用东芝 TLP121,隔离电压 2500V 直流,信号带宽 10KHz。开关量输出:16 路开关量输出,由C32 锁存到输出寄存器中,再经达灵顿型光电隔离器输出,用于驱动外部继电器。达灵顿型光电隔离器采用东芝 TLP127,输出级作为一个开关节点,最大耐压为 40V 直流,最大输出电流 200mA,隔离电压 2500V 直流,信号带宽 10KHz。5外部接口:采用 16552 器
19、件,提供 2 个异步串口,其中 1 个异步串口经光电隔离后,配置成 RS422/RS485;另 1 个异步串口经光电隔离后,将 TTL 电平变换成015V 电平。扩展接口:有 1 个数字扩展接口和 1 个模拟扩展接口。数字扩展接口提供地址、数据和控制总线,给用户作扩充之用。模拟控制接口,还可控制 16 路模拟量输入。其它:看门狗电路,提高系统的可靠性;256K32 位外部扩展 SRAM,提供用户存放程序或数据。512K32 位外部扩展的 Flash,提供用户存放程序或重要参数。(2) DSP 在电机拖动领域的应用大功率电机拖动的数字控制需要大量、高精度实时坐标变换计算,MCU 无法满足实时计算
20、要求,北京合众达公司推出一套用于电机拖动系统的 DSP 嵌入系统:SEED-C32DS。该系统由多个模块组成: SEED-C32DSM、SEED-C32DSOL 和 SEED-C32DSV。SEED-C32DSM 为该系统主控板,原理框图如图 3 所示,它由下列几部分组成:图 3 SEED-C32DSM 原理框图 主处理器:采用 TMS320C32 32 位浮点 DSP 作主处理器,处理能力为40MFLOPS, C32 片上有 0.5K32 位的高速 SRAM、二个 32 位定时器、一个同步串口及四个外部中断。 C32 另售价$10,与 MCU 相比性能/价格比极高。 模拟量输入:采用 2 片
21、 AD7864 组成 8 通道同时采样、每通道采样率130KSPS、分辨率 12 位、输入电压范围10V 的模拟输入部分。模拟输入经隔离放大器隔离,隔离电压 1500V。 模拟量输出:采用 1 片 DAC4813 组成 4 通道同时输出、满量程建立时间4.5s、分辨率 12 位、输出电压范围10V 的模拟输出部分。模拟输出经隔离放大器隔离,隔离电压 1500V。 开关量输入:8 路开关量信号经限流、去抖后加到光电隔离器上,并经数据缓冲给C32,由C32 来监测开关变位情况。限流电阻为 3.6K1/4W,开关量输入SED-C32DSM 原 理 框 图256K16 SRAM256K32 Flash
22、8通 道数 字 输 出光电隔离数 据 锁 存TMS320C32DP8通 道数 字 输 入 数 据 缓 冲光 电 隔 离RS234858通 道模 拟 输 入 FIO.S/H多路切换器 A/D转 换4通 道模 拟 输 出隔离放大数据锁存 D/A转 换 扩展总线隔离放大原 理 框 图通 道数 字 输 出光电隔离数 据 锁 存通 道数 字 输 入 数 据 缓 冲光 电 隔 离通 道模 拟 输 入 多路切换器 转 换 通 道模 拟 输 出隔离放大数据锁存 转 换扩展总线扩展总线隔离放大6范围:18V30V 直流。光电隔离器采用东芝 TLP121,隔离电压 2500V 直流,信号带宽 10KHz。 开关量
23、输出:8 路开关量输出,由C32 锁存到输出寄存器中,再经达灵顿型光电隔离器输出,用于驱动外部继电器。达灵顿型光电隔离器采用东芝 TLP127,输出级作为一个开关节点,最大耐压为 40V 直流,最大输出电流 200mA,隔离电压 2500V 直流,信号带宽 10KHz。 外部接口:采用 16552 器件,提供 2 个异步串口,其中 1 个异步串口经光电隔离后,配置成 RS232;另 1 个异步串口经光电隔离后,配置成 RS485。 DSP 扩展总线:DSP 扩展总线,用于扩展 PWM 输出模块(即 SEED-C32DSOL) 。 其它:看门狗电路,提高系统的可靠性;256K32 位外部扩展 S
24、RAM,提供用户存放程序或数据。256K32 位外部扩展的 Flash,提供用户存放程序或重要参数。2K8 位 NVRAM 存储器,保存重要参数。SEED-C32DSOL 为该系统的 PWM 输出板,原理框图如图 4 所示。实现 6 组共 18路 PWM 输出。图 4 SEED-C32DSOL 原理框图SEED-C32DSV 为该系统人机接口模板,原理框图如图 5 所示。它由下列几部分组成: 主处理器:采用 TMS320C32 32 位浮点 DSP 作主处理器,处理能力为40MFLOPS, C32 片上有 0.5K32 位的高速 SRAM、二个 32 位定时器、一个同步串口及四个外部中断。 C
25、32 另售价$10,与 MCU 相比性能/价格比极高。 LCD 显示器: 采用 128128 点阵 LCD 显示屏,既可显示字符,也可显示图形。 按键:6 个按键,通过菜单方式,实现复杂的按键输入。 外部接口:采用 16C552 器件,提供 2 个异步串口,1 个标准打印机接口。其中1 个异步串口配置成 RS232;另 1 个异步串口配置成 RS485。 其它:看门狗电路,提高系统的可靠性;64K16 位外部扩展 SRAM,提供用户SED-C32DSOL 原 理 框 图 SED-C32DSM 扩展总线PWM发 生 器 1A发 生 器 BPWM发 生 器 1C光纤接口 PWM发 生 器 2A发
26、生 器 BPWM发 生 器 2C光纤接口PWM发 生 器 3A发 生 器 BPWM发 生 器 3C光纤接口PWM发 生 器 4A发 生 器 BPWM发 生 器 4C光纤接口PWM发 生 器 5A发 生 器 BPWM发 生 器 5C光纤接口PWM发 生 器 6A发 生 器 BPWM发 生 器 6C光纤接口信 息 回 馈光 纤 接 口原 理 框 图扩展总线发 生 器发 生 器发 生 器光纤接口 发 生 器发 生 器发 生 器发 生 器发 生 器发 生 器光纤接口 发 生 器发 生 器发 生 器光纤接口 发 生 器发 生 器发 生 器发 生 器发 生 器发 生 器光纤接口 发 生 器发 生 器发 生
27、 器光纤接口 发 生 器发 生 器发 生 器发 生 器发 生 器发 生 器光纤接口发 生 器发 生 器发 生 器发 生 器发 生 器发 生 器 光纤接口发 生 器发 生 器发 生 器发 生 器发 生 器发 生 器 光纤接口发 生 器发 生 器发 生 器发 生 器发 生 器发 生 器 光纤接口信 息 回 馈光 纤 接 口7存放程序或数据。256K16 位外部扩展的 Flash,提供用户存放程序及 2 级汉字库。图 5 SEED-C32DSV 原理框图2. DSP 在信息安全领域的应用互联网的迅速普及,信息安全变得越来越重要,信息的加密和解密需要大量、高速的数值运算,MCU 难于胜任。北京合众达公
28、司早在 99 年即推出一款用于信息安全方面的DSP 嵌入模块: SEED-F206BK,特别适用于金融系统密钥运算、网络身份认证等信息安全领域。SEED-F206BK 原理框图如图 6 所示,由 9 片F206 构成,其中 1 片为主控F206 ,另外 8 片为运算F206 。主控F206 用于给运算F206 分配任务,运算F206 进行并行处理,SED -F206BK 原 理 框 图总 线 控 制 器 CPLDontrolMC68HC1密 钥 处 理8765TMS320F20DPTMS320F206主 控 DSP4321TMS320F206DPFIOISA总 线FIO原 理 框 图总 线 控
29、 制 器密 钥 处 理主 控总 线SED-C32DSV 原 理 框 图64K16位 SRAM25616位 FlashTMS320C32DPRS23485128128点 阵液 晶 显 示 屏取 消 回 车 键 盘红 外 遥 控 输 入标 准 打 印 机 接 口原 理 框 图位位位位 点 阵液 晶 显 示 屏取 消 回 车 键 盘红 外 遥 控 输 入标 准 打 印 机 接 口8实现 160MIPS 的处理能力。图 6 SEED-F206BK 原理框图3. DSP 在信息家电领域的应用2001 年,北京合众达公司推出一款基于 DSP 的股票专用机顶盒:SEED-VC5402VS,其原理框图如图 7
30、 所示。它由下列几部分组成:图 7 SEED-VC5402VS 原理框图 主处理器:采用 TMS320VC5402 16 位定点 DSP 作主处理器,处理能力为100MIPS, VC5402 片上有 16K32 位的高速 SRAM、二个 16 位定时器、二个McBSP 同步串口、8 位 HPI 接口及四个外部中断。 VC5402 另售价$5.5 ,与MCU 相比性能/价格比极高。 图文信息提取:图文信息通过 VBI(电视逆程)传输,由 SAA5284 提取。 信息存储:图文信息经 DSP 处理后,提取股票历史信息,存储于大容量的SDRAM(8M 16 位)中,以便股票处理软件使用。 视频合成:
31、股票信息送视频数据缓存器,经视频合成芯片合成,输出视频信号,送电视机显示。 图像质量:分辨率:640256,色彩:16 色,静态图像稳定、清晰。 程序升级:股票程序可通过图文信息发送,由底层函数接收,自动升级。系统维护简单、方便。SED-C5402VS 原 理 框 图 TMS320VC5402DSP高 频 头 图 文 信息 提 取CPLDontrol视 频 合 成SDRAMSRAMFlash视 频 数据 缓 存电 视 信 号电 视 机原 理 框 图高 频 头 图 文 信息 提 取视 频 合 成 视 频 数据 缓 存电 视 信 号电 视 机9DSP Application in Embedded
32、 SystemsWith introducing the DSP systems design by SEED Company, using in industrial control, information security and household electronics, and comparing project with DSP or MCU, account for the situation of DSP using in embedded systems.Key words : DSP, industrial control, information security, household electronics