完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 Analog Devices 的 ADV7280-M 解码 720*576 像素的 PAL 输出模拟摄像机的视频。它以符合 ITU-R.BT 656.3 标准的 YUV422 8 位格式输出视频。起初,我无法运行 ADV7280M,但后来我发现并解决了问题。这是我在社区中心询问的链接。您可以从此处阅读并查看问题的详细信息。
csi2rxConfig.laneNum = DEMO_CAMERA_MIPI_CSI_LANE; // 1 车道我正在使用 csi2rxConfig.tHsSettle_EscClk = 0x0C; // adv7280m 正在运行渐进模式。所以,216MHz 时钟速度 (void)CLOCK_EnableClock(s_csi2rxClocks[CSI2RX_Getinstance(base)]); MIPI_CSI2RX_SoftwareReset(base, true); SDK_DelayAtLeastUs(1 * 10 * 1000, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY); MIPI_CSI2RX_SoftwareReset(base, false); SDK_DelayAtLeastUs(1 * 10 * 1000, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY); CSI2RX_REG_CFG_NUM_LANES(base) = config->laneNum - 1UL; CSI2RX_REG_CFG_DISABLE_DATA_LANES(base) = MIPI_CSI2RX_CSI2RX_CFG_NUM_LANES_csi2rx_cfg_num_lanes_MASK & ~((1UL << (uint32_t)config->laneNum) - 1UL); CSI2RX_REG_CFG_DISABLE_PAYLOAD_0(基础)= 0xFFFFBFFB; CSI2RX_REG_CFG_DISABLE_PAYLOAD_1(基础)= 0XFFFFFFFF; CSI2RX_REG_IRQ_MASK(基础) = MIPI_CSI2RX_IRQ_MASK_IRQ_MASK_SHIFT; CSI2RX_EnableInterrupts(MIPI_CSI2RX, kCSI2RX_InterruptUlpsStatusChange); /* 像素链接控制 */ VIDEO_MUX->PLM_CTRL.RW = 0U; IOMUXC_GPR->GPR59 = (IOMUXC_GPR->GPR59 & ~(IOMUXC_GPR_GPR59_MIPI_CSI_S_PRG_RXHS_SETTLE_MASK)) | IOMUXC_GPR_GPR59_MIPI_CSI_RX_ENABLE_MASK | /* 启用接收。*/ IOMUXC_GPR_GPR59_MIPI_CSI_AUTO_PD_EN_MASK | /* 自动关闭未使用的通道。*/ IOMUXC_GPR_GPR59_MIPI_CSI_SOFT_RST_N_MASK | IOMUXC_GPR_GPR59_MIPI_CSI_PD_RX_MASK | IOMUXC_GPR_GPR59_MIPI_CSI_DDRCLK_EN_MASK | /* 启用 DDR 时钟。*/ IOMUXC_GPR_GPR59_MIPI_CSI_CONT_CLK_MODE_MASK | /* 继续时钟。*/ IOMUXC_GPR_GPR59_MIPI_CSI_S_PRG_RXHS_SETTLE(tHsSettle_EscClk - 1UL); /* T(HS-SETTLE) */ //IOMUXC_GPR->GPR59 &= ~IOMUXC_GPR_GPR59_MIPI_CSI_RX_RCAL_MASK; // 我使用了关于 //IOMUXC_GPR->GPR59 |= IOMUXC_GPR_GPR59_MIPI_CSI_RX_RCAL(1) 的所有 4 个设置;//在芯片终止位上,没有成功。 VIDEO_MUX->CFG_DT_DISABLE.RW = 0xFFFFFFBF;//yuv422_8Bit 启用,geri kalan tüm 数据 tipleri 禁用 edilmesini sağlıyor。 /* 启用像素链接主控。*/ VIDEO_MUX->PLM_CTRL.SET = (VIDEO_MUX_PLM_CTRL_ENABLE_SHIFT | VIDEO_MUX_PLM_CTRL_VALID_OVERRIDE_MASK); /* 启动 PHY。*/ IOMUXC_GPR->GPR59 &= ~IOMUXC_GPR_GPR59_MIPI_CSI_PD_RX_MASK; 顺便说一句,这是我的 MIPI-CSI 外设和外置摄像头的初始化命令 CAMERA_RECEIVER_Init(&cameraReceiver, &cameraConfig, NULL, NULL); BOARD_InitMipiCsi(); CAMERA_DEVICE_Init(&cameraDevice, &cameraConfig); CAMERA_DEVICE_Start(&cameraDevice); 所以,我首先打开并准备好 CSI,然后我初始化并运行外部摄像头。因此,在连续时钟模式下,不可能错过 CLKP0-N0 线上的 HS 时钟。 上面的代码初始化有什么问题?我如何证明数据到达 MIPI-CSI2RX,任何方法或任何 FIFO/寄存器被读取?我如何证明 imxrt1176 的终止可以适当地动态更改? 附言: 我连续将外部摄像头置于进入和退出 ULPS 状态,如下所示; while (s_newFrameShown == false) { CAMERA_DEVICE_Enter_ULPS_State(&cameraDevice); SDK_DelayAtLeastUs(3 * 10 * 1000, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY); CAMERA_DEVICE_Exit_ULPS_State(&cameraDevice); uint32_t status = CSI2RX_GetUlpsStatus(MIPI_CSI2RX); if (kCSI2RX_ClockLaneUlps & status) { csi2_ulps_register_durum_bilgisi++ ; } SDK_DelayAtLeastUs(3 * 10 * 1000, SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY); } 最后是 ISR 函数 void MIPI_CSI_IRQHandler(void) { counter++; SDK_ISR_EXIT_BARRIER; } 根据 Analog Devices 的 AN-1337 pdf 文档, MIPI-CSI2 接收器 DPHY 终端(即 NXP IMXRT1176)必须根据发射器阻抗(即 ADV7280-M)动态修改其自身的输入阻抗。如果不是,则电压电平/差异和 HS(高速)终端使能在数据线 DP0-N0 上未按预期显示。 AN-1337 是这么说的; 根据我抓取的示波器,在数据线DP0-N0上,没有任何关于IMXRT1176 HS termination ON的迹象。我还添加了 CLKP-N 线。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1906个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36358 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4395 浏览 0 评论
6050 浏览 1 评论
6763 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4212 浏览 0 评论
619浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
614浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
605浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
694浏览 2评论
796浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:30 , Processed in 1.057596 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号