基于ARM和CPLD的虚拟数字存储示波器研究与设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于ARM和CPLD的虚拟数字存储示波器研究与设计Research and Design of Virtual Digital Storage Oscilloscope Based on ARM and CPLD
1引言
近年来,随着电子技术与计算机技术的发展,对数据检测仪表的数据采集速度、精度及其智能化提出了更高的要求。
高性能虚拟仪表是目前及将来检测仪表发展的趋势。
虚拟数字存储示波器与传统示波器相比,不仅可以清晰
的显示出信号的时域特性,并且可以显示频域
特性,同时具有参数测量,频谱分析,波形存储
与回放等功能,可以更好的服务于科研、实验。
ARM芯片具有高性能、低功耗的特性,CPLD可
以很容易实现强大的逻辑控制功能,基于ARM
和CPLD设计虚拟示波器能够极大的提高仪器
的性能。
USB总线技术应用于仪器仪表,极大的
提高了数据采集速度,且USB技术支持即插即
用,与PC机通信方便、灵活,并且避免了机箱内
电磁干扰。
USB总线定将广泛应用于仪器仪表
的数据采集系统与PC机连接。
2系统总体设计方案
本文所设计的虚拟示波器为双通道,最高输入电压40Vp-p(不带探头),最高采样速率达100M SPS(实时采样)。
下位机数据采集卡基于ARM和CPLD技术进行设计,主要包括信号调理电路、A/D转换电路、可编程逻辑控制器(CPLD)、高速数据缓存(FIFO)、ARM处理器以及USB接口电路。
ARM芯片选用Samsung公司ARM9系列芯片S3C2410,主要作用是:控制CPLD芯片产生各种控制信号,实现对数据采集各模块的控制;将A/D转换的数据从FIFO中读出,然后存入扩展的数据存储器SDRAM中;控制USB接口芯片实现和上位机通信,将采集的数据送给上位机。
CPLD芯片选用Altera公司的EPM7128SLC84,实现下位机数据采集的控制。
系统硬件结构框图如图1所示。
3系统硬件设计
3.1触发控制电路
触发电路在示波器中具有重要作用。
在模拟示波器中触发电路是为了使扫描信号与被测信号保持同步。
而在数字存储示波器中,由于对输入信号的采集是依时序进行的,采集之后再对采集到的信号进行处理,然后送显示部件逐一显示,所以不存在模拟示波器中信号在显示屏上重叠的情况。
故在数字存储示波器中,触发电路另有作用,它的作用主要是:根据用户选择的触发方式,启动A/D转换器进行数据采集。
在本设计中两个通道的信号可以作为触发信号使用,没有外部触发输入。
通过两个继电器选择其中一个通道信号作图1数据采集卡硬件结构框图
常波1,阎有运2(1.河南理工大学电气工程与自动化学院,河南焦作454003;2.
河南理工大学电工电子实验中心,河南焦作454003)
Chang Bo1,Yan You-yun2(1School of Electrical&Automation,Henan Polytecnic University,Henan
Jiaozuo454003;2Electrical and Electronic Laboratory Center,Hennan Polytechnic University,Henan jiaozuo
454003)
摘要:文章基于ARM与CPLD技术设计了一种虚拟数字存储示波器。
以S3C2410和EPM7128为控制器,采用高速A/D转换芯片AD9283设计数据采集卡。
采用USB总线实现数据采集卡和PC机通信,基于Lab-VIEW开发虚拟示波器的控制面板及应用程序。
该虚拟示波器具有数据采集、波形显示、频谱分析、数据存储与回放等功能。
关键词:示波器;ARM,CPLD;USB;LabVIEW
中图分类号:TP216文献标识码:A文章编号:1003-0107(2009)03-0033-04
Abstract:Based on the ARM technology and CPLD,we designed a virtual digital storage oscilloscope.To S3C2410and EPM7128for the controller,using high-speed A/D converter chip AD9283to design data acquisition B bus used for communications between data acquisition card and PC,and develop virtual oscilloscope control panel and applications based on the LabV IEW.The virtual oscilloscope has many functions,such as data acquisition,waveform display,spectrum analysis,data storage and playback.
Key w ords:Oscilloscope;ARM;CPLD;USB;LabV IEW
CLC num ber:TP216Docum ent code:A Article ID:1003-0107(2009)03-0033-
04
为触发源。
虚拟数字示波器的触发控制体现在硬件电路上就是对触发电平的设置,触发电平是用户在控制面板上自己设定的,如果设定的不正确,有可能将不能显示波形。
上位机通过USB 接口发送用户设定的触发电平值,到触发电平控制电路。
这个值经过转换后通过一个数字电位器组成的分压网络产生一个触发电平,输入到触发信号比较器的基准端,这样就可以产生正确,稳定的触发信号。
系统触发控制电路原理框图如图2所示。
3.2数据采集及FIFO 存储电路
数据采集是下位机硬件电路的核心,数据采集模块主要由A/D 转换器、ARM 控制器、CPLD 以及FIFO 高速缓存组成。
在高速数据采集系统中,微处理器的数据存储速率与A/D 转换速率往往不能很好的匹配。
为了避免数据的丢失和方便控制,用FIFO 芯片作为两者之间的接口可以产生很好的效果。
本系统ADC 选用ADI 公司的AD9283,由可编程逻辑器件CPLD 对A/D 转换进行逻辑控制,A/D 转换的结果由ARM 微处理器S3C2410进行存储,采用FIFO 芯片CY7C4261实现A/D 芯片AD9283和ARM 芯片S3C2410之间的接口。
FIFO 芯片的存储控制同样由可编程逻辑器件实现。
AD9283是高速8位A/D 转换器,其最高采样速率为100M SPS ,片内带有采样保持电路,模拟输入范围为1Vp-p ;CY7C4261是一款高速、低功耗,先进先出数据缓存存储器,最高存储速率为100M Hz ,
存储容量为16K ×9。
A/D 转换及FIFO 存储电路如图3所示。
AIN 为ADC 的模拟信号输入端子,其模拟电压输入范围为(-512mV,+512mV),ENCODE 为AD9283的采样时钟输入端子,其频率决定了ADC 的数据采集速率,系统中由CPLD 提供ADC 采样时钟。
A/D 转换的数据先存入FIFO CY7C4261中,然后由ARM 处理器S3C2410进一步存储并送给计算机重建波形。
CY7C4261为AD9283和S3C2410的接口芯片,由于ADC 数据最大采集频率为100M Hz ,所以其最大数据存储频率至少应为100M Hz ,而CY7C4261的最大存储速率为100M Hz ,能实现系统要求,系统中CY7C4261的写时钟与A/D 转换采用同一个时钟进行控制。
系统中CY7C4261的写控制由可编程逻辑器件CPLD 实现,当写使能信号WEN1为低电平,WEN2为高电平时,在写时钟信号WCLK 的上升沿将A/D 转换的数据存入FIFO 中;读控制由S3C2410实现,当数据输出使能信号OE 为低电平,读使能信号REN1、REN2均为低电平时,在读时钟信号RCLK 的上升沿数据从FIFO 中读出。
3.3USB 接口电路
本文选用ARM 芯片S3C2410,不仅提高了数据采集卡的性能,而且由于S3C2410自身带有USB 控制器,极大方便了USB 接口电路的设计。
S3C2410上集成的USB 设备控制器完全兼容USB1.1规范,
支持USB 低速(1.5M b/s)和全速(12M b/s)设备连接。
在使用其USB 接口时,只要对其相关控制寄存器进行设定即可。
其USB 接口电路如图4所示。
图2
触发控制电路原理框图
图3A/D 转换及FIFO
存储电路
图4S3C2410的USB 接口电路
4系统软件设计
虚拟示波器的软件设计主要包括底层设备端固件程序、USB 设备驱动程序、上层应用程序。
设备端固件程序实现数据采集,存储,通讯等功能,上层应用程序主要实现虚拟示波器的数据分析显示界面,完成数据处理的功能。
4.1底层固件程序
底层固件程序实现数据采集、存储、通讯等功能。
固件程序的流程图如图5所示。
硬件平台有3种工作状态:待机状态、采样状态、通信状态。
系统上电完成硬件自检测后,进入待机状态。
等待由外部来的采样触发信号,然后转换到采样状态。
此时A/D 转换器开始采样,根据转换结果确定放大/衰减量程,
然后在调整好量程后将采样结果实时存储在高速数据缓冲器FIFO 中,再有ARM 控制器将数据从FIFO 中读出存储到存储器SDRAM 中。
当采样点满足要求时停止采样,由工作状态变为通信状态。
此时ARM 将采样结果从SDRAM 中读出,
并控制USB 通信芯片将读出的数据传输给PC 机。
通信完成或者接收到外部结束信号后,这一次的采样通信工作即完成,通信状态自动转换到待机状态,等待下一次工作。
每一次工作过程都需要完成这三种工作状态的转换。
4.2USB 驱动程序
本文选用Microsoft 公司提供的Windows 驱动开发工具Windows DDK 。
USB 系统驱动程序采用分层驱动模型:USB 设备驱动程序、
USB 函数层。
其中函数层由通用串行总线驱动程序模块(USBD)和主控制器驱动程序模块(HCD)组成。
它由Windows98提供,负责管理USB 设备驱动程序和USB 控制器之间的通信;加载及卸载USB 驱动程序;与USB 设备通用端点建立通信来执行设备配置、数据与USB 协议框架和打包格式的双向转换任务。
4.3上层应用程序
上位机软件是用户操作的界面,也是虚拟示波器的显示面板。
系统中采用NI(National Instruments)公司的虚拟仪器专业开发软件LabVIEW 进行上位机软件的开发。
虚拟示波器的上位机软件主要具有波形显示、触发控制、数据采集、参数测量、软件滤波、频谱分析以及数据存储与回放等功能。
其显示面板如图6所示。
图5
底层固件程序流程图
图6虚拟示波器显示面板
图7触发控制程序框图
4基于FPGA的实现
按照以上要求选择AD7921,FPGA的实现框图如图3。
CPU将目标衰减值化为12位原码从总线输入到锁存器。
以50KHZ的M clk驱动AD7921串行数据经串并转换后计算,因乘加运算后字长会增加,取高12位与锁存目标值比较。
后译码输出控制信号。
AD7921的50K速率的串行数据经串并转换后的12bit速率约为50/16=3.125Kbps,也是AD转换值更新速率,10分频后也是EVOA的驱动脉冲速率。
就是说对每一个脉冲所带来的衰减值的变化有10个AD转换值经计算后比较、译码,所以不会有脱离监查的衰减出现。
这也是保护EVOA的措施。
输出到M C3479的四个控制信号是Bias/Set、Clk、F/Hs、CW/CCW,分别用于节电、时钟、步幅和方向。
译码的规则是:
a.EN无效或告警信号有时效置Bias/Set=0,clk不输出,使EVOA处于节电态;
b.输入的时钟10分频后作为clk,是否输出由(a)决定;
c.A>B时置CW/CCW=1,A<B置CW/CCW=0,A=B时调整结束,置为节电态;
d.一般置F/Hs=1,置为精细调整态。
在需要粗调时才设置为0。
同时也要考虑EVOA的安全使用。
其内部的衰减片具有一定机械行程限制,在运行过程中绝对避免超出该限制。
衰减单元分配给EVOA实现的衰减有30db,相当于脉冲个数300个。
所以设置告警计数器门限300。
无论当前的衰减量为多少,如果计数值超出300表示驱动芯片出错,或设置参数错,或器件损坏,无论哪种情况都需要切断脉冲,发出告警。
整个FPGA的设计可以由VHDL较容易写出。
编译的Flow Summary:
Flow Status Successful Tue Oct2814:53:082008
Quartus II Version 5.1Build17610/26/2005SJ Full Ver-sion
Revision Name EVOAcnt
Top-level Entity Name EVOAcnt
Family Cyclone II
M et timing requirements Yes
Total logic elements32/4608(<1%)
Total registers21
Total Pins32/89(36%)
…………
Device EP2C5T144C6
Timing M odels Preliminary
5结论
本FPGA选择cyclone II系列实现。
实际应用表明完全实现了设计目标。
衰减单元分配EVOA实现的最大衰减30db。
用12位原码表示能精确到0.007db,远优于技术条件要求的0.1db。
外部的控制器通过总线置入目标衰减值后置使能有效,最大调整时间在0.9s,实际上大多数都在100ms内调整结束。
采用本文设计的电路结构实现了改变某些范围的接收功率然后测量其BER。
并获得接收器灵敏度曲线。
此方法后续处理简单、易调试,有很好的实用价值。
进一步的工作是取消M C3479,由FPGA加上简单的电流驱动直接控制EVOA。
另外同类型的产品式(1)表示的线性关系可能存在微小的差异,在具体的设计时要考虑到。
参考文献
[1]张建涛.印新达.PON系统测试用光功率计[M].光通信研究,2007(1):44-46.
[2]邓立.传输测试:误码率和衰减器的重要性[M].电信技
术,2008(4):115-118.
[3]刘琳,赵长有.光功率测试单元系统设计[M].世界电子元器件,2003,1:53-54.
[4]谢晓强,戴旭涵.位错型微机械可变光衰减器的研究[J].光学学报,2005,25(5):717-718.
[5]QingfengYan.High-High-speed electrooptical VOA integrat-
ed in silicon-on-insulator[J].Chinese Optics Letters,2003,4(4): 217-219.
[6]柳光全,阮玉.一种新型电控可变光衰减器(EVOA)的研制[M].光电子技术与信息,2002,15(6):12-15.
[7]邹继明,吴红星.电机控制集成电路的选用第十讲步进电机驱动集成电路M C3479的应用[J].微电机,2000,33(6):38-39.
[8]郭呁,曹明翠.多功能插损回损测量仪的设计[J].激光技术,
2007,31(5):548-550.
触发控制程序框图如图7所示。
5结束语
本文基于ARM和CPLD技术实现了下位机高速数据采集卡的设计,合理的解决了数据采集与处理的时序问题。
与传统示波器相比,不仅能够实现波形显示,并且具有频谱分析,参数测量,数据存储与回放的功能。
经过实验验证,各模块实验结果理想,能够满足一般科研、实验要求,且便于携带,易于安装,界面美观,操作方便。
参考文献
[1]张毅,周绍磊等.虚拟仪器技术分析与应用[M].北京:机
械工业出版社,2004.
[2]徐英慧,马忠梅,王磊等.ARM9嵌入式系统设计-基于
S3C2410与Linux[M].北京:北京航天大学出版社,2007,9.
[3]黄正瑾、徐坚,章小丽等.CPLD系统设计技术入门与应用
[M].北京:电子工业出版社,2002,3.
[4]侯国屏等.LabVIEW7.1编程与虚拟仪器设计[M].北京:
清华大学出版社,
2005.上接32
页。