1 信号来源
HALL信号来源于GPIO,对于每一路HALL信号,芯片有两个IO可以作为该信号的来源。通过配置GPIO寄存器,用户可以选择将其中一个GPIO的输入信号做为HALL信号使用。
详细管脚位置说明见芯片器件datasheet。
2 工作时钟
HALL模块工作频率可调。通过配置HALL_CFG.CLK_DIV寄存器,可以选择系统主时钟的1/2/4/8分频作为HALL模块工作频率,滤波和计数均采用该频率工作。
3 信号滤波
滤波模块主要用于去除HALL信号上的毛刺。
滤波包括两级滤波器:
第一级采用7判5进行滤波,即连续7个采样点中,如果达到超过5个1则输出1,如果达到或超过5个0则输出0,否则输出保持上一次的滤波结果。具体如下图所示:
第二级采用连续滤波,在连续N 个采样点中,如全为0 则输出0,如全为1 则输出1,否则输
出保持上一次的滤波结果。
通过配置HALL_CFG.FIL_75 可以选择是否使能第一级滤波器。
通过配置HALL_CFG.FIL_LEN 可以配置第二级滤波器滤波深度,即连续采样个数。连续采样个
数最大为215,滤波时间常数计算公式如下:
Tfit = Tclk * (HALL_CFG.FIL_LEN[14:0] + 1)
举例,在96MHz 工作频率下,周期Tclk 是10.4ns,寄存器配置最大为32767,最长滤波宽度为
约10.4ns×32768≈340us。
通过访问HALL_INFO.FIL_DATA[2:0]可以捕捉滤波后的HALL 信号;HALL_INFO.RAW_DATA[2:0]
则是滤波前原始HALL 输入信号 |