- 博客(22)
- 收藏
- 关注
原创 SDIO学习(2)--SD 2.0协议
Clk:时钟线,由SDIO主机产生CMD:命令控制线,SDIO主机通过改线发送命令控制SD卡,如果命令要求SD卡提供应答,SD卡也是通过该线传输应答信息。DAT0-3:数据线,SD卡可将DAT0拉低表示忙状态,上电后,SD卡默认只使用DAT0来传输数据。初始化之后,主机可以改变总线宽度(使用的数据线数目)。
2024-06-28 14:58:12
3697
1
原创 DWC USB2.0协议学习2--架构介绍
DWC_otg作为Host时,所有的周期和非周期接收到只使用同一个FIFO,该FIFO用于缓存接收的USB数据包,接收到的每个数据包的状态也保存在FIFO中,这里的状态是指保存IN通道的编号以及其他信息,例如接收的字节数量和有效性状态、在AHB上执行事务的请求等。如果接收到IN令牌并且FIFO中的数据可用,则MAC将读取数据,构建数据包并向主机发送出去,随后等待来自主机的握手包(如果有的话),然后将事务状态更新到PFC。该模块负责令牌、数据和握手包的生成和接收,以及PID和CRC的检查和生成。
2024-06-26 17:32:41
3031
1
原创 DWC USB2.0协议学习1--产品概述
首先是系统概述,站在系统层面来分析DWC_otg控制器,对DWC_otg控制器的功能做简单概述,典型的系统框架结构图如下图1-1所示,其中浅蓝色部分是根据配置决定,黑色部分是所有配置都有的。1.1 AHB总线接口上图1-1左边部分是AHB总线接口,这一部分主要是实现CPU和DWC_otg控制器信息交互功能。:AHB slave接口,此时DWC_otg控制器是从设备,CPU通过该接口对DWC_otg的控制和状态寄存器(CSR)、数据FIFO和队列进行读写访问。
2024-06-25 15:43:42
1708
原创 USB2.0学习3--USB传输和事务
USB 通信由一系列帧构成(从时间角度来看);在一帧数据内,可以划分为4种传输方式(从功能场景角度来看),每种传输方式都有各自的特点。再往下细分,每种传输又由3种基本的事务组成,一个事务由若干个数据包组成,包则是USB总线上数据传输的最小单位,所有的数据都是打包后再发送出去的。
2024-06-24 11:41:10
2315
2
原创 USB2.0学习2--描述符
例如鼠标,当主机给鼠标设备发送请求后,鼠标需要把自己当前信息上报给主机,这个信息是鼠标左移、鼠标右移、鼠标滑轮滚动、鼠标左键、鼠标右键的当前状态数据的集合,而鼠标各种各样,有的只有两个按键,有的是七八个按键,这么多类型不一样的鼠标,主机是怎么知道鼠标设备发上来的一堆数据(报告)中哪个数据代表哪个按键,报告描述符就是用来解决这个问题。主机在获取描述符时,首先获取设备描述符,再获取配置描述符,然后根据配置描述符中的配置集合总长度,一次将配置描述符、接口描述符、类特殊描述符(如果有)、端点描述符一次读回。
2024-06-24 11:06:14
1434
原创 USB2.0学习1--基本概念
USB全称是 Universal Serial Bus,即通用串行总线,是一种计算机与外围设备进行数据交互的串行通信标准。USB协议是在1994年底由英特尔、IBM、Microsoft等公司联合提出的,现由USB协会(USB-IF)管理。USB使用差分信号来传输数据,具有传输速度快、支持热插拔、连接灵活、独立供电、协议向下兼容等优点,目前应用十分广泛。
2024-06-24 10:15:14
2259
原创 无线基础知识二
瓦特(W)毫瓦(mW)毫瓦分贝(dBm)(1)毫瓦毫瓦是功率单位。1mW = 0.001瓦。大多数室内802.11设备的发射功率介于1mW和100mW之间。(2)分贝分贝(dB)是比较单位而非功率单位,用于描述两个值之间的差异,是对功率变量的度量。计算公式为:dB=10×log10(P1/P2),P1与P2为两个功率值。设P1为100mW,P2为1mW,则分贝值=10×log10(100/1)=20(3)毫瓦分贝。
2024-03-13 11:31:31
3336
1
原创 无线基础知识一
dB表示功率P1相对于参考功率P0的大小关系,计算公式为:dB= 10log(P1/P0)。如果P1是P0的2倍,那么:10log(P1/P0) = 10log2 = 3dB。如果P1是P0的10倍,那么:10log(P1/P0) = 10log10 = 10dB。如果P1是P0的1/2,那么:10log(P1/P0) = 10log(1/2) = 10log2-1 = -10log2 = -3dB。
2024-03-12 20:08:13
2828
1
原创 第三章 DW_apb_uart初始化和使用
*定义联合体用于访问 RBR/DLL/THR 寄存器 *//* 定义联合体用于访问 DLH/IER 寄存器 *//* 定义联合体用于访问 FCR/IIR 寄存器 */上面这几个寄存器很特殊,使用的相同的偏移地址,读写的时候分别表示不同的含义,所以用联合体来定义。(吐槽一下,这个设计有点坑爹 =_=)接下来是定义所有的寄存器。该结构体包含UART初始化相关参数,用于配置UART的寄存器。/*!< 配置 uart 时钟源 *//*!< 配置 uart 波特率 *//*!
2024-03-12 17:28:25
2054
2
原创 SDIO学习(1)--SDIO 2.0协议
SDIO(Secure Digital Input and Output),即安全数字输入输出接口。它是在SD卡接口协议的基础上发展而来,可以兼容之前的SD卡协议,这种兼容性包括机械、电气、电源、信号和软件层的使用;也可以连接支持SDIO接口的设备,比如:蓝牙、WIFI、GPS等,这些设备也称之为SDIO卡。SDIO协议与SD协议相比,主要增加了CMD5、CMD52、CMD53等命令,用于支持SDIO卡的使用。
2024-03-11 19:03:33
10724
2
原创 第二章 DW_apb_uart介绍
波特率可软件配置,支持小数部分设置。计算公式如下:其中分频系数divisor由DLH和DLL寄存器控制。/** = (Serial Clock Operating Frequency >> 4) / Baud Rate (unsigned short类型保存数据时自动取整);* 当前 DLF_SIZE = 6,精度是6bit ,可以等分成为64份*/
2024-03-11 17:55:48
2966
2
原创 芯片测试学习记录
UT和BT因功能的差异一般采用独立的UVM环境,而IT,TT,ST和CT一般采用统一的UVM环境,测试激励可以复用。(1)得到测试点的过程叫分解,是将规格,场景,寄存器表单,接口信号,设计方案等多个维度和输入件的一个个展开,层层拆解出“通过如何测试可以证明设计是对的”这样一个逻辑关系式(xxx的激励,xxx的配置,xxx的处理,得到xxx的结果)(4)测试点的描述和测试用例表单的基本描述套路相同,就是描述上面的逻辑关系式“xxx的激励,xxx的配置,xxx的处理,得到xxx的结果"。
2024-03-11 17:05:26
2095
1
原创 C语言的内存分布模型
(1)栈是由编译器自动分配和释放的,存放局部变量,函数的参数、返回值。(2)当发生函数调用时,会创建栈,堆包含函数的局部变量参数和返回值;(3)栈的操作方式类似数据结构中的栈,后进先出,函数变量在调用时被推送到堆栈中,函数变量在返回时从堆栈中弹出;(4)SP(stack pointer),堆栈指针始终指向栈的顶部;(5)栈由高地址(栈底)向低地址(栈顶)生长;
2024-03-11 16:53:07
1250
1
原创 芯片量产制造相关概念学习
探针台,是用来承载wafer的平台,让wafer内的每颗die每个bond pads 都能连接到Probe card的探针上,同时能够精确地移位,每次测试之后,换另外的die再一次连接到Probe card的探针上,从而保证wafer上的每一个die都被测试到。CP测试的具体操作是在晶圆制作完成之后,成千上万的裸DIE(未封装的芯片)规则的分布满整个Wafer,此时芯片的管脚全部裸露在外,由于尚未进行划片封装,这些极微小的管脚需要通过更细的探针(Probe)来与测试机台(Tester)连接。
2024-03-11 16:36:22
9654
1
原创 总线学习记录
总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。
2024-03-11 16:08:20
1066
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人