当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读] 随着数字信号处理技术理论的不断发展,数字信号处理器的发展也是日新月异。不仅执 行指令速度越来越快,而且其功耗也越来越低。许多仪器或检测设备都不约而同地将DSP 应用到那.

0.引言

随着数字信号处理技术理论的不断发展,数字信号处理器的发展也是日新月异。不仅执 行指令速度越来越快,而且其功耗也越来越低。许多仪器或检测设备都不约而同地将DSP 应用到那些数据量庞大而且需实时传送数据的系统中。核信号数据采集系统也不例外,利用 DSP 可以实时有效地处理采集的信号,并将处理数据发送至上位机进行进一步处理。通常 数据采集系统下位机与上位机的通讯采用串口方式,这种方式不仅协议简单,而且连接方便。

但是这种方式的数据传送速率不高,而USB 总线接口具有方便快捷、支持即插即用、可实现高速数据通讯等优点,在很多领域得到广泛应用。USB 总线接口在USB1.1 协议下传输速率可达12Mbps ,USB2.0 协议下可达480Mbps ,完全可以满足目前的数据采集控制系统对于 数据实时传输速率越来越高的要求。因此在本系统设计中其通讯方式采用USB(Universal Serial Bus)总线接口方式。 USB 控制芯片采用Cypress 公司EZ-USB SX2 系列的CY7C68001 控制芯片,DSP 选用TI 公司的定点DSP 芯片TMS320VC5502。

1.CY7C68001USB 控制芯片介绍

CY7C68001 是由美国Cypress 公司开发的高速USB 芯片,支持USB2.0 协议。其内部 集成有USB 收发器(物理层)、USB 串行接口引擎SIE(链路层,实现底层通信协议)、4KB的FIFO 以及电压调节器、锁相环;可工作于全速(12Mb/s)和高速(480Mb/s)两种传输模式, 支持8 位和16 位数据总线方式,具有同步和异步的FIFO 接口。CY7C68001 被用来与DSP、 ASIC、FPGA 等控制器连接实现USB 的功能,其内部不含微控制器。同时CY7C68001 提供4 种传输方式(控制传输、中断传输、批量传输和同步传输),可满足用户对各种传输方式的要求。由于该控制芯片内不含微控制器,USB 的应用层协议应该由DSP 编程实现,USB 固件的加载必须靠DSP 控制CY7C68001 完成。

2.通讯接口系统硬件设计

整个采集系统包括的部分有传感器信号调理电路、A/D 转换电路、FIFO 数据缓冲单元、 DSP 控制器、FLASH 程序存储单元、CPLD 逻辑控制单元、与上位机连接的USB 通讯单元。 其中与PC 机通讯的USB 单元硬件接口框图如下图所示。

图 1 数据采集系统与PC 机通讯的硬件接口框图

由图 1 可以看出,通讯部分主要由CY7C68001 USB 控制器、CPLD 逻辑单元、E2PROM、 TMS320VC5502 组成。由于整个系统所需的器件数目较多,由此带来的逻辑控制较为复杂, 而DSP 的I/O 接口有限,故在系统中加入了CPLD 逻辑控制单元,用于产生电路中需要的 逻辑状态。同时用CPLD 中还实现了寄存器功能,这部分寄存器用于表征USB 通讯时各种状态信息,便于DSP 查询。

CY7C68001 USB 控制器与TMS320VC5502 采用EMIF 连接方式,并将USB 控制器中 的存储器配置到CE1 空间。同时采用异步读写方式完成TMS320VC5502 与CY7C68001 之 间的数据和命令交换。系统中E2PROM 的作用是完成USB 控制器的描述表自举。CY7C68001 控制器的自举方式有两种:EEPROM 和微控制器,本系统采用EEPROM 方式。

3.通讯接口系统软件设计

3.1 主机端软件设计

主机端软件的功能主要是完成下位机上传数据的接收、显示、分析等。由于信号采集的 数据量较大,所以在USB 传输方式上采用批量传输方式。 主机端软件的设计包含3 个方面:

(1)USB 驱动程序设计

USB 驱动程序的功能主要是实现USB 发现、配置、关闭以及数据的传送接口控制。 USB 设备驱动程序的设计是基于WDM (Windows driver model ,驱动程序模型)的。WDM 采用分层驱动程序模型,分为较高级的USB 设备驱动程序和较低级的USB 函数层。其中 USB 函数层由两部分组成:较高级的通用串行总线模块(US-BD)和较低级的主控制器驱动程 序模块(HCD)。在上述USB 分层模块中,USB 函数层由操作系统提供,负责管理USB 设备驱动程序和USB 控制器之间的通信、加载及卸载USB 驱动程序,与USB 设备通用端点建立通信来执行设备配置、数据与USB 协议框架和打包格式的双向转换任务。

(2)安装USB 的信息文件(.inf)

这一步用于将驱动程序绑定到特定设备的Verdor ID (VID) 和Product ID( PID)。当USB 设备插入计算机时,计算机检测到设备插入后自动发出查询请求;USB 设备回应该请求, 并送出设备的VID /PID。计算机根据这两个ID 装载相应设备驱动程序,完成枚举。

(3)用户应用程序

用户应用程序是数据采集系统的核心,其主要功能为:开启或关闭USB 设备、检测USB 设备、设置USB 数据传输管道、设置A /D 状态和数据采集端口、实时从USB 接口采集数据、显示并分析数据。整个应用程序采用Microsoft Visual C++编写,通过对界面的控制实现 A/D 的采样以及数据的显示。

下面列举一些与应用程序有关的函数:

BOOLEAN OpenDriver ( ) ;

BOOLEAN CloseDriver ( ) ;

PVO ID Sx2GetDeviceDesc ( ) ;

PVO ID Sx2GetStringDesc ( int stringIndex) ;

PVO ID Sx2GetConfigDesc ( ) ;

BOOLEAN Sx2GetPipe Info ( PVO ID p Interface) ;

BOOLEAN Sx2SendVendorReq ( PVO ID myRequest, char * buffer, int bufferSize, int *

recnBytes) ;

BOOLEAN Sx2GetPipe Info ( PVO ID p Interface) ;

3.2 DSP 软件程序设计

USB 主机与设备间的数据传输是通过设备中的端点(Endpoint)进行的。这些端点通过端点号和输入输出方向来进行标识,并为数据传输分配固定的FIFO 存储区。本系统在初始化时将CY7C68001 的4 个端点配置为批量传输类型。其中,FIFO2、FIFO4 为输出端点,用于接收上位机传来的数据;FIFO6、FIFO8 为输入端点,用于存放待发送的数据。各个FIFO 设置为异步工作模式。DSP 经初始化后打开USB 外部中断,向CY7C68001 写入描述符表, 等待其枚举中断。枚举成功后,DSP 对CY7C68001 进行其他配置并清空FIFO,然后等待主 机发送用户请求并进行相应处理。软件程序流程图如图2 所示。

DSP 软件程序设计主要包括DSP 的初始化、USB 描述符表的写入和其他命令寄存器的 配置以及用户请求的相应处理。DSP 的初始化主要是初始化时钟速率、配置EMIF 口、配置 McBSP 口等。USB 描述符表主要是完成USB 芯片内部的初始配置,命令寄存器的配置是完 成USB 中断的开启、端点数据传输容量以及方向的配置等。用户请求是用户应用程序,根 据用户发送的请求完成相应的数据传输。

图 2 DSP 软件程序设计流程图

4. 结论

本系统采用 USB 接口完成了核信号采集系统与上位机间的数据传输,上位机的用户程序显示所传数据以及波形图。经验证表明该方法连接简单,传输可靠。与普通串口相比,其 速度也得到了提升。

本文创新点:将传统的DSP 信号采集系统用于核信号的采集上,并且将与上位机进行通讯的串行口方式改进为USB 方式,采用这种即插即用的接口不仅方便了与上位机的连接而且提高了传输的速率。(张彪,方方,焦欢欢,黄洪全成都理工大学核技术与自动化工程学院)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Spectrum仪器全新旗舰型号集10GS/s、12位分辨率、4.7GHz带宽与12.8GB/s数据流传输于一体

关键字: 数字化仪卡 信号采集

运算放大器在信号的采集、放大等各种应用中非常广泛,其应用电路也非常多,因此我们特地针对运算放大器的各种电路的实现、参数和一些关键的特性做了总结,以供各位小伙伴查阅。

关键字: 运算放大器 信号采集 同相放大器

拥有10 GSample/s速率、12位分辨率+ 和12.8 GByte/s流式传输速度的新产品

关键字: PCIe数字化仪卡 信号采集

在这篇文章中,小编将为大家带来智能断路器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 智能断路器 断路器 信号采集

本期小编将为大家分享的热门问答帖来自MEMS传感器专区,目前,ADI传感器专家坐镇论坛,实时解答您的技术问题,所以传感器产品使用问题都请砸到这里来吧~(点击“阅读原文”前往论坛发帖提问,同时还有有奖活动可以参加哦)ADX...

关键字: 加速度 ADXL345 信号采集 带宽

电磁噪声是任何类型的采集设备都不需要的电磁能量,但其强度足以使信号失真。因此,在设计高性能数据采集应用程序或任何具有特别敏感信号路径的系统时,噪声是不可战胜的对手。

关键字: 噪声 STOP功能 信号采集

摘 要 :随着电子技术的发展和进步,小信号在电路中的使用愈加广泛,在实际应用中对于小电流信号的采集和监控越来越重要。因此电路中的电流需要能够被简单、方便、准确、实时地测量。文中设计并实现了一套基于单片机的电流检测系统。该...

关键字: 电流测量 放大电路 STC 单片机 TDA2030 频率测量 信号采集

摘 要:为了测量双极化天线隔离度,使用通用设备进行了双极化信号的接收场强测试,而这套设备昂贵,测试较为复杂,因 此提出了一套较简洁的方案。该方案采用一套系统整体硬件设计方案和可编程门阵列(FPGA)软件设计方案。采用双极...

关键字: 双极化天线 Altium Designer 信号采集 FPGA

摘要:随着虚拟仪器计数的发展,软件即设备的思想已然成为科研仪器设备需求的发展趋势。文中利用现有硬件平台,给出了一个基于LabVIEW的虚拟仪器的设计与实现方法。该虚拟仪器不仅可实现多达24路以上通道的同步、异步精确计数功...

关键字: 信号采集 LabVIEW LabVIEWRT 虚拟仪器

摘要:提出了一种面向工业现场信号采集和对现场设备控制的新型通用一体化RTU的设计方案。介绍了基于ARM9处理器并采用μC/OS_II实时操作系统的RTU系统设计方法,同时对数据传输采用的Modbus通信协议和硬件功能模块...

关键字: 信号采集 现场控制 RTU COSII Modbus
关闭
关闭