100 likes | 535 Vues
基于 STM32 的简易示波器设备驱动的研究. 报告人:冯明江 指导教师:崔佳冬. 一、研究的目的和意义. 随着微机技术水平的日益提高,传统的计算接口已经不能满足当前计算机高速发展的需求,计算机业界迫切需要新的通用型、高速总线接口。通用外设接口标准 USB 应运而生。 USB, 全称为通用串行总线( Universal Serial Bus ),它是 Compaq 、 IBM 等 PC 大厂商联合开发的一种新型的、基于令牌的、高速的串行总线标准。. 二 . 研究的基本内容. 本文研究的主要有三方面。 ( 1 ) USB 固件程序的开发
E N D
基于STM32的简易示波器设备驱动的研究 报告人:冯明江 指导教师:崔佳冬
一、研究的目的和意义 随着微机技术水平的日益提高,传统的计算接口已经不能满足当前计算机高速发展的需求,计算机业界迫切需要新的通用型、高速总线接口。通用外设接口标准USB应运而生。 USB,全称为通用串行总线(Universal Serial Bus),它是Compaq、IBM等PC大厂商联合开发的一种新型的、基于令牌的、高速的串行总线标准。
二. 研究的基本内容 本文研究的主要有三方面。 (1)USB固件程序的开发 (2)Windows XP下USB设备驱动的开发 (3)对应的PC上的应用程序开发。
1 USB固件程序的开发 本次准备用的固件芯片是ST公司出的STM32,其基于ARM-CotexM3核,其内置了USB2.0的单片机。ST公司为其提供了一个USB固件库,开发人员主要是他的固件库上进行开发。 主要是对其中的一些描述符进行配置,需要对USB2.0的协议进行研究。
2 Windows XP下USB设备驱动的开发 • 开发windows下USB设备驱动。主要是研究windows下WDM设备驱动程序的开发,在这里是在DriverStudio这个软件下开发的。
3 PC上的应用程序开发 • 应用程序的编写主要是要学习VC++里面MFC的编写。 以及熟悉里面一些相关的API函数
三、研究步骤、方法及措施 • 1.配置底层USB设备,让其发送固定的数据 • USB是一个数据链路,当未知USB设备插入电脑的时候,windows会跳出一个对话框要求安装相应的驱动程序,所以一定先配置好USB设备才能进行下面的驱动开发。 • 2. 建立驱动开发环境。 • 本次驱动开发是基于DriverStudio的,这个软件要和DDK还有VC这两个软件配合取来才能进行开发,所以如何搭建开发环境也是比较重要的环节。这方面网上的文章比较多,仔细操作应该可以建立起来。 • 3. 生成驱动框架 • 利用DriverStudio里面的向导生成一个设备驱动程序,让USB设备能够被识别出来。
4. 完善驱动 • 修改生成的驱动,仔细研究里面的各种类的作用,参考软件给出的example,开发出自定义的驱动。这一部会比较关键,而且也得花去比较多的时间,这时就要合理利用DriverStudio提供的那几个调试工具,一点点把驱动调试出来。 • 5.上位机界面 • 一个相对完整的驱动开发出来后,就要着手开发上位机界面软件。USB始终是作为数据链路存在的,本次任务主要也是研究如何正确接收到下位机通过USB发送上来的数据。上位机如何调用驱动程序也是一个待解决的问题。这一部主要是需要熟悉windows下面的一些API函数。 • 6.协同调试 • 上位机,USB驱动,下位机三者结合起来进行调试,打通数据链路。期间要用到DriverStudio里面的工具,以便查看驱动对上位机的回应。主要方法就是在驱动代码里面加入很多信息,如果信息被显示出来,那说明信息行前面的代码都被很好的执行了。这样就可以知道到底哪里出现了问题。以便做出相应的措施。