基于S3C2440的LXI总线高速数据采集模块的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
- 50 -
基于S3C2440的LXI 总线高速数据采集模块的设计
陈 朋 牛军浩 胡 聪
(桂林电子科技大学电子工程与自动化学院, 广西 桂林 541004 )
【摘 要】为了实现分布式网络自动测试系统的数据采集部分,设计了LXI 总线的高速数据采集模块。
该设计采用AD9224作为S3C2440的外部A/D 转换器,FIFO 作为高速缓冲存储区,S3C2440作为主处理器, CPLD 作为协处理器实现数据采集的逻辑控制和高速数据传输。
完成了基于嵌入式linux 的B 类LXI 高速数据采集模块,实践表明,该模块工作稳定、性能可靠。
【关键词】LXI 总线;高速数据采集;嵌入式Linux ;S3C2440
【中图分类号】TP336 【文献标识码】B 【文章编号】1008-1151(2012)02-0050-03
Design of High-speed Data Acquisition Module Based on S3C2410
Abstract: In order to realize the data collection part of the distributed network automated test systems, we has designed the high-speed data acquisition module of LXI bus. The design adopts AD9224 as the S3C2440 external A / D converter, FIFO as the cache memory, S3C2440 as the main processor, CPLD as a co-processor to realize the logic control of data acquisition and high-speed data transmission.we has Completed the high-speed data acquisition module of Class B LXI instruments for embedded linux. The practice shows that the module possesses stable operation, reliable performance.
Keywords: LXI bus; high-speed data acquisition; embedded Linux; S3C2440
LXI 技术作为新一代的发展趋势,其标准的开放性和灵活性,不但能够组成以太网的测量仪器系统,不受带宽、软件后计算机结构的限制。
LXI 仪器可以与其他传统仪器连接成LXI 测试系统,系统中包括各种接口,可以使其他成熟的
测试系统方便地接入LXI 系统中[1]。
LXI 技术和IVI 技术的结合,必将进一步降低军用测试系统的研制周期和开发成本,提高维护灵活性,具有重要的军事价值和应用前景。
数据采集(Data Acquisition)是获取信息的基本手段,数据采集技术作为信息科学的一个重要分支,与传感器、信号测量与处理、微型计算机等技术为基础而形成的一门综合应用技术,它研究数据的采集、存储、处理及控制等作业,
具有很强的实用性[2]。
所以,研制符合LXI 标准的高速数据采集模块是构建分布式网络自动测试系统的重要组成部分。
LXI 仪器带来的好处包括以太网连接,标准软件驱动程序和网页控制界面等。
1 LXI 高速数据采集模块设计总体架构
LXI 高速数据采集模块主要包括输入信号调理电路、AD 转换电路、逻辑控制电路、LXI 接口电路等。
输入信号调理电路就是对输入模拟信号进行隔离、滤波、阻抗变换、放大以及直流偏置,使其符合AD 转换器模拟通道的输入范围。
AD 转换电路是AD 芯片外围的模拟输入和数字输出电路设计。
逻辑控制电路采用可编程逻辑器件设计,负责完成对A/D 芯片的控制和采集数据到FIFO 的转储控制。
LXI 接口电路基于ARM9硬件开发平台设计,基于该硬件实现LXI 协议功能并完成与功能仪器的数据交换等。
该模块接口符合LXI C 类仪器接口协议,采用嵌入式软、硬件协同技术设计实现,组成原理框图如图1所示:
图1 系统工作框图
【收稿日期】2011-12-03
【基金项目】广西教育厅科研立项项目(201106LX163) 【作者简介】陈朋(1985-),男,安徽蚌埠人,桂林电子科技大学电子工程与自动化学院硕士研究生,研究方向为自动测试系统、嵌入式系统。
2 功能模块设计
2.1数据采集硬件设计及选择
信号调理就是根据实际情况利用隔离、滤波、阻抗变换、放大等手段将待测信号分离出来并放大,使待测信号通过预处理操作转化成AD转换器模拟通道的输入范围,从而使待测信号能够被采集系统正确地采集。
图2信号调理框图
前向模拟信号输入通道主要用于对输入模拟信号进行A/D转换,输入模拟信号经阻抗匹配后送入A/D转换器进行转换,转换结果存入FIFO存储器中。
根据项目指标要求,AD转换器选用的是ADI公司的AD9224。
AD9224是一个单通道、12bit、40MSPS的模数转换器,带有一个片上高性能采样保持器和一个参考电压。
由于带有一个真正的差分输入结构,AD9224允许用户灵活地选择差分输入或者单端输入,而且可以灵活的选择输入范围和偏移。
该AD芯片的采集速率可以向下兼容,通过改变其输入采样时钟的频率既可以实现其极限速率的高速采样也可以进行低速的采样,所以选择AD9224可以保证采样速度的灵活性。
主控制器选择三星公司生产的s3c2440。
它采用ARM920T 内核、400M主频,该工作频率能够是处理器轻松运行嵌入式Linux操作系统以及进行Lxi协议处理。
S3c2440本身没有集成的以太网控制模块,需要一个与之匹配的DM9000控制芯片来实现以太网扩展接口。
2.2数据采集控制过程的设计
从图3可以得到:CPLD作为S3C2440的一个外设,利用总线扩展的形式,将CPLD连接至S3C2440的系统总线上,CPLD 扩展在存储控制器的BANK5上.由框图的连接可以确定外设的访问地址,即这些地址线所确定的地址值,再加上BANK5的起始地址,就是这个外设的访问地址。
S3C2440通过对CPLD写入控制字达到对整个CPLD数据采集模块的控制,以及从CPLD中获得采集的数据。
CPLD采集接口模块的功能就是配合S3C2440的总线读写时序,准确地获得S3C2440写入的控制字并且将其写入CPLD内部逻辑中各个功能的寄存器中,并且及时地将采样数据按照S3C2440总线的时序发送到S3C2440中。
图3数据采集控制过程
具体的数据采集控制过程可以分为以下步骤:
(1)系统的初始化:
a.FIFO复位控制:IDT7207在使用前需复位,其低电平复位最小时间需大于25ns,写入数据0x0000H时,FIFO复位信号变为低电平,复位FIFO;S3C2440内部程序延迟一段时间(大于25ns)后再次在该地址写入数据0x0001H时,FIFO 复位信号变为高电平。
b.采样时钟及FIFO写入时钟控制, CPU写操作。
该地址写入0x0000H,采样时钟及FIFO写入时钟无输出。
(2)采样时钟及FIFO写入时钟控制:S3C2440 在nGCS5 为低,写入采样时钟及FIFO写入时钟的地址的数据为0x0001H时,AD采样时钟开始输出。
该地址为采样时钟及FIFO 写入时钟控制地址,CPU写操作;
(3)AD9224采样结果缓存:AD9224在时钟的驱动下,开始采样模拟输入信号,AD9224输出12位采样结果在FIFO 写时钟的驱动下缓存到FIFO中。
(4)产生中断请求信号:FIFO缓存的数据到半满时,IDT7207输出/HF的半满信号,并在CPLD内部产生S3C2440中断请求信号IRQ_AD。
(5)响应中断及查询中断源:S3C2440响应中断后,当nGCS5为低,地址为中断源查询地址时,读取数据总线上对应的数据位来查询中断源。
(6)读取数据:若S3C2440查询到的是FIFO产生的半满(/HF)信号产生的中断请求,则即将nGCS5为低,地址为CPU读FIFO数据地址时,产生IDT7207的读信号(R)FIFO_RD,将IDT7207数据输出到S3C2440的数据总线LDATA15~
LDATA0上去。
Y
图4数据采集流程图
- 51 -
3 LXI接口设计
DM9000是完全综合的、成本较低的单一快速以太网控制器芯片,具有通用的处理器接口。
它被设计为低功耗、高处理性能,而其设计又非常简单,所以可以容易的完成不同系统的软件驱动开发。
它是DAVICOM公司的10/100Mb/s自适应以太网芯片,其特点是:支持8位、16位、32位数据总线宽
度;寄存器操作简单有效,有成熟的Linux驱动程序支持;
3.3V接口电平;成本相当低廉;还可以使用MII接口和PHY 芯片连接[5]。
3.1LXI接口硬件连接
DM9000与S3C2440连接:实现DM9000与S3C2440连接,必须对两者间的数据、地址、控制三大总线进行连接和转换。
S3C2440是32位微处理器,有32根地址线,支持4GB存储空间。
其中0—40000000的1G空间被分为8块128M 空间,分别由NGCS0—NGCS7片选。
DM9000为16位以太网控制芯片。
图5给出了S3C2410与DM9000的连接方法。
图5网络接口
对DM9000读写操作,首先对DM9000正确寻址。
由DM9000的特性可知DM9000的地址信号和数据信号复用,所以只用到一条地址线:ADDR2。
使用CMD信号线来区分地址信号和数据信号:CMD为低时数据总线上传输的是地址信号,为高时传输的是数据信号。
对DM9000内部寄存器的访问首先需要先将CMD置为低电平,DM9000发出地址信号;然后将CMD置为高电平,DM9000读写数据。
DM9000的访问基地址为0x2000_0000(BANK4的基址)。
总线位宽为16。
其中nWAIT为读写等待信号。
由于在S3C2410中以太网卡的中断为7号中断,所以EINT7为中断信号。
RESET 为网卡芯片重启信号。
由25MHz OSCILLATOR为DM9000芯片提供25MHz的工作频率。
3.2LXI接口协议的实现
LXI接口功能主要包含发现机制、时钟同步协议、IVI-COM驱动,网络接口等关键技术;本模块的LXI接口实现的主要工作是基于web服务器的网络接口和LXI仪器的发现机制。
在web服务器建立方面,因为BOA Webserver 是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、非常适合于嵌入式系统的单任务的http服务器。
本模块选择Boa作为LXI仪器的Web服务器,通过配置及应用Boa服务器,以及应用CGI接口使网页具有交互功能,实现LXI仪器的Web服务器,从而实现实现了对仪器动态的参数的获取以及数据的实时采集。
在移植好Web服务器的基础上,使用在网页上嵌入
Java Applet控件,与服务器端的CGI进行通信,CGI主要完成的是状态的读取或者采集数据的读取,然后通过Web服务器将数据通过网络传送给网页上显示出来。
在LXI仪器发现机制方面,因为基于 ONC/RPC协议的VXI- 11 发现机制网络发现机制存在发现速度慢、仪器设备数量受限、LXI 仪器不要求完全兼容等问题[8]。
本模块采用mDNS/ DNS-SD协议,在嵌入式ARM9/Linux开发平台下实现了基于Zeroconf的LXI网络发现技术。
图6被成功发现的仪器页面
使用发现工具Agilent IO Libraries Suite 16.1.14931.0来测试基于ZeroConf协议的LXI仪器的发现。
安捷伦发现工具成功发现连接LXI仪器时自动发送*IDN?识别信息,对仪器进行识别,得到如图所示的仪器的制造商、模型、序列号和版本号信息。
4 结束语
嵌入式高速大缓存AD采集模块系统采用S3C2440作为系统的CPU,系统外围扩展了CPLD逻辑芯片作为协处理器,并扩展了A/D数据采集转换电路模块以及高速数据采集缓冲系统FIFO,可以实现高精度、高速率的数据采集;运行嵌入式Linux操作系统,对数据进行采集处理和网络传输,实时及逻辑性能良好。
本文着重阐述了该系统的数据采集传输原理的实现过程以及LXI仪器接口协议的实现,该系统已经应用在了开发LXI高速数据采集仪中。
本文对高速数据采集应用方面的LXI仪器开发具有很好的参考价值。
【参考文献】
[1] 杨柳.LXI仪器系统构建技术的研究与实现[D].西安:西安
交通大学,2008,1:11-17.
[2] 陈曦.基于ARM9和FPGA的高速便携式数据采集前端的
设计[D]南京:南京航空航天大学,2010,1.
[3] 朱望纯,高海英,李 智.基于FIFO 的 VXI总线并行A/D
连续采集研究[J]. 微计算机信息,2007,23(12).
[4] 曹毅,何慎学,陈会鸽.ARM-Linux外扩AD驱动程序的研
究与实现[J].自动化与仪表,2010,25(9).
[5] 韦东山.嵌入式linux完全手册应用开发 [M]. 北京:人民
邮电出版社,2008,8:441-442.
[6] LXI Consortium,Inc. LXI Standard Revision 1.3.2008,10.
[7] 刘国华.高速可靠的工业CT数据传输系统的研究与设计
[D].重庆:重庆大学,2009,4.
[8] 赵涛,于月芬,李建刚.LXI 总线网络发现机制研究[J].电测
与仪表,2008,510(45).
- 52 -。