我们将0x10寄存器配置为0x81、以便 GPIO 在插入摄像头时输出高电平、在拔下摄像头时输出低电平。
现在、我们需要在拔下摄像头时将输出配置为高电平、在插入摄像头时将输出配置为低电平。
我们应该如何配置它、
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我们将0x10寄存器配置为0x81、以便 GPIO 在插入摄像头时输出高电平、在拔下摄像头时输出低电平。
现在、我们需要在拔下摄像头时将输出配置为高电平、在插入摄像头时将输出配置为低电平。
我们应该如何配置它、
您好!
感谢您的提问。 将寄存器0x10编程为0x81会将 GPIO0引脚设置为输出 RX0的锁定状态。 假设摄像头模块也包含串行器、这意味着当实现 LOCK 时引脚将为高电平、未实现 LOCK 时引脚将为低电平、这与您所述的情况一致。 由于 GPIO 引脚被编程为输出锁定状态、因此无法反转输出信号。 对于大多数应用、锁定状态足以满足系统要求、是否有特殊原因需要为系统反转信号? 如果您的系统需要这一点、 可以使用软件方法手动对 GPIO0引脚进行编程、以便根据读取寄存器0x4D[0]中的锁定状态在引脚上输出高电平或低电平值。
此致、
达拉
您好!
若要编程 GPIO0以输出高电平、请设置寄存器0x10 = 0x13、并将 GPIO 设置为输出低电平、请设置寄存器0x10 = 0x11。 根据您的 SOC、可以使用不同的实现或方法来生成相同的结果、但基本思路是、如果寄存器0x4D[0]= 0 (无锁定)、则将会写入将 GPIO0设置为高电平的寄存器、 如果寄存器0x4D[0]= 1 (锁定),用于将 GPIO0设置为低电平的寄存器将被写入。
我想澄清一点、这一特定实现将取决于读取 LOCK 寄存器的频率、并且不会产生像 LOCK 状态输出那样的恒定状态信号。 即使系统不断读取寄存器并更新 GPIO0设置、读取/写入寄存器时仍会有延迟。 尽管我不确定您的系统在反转信号时的需求或目标、因此这可能不是问题。 如果需要以与0x10 = 0x81设置相同的频率切换的信号、则可以将逆变器等附加逻辑元件连接到 GPIO0引脚的输出。
您好!
您是否希望 GPIO0对摄像头或解串器发现的错误做出响应? 是否需要任何特定的错误?
如果摄像机是确定存在错误的设备、则有两种选择。 首先、SoC 可以读取摄像头的错误/诊断寄存器并相应地对 GPIO0进行编程。 这与 之前讨论的实现方式相似、除了不是基于 LOCK 0x4D 寄存器改变信号、而是相应的摄像机寄存器。 第二个选项将取决于摄像机是否具有在其 GPIO 引脚之一上输出错误信号的功能。 如果摄像头可以输出此信号、则可以在串行器上接收该信号、然后将其传输到960、并在 GPIO0上输出。
如果解串器是用于识别错误的器件、理想实现将取决于需要跟踪哪些错误。 GPIO0可以输出器件的通过状态。 通过状态指示正在接收有效视频数据。 可以对某些错误进行编程、使其包含在 PASS 状态中、因此如果发生其中一个错误、状态将变为低电平、直到接收到数据而不会收到任何错误。 寄存器0x7D 用于对通过状态进行编程、包括行大小、行数和奇偶校验错误。 如果您希望在 GPIO 信号中包含其他错误、则需要采用与锁定相关讨论内容类似的手动实现。 其中、将读取解串器上所需的错误寄存器、而不是读取0x4D。 另一种选项是对中断进行编程并使用 INTB 引脚而不是 GPIO0。