FPGA培训
  首页 FPGA培训 北京FPGA培训 成都FPGA培训 四川FPGA培训 深圳FPGA培训 广州FPGA培训 广东FPGA培训 西安FPGA培训 陕西FPGA培训
空白
空白
技  术  频  道
        嵌入式系统     电源管理
        3G手机     汽车电子
        数字电视     消费电子
        传感器     通信技术
        工业控制     测试测量
        可编程逻辑     中国RoHS
        DSP与MCU     无源元件
        电子制造     模拟电路
哈佛结构  运算放大器  非结晶硅太阳电池
DSP MCU双核  数据转换器  MODEM
专用型DSP   检波器   通用型DSP
请您来编写词条                     更多>>
基于MAX3420 实时数据采集系统设计
宫鑫,徐遐龄
(1.北京理工大学 珠海学院,广东 珠海 519085;2.武汉大学 电气工程学院,湖北 武汉 430072)

1 引言

现代工业生产和科学研究对数据采集 要求日益提高,对某些数据需要进行实时采集并存储,  TI公司 TMS320-C6000系列DSP具有处理速度快,运算精度高,性价比高 特点,广泛应用于电子信息, 自动化, 音频编解码, 视频压缩, 仪器仪表等领域,  在大型 UPS中,采用TMS320C6000作为数字控制器 核心,实现一个控制板控制多台UPS,大大降低了成本,  TMS320C6000 HPI是主机接口,主机通过HPI接口可以访问DSP 所有地址空间,包括通过地址映射和DSP连接 外部存储器或设备,  由于HPI 这种特性,使它非常适合作为UPS 各项数据采集接口,开发人员可以通过其对设备 数据进行读取以调试设备,用户可通过它了解设备 各项指标及设备 运行情况,  由于对数据传输 速度要求非常高,故基本上只采用USB作为通讯媒介, 

这里设计了基于TMS320C6713数字信号处理器和USB 实时数据采集系统,  该系统利用DSP HPI接口与USB通信,  出于安全规则 要求,需将USB与HPI之间 连接隔离,  因此,  选择具有SPI接口 USB控制器MAX3420E实现隔离, 

2系统硬件设计

整个硬件电路主要由TMS320C6713型DSP, 传感器, A/D转换器THS1207, XC3S1200E型FPGA, USB控制器MAX-3420E, 可将SPI接口转换为HPI接口 56F8356型DSP,以及对SPI口数据进行隔离 高速光耦HCPL-0723组成,  该系统设计能够将采集到 数据实时, 不限长地传输到PC存储或显示,  整个系统 硬件结构如图1所示, 

2.1系统工作原理

将传感器采集到 信号,经A/D转换器THS1207后,再由XC3S1200E送到TMS320C6713,  TMS320C6713对数据处理后,通过HPI接口将数据送到MAX3420E,  当MAX3420E接收到来自TMS320C6713 数据后,通过USB总线传给PC,完成整个数据采集过程, 

2.2 TMS320C6713及其HPI接口

TMS320C6713是TI公司 一款高性价比 浮点型DSP,其主频达到300 MHz,非常适合用于运算精度要求高,运算量大 场合,  TMS320C6713 HPI接口是一个16位宽 并行口,  图2示出其与外部电路 接线, 

HD是HPI 数据线;HCNTL[1:0]在通信中充当地址线 角色,用于选择被访问 寄存器及访问模式,可参考文献,  HPI 总线宽度是DSP字长 50%,但HPI寄存器却是一个字长,所以访问HPI寄存器包含两次半字传输,  HHWIL 功能就是判别当前在HPI总线上 数据是前一个半字,还是后一个半字,  HAS是地址锁存信号,适用于数据信号与地址信号复用 主机,设计 系统中将其置高,  HDS1, HDS2和HCS共同完成数据锁存,在DSP内部,这3个控制信号通过一个组合电路输出真正 数据锁存信号STROBE,  为了降低控制 复杂性,本系统采用将HDS1置高,HDS2置低,并利用HCS控制HPI 内部STROBE, 

2.3 USB控制器MAX3420E及其外围电路

选择具有SPI接口 MAX3420E作为USB控制器,  MAX3420E支持USB2.0 全速模式(12 Mb/s全双工);SPI接口SCLK信号 频率可达26 MHz,  这既满足了通讯速率快和高实时性要求,又方便隔离,  图3示出USB控制器及其外围电路,  其中,MAX3420E MOSI为数据输入引脚;MISO为数据输出引脚;SS为使能引脚;SCLK为同步时钟引脚,  这4个引脚即为SPI接口,与56F8356 SPI接口通过光耦相连,  56F8356工作在主模式,MAX3420E工作在从模式,  SS输入引脚与地之间需连接一只33 pF 电容,以消除噪声,  INT为中断请求引脚,  当采用电平模式时,该引脚为开漏级,必须上拉至高电平,  由于56F8356是独立供电,所以VBCOMP与VBUS相连,当有USB外设插入时,MAX3420E会检测到VCOMP引脚是否与VBUS有效连接,  VBCOMP与地之间需连接1μF 旁路电容,  56F8356 供电电压为3.3 V,因此VL接至3.3 V,与地之间需加一只1μF 旁路电容, 

3系统软件设计

3.1 USB部分软件设计

USB主要有USB协议和收发数据两部分,  一个USB系统中只有一个主控制器PC,所有通信都由主机控制;USB设备只是响应主机 请求, 

56F8356通过SPI接口读写MAX3420E内部 21个寄存器,以对其控制,  设计中使用写寄存器函数wreg(), write-bytes()和读寄存器函数rreg(), readbytes()来访问MAX3420E 寄存器,  56F8356作为主器件,MAX3420E作为从器件,  这几个函数 核心是SPI 收发操作, 

下面给出写寄存器 相关程序代码:

USB协议代码包括识别并响应USB总线复位, 识别并响应USB总线挂起事件, 通过主机恢复(唤醒挂起状态), USB枚举,  其中USB枚举占了绝大部分代码, 

固件程序中,进行收发数据 两个函数为DO_OUT1()和DO_IN2(),  前者用于完成主机向设备发数后,设备将数接收保存以便处理 功能,本设计中用它来接收用户自定义 采样周期地址和采样结果地址,  后者用于完成设备向主机发数据 功能,  当没有HPI 数据时,就发送一个固定 字符;当HPI 数据过来后,就发HPI 数据,  设备必须不停地向主机发数据,否则在主机应用程序中调用Readfile时就会出现死机情况,  为便于PC区分哪些数据有效,当没有数据可以发送时,向EP2FIFO写人"FF",PC接收到"FF"后,删除这些无效数据, 

3.2 HPI部分软件设计

从通信角度来看,主机与HPI 通信实际就是对HPI寄存器 访问,  DSP内部负责通过DMA方式将HPI寄存器与DSP内部单元联系起来,从而达到主机访问DSP内部资源 目 ,  HPI寄存器包括控制寄存器HPIC,主机或DSP均可访问,该寄存器内容是HPI操作 控制和状态位;地址寄存器HPIA,直接由主机访问,该寄存器内容是当前寻址HPI存储器 地址指针;数据寄存器HPID,直接由主机访问, 

一个完整 HPI通信过程分为下述3个步骤:一是写HPIC,设置HPI控制参数;二是写HPIA,告诉HPI要访问 DSP内部地址;三是通过访问HPID,实现访问DSP内部资源,  实际中,如果不需要改变HPI控制参数 话,只需在第1步设置HPIC就可以了,后继工作可交给主机负责,  当HC-NTL选择自增模式时,每次访问HPID后HPIA中 地址都会自动加1;下一次访问HPID之前,无需访问HPIA,提高了通信速度,特别适用于访问大片连续地址 单元,  由于TMS320C6713 最小存储单位是32位,而A/D转换器是12位,在56F8356采集这些数据时,只采集低半字即可, 

3.3主机应用程序

采用VB开发主机应用程序,  PC对USB设备 访问是每隔1 ms进行一次,每次访问之后将获得 结果存储在缓冲区内,调用API函数readfile()读取该缓冲区内 数据,如果不能及时读取这些数据,则新数据就会取代旧数据,  为了能及时取走这些数据,最初 设计思路是设置一高精度定时器,定时读取数据,但随着定时器固有误差 累积,会出现缓冲区数据漏读现象,  为解决这一问题,采用了不间断访问缓冲区 策略,一旦缓冲区溢满,就读取数据,并储存在一个大数据区内,  结果证明,这种方法很好地解决了定时读取数据 弊端, 

采用非实时打印法打印PC采集到 数据,避免打印时间过长,造成缓冲器漏取现象 发生, 

图4给出主机操作界面,  用户可以在访问地址中选择3个通道采样值 存储地址,当点击"Initialize"按钮后,操作程序会把这些信息发送给56F8356,完成初始化过程,  "采样时间"用来设定本次数据采集 时间,最大能达到30 s, 

"绘图数据范围"用来确定本次希望绘制在界面上端并打印在"Data Received"区域 数据范围,这些数据以10 ms为单位,如果希望清晰绘制这些数据,可以选择"少量数据绘图";如果想看到多个数据 曲线,可以选择"绘图模式"中 "大量数据绘图"选项,它可以绘制较多 数据,但绘制出 曲线比较稠密,不利于观察, 

按钮"Initialize"用来初始化HPI,点击"start"按钮开始数据采集过程,数据采集完成之后,会在"data received"下 空白区域打印"data have been received completely",看到这一提示后,可以设定期望打印 数据段,然后点击"picture"开始打印数据并绘制曲线,  如果用户只想看到绘制 曲线,可以勾选"don't print data in this text box"选项,这样在点击"picture"后,就只绘制曲线,而不打印数据, 

4结语

USB接口以其传输速度快, 可靠性和稳定性高, 支持热插拔,使用简单等特点而应用广泛,  基于DSP和MAX3420E 实时数据采集,系统实现了高速实时, 不限长数据采集并具有隔离作用 功能,  经过由DSP处理后 数据可通过USB接口输送到任何具有主USB功能 设备,因此具有很好 实用价值, 

 


 
本文摘自《国外电子元器件》
版权所有2010 备案号:沪ICP备05030316号