第31讲 Camera KMD ISP子系统CPAS带宽控制

本讲是Camera KMD ISP子系统专题的第31讲,我们讲解Camera KMD ISP子系统之CPAS带宽控制。

更多资源:

资源 描述
在线课程 极客笔记在线课程
知识星球 星球名称:深入浅出Android Camera
星球ID: 17296815
Wechat 极客笔记圈

AHB带宽投票流程

AHB(Advanced High-performance Bus)总线是用于连接处理器、内存、外设和其他硬件模块的一种高性能总线。在SoC(System on Chip)中,AHB总线扮演着重要角色,提供了高效的数据传输和通信机制。

在Camera系统中,AHB总线用于控制Camera子系统各硬件的寄存器,下图是VFE AHB投票流程。

AHB带宽投票流程

AXI带宽投票流程

AXI(Advanced eXtensible Interface)是ARM公司开发的一种高性能、低功耗且可扩展的处理器总线协议。它被广泛应用在各种SoC(System on Chip)中,用于实现主机和外设之间的通信。

在Camera系统中,AXI总线用于传输Camera图像数据。

AXI带宽投票流程

CPAS master&client如何计算所有用到的bandwidth

CPAS master&client如何计算所有用到的bandwidth

CPAS master&client如何计算所有用到的bandwidth

CPAS master&client如何计算所有用到的bandwidth

// 计算Read Path带宽信息
            CalculateOPERdBandwidth(pPerRequestPorts, &bandwidth);
                swMargin      = 1 - (SoftwareOverhead * FPS);
                swMargin      = 1 / swMargin;
                readBandwidth = static_cast<UINT64>(((srcWidth * srcHeight) * bppSrc * overhead) * FPS * swMargin);
            // 计算Write video&display Path带宽信息
            CalculateOPEWrBandwidth(pPerRequestPorts, &bandwidth);
                // video write bandwidth calculation
                writeBandwidthVideo = static_cast<UINT64>(((video.width * video.height * video.bpp) * videoEnable) * swMargin * FPS);
                // display write bandwidth calculation
                writeBandwidthDisplay = static_cast<UINT64>(((display.width * display.height * display.bpp * PartialWriteOverhead) * displayEnable) * swMargin * previewFPS);

通过这个例子可以看出OPE的带宽根据video是否打开动态计算,这里可以节省功耗。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程