(7) 插上USB线,微机会自动识别USB设备,并启动ActiveSync.启动后选择”是”. 1.USB线一定要在第(6)步之后插,否则连接不成功.如果出现此情况,则拔掉USB线,重新建立一个新的连接,再插USB线.
2.ARM上的“我的连接”在ARM关电后会消失.
(8)在弹出的”新建合作关系”对话框中选择”联系人”、”任务”、”日历”、”文件”,然后点击”下一步”.弹出”文件同步”对话框,点击确定.选择”下一步”, 然后点击”完成”. 在弹出的Microsoft Office Outlook对话框和Microsoft Outlook同步对话框中点击确定. 直到弹出的Microsoft ActiveSync对话框中出现已连接已同步.实验完成. (3) 七段数码管和LED显示控制程序设计
做此实验需要了解在 Windows CE下访问硬件I/O 寄存器的一般方法;了解 WinCE 下IO访问机制和原理;了解数码管(LED)的显示及控制原理;熟悉 VS.Net 的使开发环境. 7.3.1 Windows CE 下访问物理地址的方法
① 虚拟内存函数
IO接口属于 XScale 处理器的外部设备,类似于通常所使用的 PC的串口、并口或者 PC喇叭.对于一般单片机,可以直接操作硬件,即通过直接读写IO端口来访问硬件.而对于Windows CE操作系统,不允许直接访问硬件,尽管知道物理地址,我们仍不能直接访问它,因此必须使用特殊的方法来访问硬件.
Windows CE操作系统出于稳定性和安全的要求,屏蔽了用户应用程序对硬件访问的权限,只有内核应用程序才可以访问硬件资源.如果要直接访问某一个地址的物理内存,可以采用内存映射的方法,将该硬件寄存器映射到普通的内存空间,像操作内存地址一样操作硬件寄存器.Windows CE提供了VirtualAlloc()和VirtualCopy()函数,VirtualAlloc负责在虚拟内存空间内保留一段虚拟内存,而VirtualCopy负责把一段物理内存和虚拟内存绑定,这样,最终对物理内存的访问还是通过虚拟地址进行.下面简单介绍这些函数的作用和使用方法.
VirtualAlloc()函数用于分配一块内存空间.如果要映射一个硬件寄存器,必然要将其映射到一块确定的内存空间.在这里我们分配一个内存空间.这个内存空间并不占用实际内存空间,而是留待后面进行分配.
VirtualCopy()负责将硬件设备寄存器的物理地址与 VirtualAlloc()分配的虚拟地址
做一个映射关系,这样驱动程序访问虚拟地址即是访问对应的物理地址处的第一个寄存器.
7.3.2 硬件电路接口分析:
XSBase 目标板LED 和七段数码显示接口电路如图3-1 所示,74HC574 为D 锁存器,在时钟信号CLK 作用下,该锁存器将输入信号进行锁存,即xQ=xD(x=1~8)。从电路图中可以看出,LED和八段数码显示电路将74HC574 的时钟信号输入端作为片选信号,其中LED 显示的片选信号为LED_CS4、七段数码显示的片选信号为LED_CS1。在七段数码显示电路中,数据的高位(D7、D15:即数码管的小数点dp 段)用作七段数码的公共选通信号,通过控制PNP 三极管来控制数码管的显示。
图3-1 LED 和七段数码显示接口电路
显示电路中的片选信号LED_CSx(x=1-4),由XSBase270 目标板系统的处理器PXA270x的地址信号BA22~BA20 通过3-8 译码器LC138 产生(如图3-2 所示)。
图3-2 片选信号产生电路
由3-8 控制功能可知,当BA22、BA21、BA20=101 时产生LED 显示电路的片选信号LED_CS4,当BA22、BA21、BA20=010、011、100 时分别产生七段数码显示电路的片选信号LED_CS1、LED_CS2、LED_CS3。根据分析,可以得出七段数码管和LED 的片选信号为:LED_CS1=0x10200000、LED_CS2=0x10300000、LED_CS3=0x10400000,LED_CS4=0x10500000。
7.3.3 实验步骤:
第一步:连接好实验系统,打开实验箱电源. 第二步:打开对应的工程文件,编辑编写源程序. 第三步:编译、下载与调试.
IO 接口控制 LED工程的调试和发行版的编译配置如下图:
编译该代码,点击运行按钮,这样程序就会下载到 XSBase270 目标板板上运行.
(4) IO接口控制-电机控制设计
7.4.1 硬件接口电路分析:
XSBase270 的步进电机控制电路如图3-3 所示,UCN4202 为四相步进电机控制器,其控制逻辑如图7-2 所示,在XSBase270 目标板的步进电机控制电路中,步进电机的方向控制信号和步进输入信号分别由CPU 的通用IO 口GPIO84 和GPIO83 控制,当方向控制信号为逻辑低电平时,步进电机旋转输出相位时序为A-B-C-D,当方向控制信号为逻辑高电平时,步进电机旋转输出相位时序为A-D-C-B;步进电机的步进输入时序由GPIO83 控制,相应的输入逻辑如图3-4 所示;UCN4202 输出使能信号由PXA270 微处理器的GPIO53 控制,低电平有效。
图4-1 步进电机接口控制电路
图4-2 UCN4202 输出时序图
7.4.2 实验步骤:
(1). 连接好实验系统,打开实验箱电源;
(2). 打开电机控制的工程文件Motor.vcw,进行编译;
(3). IO 接口控制LED工程的调试和发行版的编译配置如图1-11所示;
(3). 编译该代码,点击运行按钮,这样程序就会下载到XSBase270 目标板板上运行。
八、课设结果
(1)嵌入式操作系统Windows CE平台的搭建:
把XSBase270平台生成的NK.bin文件成功烧入目标机(arm)后,开启目标机后,目标机上就会有一个操作系统,如图4-1所示。
把XSBase270平台生成的NK.bin文件成功烧入目标机(arm)后,开启目标机后,目标机上就会有一个操作系统,如图5-1所示。
图4-1
插上U盘,播放U盘中的一首歌曲,如果能正常播放歌曲,说明系统没有任何问题。 (2)七段数码管和LED显示的结果:
编辑好LED程序后,运行程序后会自动下载到目标机,程序下载成功,则在目标机上生成一个LED的控制界面,如图4-2所示。
图4-2