自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 SD2.0 Specification简述

SD2.0协议介绍

2024-09-25 19:50:14 1028

原创 USB2.0之设备枚举(Enumeration)

USB主机在检测到USB设备的插入后,就会对设备进行枚举。枚举过程主机将获得设备的各种描述符信息,从而知道设备是怎样的设备,需要如何通信,然后加载合适的驱动进行操作。

2025-03-08 10:02:21 481

原创 USB2.0之设备请求(Device Requests)

所有USB设备都要响应USB主机通过默认控制管道发送过来的请求(Requests),USB协议定义了一个8字节的标准请求,主要用在设备的枚举过程中。这8字节的数据是在控制传输的SETUP阶段发送给默认控制端点0的。在这8字节的数据中,包含了DATA阶段数据传输的方向、长度、类型等信息。

2025-02-12 11:42:51 726

原创 USB2.0之描述符(Descriptors)

描述符是设备本身各项信息的集合,主机通过获取描述符的内容得知设备的情况,从而知道如何与设备通信(加载对应的驱动程序)。描述符包括设备描述符(Device Descriptors)、配置描述符(Configuration Descriptors)、接口描述符(Interface Descriptors)、端点描述符(Endpoint Descriptors),字符串描述符(String Descriptors)

2025-01-01 15:39:35 429

原创 USB2.0之协议规范——信息包(packet)与传输(transfer)

包是 USB 总线是数据传输的最小单位,不能被打断或干扰,否则会引发错误。若干个数据包组成一次事务传输(transaction),一次事务传输也不能打断,属于一次事务传输的几个包必须连续,不能跨帧完成。一次传输(transfer)由一次到多次事务传输构成,可以跨帧完成。

2024-11-17 13:59:50 1260

原创 USB2.0之数据流模型(Data Flow Model)

在 HSOT 端,应用软件( ClientSW)不能直接访问 USB 总线,而必须通过 USB 系统软件和 USB 主机控制器来访问 USB 总线,在 USB总线上和 USB设备进行通讯。设备级则完成从功能级到传输级的转换,把一次功能级的行为转换为一次一次的基本传输;USB 总线接口层则处理总线上的 Bit 流,完成数据传输的物理层实现和总线管理。USB Driver (USBD):通过合适的HCD将IRPs(I/O Request Packets)转换成各种传输(transfers)。

2024-11-10 19:37:27 364

原创 USB2.0之架构简述

主机与设备端点(Endpoint)之间的数据传输可以看作是管道(Pipe)模型,这是逻辑上的管道概念,设备上有多个端点,每个端点只能处理规定的数据类型,那么主机就要明确数据是发给哪个端点的,如此主机和每一个端点就有了独立的捆绑关系,在逻辑上类似于在两者之间架设了直连管道传输数据。主机发送过来的数据,由端点接收,设备要发送给主机数据,也由端点发送。,由于时间的限制,USB系统最多拓展到7层,其中的hub最多只能级联5层(不包括root hub)。每一个设备都有端点0,设备的信息都是通过端口0发送给主机的。

2024-11-03 19:44:02 1097

原创 SD2.0 Specification之响应(Responses)

SD2.0协议6种响应介绍

2024-10-27 20:05:34 371

原创 C语言之指针

指针是C语言中的一个重点和难点,在数据访问方面具有很大的灵活性,同样,使用不当时,也会带来巨大的破坏性。

2024-10-22 09:47:40 263

原创 SD2.0 Specification之命令(Commands)

按功能,SD卡的命令被分为11类,但一张SD卡不需要支持所有的类别的命令,除了类别 0, 2, 4, 5, 7, 8 必须有,其它类别的可以选择性支持。

2024-10-20 18:03:06 414

原创 SD2.0 Specification之状态信息(Status information)

SD卡有2种用于描述状态的字段,一种称为卡状态(Card Status),一种称为SD状态(SD Status)。卡状态(Card Status)有32 bits,描述的是一个命令执行后的错误与状态情况,通常作为响应给出。SD状态(SD Status)有512 bits,用于支持特定功能或者将来的功能拓展。

2024-10-14 16:25:16 1213

原创 SD2.0 Specification之基础概念

主要讲解SD2.0的一些基本框架和概念,让读者有一些整体上的简单认识

2024-10-11 14:02:58 1115

原创 SD2.0 Specification之SD卡寄存器(Card Register)

每一张SD卡都有一系列SD卡寄存器,这些寄存器包含了SD卡的各种信息。

2024-10-10 17:34:08 1416

原创 SD2.0 Specification之时钟(频率)与时序

本文章主要讲解SD2.0的时钟与时序。

2024-09-29 20:31:45 984

原创 SD2.0 Specification之CPRM(Content Protection for Recordable Media)

CPRM是一种防止内容未经许可而被复制传播的技术,可用于商业娱乐影音内容、版权等的保护。

2024-09-29 20:28:44 448

原创 SD2.0 Specification之CRC(Cyclic Redundancy Code)

SD2.0使用CRC7和CRC16两种校验方式

2024-09-29 19:43:52 393

原创 SD2.0 Specification之大容量卡与标准容量卡的命令差异

SD2.0中标准容量卡和大容量卡在命令上的一些差异

2024-09-29 11:57:29 242

原创 SD2.0 Specification之功能切换

本文章主要讲解关于SD2.0功能切换(CMD6)的内容。

2024-09-28 20:15:40 813

原创 SD2.0 Specification之状态关系

SD2.0卡在使用过程中会处于不同的状态,命令需要在正确的状态下才能正常执行。

2024-09-27 10:03:34 250

原创 SD2.0 Specification之上电初始化

SD2.0卡上电初始化与识别流程

2024-09-27 09:39:47 549

原创 SD2.0 Specification之写保护

SD2.0的三种写保护方式

2024-09-26 21:36:06 430

原创 FAT32文件系统详解

则在目录项中,记录的首簇号是3,而在FAT表中,簇3对应的FAT条目里面记录的是4,,簇4对应的FAT条目记录的则是5,而簇5对应的FAT条目记录的则是结束标志 0x0FFFFFFF。它的大小是512 byte,对这个扇区有多种叫法----启动扇区(boot sector),保留扇区(reserved sector),0号扇区(0th sector)等等,在DOS分区下,又被叫做操作系统引导记录区(DOS BOOT RECORD,简称DBR)。以簇为最小存储单位,即使文件大小不足1个簇,也会占用1个簇。

2023-12-02 11:50:13 765

原创 USB大容量存储类规范概述

参考资料Universal Serial Bus Mass Storage Class Specification Overview

2022-02-20 11:36:12 788

原创 三星nand flash K9K8G08U0M详解

文章目录1 特点2 一般说明3 产品介绍存储映射闪存技术说明1 特点电压 2.7V~3.6V结构 记忆单元阵列:(1G + 32M)X 8bit 数据寄存器:(2K + 64) X 8bit自动编程与擦除 页编程:(2K + 64)Byte 块擦除:(128K + 4K)Byte页读取操作 页大小:(2K + 64)Byte 随机读:最大20us 串行存取:最少25ns快速写周期 页编程时间:典型200us 块擦除时间

2020-10-17 21:34:25 11939 4

原创 从Bus Hound开始学USB之U盘

文章目录准备工作我们的USB之旅,将从这张图开始准备工作一台安装了Bus Hound软件的电脑,一个U盘。首先介绍一下Bus Hound这款软件工具,Bus Hound是由美国perisoft公司研制的一种专用于PC机各种总线数据包监视和控制的开发工具软件,是一个超级软件总线协议分析器,可用于捕捉来自设备的协议包和输入输出操作,本博客使用的版本是Bus Hound 6.01,软件启动界面如下图所示接下来轮到U盘登场,将U盘插入电脑,点击Bus Hound的Devices窗口,可以看到在U盘已出现在

2020-07-25 17:57:55 1100 2

原创 SPI NOR FLASH

开本篇博客是为了记录之前使用过的spi nor flash的相关知识,后面将陆续更新相关内容。

2020-05-07 22:41:48 359

原创 SPI NAND FLASH

前段时间在项目里面使用了spi nand flash,打算记录分享相关知识,所以开了本篇博客,后面会陆续补充相关内容。

2020-05-07 22:38:03 2482

原创 IIC EEPROM

前段时间的一个项目里面用到了IIC接口的EEPROM,趁着现在还有点印象,记录分享一下相关知识。未完待续。

2020-05-07 22:31:51 966

原创 SD零碎记录

记录跟SD有关的零碎知识,将在一段时间内持续更新内容

2020-05-07 22:22:37 460

原创 USB

本篇博客主要记录接触到的USB相关知识,将在一段时间内持续更新内容,如果读者发现内容有错漏,请留言,我会尽快更正相关内容。USB使用差分传输模式。VCC和GND引脚要比数据引脚长,插入时先通电,拔出时先断数据,保证芯片安全。设备描述符—>配置描述符—>接口描述符—>端点描述符每个USB设备只有一个设备描述符 。同一个端点号不能出现在同一个配置下的两个或者多个不同的接口...

2020-05-07 22:17:59 468

原创 eFuse memory

最近在项目中使用到这种小容量的存储器,将在本篇博客记录相关内容,方便以后回忆复习。在项目中使用的eFuse型号是UM055EFULP03200825400_A,该型号存储器只有256-bits,容量真的特别小,下面将介绍有关eFuse的相关知识...

2020-05-07 21:32:05 8030

原创 文件系统学习记录

文件系统是对文件存储器空间进行组织、分配、负责文件存储并对存入的文件进行保护和检索的一个系统。

2020-05-07 21:22:37 157 1

原创 OneNand Flash

本篇博客将介绍OneNand flash的相关知识,将在一段时间内持续更新内容,如果读者发现内容有错漏,请留言,我会尽快更正相关内容。OneNAND可看作NOR和NAND技术的一种混合。部分三星OneNand Flash产品列表 产品 容量 电压 接口 型号 设备ID 速度 封装 512Mb A-die 512Mb 1.8V Dem...

2020-05-07 21:18:05 306

原创 Nand Flash知识集录

六大nand flash厂商三星电子(Samsung),SK海力士(SK Hynix),东芝半导体(Toshiba),西数(Western Digital),美光(Micron),英特尔(Intel)。其中的东芝半导体已被东芝公司出售,现更名为铠侠(Kioxia...

2020-05-07 20:54:43 1647

原创 Keil C51 存储模式

之前碰到过这么一个问题:一份keil C51工程,里面有几百个函数,大部分函数在运行过程中都会被调用,后来需要调试某个功能,就将主函数main里面其它功能函数的调用注释掉,结果编译后报出一堆溢出错误,当时就懵了,难道函数只定义不调用占的空间还会比调用占的空间大?仔细看了编译信息,发现都是跟数据空间溢出有关,再深入研究发现,跟keil中的存储模式有关。下图展示的就是keil 中的memory mod...

2020-05-06 21:18:09 1822 3

原创 SPI EEPROM

SPI EEPROM功能介绍:简介欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入...

2020-05-02 16:29:22 13745 11

原创 CC2530之串口

本次实验,主要与CC2530的串口相关。 串口电路图如下所示 首先,先介绍一下CC2530的外设I/O引脚映射,如下图所示,每个外设单元对应两组可以选择的I/O引脚。而外设I/O位置的选择使用由寄存器PERCFG来控制,其中bit1和bit0决定UART1和UART0的位置,0表示外设位置1,1表示外设位置2.PERCFG |= 0x00;//设置UART0为外设位置1P0SEL |= 0

2018-02-04 10:32:15 8311 1

原创 CC2530之定时器T3

CC2530之定时器T3在本次学习中,主要通过定时器T3周期性的控制LED的亮灭。首先,先查看相关电路图。由图可知,当CC2530端口1的0号引脚输出低电平时,LED1将被点亮。 接下来,先查看与LED(P1_0)配置相关的寄存器。端口1功能选择寄存器(P1SEL)。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为普通的I/O口,若设置为1,则将相关引脚设为外设I

2018-02-03 11:08:33 9785 1

原创 CC2530之定时器T1

CC2530之定时器T1在本次学习中,主要通过定时器来控制LED的亮灭。 首先,先查看相关电路图。由图可知,当CC2530端口1的0号引脚输出低电平时,LED1将被点亮。 接下来,先查看与LED(P1_0)配置相关的寄存器。端口1功能选择寄存器(P1SEL)。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为普通的I/O口,若设置为1,则将相关引脚设为外设I/O,

2018-02-02 17:17:16 8034

原创 CC2530之ioCC2530.h

#define SFR(name,addr) __sfr __no_init volatile unsigned char name @ addr;该宏定义告诉编译器将指定的变量“name”链接到地址为“addr”的存储位置中去,__sfr表示将变量是保存在特殊功能寄存器SFR中,__no_init表示将变量保存在非初始化数据区(一个目标文件的数据区分为以初始化的和未初始化的),同时该

2018-02-02 13:34:31 3585 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除