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.

DS949->DS948中,D_GPIO可以透传pwm信号吗?

我们验证过,可以透传GPIO[0-3],但是D_GPIO[0_3]透传不了,其中的PORT1_SEL和PORT0_SEL是对什么端口的选择,是指对引脚复用功能的选择吗

  • 而且PORT1_SEL是设置
    Determines operating mode for the GPIO pin:
    ModeD_GPIO2 x00: Functional input mode.
    Mode x10: TRI-STATE™.
    001: GPIO mode, output.
    011: GPIO mode, input.
    101: Remote-hold mode. The GPIO pin will be an output, and the value is received from
    the remote Deserializer. In remote-hold mode, data is maintained on link loss.
    111: Remote-default mode. The GPIO pin will be an output, and the value is received
    from the remote Deserializer. In remote-default mode, GPIO's Output Value bit is output
    on link loss.
    If PORT1_SEL is set, this register controls the D_GPIO2 pin

    也就是说GPIO[0-3]和D_GPIO[0-3]同时只能使用一组,不能当作两组8个gpio来使用是吧
  • 您好,GPIO可以配置成forward channel或者back channel mode。而D_GPIO 只能配置back channel mode(即deserializer---->serializer).
    您现在的应用是什么方向? 如果serializer---deserializer,那么就是forward channel,只能使用GPIO。
    In normal operation, GPIO[3:0] may be used as GPIOs in either forward channel (outputs) or back channel (inputs) mode.
    The D_GPIO[3:0] pins can be configured to obtain different sampling rates depending on the mode as well as back channel frequency

    PORT1_SEL和PORT0_SEL 是用来对同一个寄存器有两种控制功能的选择,比如同一个寄存器可以是用来配置GPIO 的, 也可以用来配置D_GPIO的, 那么我们就取决于PORT1_SEL和PORT0_SEL的配置,也就是寄存器0X34bit[1:0]这两位。
  • 感谢你的解答,我们现在是想使用D_GPIO透传pwm,从serializer---deserializer,按照你的解答,D_GPIO无法使用在此场景,

    我还有一个疑问:如果我们想同时使用GPIO[0-3]和D_GPIO[0-3],但是PORT1_SEL是选择寄存器是控制GPIO还是D_GPIO的,也就是说同时只能控制一种gpio,如果想同时使用GPIO[0-3]和D_GPIO[0-3]功能,是不是可以分时复用,例如:
    想使用GPIO1作为输出,并输出高电平,此时设置PORT1_SEL=0,想使用D_GPIO1作为输出功能,并输出低电平,此时设置PORT1_SEL=1,这时候寄存器是控制D_GPIO的,那这个时候会影响GPIO1高电平的输出吗?
  • 请帮忙看看对D_GPIO的配置,电平透传没有成功:
    1,D_GPIO1,949->948, 949的D_GPIO输入,948D_GPIO1输出,透传电平没有成功,
    static int gpio_test(struct ti_949_data *data)
    {
    ser_write(data, 0x5b, 0x03); //ser dual link
    ser_write(data, 0x1e, 0x02);//ser PORT1_SEL=1
    ser_write(data, 0x0E, 0x03); //ser D_GPIO1 input

    des_write(data, 0x34, 0x0A); //des dual link PORT1_SEL=1
    des_write(data,0x1E, 0x05);//des D_GPIO1 OUTPUT
    return 0;
    }

    2,D_GPIO1, 949->949, 948的D_GPIO1输入,949的D_GPIO1输出,测试透传也没成功
    static int gpio_test(struct ti_949_data *data)
    {
    ser_write(data, 0x5b, 0x03); //ser dual link
    ser_write(data, 0x1e, 0x02);//ser PORT1_SEL=1
    ser_write(data, 0x0E, 0x05); //ser D_GPIO1 output

    des_write(data, 0x34, 0x0A); //des dual link PORT1_SEL=1
    des_write(data,0x1E, 0x03);//des D_GPIO1 INPUT
    return 0;
    }
    请帮忙看看配置有没有问题,谢谢!
  • 你好,问题解决了吗?我也遇到这样的问题
x 出现错误。请重试或与管理员联系。