c语言usb编程实例,CH563 模拟 USB2.0 高速U盘应用案例(C语音源码+案例分析)

说明:

该设计资料来自立创社区分享,希望给需要的朋友一个很好的参考作用。

CH563介绍:

CH563 是一款类似 ARM9 的 32 位 RISC 精简指令集 CPU,指令集兼容 ARMv5TE,支持 16 位 Thumb指令和增强 DSP 指令。默认系统主频为 100MHZ,最高可达 130MHZ。高度集成的外设以及高性能,使其可以广泛的应用于各种嵌入式应用。

一、摘要

根据Mass Storage Class(大容量/海量存储器,以下简称MSC)协议,使用CH558、CH559和CH563分别实现模拟全速和高速U盘的功能,外部存储介质和U盘容量支持自由调整,用以解决数据转存或者定制U盘等功能。关键在于CH5XX USB设备控制器操作、Bulk-Only传输协议、SCSI命令支持和存储介质读写这几个部分。

二、总体概述

模拟U盘关键功能部件包括以下几点:

(1)、USB Mass Storage Framework

5a5dc7abe8fd700ab8f2a69ae4ae4bdb.png

(2)、以U盘为例,下图是PC和U盘的内部抽象逻辑框图

4a4ecc03db26edc3d27eb7009b0d66fd.png

CH558、CH559和CH563内置USB设备控制器和PHY,对于实现U盘控制器的应用,只需要配置USB设备模式和读写外部存储介质。

(3)、USB MSC CBI/BBB Transport

USB MSC Control/Bulk/Interrupt Transport 只能用于Full-speed的软盘(Floppy drive),这里不赘述,有兴趣可以自己百度。

Bulk-only传输类控制、批量都是通过批量端点,即用Bulk端点来传送命令块,数据,状态,因此,才类似于Control/Bulk/Interrupt被简称为CBI一样,而Bulk/Bulk/Bulk被简称为BBB。

e3fef950059594f31e5de937228f2346.png

(4)、USB MSC Protocol relation

60badd7626420ba66ca496ac567a1afc.png

传输通讯:Host和Device之间的数据通讯根据存储介质(Floppy或Flash)分别使用UFI和SCSI协议,更深入的设备特性配置参考More Feature。

更多讲解,详见“相关文件”案例分析。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值