微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 基于嵌入式WinCE 6.0 的脉冲/数据发生器软件设计

基于嵌入式WinCE 6.0 的脉冲/数据发生器软件设计

时间:12-07 来源:互联网 点击:

alAlloc和VirtualCopy进行内存映射,故在WinCE6.0 系统下,访问物理地址可以采取的一种方法是:在内核模式中编写流驱动程序,将驱动程序编译到内核后再下载到NandFlash中。相关代码如下:volatile S3C2440A_IOPReg *v_pIOPRegs;

  /*申请空间*/

  v_pIOPRegs=

  (volatile S3C2440A_IOPReg *) VirtualAlloc (0,

  sizeof

  (S3C2440A_IOPReg),

  MEM_RESERVE,PAGE_NOACCESS);

  i(f /*申请空间失败*/)

  {/*进行错误处理并返回*/

  } else {/*进行映射*/

  if (!VirtualCopy ( (PVOID) v_pIOPRegs, (PVOID)

  (S3C2440A_IOBase》8) , sizeof (S3C2440A_IOPReg) ,

  PAGE_READWRITE|PAGE_NOCACHE ))

  {/

  *如果映射失败,释放申请的空间并返回*/}}

  S3C2440A整合了多种接口和总线。基于通用片选nGCSn 的SRAM 接口具有配置简单、逻辑控制信号少、寻址以及数据读写的速度高的特点,因此选择nGCS2作为片选信号,同时搭配写使能信号nWE 以及读使能信号nOE完成对脉冲/数据发生器单数据通道的操作。

  nGCS2片选信号为低有效,对应的端口是PortA,其第13 位用来实现nGCS2 的控制,对应的配置寄存器是GPACON,数据寄存器是GPADAT,它们分别对应的物理地址为0X56000000 和0X56000004.当GPA13 设置成0时候,nGCS2为普通输入输出口;设制成1的时候,nGCS2成为使能信号。其他信号设置与此类似。在本项目中,nGCS2按照要求被设置成使能信号:

  v_pIOPRegs->rGPACON |=(0×01《13);

  BWSCON 是总线位宽和延时控制寄存器,它可以用来配置8 b、16 b或者32 b的总线宽度。将其设置为32 b的总线宽度:

  v_pMEMRegs - >rBWSCON=(v_pMEMRegs - >rBWSCON~(0XF《8))(| 0XE《8);驱动编译到内核的过程如下:在BSP中创建驱动文件夹并开发流驱动程序。完成后,再创建makefile 文件、模块导出文件以及用于编译的sources文件。最后在注册表中添加GPIO 流驱动程序,将驱动添加到NK中,用Visual Studio 2005 中的Platform Builder 6.0 编译得到NK.bin文件,下载到NandFlash中。

  4 程序移植及系统测试

  人机界面以及各功能模块开发完成之后,需要进行应用程序的移植。ActiveSync 6.1可以实现连接装有桌面Windows的PC机和WinCE设备。通过它可以使用串口、USB端口、以太网或红外线连接在移动设备和PC之间创建同步关系。在本项目中,选择使用USB口建立连接,这就需要首先安装BSP下面的USB驱动。建立连接之后,将编译好了的应用程序下载到定制好的WinCE 6.0系统中,即可实现应用程序在嵌入式WinCE 6.0系统中的运行。脉冲/数据发生器功能包括多样化触发、时钟发生、脉冲生成、脉冲参数可控、信号时延可控、串行数据发生等各项功能。利用嵌入式软件编程实现的友好简洁的人机界面如图3所示。通过现场测试表明该软件操作简便,使用函数生成数据时界面刷新无明显迟滞,具有一定健壮性,能有效处理用户误操作。图4显示为频率设置成50 MHz、脉宽设置为1 ns 时,脉冲/数据发生器输出通道所输出的脉冲波形

  

  5 结语

  本文结合WinCE 6.0嵌入式系统,制定脉冲/数据发生器软件实现方案,实现了脉冲/数据发生器界面设计、嵌入式应用程序移植、上层软件与底层硬件的数据通信等工作。经过实际测试及运行,开发的脉冲发生器软件平台运行稳定,界面简洁美观且易于操作,上层应用软件功能齐全,系统的实时响应能力达到仪器的设计要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top