基于嵌入式系统便携式扫频仪的设计

时间:2022-08-21 10:04:43

基于嵌入式系统便携式扫频仪的设计

摘 要:提出基于嵌入式WinCE操作系统的扫频仪设计方案。使用高效率的VS 2005工具在WinCE平台上开发扫频仪的应用交互式界面。介绍扫频仪硬件结构组成,重点讨论WinCE操作系统的移植及流驱动的添加。充分利用WinCE高度集成化、可按需剪裁等特点实现了低功耗低成本的便携式扫频仪。结果表明,设计的便携式扫频仪运转稳定,达到设计要求。

关键词:嵌入式系统;WinCE;扫频仪;流驱动

中图分类号:TP216;TP316;TP335文献标识码:B

文章编号:1004-373X(2010)02-031-03

Design of Portable Sweep Generator Based on Embedded System

SUN Peng,HU Bing,WANG Yusheng

(Department of Electrical Information Engineering,Xihua University,Chengdu,610039,China)

Abstract:A design and implemention of sweeper based on embedded WinCE operating system is introduced.Higher efficiency VS 2005 tools are used to develop the application interactive interface of the sweeper.The structure of sweeper′s hardware,the porting of WinCE operation system and how to add stream driver as an important aspect are proposed.Sufficiently applying the highly integrated characteristic and tailored system as the requirements of applications to implement portable sweep generator on low cost and low power consumption.Consequently,the portable sweep generator is stable,and achieves design requirements.

Keywords:embedded system;WinCE;sweeper;stream interface driver

0 引 言

扫频仪是用于测量系统频率响应的仪器。在现今扫频仪市场上,高端产品功能齐全,稳定性都已经很完善,但是价格非常昂贵;低端产品的硬件实现一般是基于8位单片机,软件实现一般采用单流程循环控制方式。其产品价格低廉,但是存在着运算能力差,硬件平台依赖性强,不利于应用软件的开发和移植等缺点。

基于32位Intel PXA270嵌入式处理器的扫频仪具有成本低,稳定性好,体积小,使用灵活等特点,通过编程模块的设计既可以让本款仪器单独当作波形发生器发生多种波形,如正弦波,方波,三角波,又可单独当作示波器进行使用,还可以增加或删减仪器的功能,可实现对测试的数据的存储、管理等操作,界面简单使用非常方便。

1 扫频仪的硬件组成

该系统的硬件部分由嵌入式模块、数据处理模块、波形发生模块、波形采集模块开口液晶显示模块等组成[1]。其系统框图如图1所示。

图1 扫频仪硬件系统框图

1.1 波形发生模块

波形发生模块采用AD7801BR,D/A模块的精度为8位,D/A的转换时钟为20 MHz,D/A循环输出让D/A以某一时钟频率自动把内部缓冲区中数据进行循环转换输出,延迟两个时钟周期输出当前数据的转换值,D/A时钟频率fc与分频系数N(9≤N≤1 023)关系如下:

fc=20 000/N+1

当分频系数N=9时产生最高1 MHz的波形,当分频系数N为1 023时产生最小20 kHz的波形信号输入到待测电路。

1.2 波形采集模块

波形采集模块采用AD7819YR,A/D模块的精度为8位,A/D的转换时钟为20 MHz,A/D自动缓冲采集让A/D以某一采样率自动进行采集数据,把数据放入内部缓冲区中,当缓冲区满时,自动停止采集。若中断控制寄存器中相应的中断允许位置1,则产生中断信号。主设备通过响应中断,把数据从缓冲区中读回。延迟7个时钟周期输出当前输入信号的转换值,其分频系数N的范围是1≤N≤2 047,A/D采样频率fs与分频系数N关系如下:

fs=200/(N+1)

从待测电路输出的信号由本单元接收,再由PXA270芯片进行频谱分析,扫频分析结果由液晶显示屏显示。

1.3 嵌入式平台模块

采用的嵌入式处理器PXA270是Intel公司设计开发的基于精简指令集的ARM9核的CPU,最高主频达到624 MHz,且具有丰富的组件,支持Linux,WinCE等主流嵌入式操作系统。配合FPGA(EP1C6Q240C8芯片)一起使用,高速低功耗,稳定性好。

2 扫频仪软件设计

如图2所示,系统的软件设计分为三部分:嵌入式平台内核的定制;流接口驱动程序的添加及应用程序的编写[2]。采用WinCE作为系统平台,使用PB(Platform Builder)根据需要定制所需系统[3]。由于嵌入式系统资源有限,C++编译器效率高、性能好,这里使用Visual Studio 2005工具开发应用程序[4]。

图2 整体框架图

系统启动后,显示启动界面。整个启动界面流程如图3所示。

2.1 平台内核的定制

Platform Builder(PB)工具是微软提供给开发人员进行基于WinCE平台下嵌入式操作系统定制的集成开发环境[5]。这里使用PB设计和定制内核的,在PB中创建工程,选择系统特性,定制满足自己要求的最简内核,由PB生成WinCE操作系统的镜像内核NK.BIN。

图3 系统流程图

2.2 流接口驱动的添加

接口函数表如表1所示。通常实现流式接口驱动程序只需4个步骤[6]:

(1) 流接口驱动程序选择一个前缀。通常须通过设备的名称对驱动程序进行访问。采用由3个大写的英文字母。

(2) 实现流接口驱动DLL所必须的接口函数[7]。

表1 接口函数表

函数名功能简述

XXX_Open()打开设备进行读/写

XXX_Close()关闭设备

XXX_Init()初始化设备,在设备被加载时调用

XX_Deinit()释放设备,在设备被卸载时调用

XXX_Read()从设备中读取数据

XXX_Write()向设备中写入数据

XXX_Seek()移动设备中的数据指针

XXX_IOControl()对设备发送控制命令

XXX_PowerUp()在设备从挂起状态中恢复时调用此函数

XXX_PowerDown ()供可使用软件控制关闭的设备关闭自身的电源

(3) 编写DLL的导出函数。可以有两种方法实现:使用编译器扩展关键字_declspec(dllexport)或是使用.DEF文件。

(4) 为驱动程序配置注册表。为实现流接口驱动程序正确地被设备管理器加载,必须初始化注册表[8]:

[HKEY_LOCAL_MACHINE\\DRIVERS\\BuihIn\\fpga]

"Dll"="fpga.dll"

"Prefix"="ISA"

"Index"=dword:1

"Order"=dword:0

Dll指明该驱动程序的实现位于fpga.dll中。

Prefix表明驱动的前缀。前缀一般都是三个大写的英文字母,这里是ISA。

Index指明驱动的索引,这里是“1”,如果应用程序要打开该驱动,那么CreateFile()的第一个参数就必须是ISA1。

Order指明了驱动的加载顺序。该值越小,驱动被加载得越早,这有助于解决驱动程序之间的依赖关系。

2.3 控制面板软件的设计

使用 Visual Studio 2005软件设计编写应用交互式界面[9,10],采用可视化编程,通过按钮调用各个模块。软件结构如图4所示。

图4 软件结构图

(1) 波形发生器模块,函数模块为OnProfilesGenerator()实现可以输出正弦波、方波、三角波三种波形。图5为产生正弦波的截图。

图5 波形发生器产生正弦波

(2) 波形发生器参数设置模块,通过波形发生器频率参数模块OndaFrequency()设置产生波形的频率,通过波形发生器幅度参数模块OndaAmplitude()设置产生波形的幅度。

(3) 波形采集卡模块,函数模块为OnOscilloscope()用来采集接收到的波形,并将波形显示在窗口显示。

(4) 波形采集卡参数设置模块函数OnadFrequency()和OnadAmplitude(),通过波形采集参数的设置调节波形的采样率用来得到适合的波形显示。

(5) 波形频谱分析模块,函数模块为OnSweeper(),对待测电路进行频谱分析并将分析的波形在窗口显示。

3 结 语

本扫频仪设计采用嵌入式WinCE系统,在嵌入式系统中实现高速实时的频谱分析。实现了一机三用,除了扫频功能还可以作为波形发生器或示波器单独使用,基于嵌入式技术可提供网络、打印等功能,通过软件编程增加或删减仪器的功能,可实现对测试的数据的存储、管理、等操作,成本低廉,使用非常方便。

参考文献

[1]伍玉,夏新凡.频率特性测试仪的设计\.电子设计工程,2009(2):30_32.

[2]何宗键.Windows CE嵌入式系统\.北京:北京航空航天大学出版社,2006.

[3]余宏兵,李宝安,申功勋.基于ARM的WinCE系统定制\.现代电子技术,2008,31(10):73_75.

[4]周毓林,宁杨,陆贵强,等.Windows 内核定制及应用开发\.北京:电子工业出版社,2005.

[5]张晶,李心广.基于Intel PXA270的WinCE操作系统移植\.微计算机信息,2008,24(5):39_41.

[6]罗家兵,腾少华下流接口驱动研究与实现\.微计算机信息,2007,23(9):230_292.

[7]李君懿,赵利,邹柏程.WinCE 5.0的USB Camera流接口驱动开发\.单片机与嵌入式系统应用,2008(1):76_79.

[8]张建畅,陶会荣,王建超,等.基于WinCE的嵌入式系统注册表的研究\.微计算机信息,2008,24(5):44_46.

[9]汪兵,李存斌,陈鹏.EVC高级编程及其应用开发\.北京:中国水利水电出版社,2005.

[10]牛力,傅韵.Visual C++.NET编程宝典\.北京:电子工业出版社,2006.

作者简介

孙 鹏 男,1981年出生,黑龙江鸡东人,硕士研究生。主要研究方向为嵌入式技术及应用、信号与信息系统。

胡 兵 男,1971年出生,博士,副教授。主要研究方向为现代测试理论与技术、信号处理、嵌入式技术及数字系统可测性设计。

王育生 男,1982年出生,硕士研究生。主要研究方向为计算机测控技术的研究及应用。

上一篇:蚁群聚类算法在客户关系管理中的应用 下一篇:变形圆脊矩形波导传输特性的研究