【ARM7+USB方案】是一种嵌入式系统设计方法,主要应用于开发基于USB接口的移动存储设备,如U盘。这种方案的关键在于整合ARM7处理器、USB接口芯片和Flash存储器,以构建高效、大容量的数据交换系统。 **ARM7处理器**: 在本设计中,选用的是Philips公司的LPC2132芯片,它基于16/32位的ARM7TDMI-S CPU。LPC2132具有64 KB的嵌入式高速Flash存储器,支持实时仿真和跟踪功能,这使得代码调试更为便捷,降低了开发成本。该处理器作为系统的核心,负责管理各种外围设备,执行算法,并协调与主机的通信。 **USB接口芯片**: PDI-USBD12是Philips公司的一款高性价比USB接口芯片,适用于微控制器系统。它提供了高速通用并行接口,支持本地DMA传输,能够满足ACPI、OnNOW和USB电源管理的需求。其低挂起功耗和LazyClock输出设计,使其非常适合于由USB总线供电的设备,确保了低功耗运行。 **Flash存储器**: 存储数据的部分采用了PMC公司的Pm25LV010,这是一款适合低功耗和低电压环境的存储器。它具备强大的数据保护功能,可以通过设置状态寄存器实现不同级别的写保护,同时有WP引脚提供硬件数据保护,防止状态寄存器被意外修改。在电路设计中,这些组件组合起来,构成了U盘的基本硬件架构。 **软件设计**: 软件部分主要包括D12驱动、Mass Storage类协议和Flash存储器的读/写控制。D12驱动的实现遵循USB设备初始化的步骤,通过端点0建立基本的通信路径,然后通过一系列标准请求和描述符交换来获取设备信息,建立高速数据通道。驱动程序采用分层结构设计,包括: 1. **硬件提取层**(D12HAL.c):提供与硬件交互的底层函数。 2. **D12命令接口层**(D12CI.c):简化了对PDIUSBD12的操作,包括读取芯片ID、设置地址/使能、端点使能和模式等功能。 3. **协议层**(Chap_9.c):处理USB设备的标准请求和特殊厂商请求,完成USB设备的枚举。 4. **应用层**:在此基础上,实现具体的应用功能,如数据读写等。 在协议层,关键函数如ep0_rxdone()用于接收主机的SETUP包,control_handler()处理所有SETUP包,ep0_txdone()则用于发送SETUP包。这些函数通过全局变量CONTROL_XFER ControlData进行通信,协同工作以实现USB设备的正常运作。 ARM7+USB方案结合了高效的处理器、可靠的USB接口和安全的存储器,形成了一个完整的U盘设计方案。软件层面的分层设计保证了代码的可维护性和可移植性,使得U盘的功能得以顺利实现。
- 粉丝: 3
- 资源: 30
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助