华北科技学院计算机学院综合性实验报告
第 2 页
硬件结构非常熟悉。固件程序一般放入 MPU中,当把设备连接到主机上( USB连接线
插入插孔)时,上位机可以发现新设备,然后建立连接。因此。编写固件程序的一个
最主要的目的就时让 Windows可以检测和识别设备。 USB的驱动程序和客户的应用程
序属于中、上层程序。
实验箱上的 USB驱动器采用的是 PDIUSBD12。
USB固件程序由三部分组成: ①初始化 S3C2410相关接口电路(包括 PDIUSBD12);
②主循环部分,其任务是可以中断的;③中断服务程序,其任务是对时间敏感的,必
须马上执行。根据 USB协议,任何传输都是由主机( Host)开始的。 S3C2410作它的
前台工作,等待中断。主机首先要发令牌包给 USB设备(这里是 PDIUSBD12),PDIUSBD12
接收到令牌包后就给 S3C2410发中断。S3C2410进入中断服务程序,首先读 PDIUSBD12
的中断寄存器,判断 USB令牌包的类型,然后执行相应的操作。在 USB程序中,要完
成对各种令牌包的响应,其中比较难处理的是 SETUP包,主要是端口 0 的编程。
S3C2410与 PDIUSBD12的通信主要是靠 S3C2410给 PDIUSBD12发命令和数据来实
现的。 PDIUSBD12的命令字 分为三种:初始化命令字、数据流命令字和通用命令字。
PDIUSBD12数据手册给出了各种命令的代码和地址。 S3C2410先给 PDIUSBD12的命令
地址发 命令,根据不同命令的要求再发送或读出不同的数据。因此,可以将每种命
令做成函数,用函数实现各个命令,以后直接调用函数即可。
本实验随机带的上层应用程序 usbhid.exe 的基本的设计原理是在 USB设备初始
化完之后, PC通过 USB总线给设备写数据到数据端口,设备收到数据后,把数据放
到数据输出端口, 供 PC读取。而 PC端通过上层程序的 Once或 Continuous 按钮,读
一次或连续读 USB设备的端口,从而把数据端口的数据读出。
3、实验步骤
(1)本实验使用实验教学系统的 CPU板,USB单元、CPU板上的串口。 在进行本
实验时,音频的左右声道开关、 A/D 通道选择开关、触摸屏中断选择开关、 LCD电源
开关等均应处在关闭状态。
(2)在 PC机并口和实验箱的 CPU板上的 JTAG接口之间,连接仿真调试电缆。
以及串口间连接公 / 母接头串口线。
(3)打开超级终端,配置串口的属性(如 COM1),配置波特率为 115200,校验
位无,数据位为 8,停止位为 1,数据控制流为无,如图 1 ;检查连接是否可靠,可
靠后,接入电源线,系统上电,同时按住“空格”键,进入 VIVI 状态。