首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
用CBI协议的USB软驱读取绣花机花版文件
来源:本站整理  作者:佚名  2009-07-02 10:14:17




    在主机命令发送得到接收正确响应ACK(确认接收)后,设备会从端口3自动返回2字节状态码,用于主机产生中断(中断不是必须),数据传输状态如下:

    
    命令发送全过程完毕,当需要数据输入/输出时,设置主机发送IN/OUT PID请求,设备按照请求通过BULK-IN/OUT端口传输数据,每次发送的字节数根据设备描述符所定义的端口最大吞吐量。
1.2 CBI设备描述符及枚举过程
    按照USB协议,所有USB设备接入主机后,主机进行设备枚举,识别此设备属于USB范畴的哪一类,以及该类型中的哪一子类;然后对此设备进行配置,直到该设备能进行正确读写。这些枚举信息都已固化在USB设备中,主机只进行提取操作。
    CBI协议存储设备支持很多描述符,主要且必须支持下列USB描述符:
    ①设备描述符(device descriptor)
    ②配置描述符(configuration descriptor)
    ③接口描述符(interface descriptor) CBI存储设备至少应支持1个数据接口。
    ④端点描述符(endpoint descriptor) 除用作初始化和命令传输的控制端口Endpoint 0外,CBI存储设备还必须支持批量输入、批量输出、中断3种端点,配置、接口、端口描述符是在主机一次请求时接收的。
    当某设备描述符被识别为mass storage device类CBI设备子类后,主机进行第2次枚举,对设备进行相关配置和初始化。具体枚举过程通过第1次枚举所配置的端口,发送相关请求命令,进行初始化的数据输入/输出。具体函数及功能如下:
   

2 USB 软驱主机程序设计
2.1 开发平台介绍
    开发平台主要包括:
    ①MCU S3C24IOA(绣花机主芯片)
    ②USB芯片 SL811HS
    ③开发语言 嵌入式C语言
    ④编译环境 CodeWarrior for ARM Developer SuiteVl.2
    ⑤仿真器 Magic-ICE
    ⑥USB软驱类型 SONY MPF82E-U1磁盘驱动器
2.2.1 USB设备的枚举
    USB软驱首先要进行设备枚举,主机通过控制端口0向设备发送DeviceRequest命令。DeviceRequest命令主要有Get_Descriptor,Set_Address,Set_Config,Set_Interface等,而Get_Descriptor描述符又可分为Device_Descriptor、Configuration_Descriptor、Interface_Descrip-tor、Endpoint_Descriptor,枚举阶段所有的请求都是基于setup ID。根据不同的请求命令,配置相应的协议栈。以下是配置接收描述符的部分参数,以设备描述符为例:

   
    配置请求参数完成以后,利用USB数据传输函数usbXfer()来传输该请求。usbXfer()必须完全遵循USBl.1协议。该函数具体算法流程如图1所示。

2.2.2 大容量存储设备的枚举
    此阶段任务的中心是对主机发送UFI命令的处理。ADSC请求是UFI命令的前导,通过控制端口0以setup数据包发送,接着仍通过端口0以数据包的形式发送UFI命令包。命令包均为12字节,发送前暂存在ufi[]数组中。以CBI_Read(unsigned long lba,unsigned charlen,unsigned char* pBuffer)函数为例叙述命令发送过程,其他枚举函数实现基本原理相同。CBI_Read()函数读取扇区数据到指定数组,源程序如下:

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:166,519.50000 毫秒