Configuration DSI到LVDS桥接器的PLL,带有STM32F4和x27;行不通
我正在尝试使用STM32F469微控制器驾驶a。基本上,我的STM32提供DSI数据,SN65DSI84将其转换为LVDS格式 问题 今天,我设法通过I2C与我的SN65DSI84通信以配置其寄存器,但我没有成功地将其PLL锁定。 为了让您理解,SN65DSI84需要一个用于LVDS输出的时钟(LVDS像素时钟)。如您在数据表第14页所读,该时钟可能来自外部源或直接来自DSI通道。我通过设置CSR 0x0A寄存器的位0来使用最后一个选项。问题是,当我通过0x0D寄存器启用PLL时,0x0A寄存器中应该告诉我PLL确实已启用的位没有设置 到目前为止我做了什么 好的,首先我关心的是锁相环的锁定。如果我正确理解了数据表,实现这一点不需要配置网桥的所有寄存器,只需要配置位于地址0x09、0x0A、0x0B和0x0D的寄存器 在我的程序中,我创建了一个函数,允许我配置位于地址0x0A、0x0B和0x0D的寄存器。简单地说,以下是算法:Configuration DSI到LVDS桥接器的PLL,带有STM32F4和x27;行不通,configuration,display,stm32f4,Configuration,Display,Stm32f4,我正在尝试使用STM32F469微控制器驾驶a。基本上,我的STM32提供DSI数据,SN65DSI84将其转换为LVDS格式 问题 今天,我设法通过I2C与我的SN65DSI84通信以配置其寄存器,但我没有成功地将其PLL锁定。 为了让您理解,SN65DSI84需要一个用于LVDS输出的时钟(LVDS像素时钟)。如您在数据表第14页所读,该时钟可能来自外部源或直接来自DSI通道。我通过设置CSR 0x0A寄存器的位0来使用最后一个选项。问题是,当我通过0x0D寄存器启用PLL时,0x0A寄存器
CHA\u DSI\u CLK\u范围
寄存器(0x12
地址)。我使用DSI主机的“lane_byte_clock”值而不是DSI“DDR clock”值,导致PLL从未锁定(DSI时钟值、LVDS像素时钟值和DSI时钟分频器之间不匹配)
对于对此感兴趣的人,请参阅ST Application Note 4860关于DSI主机的第75页,我建议尝试驱动此组件的人使用来自德克萨斯州的仪器
现在我显示了模式图片,但我的屏幕不稳定(闪光,奇怪的伪影…当然是因为时间参数设置不正确,我猜)
谢谢 我担心——这是一个如此复杂的硬件,使得远程提供任何解决方案都是不可能的。就个人而言,我会尽量不使用HAL库,因为我不信任它们。我认为,如果没有一个合适的逻辑分析仪或至少是一个示波器,它将很难解决