【ARM AMBA AXI 入门 10 - AXI 总线 DATA信号与 STRB 信号之间的关系 】

文章目录

    • [AXI STRB 信号](#AXI STRB 信号)

AXI STRB 信号

AXI总线是ARM公司设计的高性能处理器接口,其中STRBDATA信号在AXI协议中有特殊的含义和关系。

DATA信号 :在AXI中,DATA信号用于在读写操作中传输实际的数据。数据的大小可以根据AXI接口的位宽来变化,例如32位、64位或128位等。

STRB信号 :STRB是一个字节使能信号,它表示哪些字节是有效的。每个字节有一个相关的STRB信号,每一个STRB信号对应的字节是按照字节地址对齐的。例如,在32位的数据总线上,STRB的四个信号分别对应四个字节,STRB[0]对应最低字节,STRB[3]对应最高字节。

  • 如果数据总线是32位宽,那么就会有4个STRB信号:STRB[3:0]
  • 如果数据总线是64位宽,那么就会有8个STRB信号: STRB[7:0]

STRB信号与DATA信号之间的关系如下:当进行写操作时,DATA信号传输要写入的数据,而STRB信号指示在DATA信号中哪些字节是有效的。

在进行写操作时,只有当对应的STRB信号为高电平(或者说为1)时,相应的字节才会被写入。如果STRB信号为低电平(或者为0),那么对应的字节就不会被写入,其值保持不变。

例如,如果DATA信号传输的是32位数据,但只有低16位是有效的,那么STRB信号就应该设置为"11 00"。这意味着只有低16位(对应前两个STRB信号)是有效的,而高16位(对应后两个STRB信号)是无效的。

例如,如果DATA信号传输的是64位数据,且所有位都是有效的,那么那么STRB信号的值就应该为"0xff"如下图:

总的来说,STRB信号在AXI总线协议中用于控制DATA信号中哪些字节有效,哪些字节无效。

相关推荐
橘子1317 小时前
Linux网络基础(一)
linux·网络·arm开发
咯哦哦哦哦1 天前
vscode arm交叉编译 中 cmakeTools 编译器设置
linux·arm开发·vscode·编辑器
GilgameshJSS1 天前
STM32H743-ARM例程40-U_DISK_IAP
c语言·arm开发·stm32·单片机·嵌入式硬件
XINVRY-FPGA2 天前
XC7Z020-1CLG484I Xilinx AMD FPGA Zynq-7000 SoC
arm开发·嵌入式硬件·网络协议·fpga开发·硬件工程·信号处理·fpga
电鱼智能的电小鱼3 天前
基于电鱼 ARM 边缘网关的智慧工地数据可靠传输方案——断点续传 + 4G/5G冗余通信,保障数据完整上传
arm开发·人工智能·嵌入式硬件·深度学习·5g·机器学习
范纹杉想快点毕业3 天前
12个月嵌入式进阶计划ZYNQ 系列芯片嵌入式与硬件系统知识学习全计划(基于国内视频资源)
c语言·arm开发·单片机·嵌入式硬件·学习·fpga开发·音视频
wanhengidc3 天前
云手机畅玩 梦幻西游
运维·服务器·arm开发·智能手机·自动化
z202305083 天前
linux之arm SMMUv3 故障和错误(4)
linux·运维·arm开发
攒钱植发3 天前
嵌入式Linux——解密 ARM 性能优化:LDR 未命中时,为何 STR 还能“插队”?
linux·arm开发·c++·性能优化
小尧嵌入式4 天前
STM32启动汇编文件详解及启动逻辑
汇编·arm开发·stm32·单片机