170 likes | 372 Views
电子系统设计实验. USB 部分. 实验介绍. 硬件 CPU+USB 接口芯片 + 字符显示模块 CPU : AT89S52(MCS51 系列单片机 ) USB 接口: PDIUSBD12(Philips) 字符显示: 8x8 点阵四个 电源: USB 总线供电可行性 软件 固件 Firmware 驱动 WDM 应用程序. 单片机. AT89S51 兼容 MCS51 微控制器 8K 字节 FLASH 存贮器 支持在系统编程 ISP 256 字节片内 RAM 32 个可编程 IO 口 2/3 个 16 位定时 / 计数器
E N D
电子系统设计实验 USB部分
实验介绍 • 硬件 CPU+USB接口芯片+字符显示模块 CPU:AT89S52(MCS51系列单片机) USB接口:PDIUSBD12(Philips) 字符显示:8x8点阵四个 电源:USB总线供电可行性 • 软件 固件 Firmware 驱动 WDM 应用程序
单片机 • AT89S51 兼容MCS51微控制器 8K字节FLASH存贮器 支持在系统编程ISP 256字节片内RAM 32个可编程IO口 2/3个16位定时/计数器 6/8个中断源 全双工UART
USB接口 • PDIUSBD12 • 符合通用串行总线USB 1.1 版规范 • 高性能USB 接口器件集成了SIE FIFO 存储器收发器以及电压调整器 • 符合大多数器件的分类规格 • 可与任何外部微控制器/微处理实现高速并行接口2M 字节/秒 • 完全自治的直接内存存取DMA 操作 • 集成320 字节多结构FIFO 存储器 • 主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输 • 在批量模式和同步模式下均可实现1M 字节/秒的数据传输速率 • 在挂起时可控制LazyClock 输出 • 可通过软件控制与USB 的连接 • 采用GoodLink 技术的连接指示器,在通讯时使LED 闪烁 • 可编程的时钟频率输出 • 多中断模式实现批量和同步传输
与80C51 并行接口举例 模式0 非同步传输 模式1 同步输出传输 模式2 同步输入传输 模式3 同步输入输出传输
字符显示 • 4个8x8的点阵 通过74574解决IO端口不够用的问题 为了增加亮度,使用三极管和达林顿管(ULN2803)来驱动点阵。 所有电源来自USB总线
软件 • 固件(Firmware) 编程语言: 汇编 C51 编译软件: ASM51,Mbug KeilC51,FranklinC51
软件 • 固件 • PID,VID • USB标准请求 • 厂商请求 • 端点配置 • 用户数据传输
软件 • 驱动程序 Windows98 VXD,WDM Win2K/Xp WDM框架 工具: Microsoft DDK VC++ DriverStudio Windriver
软件 • 驱动程序的关键 • .inf Windows驱动程序根据inf寻找驱动 PID,VID,GUID. • .sys 编译的驱动程序(GUID) • 工作流程: CreateFile,Readfile,Writefile,DeviceIocontrol 产生IRP包,驱动程序把它传递给更底层的驱动 驱动硬件
软件 • 应用程序 调用方法 GUID Createfile Readfile和Writefile 传递点阵数据,获取按键信息。 Host——〉D12——〉CPU-〉点阵显示
调试工具 • BHE • USBVIEW • USBDebug • snifferUSB ftp://202.38.86.232/pub/ 现代电子系统实验USB部分
一些网站 • http://www.usb.org • http://www.21ele.com • http://www.zlgmcu.com • http://www.mcu51.com • ftp://202.38.86.232 (主要提供软件下载)
实验要求 • 完成本实验,把数据传输打通(要检查) • 一份实验报告 • 最好是创新设计(USB,PCI…) 比如USB声音设备,移动存储设备,数据采集 • 电路原理图 • 相应的驱动程序 • 应用程序 • 实物