PXA255处理器USB主机控制功能研究

PXA255处理器USB主机控制功能研究

论文摘要

USB总线从诞生之日起,就一直处在不断地自我完善中,USB协议从1.1过渡到2.0、USB OTG1.0、PowerUSB、WUSB等USB技术不断地涌现并得到实际应用。USB技术正朝着更广泛的方向发展,随着USB新技术的不断出现,USB的应用领域也越发的广泛。USB技术的引入使嵌入式系统能根据USB总线的各种选择,来提供各种不同级别的解决方案,或者结合这些选择来实现更多的功能。PXA255处理器是一款高度集成的32位RISC处理器,是Kscale系列中广泛应用的一款处理器。PXA255是高性能、低功耗处理器,它能够达到MIPS/mW。它集成了LCD控制器、音频编/解码器等,是面向嵌入式市场如:手持设备、无线互连网、存储设备等的架构。PXA255处理器本身只集成了一个USB功能设备控制器,使PXA255只能作为USB设备被USB主机访问到。本论文的工作使PXA255处理器实现了访阿USB设备的主机接口功能。在PXA255的系统上集成一个具备USB主机控制器功能的外设,PXA255处理器通过控制这个USB主机控制器从而实现对USB设备的控制和访问。硬件平台是XSBase255,软件采用ADS1.2。研究分成两个主要部分:PXA255处理器和CY7C67300的主机控制器功能实现。论文首先以对PXA255处理器的研究为基础,研究了它的系统初始化程序设计,特别是存储器管理,实现了PXA255存储空间的地址重映射。并总结了论文中代码的编程风格和过程。接着介绍了PXA255处理器与USB主机/设备控制器CY7C67300的硬件连接和软件通信的方式和方法,实现PXA255利用CY7C67300来获取USB设备信息及对USB鼠标报告描述符进行获取和解析。最后介绍PXA255如何根据USB鼠标的报告作出LCD屏上鼠标移动和按键操作等。

论文目录

  • 摘要
  • Abstract
  • 目录
  • 第一章 绪论
  • 1.1 嵌入式系统的组成
  • 1.2 嵌入式处理器
  • 1.2.1 ARM架构处理器
  • 1.2.2 XScale架构处理器
  • 1.3 USB与USB控制器
  • 1.3.1 USB控制器芯片
  • 1.3.2 赛普拉斯USB控制器
  • 1.3.3 无线USB
  • 1.4 本论文所做的工作
  • 1.4.1 嵌入式USB主机控制器的功能意义
  • 1.4.2 PXA255系统上的USB控制
  • 第二章 PXA255系统程序设计
  • 2.1 程序的执行特点
  • 2.1.1 映像文件
  • 2.1.2 系统复位
  • 2.1.3 地址映射
  • 2.2 系统初始化
  • 2.2.1 系统启动流程
  • 2.2.2 详细步骤
  • 2.2.2.1 设置入口指针
  • 2.2.2.2 设置异常中断向量表
  • 2.2.2.3 屏蔽所有中断
  • 2.2.2.4 初始化存储器系统
  • 2.2.2.5 系统时钟
  • 2.2.2.6 初始化堆栈
  • 2.2.2.7 初始化应用程序执行环境
  • 2.2.2.8 切换到用户模式、使能异常中断
  • 2.2.2.9 初始化通用输入/输出口
  • 2.2.2.10 呼叫主应用程序
  • 2.3 PXA255存储器系统
  • 2.3.1 PXA255的存储器接口及初始化
  • 2.3.1.1 SDRAM接口
  • 2.3.1.2 静态存储器接口
  • 2.3.2 PXA255的存储器地址空间重映射
  • 2.3.3 PXA255的存储器管理单元MMU
  • 2.3.4 MMU中地址变换过程
  • 2.3.4.1 基于一级页表的地址变换过程
  • 2.3.5 PXA255中虚拟存储空间的建立
  • 2.3.5.1 存储器地址上卷
  • 2.3.5.2 判断一个区域上的SDRAM大小的程序说明
  • 2.3.5.3 判断PXA255上所有SDRAM的大小
  • 2.3.5.4 存储器中页表的建立
  • 2.3.5.5 MMU寄存器设置
  • 2.3.5.6 代码搬移
  • 2.3.5.7 LCD控制器的虚拟地址映射
  • 2.4 小结
  • 第三章 cy7c67300实现USB主机控制
  • 3.1 CY7C67300简介
  • 3.2 CY7C67300的HPI接口描述
  • 3.3 引导配置接口
  • 3.4 CY7C67300的操作模式
  • 3.4.1 协处理器模式
  • 3.3.2 独立模式
  • 3.5 在协处理器模式下使用HPI
  • 3.5.1 HPI硬件描述
  • 3.5.2 HPI寄存器
  • 3.5.2.1 HPI邮箱端口寄存器
  • 3.5.2.2 HPI状态端口寄存器
  • 3.6 CY7C67300 BIOS
  • 3.6.1 HPI的LCP
  • 3.6.2 LCP命令的使用
  • WRITECTRLREG'>3.6.2.1 COMMWRITECTRLREG
  • EXECINT'>3.6.2.2 COMMEXECINT
  • 3.7 配置CY7C67300为USB主机控制器
  • 3.8 小结
  • 第四章 cy7c67300对USB设备的控制
  • 4.1 CY7C67300事务处理方法
  • 4.1.1 第一种方法:寄存器设置
  • 4.1.2 第二种方法:数据结构
  • 4.1.2.1 传输描述符
  • 4.1.2.2 传输描述符的旗语
  • 4.1.2.3 TD SIE Mailbox Message
  • 4.1.3 读取设备描述符的事务处理
  • 4.1.3.1 建立阶段的事务处理
  • 4.1.3.2 SETUP事务的传输描述符
  • 4.1.3.3 数据阶段的事务处理
  • 4.1.3.4 IN事务的传输描述符
  • 4.1.3.5 状态阶段的事务处理
  • 4.1.3.6 OUT事务描述符
  • 4.2 CY7C67300初始化一个USB设备
  • 4.2.1 地址分配
  • 4.2.2 控制端点最大数据包长度
  • 4.2.3 配置USB设备
  • 4.2.4 USB设备的其它信息
  • 4.3 HID设备类
  • 4.3.1 HID设备的识别
  • 4.3.2 HID设备各描述符的获取过程
  • 4.3.3 USB鼠标的报告描述符
  • 4.3.3.1 从USB设备读取HID报告描述符
  • 4.3.3.2 对USB鼠标报告描述符的解析
  • 4.3.4 从USB设备中读取设备报告
  • 4.3.4.1 操作方法
  • 4.3.4.2 HID设备中断IN事务
  • 4.4 PXA255对鼠标报告的利用
  • 4.4.1 鼠标的移动
  • 4.4.2 鼠标位置的确定
  • 4.4.3 对鼠标按键的响应
  • 4.5 小结
  • 第五章 结论
  • 5.1 论文实验
  • 5.1.1 实验开发平台
  • 5.1.2 实验过程
  • 5.1.3 实验结果
  • 5.2 论文的结论
  • 5.3 论文中遇到的问题
  • 5.4 论文中需要改进的地方
  • 致谢
  • 参考文献
  • 附录A 已发表的论文目录
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    PXA255处理器USB主机控制功能研究
    下载Doc文档

    猜你喜欢