artech liu

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2011年6月20日

摘要: USB设备请求命令 :bmRequestType + bRequest + wValue + wIndex + wLength编号 值 名称(0) 0 GET_STATUS:用来返回特定接收者的状态(1) 1 CLEAR_FEATURE:用来清除或禁止接收者的某些特性(x) 2 为将来保留(2) 3 SET_FEATURE:用来启用或激活命令接收者的某些特性(x) 2 为将来保留(3) 5 SET_ADDRESS:用来给设备分配地址(4) 6 GET_DESCRIPTOR:用于主机获取设备的特定描述符(5) 7 SET_DESCRIPTOR:修改设备中有关的描述符,或者增加新的描述符(6) 8 阅读全文
posted @ 2011-06-20 11:55 artech liu 阅读(17093) 评论(0) 推荐(0) 编辑

摘要: 因为要开始把SD卡中读取到的wav文件播放,所以事先研究下.wav文件的格式。以下为引用:=============================================文件头 字节数 描述00H 4 char"RIFF"标志04H 4 longint文件长度08H 4 char"WAVE"标志0CH 4 char"fmt"标志10H 4 过渡字节14H 2 int格式类别(10H为PCM形式的声音数据)16H 2 int通道数,单声道为1,双声道为218H 2 int采样率(每秒样本数),表示每个通道的播放速度,1CH 4 阅读全文
posted @ 2011-06-20 11:53 artech liu 阅读(170) 评论(0) 推荐(0) 编辑

2011年6月16日

摘要: step1: 读物理扇区,得到引导扇区(逻辑扇区0)的偏移地址。利用Read_Block读取0地址处512bytes. struct partsector{ BYTE psPartCode[512-64-2]; BYTE psPart[64]; BYTE psBOOTSIG0; BYTE psBOOTSIG1;#define psBOOTSIG0 0x55;#define psBOOTSIG1 0xaa;};使用psPart处开始的64byte的前16byte.struct partrecord // 16 字节{ BYTE prIsActive; // 0x80 代表该分区为缺省分区 BYT 阅读全文
posted @ 2011-06-16 14:33 artech liu 阅读(376) 评论(0) 推荐(1) 编辑

2011年6月15日

摘要: USB音频设备已经结束,在ADSP-2189上面实现了实时录音并通过USB音频设备传送到电脑。接下来打算1 回顾USB开发过程并总结。2 开始弄ARM上的SD驱动开发,目前已经了解了SD的FAT16文件系统,打算这个月底前能够在TQ2440上读取SD卡中文件并播放。3 工作上准备开始进行Acoustic Echo Cancellation的工作。4 准备先写一下关于USB开发的文章,更多的是自己开发中遇到的困难和领悟,不是从网上摘抄的学习资料。2011.6.30 updated目前能够正确读取并计算得到SD卡中根目录地址,FAT1和FAT2地址。接下来准备根据根目录中文件簇在FAT1中寻找正确 阅读全文
posted @ 2011-06-15 11:32 artech liu 阅读(271) 评论(0) 推荐(0) 编辑

2011年4月1日

摘要: 1. 从USB中断进入sudav_function。2. 进入Read_UsbSetupToken_Function,读取8个字节的request到setup_token_buffer.3. 读取request完毕后,进入UsbEP0_Request_Function。4. 在这里根据token_buffer和标准命令进入。下表列出了USB的11种标准命令表2、USB的11种标准命令命令bmRequestTypebRequestwValuewIndexwLengthDataClear_Feature00000000B 00000001B 00000010BCLEAR_FEATURE特性选择符零 阅读全文
posted @ 2011-04-01 16:08 artech liu 阅读(1369) 评论(0) 推荐(0) 编辑

2011年3月2日

摘要: 当进行控制传输和批量传输时候,不用考虑从时间方面考虑。但是对于同步传输和中断传输,均要考虑时间帧管理。USB1.1中用帧frame来考量时间,USB2.0中添加了微帧microframe。每个frame代表1ms,每个microframe代表125us。某一时间单元内的非周期性传输(控制传输和批量传输)的数量要随着这个时间单元内的周期性传输(同步传输和中断传输)的数量而改变。USB host在进行传输时候利用frame和microframe来考量时间。当与外设device进行中断,控制,批量传输时候,并不需要去考虑时间管理。但是,在进行同步传输时,比如说我们现在做的usb音频设备,就必须用fr 阅读全文
posted @ 2011-03-02 16:40 artech liu 阅读(3801) 评论(3) 推荐(0) 编辑

2011年1月31日

摘要: USB设备,分为3层:1.底层为传送和接受数据的总线接口;2.中间层处理总线和不同端点的数据传输;3.最高层由串行总线设备提供。主要研究中间层。USB设备状态,主要研究外部可见状态。1,连接态,USB设备可从Host上连接或者断开。2,加电态。设备对电源的支持能力是通过配置描述表来反映的。3,缺省态。加电后尚未复位之前不应对总线相应,在接收到复位信号后,设备在缺省地址处可寻址。4,编址态。设备由主机分配一个唯一的地址后,就保持这个地址。5,配置态。在使用设备之前,设备必须要先被配置好。从设备的角度说,配置包括用一个非零值进行SetConfiguration()要求。配置会使得与之有关的结点(e 阅读全文
posted @ 2011-01-31 10:07 artech liu 阅读(1403) 评论(0) 推荐(0) 编辑

2011年1月25日

摘要: 刚刚开始接触USB,记录一些基本知识。注:有大量转载别人的内容。1.端点: Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)。 Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 2.帧:时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包含了一系列 阅读全文
posted @ 2011-01-25 17:00 artech liu 阅读(2701) 评论(0) 推荐(1) 编辑