中文摘要 | 第3-4页 |
Abstract | 第4页 |
第1章 绪论 | 第8-11页 |
1.1 研究背景 | 第8页 |
1.2 研究意义 | 第8-9页 |
1.3 论文研究内容 | 第9页 |
1.4 论文的组织结构 | 第9-11页 |
第2章 基础知识介绍 | 第11-29页 |
2.1 USB的基本特性 | 第11-14页 |
2.1.1 USB设备简介 | 第11页 |
2.1.2 USB连接拓扑结构 | 第11-12页 |
2.1.3 USB的编码 | 第12-13页 |
2.1.4 USB通信流程 | 第13-14页 |
2.2 USB通信协议 | 第14-20页 |
2.2.1 USB包结构 | 第14-15页 |
2.2.2 USB数据传输类型 | 第15-18页 |
2.2.3 USB描述符 | 第18-19页 |
2.2.4 USB设备请求 | 第19页 |
2.2.5 USB设备枚举过程 | 第19-20页 |
2.3 驱动程序设计基础 | 第20-24页 |
2.3.1 windows驱动程序的发展 | 第20页 |
2.3.2 操作系统分层 | 第20-21页 |
2.3.3 WDM式驱动的基本结构 | 第21-24页 |
2.4 AES加密算法描述 | 第24-28页 |
2.4.1 S盒代换算法 | 第24-25页 |
2.4.2 行移位算法和列混合算法 | 第25页 |
2.4.3 密钥扩展算法 | 第25-27页 |
2.4.4 加密和解密算法 | 第27-28页 |
2.5 本章小结 | 第28-29页 |
第3章 USB固件程序设计 | 第29-44页 |
3.1 USB芯片及方案的选定 | 第29-30页 |
3.2 固件程序的开发环境 | 第30-31页 |
3.2.1 固件程序开发工具选择及环境搭建 | 第30-31页 |
3.3 固件程序的架构及相关例程 | 第31-44页 |
3.3.1 头文件定义 | 第33页 |
3.3.2 中断服务例程D12_Isr.c | 第33-36页 |
3.3.3 主机命令请求的处理例程USB_Code.c | 第36-42页 |
3.3.4 串.中断服务例程UART.c | 第42-43页 |
3.3.5 主循环例程Main.c | 第43-44页 |
第4章 USB设备驱动程序的设计 | 第44-60页 |
4.1 USB设备介绍 | 第44页 |
4.2 开发环境 | 第44-47页 |
4.2.1 开发工具的选择 | 第44页 |
4.2.2 环境的搭建 | 第44-47页 |
4.3 USB驱动程序相关例程 | 第47-54页 |
4.3.1 设备初始化例程DriverEntry | 第48-49页 |
4.3.2 创建设备例程AddDevice | 第49-51页 |
4.3.3 USB设备的插拔PnP处理例程 | 第51-52页 |
4.3.4 打开设备例程USBDevice_DispatchCreate | 第52-53页 |
4.3.5 USB设备读写接收发送例程 | 第53-54页 |
4.4 驱动程序与应用程序通信 | 第54-60页 |
4.4.1 打开设备 | 第55-57页 |
4.4.2 读写设备 | 第57-58页 |
4.4.3 关闭设备 | 第58页 |
4.4.4 应用程序界面及使用方法 | 第58-60页 |
第5章 加密系统设计 | 第60-68页 |
5.1 开发环境 | 第60页 |
5.2 系统结构设计 | 第60-61页 |
5.3 分支模块设计 | 第61-68页 |
5.3.1 串.模块设计 | 第61-62页 |
5.3.2 串并转换模块设计 | 第62-63页 |
5.3.3 控制模块设计 | 第63页 |
5.3.4 密钥扩展模块设计 | 第63-65页 |
5.3.5 加密模块设计 | 第65-68页 |
第6章 系统测试 | 第68-72页 |
6.1 固件程序和驱动程序的测试 | 第68-69页 |
6.2 USB接.加密系统测试 | 第69-71页 |
6.3 本章小结 | 第71-72页 |
结论 | 第72-73页 |
参考文献 | 第73-78页 |
致谢 | 第78-79页 |
攻读硕士学位期间参加的科研项目 | 第79页 |