1、一 前言 1.1 传统的信号采集、处理与传输系统的发展情况 传统的信号采集、传输与处理系统大多以 MCU(例如 :户 J89C51)作为系统的核心,配以简单的功能辅助电路,实施信号的采集与处理任务,再由串口或者扩展的并行口完成与上位 PC 机的通信任务 .这种系统开发较为容易,开发周期较短,相关技术和制造工艺相当成熟,开发成本较低,所以被广泛应用于诸如家电、工业信号检测、传感器信号采集处理方面,而且现在这种系统的发展方向就是专一化,根据特定的实际需要量身打造MCU 和外围电路的各种性能参数,如专业化单片机的应用。 随着数 字信号处理在工业各个领域的广泛深入应用,传统的系统的缺点暴露无遗。由于处
2、理器内部都是采用冯 .诺伊曼结构,严重影响了指令的提取和执行速度,所以处理速度不可能得到本质提高 ;由于处理器的处理位的宽度一般是 8 位或者 16 位,极大制约了处理器的性能 ;它的接口功能简单,和上位机的通信速度极慢,这就限制了它的工业信号处理领域。正如上述缺点,传统的系统只能应用于对信号处理与传输要求不是很高,处理精度要求不是很高的场合。 1.2 DSP 技术的发展 基于数字滤波和快速傅立叶变换的数字信号处理在加世纪 70 年代有了飞速的发展,到了 80 年代,数字信号处理已经开始应用到了各个工程技术领域,不管在军用还是民用系统中都发挥了积极的作用。进入 90 年代,微电子工业飞速发展,
3、 DSP 技术己经成为工程实用技术, DSP 技术的成本大幅度降低, DSP 处理器由通用的芯片向专用 DSP 芯片发展,价格也由 80 年代的数千美元单片降到数十美元每片,甚至更低,这些处理器都有以下特征 : (1)改进的哈佛结构 (2)多总线结构 (3)流水线结构 (4)多处理单元 (5)特殊的 DSP 指令 (6)指令周期短 (7)运算精度高 (8)硬件配置强 这些特点首先保证了整个处理器有非常高 的运算速度、准确的运算精度,能够使处理器的指令执行成本降到最低。其次能让处理器用特殊的 DSP 指令达到特殊的数字信号处理应用的需求,使得数字信号处理的算法和应用完美的结合起来了。再次使得新一
4、代DSP 的接口功能越来越强大,能够和各式各样的通信接口完成连接任务,而且系统可以工作在省电模式下,功耗进一步降低。 这样以 DSP 为核心芯片的处理系统日益变成了数字信号处理系统的主流,它广泛用于电子信息、通信、图像处理、语音处理、生物医学、自动控制、地质探测等领域,受到工程设计和使用人员的青睐。 1.3 USB 技术的发展情况 USB(通用串行总线 )是 1995 年康柏等公司为解决传统总线的不足而推出的一种新型串行通信标准 2l.其一经推出便以速度快、安装和配置简单成本低廉、连接容易、支持热插拔、占用主机资源少、易于扩展等优点,赢得了广大用户的支持,并在很短的时间内便迅速普及开来。 总体
5、来说, USB 接口具有以下特点 : (1)系统自动地检测与设置,可以做到与系统的无缝连接。 (2)通用的接口,简易的电缆,无需独立电源,能够和外设完美结合。 (3)速度快、价格低廉、性能稳定、通信协议成熟,使得它与主机的数据传输得到很好的保证。 正是因为 以上优点, USB 接口技术已经被广泛地应用于计算机应用的各个方面。 1.4 CPLD 的发展状况 大规模可编程逻辑器件 CPLD 和 FPGA 是当今应用最广泛的两类可编程专用集成电路(AsIC),电子设计工程师利用它可以在办公室或实验室里设计出所需的专用集成电路,从而大大缩短了产品上市时间,降低了开发成本。此外,可编程逻辑器件还具有静态
6、可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,这样就极大地提高了电子系统设计的灵活性和通用性。 由于具备上述两方面特点, CPLD 和 FPGA 受到了世界范围 内广大电子设计工程师的普遍欢迎,应用日益广泛。与此同时,可编程 ASIC 本身也在近几年得到了迅速的发展,其集成度、工作速度不断提高。由于结构和工艺的改进,可编程 AsIC 芯片上包含的资源越来越丰富,可实现功能越来越强,它们己成为当今实现电子系统集成化的重要手段。 二 系统的硬件设计与实现 2.1 硬件实现的总体框架和模块划分 整个数据采集处理系统的硬件部分就是要设计一块以 DSP 芯片为处理核心,
7、USB2.0芯片为传输核心的印制电路板。整个系统由高速 ADC、高速大容量数据缓冲、 H 人 SH 单元、 DSP 主芯片和辅助功能电路 、 USB2.0 传输系统电路、 CPLD 控制逻辑电路几个部分组成,原理框图如图 2.1 所示 : 图 2.1 硬件实现的总体框图 正如图 2.1 所示,可将系统划分为以下几个设计模块 : (1)A/D 转换模块 (2)高速大容量数据缓冲模块 (3)DSP 主芯片模块 (4)USB2.0 传输通信模块 (5)辅助电路模块 (6)CPLD 控制电路模块 2.2 A/D 模块的设计 对于 DSP 的 A/D、 D/A 转换设备,使用串行接口把数模、模数转换合二
8、为一的模数转换芯片,将大大节省 DSP 的 串口资源。在型号的具体选择上时,需考虑习 A/D 的转换精度、采样速度和芯片的工作电压、接口电压。本系统主要针对音频信号的处理,要求 AD采样速率在 IMHZ 左右,精度为 16 位,与 DSP 的接口电压为 3.3 伏。 n 刀 320AD50C,简称 AD50,是 n 公司生产的一种 16 位、音频范围 (采样频率为 ZK22.05KHZ)、内含抗混叠滤波器和重构滤波器的模拟接口芯片,它有一个能与许多 DSP 芯片相连的同步串行通信接口。 AD50C 片内还包括一个定时器 (调整采样率和帧同步延时 )和控制器 (调整编程放P C USB 接口 D
9、SP 处理部分 缓冲 FLASH 高速 ADC CPLD 控制电路 辅助电路 大增益、锁相环 PLL、主从模式 )。 AD50 有 28 脚的塑料 SOP 封装 (带 DW 后缀 )和 48 脚的塑料扁平封装 (带 PT 后缀 ),体积较小,适应于便携设备。这两种封装为图 2.2 和图 2.3所示。 AD50 的工作温度范围是 070,单一 SV 电源供电或 SV 和 3.3V 联合供电,工作时的最大功耗为 12QmW。综合来看完全满足系统设计要求,而且使用 n 公司的习 D 模块可以和 DSP 进行无缝连接。器件之间不需要任何的连接或转接器件,这样即减少了板卡的尺寸,也降低了开发难度。同为
10、n 公司的产品,很多器件可以固定搭配使用,减少了器件选型的烦恼。而且 n 在 CCS 中提供插件,可以用于 DSP 和模拟器件的开发,非常方便。所以本系统采用其作为 A/D 转换芯片。 AD50 与 DSP 的连接有多种方法,最简单也是最实用的就是上述的用 DSP 的缓冲串口与 AD50 芯片直接连接。一个缓冲串口最多可以和三个 AD50 相连。本系统考虑到工业处理信号的多任务性,同时考虑到系统功能的可扩展性,所以采用一个 DSP 和两个 AD50连接。如图 2.4 所示, AD50 的时钟信号由 DSP 处理器的定时器 O 的输出提供,时钟频率可由修改定时器 O 的参数所改变。 AD50 的
11、 FC 引脚连接到 DSP 的 XF(通用 UO)引脚上,用于控制第二次串行通信。 AD50 的 DIN(输入数据引脚 )和 DOUT(输出数据引脚 )分别接到DSP 缓冲串口 0 的 DXO 和 DRO 上。 AD50 的 SCLK(移位时钟输出 )连接 DSP 的 CLKRO(缓冲串口 0 的接收时间引脚 ),帧同步信号 Fs 连接到 DSP 的缓冲串口 0 的班以 0。 这两个 AD50,其中一个为主设备,另一个为从设备 (以上不考虑另加缓冲模块 )。 2.3 高速大容量数据缓冲模块设计 高速采集信号的环境下,要使得 AD采集的高速信号能够及时准确地送入 DSP处理器,使得信号数据不会因
12、为处理器和 AD 转换器的速度不匹配而造成丢失,那么就需要有高速大容量数据 缓冲芯片来协调它们之间的速度。 IDT722V2113 是由美国 IDT 公司生产的高速大容量先进先出存储器件 (FIFO)。其最高工作频率为 133MHz;容量为 512KB,可以通过引脚方便地将容量设置成 512Kxgbit 或者 256Kx18bit 两种方式 ;IDT722V2113 可以设置标准工作模式或者 FWFT(First Word Fall THrough)工作模式,并提供全满、半满、全空、将满以及将空等五种标志信号 l l;能够非常方便地进行容量扩展。容量扩展是IDT722V2113 的一大特点,扩
13、展方式可分为字长扩展 和字深扩展。通过容量扩展可以由多片 mT72V2113 形式更大容量的缓冲,并且电路连接简单、可靠。 缓冲器 IDT722V2113 的写时钟信号由 DSP 的时钟信号经 CPI 刀逻辑控制给出, A/D转换完毕的信号由 AD50 的数据总线先交给 IDT722V2113 的数据线 D0D15,这些信号会存储在数据缓冲器的 RAM 芯片内,再根据控制逻辑的写时钟信号, mT72vZn3 会根据先进先出原则把存储的数据依次送到主处理器中去具体的拐角连接如图 2.6,这样缓冲器IDT722V2113 架起了一座数据桥梁,使高速 A/D 转换的数字信号准 确无误的送入 DSP
14、处理器。 数据总线 写时钟 DSP 处理器 IDT722V2113 图 2.6 DSP 处理器、 IDT72V21113 和 A/D 转换器的连接图 2.4 DSP 主芯片的选择 DSP 芯片的选择主要考虑处理速度 、功耗、程序存储器和数据存储器的容量、片内的资源 (如定时器的数量、 I/O 口的数量、中断数量、 DMA 通道数等 )。 DSP 的主要供应商有TI, ADI, Motorola, Lucent 和 Zilog 等,其中 TI 占有最大的市场份额。根据本系统是针对音频数字信号的处理,需要实现实时处理功能,并且要求低成本、低功耗、微型化的设计要求,综合考虑到运算速度、片上存储器大小
15、、性价比、片上硬件可扩展功能、功耗、芯片的可获得容易程度、开发工具、开发难度和周期等各种因素,特选定TMS320C5402 作为核心处理芯片。 TMS320C5402 是 n 公司 1999 年推出的一块定点低功耗的数字信号处理器,是目前市场上性能价格比最好的芯片之一,也是应用最广泛、最成熟的芯片,该系统的全部信号处理任务和部分控制任务由它来完成。 XD15:0 XCE3 XPCLK EXT_INT4 DX0 Q0Q15 D0D15 REN RCLK PAE WEN WLCK (1) (2) (3) (4) AD 转换完毕的 送 DSP 由 CPLD 发出的 逻辑控制 图 2.7TMS320C
16、5402 开发系统的实现图 如图 2.7 所示,它是以 TMS320C5402 为核心的开发系统实现框图 101,也是很多开发板的具体模型,在开发板上进行开发,可以大大缩短开发的周期,而且可以保证设计人员设计的电 路的可用性和实用性。 2.5 USB 主芯片的选择 本系统开发的另一个重点是设计一个基于 USB2.0 的数据传送处理设备,所以要选择一款合适的 USB 芯片来完成此工作。现在市场上的 USB 控制芯片琳琅满目,种类繁多,不同类型的芯片在功能上有着很大的差别 .有些 USB 控制器芯片功能强大,可以完成大部分的 USB 协议工作,开发者只需做适当的改动就可以完成特定的功能需要,从而大
17、大8 个按键输入 8 个 LED 输出 分频输出 单脉冲输出 JTAG 接口 TMS320C5402 可编程 CPLD 程序存储器 数据存储器 用户存储器 EPROM A/D 转换 D/A 转换 同步串口 异步串口 PC 减轻了开发用户的开发难度和开发周期,而有些芯片功能相对简单,用户要考虑非常复杂的开发事情。因此,用户需要根据实际的 USB 设备功能要求,选择一款合适的 USB 控制芯片。 现在市场上应用最广的 USB2.0 芯片有 CyPress 公司 CY7C68013、 P 址一 ips 公 ;司Isp1581、 Nationalsemiconductor 的 USBN9653,这三款
18、控制芯片各有特点,本项目根据实际需要和对芯片的掌握程度出发,选择了 CyPress 公司 CY7C68013。 CyPress 公司的 Ez 一 USBFX2 系列芯片中的 CY7C68013,这是一种带 USB 接口的单片机芯片,虽然采用低价的 8051 单片机,但仍然能获得很高的速度。它包括一个 8051 处理器、一个串行接口引擎 (SIE)、一个 USB 收发器、一个 8.5KB 片上 RAM、一个 4kBFIFO存储器及一个通用可编程接口 (GPIF)。 首先看 CY7C68013 和 DSP 处理芯片 5402 的连接情况,考虑到系统中 DSP 和 USB2.0芯片之间的通信需要很多
19、控制信号,而且数据流量比较大和比较复杂,如果采用它们的直接相连,必定会带来很多使用上的不便,而且系统功能也很难扩展,控制信号会占用DSP 芯片的大量接口资源,所以本系统没有采用它们的直接连接这种常规设计,而是采用了在它们之间引入 CPLD,来解决上述问题,而且由于有 CPLD 的引入,使得系统的 应用更加灵活,接口资源得到巨大增加, USB2.0 芯片的控制信号的产生更加合理,主处理器和 USB2.0 芯片的数据通信也更加稳定,能够很好地把数据送到处理器中, CPLD 芯片也起到了一个数据缓冲和寄存的作用,使得数据不容易因为芯片之间的速率不匹配而导致的数据丢失。 FXZ 部件的特点是采用低价的
20、 8051 单片机,仍然能获得很高的速度。至于灵活性,则体现在 USB2.0 的可编程接口能为特定的应用进行接口编程。 FXZ 的特点是内有 8 位8051 单片机内核,它可工作在 12、 24 或 48MHZ,这取决于应用对象。图 2.21 为 FXZ 方框图,它展示了芯片的集成特性。此单片机之所以得到广泛的应用,是因为它能适应各种功耗和应用的要求,并能保持 USB2.0 高速度的特点。此外, USB 的端点 (endpoint)数据缓冲器以及从属 FIFO(先入先出寄存器 ),现在都与经典的 FIFO 一样。该缓冲器可与 cyPress智能 USB2.0sIE(串行接口引擎 )相连接。如图
21、 2.22所示 :数据进入收发器后,通过 SIE 直接转向 FIFO,然后通过 8 或 16 位数据路径,可与外部连接,存取数据。注意,这时在数据路径上没有单片机。 图 2.22EZ_USBFX2 的内部结构示意图 CyPressuSB2.0sIE 类似该公司以前的 Fx 部件,能执行 USB2.0 协议的大部分内容。设计师不必考虑所有三级处理这类事情,而全由智能 SIE 来完成。当用户订购该公司的开发板,并插入 PC 插槽时,不必写入任何代码,开发板就能工作。很明显,这是由于有智能 S 正之故,使用户应用时不需调整开发板。在启动这部分工作时不会影响其他部分, USB 就能立即传输数据。这也是
22、本系 统选择这块芯片的重要原因。智能 sIE 支持的另一工作是 cyPress 固件下载。由于固件是在 FXZ 的 RAM 中,所以能通过 SIE 用 USB 下载。当单片机复位时, SIE 就能做下载工作。因为 USB2.0 是新的,有许多问题要考虑。下载给设计师提供了一种容易升级的方法。在参数变化时,这是一个重要的优点,方便本系统的功能设计与拓展。赛普拉斯公司看到了 USBI.1 多芯片方法中存在的引脚数目问题 :USBI.1 的数据宽度是 8 位,而现在 uSB2.0 的宽度至少是 32 位。这需要大的封装,如 100 和 128 引脚四方扁平封装。按该公司的方法, 这正好适合作为 SI
23、E(串行接口引擎 )和 PHY(物理层 )用,但并不包括单片机。因此,封装的费用就占了总价格的相当部分,则总系统的价格就更高。 X20 X/2 PLL X1 X2 USB2.0 收发器 Cypress 智能USB2.0 8051 内核 RAM 8KB IC GPIF 通用可编程接口 FIFO 4KB 数据总线 地址总线 地址( 16) 数据( 8) 8/16 6CL I/O 口( 40) 三 USB2.0 技术及协议分析 3.1 USB2.0 技术概述 USB 是一种可以同时处理计算机与具有 USB 接口的多种外设之间通信的电缆总线 .这些连接到计算机上的外设共同分享 USB 的带宽。 USB
24、 的分时处理机制真正在硬件的意义上实现了计算机外设的即插即用。一个基于计算机的 USB 系统可以在系统层次上被分为三个部分 :即 USB 主机 (USBHost)、 USB 器件 (USBDeviee)和 USB 的连接。所谓 USB 连接实际上是指一种 USB 器件和 USB 主机进行通信的方法。 USB 主机软件系统分为三部分: (1)客户软件部分 (CSW),在逻辑上和外设的功能部件部分进行资料的交换。 (2)USB 系统软件部分 (即 HCDI),在逻辑和实际中作为 HCD 和 USBD 之间的接口。 (3)USB 主机控制器软件部分 (即 HCD 和 USBD),用于对外设和主机的所
25、有 USB 有关部分的控制和管理,包括外设的 SIE 部分、 USB 资料发送接收器 (Transreceiver)部分及外设的协议层等。 当一个 USB 外设初次 接入一个 USB 系统时,主机就会为该 USB 外设分配一个唯一的USB 地址,并作为该 USB 外设的唯一标识 (USB 系统最多可以分配这样的地址 127 个 ),这称为 USB 的总线枚举 (BUS Enumeration)过程 USB 使用总线枚举方法在计算机系统运行期间动态检测外设的连接和摘除,并动态地分配 USB 地址,从而在硬件意义上真正实现“即插即用”和“热插拔”。 在所有的 USB 信道之间动态地分配带宽是 US
26、B 总线的特征之一。当一台 usB 外设在连接 (Aitached)并配置 (Configuratfon)以后,主机即会为该 USB 外 设的信道分配 USB带宽 ;而当该 USB 外设从 USB 系统中摘除 (Detached)或是处于挂起 (susPended)状态时,则它所占用的 USB 带宽即会被释放,并为其它的 USB 外设所分享。这种“分时复用” (Scheduling the USB)的带宽分配机制大大地提高了 USB 带宽利用率。 为了本系统软件的编写,要了解 USB2.0 的协议层的情况。本节从字段 (Field)和包(Packet)的定义开始,从底向上地展示 USB(Uni
27、versal Serial Bus)协议。接着是对不同事务 (Transaction)类型的包事务格式的重点描述。然后是链路层 (Link layer)流程控制 (Flow Control)和事务级别的故障恢复 (Fault recovery)的一般介绍,其它方面的分析就省略了。 3.2 数据传输类型 USB2.0 共定义了四种传送类型 : (l)控制传送。可靠的、非周期性的、由主机软件发起的请求或者回应的传送,通常用于命令事务和状态事务。 (2)同步传送。在主机与设备之间的周期性的、连续的通信,一般用于传送与时间相关的信息。这种类型保留了将时间概念包含于数据中的能力。但这并不意味着,传送这样数据 的时间总是很重要的,即传送并不一定很紧急。 (3)中断传送。小规模数据的、低速的、固定延迟的传送。 (4)批传送。非周期性的,大包的可靠的传送。典型地用于传送那些可以利用任何带宽的数据,而且这些数据当没有可用带宽时,可以容忍等待。这四种传送类型的具体情况可以参照 USB2.0 协议,本系统主要查阅它们的数据格式和数据协议开销。 四 系统软件的设计 4.1 系统程序的整体流程图