当前位置: 首页 > article >正文

九,附录 B:响应周期公式

九附录 B响应周期公式九附录 B响应周期公式九附录 B响应周期公式A2B_RESPCYCS 寄存器用于设置从控制帧SCF开始到最后一个从节点用响应帧SRF进行响应的时刻之间的相对时间。寄存器设置定义了在超帧的上行部分期间A2B 网络中的较早节点应该何时期望来自最后一个从节点的响应。如果最后一个节点未能响应则假定的最后一个节点之前的那个节点会进行响应。以下部分提供有关如何对主节点和从节点的 A2B_RESPCYCS 寄存器进行编程的信息。配置主节点响应周期“主节点响应周期”图描绘了如何确定主节点响应周期值。在“主节点响应周期”图中• 主节点最小响应周期计数由下行数据的长度、最小总线周转时间以及从节点的数量决定。• 主节点最大响应周期计数由上行数据的长度和主节点响应周期偏移量决定。• 主节点响应周期偏移量确保从接收缓冲区中接收到最后一个上行数据位到输出此 I2S/TDM 数据的点之间有足够的内部处理时间tIP该输出与下一个控制帧SCF和同步引脚SYNC转换同步开始。A2B 主节点响应偏移量RESPOFFS表定义了这个恒定的主节点响应周期偏移量它是 A2B 主节点的时分复用TDM模式A2B_I2SGCFG.TDMMODE和 I2S/TDM 通道大小A2B_I2SGCFG.TDMSS的函数。对主节点的 A2B_RESPCYCS 寄存器进行编程是上述主节点响应周期偏移量RESPOFFS的函数同时还取决于• 系统中的从节点数量• 在每个从节点的 A 端口接收的下行 A2B 总线数据时隙数量NUM_DNSLOTS• 下行 A2B 总线数据时隙的宽度DNSLOT_SIZE• 每个从节点驱动到 A 端口的上行 A2B 总线数据时隙数量NUM_UPSLOTS以及• 上行 A2B 总线数据时隙的宽度UPSLOT_SIZE。 系统中任何给定节点可能的上行时隙和下行时隙活动是有助于确定必须编程到主节点的 A2B_RESPCYCS 寄存器中的值的第一个因素。对于 A2B 拓扑中的每个从节点 n以下等式定义了该节点的下行DNSLOT_ACTIVITY[n]和上行UPSLOT_ACTIVITY[n]活动。DNSLOT_ACTIVITY[n] NUM_DNSLOTS * (DNSLOT_SIZE 1) UPSLOT_ACTIVITY[n] NUM_UPSLOTS * (UPSLOT_SIZE 1)注意在上述计算中DNSLOT_SIZE 和 UPSLOT_SIZE 时隙大小偏移了 1因为默认时隙格式A2B_SLOTFMT在 A2B 总线上的每个数据时隙后附加一个奇偶校验位从而使每个时隙在 A2B 总线上的位数增加了 1。对于其他时隙格式必须添加所选用例所附加的位数而不是此处定义的 1如 A2B 时隙格式中的“时隙格式”表的“A2B 总线位数”列中所示。一旦确定了每个从节点 n 的上行时隙和下行时隙活动就可以根据以下等式计算每个从节点的等效上行RESPCYCS_UP[n]和下行RESPCYCS_DN[n]响应周期要求。RESPCYCS_DN[n] ((64 DNSLOT_ACTIVITY[n])/4) 4n 2 // Round Up RESPCYCS_UP[n] RESPOFFS - (((64 UPSLOT_ACTIVITY[n])/4) 1) // Round Up• RESPCYCS_DN[n]是在考虑从节点 n 的下行活动时主节点可能的最小响应周期寄存器设置。在为 RESPCYCS_DN[n]计算出的值中最大值是主节点 A2B_RESPCYCS 的最小设置MAX(RESPCYCS_DN[n])。• RESPCYCS_UP[n]是在考虑从节点 n 的上行活动时主节点可能的最大响应周期寄存器设置。在为 RESPCYCS_UP[n]计算出的值中最小值是主节点 A2B_RESPCYCS 的最大设置MIN(RESPCYCS_UP[n])。注意如果 MAX(RESPCYCS_DN[n]) MIN(RESPCYCS_UP[n])那么 A2B 总线带宽无法适应该配置。必须编程到主节点的 A2B_RESPCYCS 寄存器中的值是这些最小值和最大值的平均值A2B_RESPCYCS (MAX(RESPCYCS_DN[n]) MIN(RESPCYCS_UP[n])) / 2 // Round Down主节点 A2B_RESPCYCS 计算示例一个具有三个节点主节点以及两个从节点从节点 0 和从节点 1的系统配置如图“三节点 A2B 系统示例”所示对于超帧的下行部分• 主节点配置为 32 位 TDM8 模式发送 14 个时隙时隙大小为 24 位。• 从节点 0从主节点消耗 6 个时隙并将剩余的 8 个时隙传递给从节点 1然后为下行流量贡献 8 个额外的时隙从从节点 0 发送到从节点 1 的总共有 16 个时隙。• 从节点 1消耗来自从节点 0 的所有 16 个时隙。对于超帧的上行部分• 从节点 1发送 10 个时隙时隙大小为 16 位。• 从节点 0从从节点 1 消耗 6 个时隙并将剩余的 4 个时隙传递给主节点然后为上行流量贡献 8 个额外的时隙从从节点 0 发送到主节点的总共有 12 个时隙。• 主节点配置为 32 位 TDM8 模式消耗来自从节点 0 的所有 12 个时隙。响应周期通过以下步骤确定1. 计算每个从节点的上行时隙和下行时隙活动DNSLOT_ACTIVITY[n] NUM_DNSLOTS * (DNSLOT_SIZE 1) DNSLOT_ACTIVITY[0] 14 * (24 1) 350 DNSLOT_ACTIVITY[1] 16 * (24 1) 400 UPSLOT_ACTIVITY[n] NUM_UPSLOTS * (UPSLOT_SIZE 1) UPSLOT_ACTIVITY[0] 12 * (16 1) 204 UPSLOT_ACTIVITY[1] 10 * (16 1) 1702. 利用这些信息计算每个从节点的响应周期要求。从 A2B 主节点响应偏移量RESPOFFS表中可知TDM8 模式和 32 位数据的组合得出 RESPOFFS 248。RESPCYCS_DN[n] ((64 DNSLOT_ACTIVITY[n])/4) 4n 2 // Round Up RESPCYCS_DN[0] ((64 350)/4) (4*0) 2 103.5 0 2 105.5 106 RESPCYCS_DN[1] ((64 400)/4) (4*1) 2 116.0 4 2 122.0 122 RESPCYCS_UP[n] RESPOFFS - (((64 UPSLOT_ACTIVITY[n])/4) 1) // Round Up RESPCYCS_UP[0] 248 - (((64 204)/4) 1) 248 - (67.0 1) 180.0 180 RESPCYCS_UP[1] 248 - (((64 170)/4) 1) 248 - (58.5 1) 188.5 189主节点 A2B_RESPCYCS 的最小设置是 RESPCYCS_DN[n]计算中的最大值即 122最大设置是 RESPCYCS_UP[n]计算中的最小值即 180最小值和最大值的平均值为(MAX(RESPCYCS_DN[n]) MIN(RESPCYCS_UP[n])) / 2 // Round Down (122 180) / 2 302 / 2 151.0 1513. 对于此系统配置将主节点的 A2B_RESPCYCS 值编程为 1510x97。配置从节点响应周期在系统发现过程中每个从节点都设置其 A2B_RESPCYCS 寄存器。主收发器使用与它正在尝试发现的从收发器相关联的响应周期值对其 A2B_DISCVRY 寄存器进行编程。每个从节点的适当值SLV_RESPCYCS[n]是从节点在 A2B 拓扑中的位置以及编程到主节点的 A2B_RESPCYCS 寄存器MSTR_RESPCYCS的值的函数。最靠近主节点的从节点的节点编号为 0并且对于每个后续的从节点节点编号递增直到最后一个从节点 n。在发现期间可使用以下公式计算每个从节点要使用的 A2B_RESPCYCS 值SLV_RESPCYCS[n] MSTR_RESPCYCS - 4n使用上面的主节点 A2B_RESPCYCS 计算示例其中 MSTR_RESPCYCS 151以下公式确定两个从节点的正确 A2B_RESPCYCS 值SLV_RESPCYCS[0] MSTR_RESPCYCS - (4*0) 151 - 0 151 (0x97) SLV_RESPCYCS[1] MSTR_RESPCYCS - (4*1) 151 - 4 147 (0x93)以下代码序列使用这些值在示例系统中进行发现过程Write MSTR_RESPCYCS to the A2B_RESPCYCS register in the master node Write 0x01 to the A2B_CONTROL register in the master node Write 0x01 to the A2B_SWCTL register in the master node Write 0x01 to the A2B_INTMSK2 register in the master node Write SLV_RESPCYCS[0] to the A2B_DISCVRY register in the master node Wait for Interrupt Write 0x00 to the A2B_NODEADR register in the master node Write 0x01 to the A2B_SWCTL register in slave node 0 Write SLV_RESPCYCS[1] to the A2B_DISCVRY register in the master node Wait for Interrupt使用高级发现配置从节点响应周期收发器被设计为自动调整到在总线上看到响应的时间。这使得从节点能够被发现而无需根据电缆长度更改从节点响应周期。当使用高级发现流程时在发现通过长电缆长度大于 5 米连接的新从节点后主节点可能立即报告瞬态数据奇偶校验错误。 这些错误仅持续两到三个超帧。如果系统中的电缆长度是已知的可以使用以下伪代码计算从节点响应周期以避免这些错误if (n 0) SLV_RESPCYCS[n] MSTR_RESPCYCS else if (cable_length 12m) SLV_RESPCYCS[n] SLV_RESPCYCS[n-1] - 6 else if (cable_length 5m) SLV_RESPCYCS[n] SLV_RESPCYCS[n-1] - 5 else SLV_RESPCYCS[n] SLV_RESPCYCS[n-1] - 4

相关文章:

九,附录 B:响应周期公式

九,附录 B:响应周期公式九,附录 B:响应周期公式九,附录 B:响应周期公式 A2B_RESPCYCS 寄存器用于设置从控制帧(SCF)开始到最后一个从节点用响应帧(SRF)进行响…...

深入解析 Chromium 中的 Mojo IPC 消息机制及其实现

1. Mojo IPC 消息机制概述 Chromium 浏览器采用多进程架构设计,渲染进程(Renderer Process)和浏览器主进程(Browser Process)之间需要高效可靠的通信机制。Mojo 作为 Chromium 的进程间通信(IPC&#xff09…...

【2026 】大模型选型与 API 接入全指南:主流模型技术解析与实战对比

文章目录2026 大模型选型与 API 接入全指南:主流模型技术解析与实战对比一、引言二、2026 主流大模型全景2.1 闭源旗舰模型2.2 开源 / 可私有化模型三、能力维度横评四、API 接入方式全景4.1 主要接入渠道对比4.2 统一接口标准五、定价结构与成本估算5.1 Token 成本…...

八,附录 A:其他发现流程示例

八,附录 A:其他发现流程示例八,附录 A:其他发现流程示例8.1 修改后的发现流程8.2 优化后的发现流程8.3 高级发现流程八,附录 A:其他发现流程示例 以下部分提供了关于修改后的、优化后的和高级的发现流程的…...

NR随机接入之MSG3:从信令解析到资源调度的关键一步

1. MSG3在NR随机接入中的核心作用 当你用手机刷视频时,有没有想过这个简单的动作背后,其实经历了一场精密的"握手仪式"?MSG3就是这个仪式中最关键的那句"自我介绍"。作为5G NR随机接入流程的第三步骤,它承担着…...

AI软件研发成本飙升的真相:3个被忽视的隐性成本源,今天不查明天多烧47%预算!

第一章:AI原生软件研发成本优化实战技巧 2026奇点智能技术大会(https://ml-summit.org) AI原生软件的研发成本常被模型训练开销主导,但实际可观测的浪费更多来自推理服务冗余、提示工程低效、以及缺乏细粒度资源编排。聚焦可落地的降本路径,…...

长芯微LDC1258完全P2P替代ADS1258,是一款16通道、低噪声、24位、ΔΣ模数转换器(ADC)

描述LDC1258是一款16通道、低噪声、24位、ΔΣ模数转换器(ADC)。支持16 个单通道输入或者8组差分输入。既可以支持单次转换也可以支持连续转换:单次转换时,最大数据速率为29.5kSPS;连续转换时,最大数据速率为125kSPS。片内含有PLL…...

Microsoft Agent Framework Skills 执行 Scripts(实战指南)畔

本文能帮你解决什么? 1. 搞懂FastAPI异步(async/await)到底在什么场景下能真正提升性能。 2. 掌握在FastAPI中正确使用多线程处理CPU密集型任务的方法。 3. 避开常见的坑(比如阻塞操作、数据库连接池耗尽、GIL限制)。 …...

多尺度特征融合在计算机视觉中的实践与优化

1. 多尺度特征融合的核心价值与应用场景 第一次接触多尺度特征融合是在处理医疗影像分割项目时遇到的难题。当时我们的模型在识别大尺寸肿瘤时表现良好,但对微小病灶的检测率却惨不忍睹。这个问题困扰了我们团队整整两周,直到尝试了FPN(特征金…...

Axure疑难杂症:订单管理页的Axure高阶技巧:动态数据绑定与条件逻辑优化

案例 亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 案例视频: 中继器嵌套、动态面板嵌套、订单页面 案例展示: 订单管理需求分析: 页面组成应包…...

如何有效实施styleguide41/styleguide:团队协作与代码规范的最佳实践

如何有效实施styleguide41/styleguide:团队协作与代码规范的最佳实践 【免费下载链接】styleguide 文档与源码编写风格 项目地址: https://gitcode.com/gh_mirrors/styleguide41/styleguide styleguide41/styleguide是一套全面的文档与源码编写风格规范&…...

华为认证HCIA入门指南:网络工程师的第一课

1. 华为认证体系全解析:从HCIA到HCIE的进阶之路 第一次接触华为认证的朋友可能会被HCIA、HCIP、HCIE这一串缩写搞晕。简单来说,这就像网络工程师的"小学、中学、大学"三级成长体系。我当年考HCIA时也花了不少时间才理清这些概念,现…...

Coqui STT语言模型构建:如何创建高效的语音识别评分器

Coqui STT语言模型构建:如何创建高效的语音识别评分器 【免费下载链接】STT 🐸STT - The deep learning toolkit for Speech-to-Text. Training and deploying STT models has never been so easy. 项目地址: https://gitcode.com/gh_mirrors/st/STT …...

Flowable 实战:从零构建 Spring Boot 3 微服务审批系统

1. 为什么选择Flowable构建审批系统? 在开发企业级应用时,审批流程是绕不开的核心功能。传统硬编码的审批逻辑往往面临流程变更困难、状态追踪复杂等问题。我经历过一个报销系统升级项目,仅仅因为增加了副总经理审批环节,就导致整…...

email2phonenumber与Phonerator对比分析:选择最适合你的OSINT工具

email2phonenumber与Phonerator对比分析:选择最适合你的OSINT工具 【免费下载链接】email2phonenumber A OSINT tool to obtain a targets phone number just by having his email address 项目地址: https://gitcode.com/gh_mirrors/em/email2phonenumber e…...

Cinny架构设计揭秘:组件化开发与现代前端工程实践

Cinny架构设计揭秘:组件化开发与现代前端工程实践 【免费下载链接】cinny Yet another matrix client 项目地址: https://gitcode.com/GitHub_Trending/ci/cinny Cinny作为一款现代Matrix客户端,采用组件化架构与前沿前端技术栈,构建了…...

告别‘打架’的目标:用CMPSO算法轻松搞定多目标优化(Python代码实战)

告别‘打架’的目标:用CMPSO算法轻松搞定多目标优化(Python代码实战) 想象一下,你正在设计一款新型电动汽车,需要同时优化续航里程、制造成本和充电速度。这三个目标就像三个固执的谈判代表,各自坚持己见—…...

Emscripten构建优化指南:针对不同目标平台的终极优化策略

Emscripten构建优化指南:针对不同目标平台的终极优化策略 【免费下载链接】emscripten Emscripten: An LLVM-to-WebAssembly Compiler 项目地址: https://gitcode.com/gh_mirrors/em/emscripten Emscripten是一个强大的LLVM到WebAssembly编译器,它…...

【Android】ExoPlayer进阶:实现高效视频流播放与资源管理

1. ExoPlayer核心优势与适用场景 在Android视频播放开发领域,ExoPlayer早已成为开发者首选的解决方案。作为Google开源的媒体播放框架,它完美解决了系统自带MediaPlayer的诸多限制。我曾在多个百万级用户的应用中深度使用ExoPlayer,实测下来它…...

Go-multierror 实战案例:10个常见场景的错误处理优化

Go-multierror 实战案例:10个常见场景的错误处理优化 【免费下载链接】go-multierror A Go (golang) package for representing a list of errors as a single error. 项目地址: https://gitcode.com/gh_mirrors/go/go-multierror 在Go语言开发中&#xff0c…...

mysql主键设计原则_InnoDB聚簇索引对性能的影响

主键不必是自增整数但强烈推荐;非自增主键(如UUID、字符串)易引发页分裂、随机IO和索引碎片,增大二级索引体积并降低缓存效率;更新主键等于全行重建,必须禁止;无显式主键时InnoDB会生成隐藏ROW_…...

Polaris流量控制实战:5种负载均衡策略与智能路由配置

Polaris流量控制实战:5种负载均衡策略与智能路由配置 【免费下载链接】polaris Service Discovery and Governance Platform for Microservice and Distributed Architecture 项目地址: https://gitcode.com/gh_mirrors/pol/polaris Polaris作为微服务和分布…...

GD32F45ZG引脚模式实战指南:从基础配置到高级应用

1. GD32F45ZG引脚模式基础入门 第一次接触GD32F45ZG的引脚配置时,我也被各种模式搞得晕头转向。这就像刚拿到新手机时,得先搞清楚各个按键的功能才能玩转它。GD32F45ZG的引脚就是它的"按键",配置对了才能让芯片按我们的想法工作。 …...

ROLL Agentic RL实战:多轮交互智能体的训练与部署

ROLL Agentic RL实战:多轮交互智能体的训练与部署 【免费下载链接】ROLL An Efficient and User-Friendly Scaling Library for Reinforcement Learning with Large Language Models 项目地址: https://gitcode.com/gh_mirrors/roll13/ROLL ROLL(…...

嵌入式实时异步编程库:FreeRTOS轻量级Job调度框架

1. 项目概述Job是一个面向嵌入式实时系统的轻量级异步编程库,专为 FreeRTOS 环境深度定制。它并非通用 C 异步框架的简单移植,而是基于裸机资源约束与实时性要求重构的模块化任务调度抽象层。其核心设计哲学是:以最小运行时开销实现确定性异步…...

绕过喜马拉雅反爬?聊聊xm-sign签名机制的设计与合规数据获取方案

从商业视角解析xm-sign签名机制的设计逻辑与合规数据获取路径 在数字内容产业快速发展的今天,音频平台面临着数据保护与开放共享的双重挑战。喜马拉雅引入的xm-sign签名机制,正是这一背景下平台安全策略的典型代表。作为产品经理或开发者,理解…...

没有后台服务的鸿蒙应用,算不算“半成品”?——本地 Service Extension 开发真香指南

大家好,我是[晚风依旧似温柔],新人一枚,欢迎大家关注~ 本文目录:前言一、ExtensionAbility 类型:先搞清“职业分工”,再谈用谁干活1️⃣ ExtensionAbility 大家族速览二、后台服务场景:哪些事儿…...

Gophish实战指南:从零构建邮件钓鱼实验环境

1. Gophish简介与核心功能 Gophish是一款专为企业和安全团队设计的开源钓鱼模拟工具,它让安全测试人员能够快速搭建逼真的钓鱼攻击环境。我第一次接触这个工具是在2018年的一次内部安全演练中,当时我们需要测试公司员工的网络安全意识,但市面…...

没有后台服务的鸿蒙应用,算不算“半成品”?——本地 Service Extension 开发真香指南!

大家好,我是[晚风依旧似温柔],新人一枚,欢迎大家关注~ 本文目录:前言一、ExtensionAbility 类型:先搞清“职业分工”,再谈用谁干活1️⃣ ExtensionAbility 大家族速览二、后台服务场景:哪些事儿…...

探索正点原子7寸RGB液晶屏:AD20工程实战

适用于正点原子7寸RGB液晶屏资料,包含AD20完整工程最近,我入手了一块正点原子的7寸RGB液晶屏,搭配AD20开发板,想着能折腾出点有意思的东西。折腾的过程虽然有点坎坷,但收获还是挺多的,现在就来分享一下我的…...