Capture_DebugSop

REVISION HISTORY

Revision No.
Description
Date
1.0
  • Initial release
  • 12/13/2024

    问题一:Capture无数据

    1. Capture无数据的Debug流程图

    2. Capture无数据的Debug流程说明

    2.1 硬件问题

    检查到Capture无数据时,可操作寄存器将对应PIN脚设为GPIO并拉高拉低(请注意某些PIN脚GPIO功能优先级并不是最高的,此时需要先清除更高优先级),如果实际输出电平没有变化,则可判断为硬件问题,可按照如下顺序排查:

    2.1.1 HW-A 检查电阻

    查看原理图的对应PIN脚是否有电阻漏焊/虚焊,漏焊则需要补焊电阻,否则PIN脚不通

    2.1.2 HW-B 检查焊接情况

    如果更换Board后,GPIO是可以拉高拉低的,那么可能是芯片虚焊,需要rework

    2.1.3 HW-C 请求协助

    联系硬件同事协助排查并重焊芯片

    2.1.4 HW-D 缺陷上报

    如果更换Board后,GPIO仍然无法拉高拉低,联系SW Owner上报缺陷

    2.2 软件问题

    2.2.1 步骤SW-A 检查PADMUX

    1. 检查PADMUX是否存在冲突

    2. 检查padmux是否使能,以pcupid为例,Capture的padmux配置需要根据选择的引脚在对应的arch/arm64/boot/dts/sstar/chipname-xxx-padmux.dtsi中加入如下所示的内容,请确认

    <PAD_OUTP_CH0   PINMUX_FOR_PWMIN0_MODE_1 MDRV_PUSE_PWMIN0>,
    <PAD_OUTN_CH0   PINMUX_FOR_PWMIN1_MODE_1 MDRV_PUSE_PWMIN1>,
    <PAD_OUTP_CH1   PINMUX_FOR_PWMIN2_MODE_1 MDRV_PUSE_PWMIN2>,
    <PAD_OUTN_CH1   PINMUX_FOR_PWMIN3_MODE_1 MDRV_PUSE_PWMIN3>,
    <PAD_OUTP_CH2   PINMUX_FOR_PWMIN4_MODE_1 MDRV_PUSE_PWMIN4>,
    <PAD_OUTN_CH2   PINMUX_FOR_PWMIN5_MODE_1 MDRV_PUSE_PWMIN5>,
    <PAD_OUTP_CH3   PINMUX_FOR_PWMIN6_MODE_1 MDRV_PUSE_PWMIN6>,
    <PAD_OUTN_CH3   PINMUX_FOR_PWMIN7_MODE_1 MDRV_PUSE_PWMIN7>,
    <PAD_GPIOE_10   PINMUX_FOR_PWMIN8_MODE_3 MDRV_PUSE_PWMIN8>,
    <PAD_GPIOD_00   PINMUX_FOR_PWMIN9_MODE_2 MDRV_PUSE_PWMIN9>,
    <PAD_GPIOE_14   PINMUX_FOR_PWMIN10_MODE_3 MDRV_PUSE_PWMIN10>,
    <PAD_GPIOE_16   PINMUX_FOR_PWMIN11_MODE_3 MDRV_PUSE_PWMIN11>,
    

    2.2.2 步骤SW-B 检查Capture初始化情况

    dump Capture bank,可通过寄存器状态判断Capture是否已完成初始化,主要查看0x1B数值是否不为0x00

    Capture处于未初始化时Bank信息如下:

    Capture已完成初始化后Bank信息如下:

    如若未完成初始化,自然无法获取数据,请检查config及DTS配置是否有加载相应Capture驱动

    Linux config:

    Device Drivers --->
        SStar SoC platform drivers --->
            <*> Sstar Capture driver
    

    Linux DTS:

    capture0: capture@1f2ce000 {
        compatible = "sstar,capture";
        reg = <0x0 0x1F2CE000 0x0 0x80>;
            ......
            status = "ok";    //ok:初始化Capture
        };
        .....
    

    2.2.3 步骤SW-C 检查使用方法

    检查Capture使用方法是否正确,详见使用文档Capture使用参考,常见的使用错误如下:

    1. 错误地选择成方向模式且配置错方向判断通道的 模式下,特定channel被设置成方向channel时只能用于判断脉冲方向,无法具体捕获波形

    2. PWM波形频率较小 Capture在一段时间内没有捕获到电平变化,会自动关闭,若需捕获频率较小的波形,需要在sysfs capture/capture*/timeout 中设置合适的超时时间

    2.2.4 步骤SW-D 请求协助

    上述步骤SW-A,SW-B均检查OK,请提供Capture相关LOG以及Capture BANK 0x1670,0x167c信息给对应FAE

    3. 常见问题说明

    1. 无法设置为方向计数模式

      1. 仅pcupid支持该功能
      2. 仅有前4组channel支持方向计数模式,每组的两个channel 一个作为脉冲计数,一个作为方向判断
    2. 无法设置为正交编码器模式

      1. 仅pcupid支持该功能
      2. 同方向模式,仅前四组channel支持该功能