本讲是Camera KMD ISP子系统专题的第31讲,我们讲解Camera KMD ISP子系统之CPAS带宽控制。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
AHB带宽投票流程
AHB(Advanced High-performance Bus)总线是用于连接处理器、内存、外设和其他硬件模块的一种高性能总线。在SoC(System on Chip)中,AHB总线扮演着重要角色,提供了高效的数据传输和通信机制。
在Camera系统中,AHB总线用于控制Camera子系统各硬件的寄存器,下图是VFE AHB投票流程。
AXI带宽投票流程
AXI(Advanced eXtensible Interface)是ARM公司开发的一种高性能、低功耗且可扩展的处理器总线协议。它被广泛应用在各种SoC(System on Chip)中,用于实现主机和外设之间的通信。
在Camera系统中,AXI总线用于传输Camera图像数据。
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是否打开动态计算,这里可以节省功耗。