保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

带USB接口的电子巡更系统的设计


统软件设计
  
  2.1巡更机固件程序
  
  巡更机固件程序从功能上主要分为两部分。
  
  ①信息钮扣的读取操作程序。这一部分实现MCU主外围器件的初始化、读取信息钮以及对DS1302和24LC64的读写操作。调试时要注意I2C总线的时序问题。巡更机固件程序采用C语言编程。信息钮读取操作程序流程如图3所示。
  
  ②MCU和USB接口的通信程序。这一部分程序要实现将24LC64中的数据经USB接口读入到上位计算机中。USB接口芯片PDIUSBD12的端点适用于不同类型的设备,可通过命令配置为4种不同的模式:模式0(非同步传输)、模式1(同步输出传输)、模式2(同步输入传输)和模式3(同步输入输出传输)。PDIUSBD12带有三个端点,即端点0、端点1和端点2。这里仅列出模式0(非同步传输)时各端点的配置表格,如表1所列。
  
  表1模式0各端点配置
  
  端点号端点索引传输类型端点类型方向
  最大数据包容量/B
  
  00
  1控制输出
  控制输入缺少值输出
  输入16
  1612
  3普通输出
  普通输入普通
  普通输出
  输入16
  1624
  5普通输出
  普通输入普通
  普通输出
  输入64×2(双缓冲区)
  64×2(双缓冲区)
  本程序设计时,使用PDIUSBD12的端点1和端点2进行上位计算机与巡更机MCU之间的命令和数据的传输。端点1和端点2设置成模式0,其中端点1进行命令的传输和应答,端点2用于数据的传输。端点1接收上位计算机发送过来的8字节的读指令,指令正确回应后,使用端点2返回读成功数据。通信中所使用的端点情况如图4所示(括号内为使用的端点号)。
  
  PDIUSBD12收到上位计算机的数据包时,就以中断的方式通知巡更机的MCU。固件程序工作过程如下:当PDIUSBD12从USB收到一个数据包时,PDIUSBD12就会对MCU产生中断请求,MCU立即响应中断。巡更机固件程序将数据包从PDIUSBD12内部缓冲区移到数据缓冲区,并清零PDIUSBD12的内部缓冲区,以使之能接收新的数据包。在断处理程序中,MCU判断产生的中断类型,并进行相应的处理。其中断程序流程如图5所示。
  
  2.2巡更机驱动程序
  
  Windows98和Windows2000已经为一些USB标准设备提供了驱动程序,巡更机目前还不是标准的计算机外设,所以必须针对巡更机的特点来编写驱动程序。本设计中巡更机驱动程序是通过WindowsDDK来开发的,它是Microsoft公司提供的一个开发Windows驱动程序的工具,DDK提供了编译驱动程序的环境。该巡更机的驱动程序是WDM类型的,采用VC++编程。
  
  驱动程序中对USB进行操作的请求都应调用系统例程,将其转化为一个URB结构,即USB请求块(USBRequestBlock),然后使用系统级的IRP将其提交。该驱动程序由四个模块组成:初始化模块、即插即用管理模块、电源管理模块和I/O控制模块。
  
  ①初始化模块。DriverEntry为驱动程序的入口处,通过它来执行大量的初始化函数。
  
  ②即插即用管理模块实现设备的热插拔和动态配置。驱动程序初始化完成后,接着对设备进行

《带USB接口的电子巡更系统的设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140711.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。