1. 硬件准备
Xavier 开发套件一套/图为T6xx 系列智盒
GPS 模块一套(自带PPS输出)
硬件接口:3.3V、UART5(J58/H58, ttyTHS4)、PPS_GPIO(B58, GPIO_PA.00)
BSP支持
1.1 添加PPS 支持
由于Xavier(NX/Nano/TX)不支持专用PPS硬件信号,
通过软件将GPIO模拟接收PPS信号,修改如下:
hardware\nvidia\platform\t19x\galen\kernel-dts\common\tegra194-p2888-0000-a00.dtsi
pps {
//here use gpio for the pin in which you want pps signal.
gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(A, 0) GPIO_ACTIVE_LOW>;
compatible = "pps-gpio";
assert-falling-edge;
status = "okay";
};
同步修改kernel config文件
CONFIG_PPS=y
CONFIG_PPS_CLIENT_GPIO=y
1.2 编译并升级dtb文件,待机器重启后,查看如下设备节点
PPS 设备节点: /dev/pps0
Sysfs文件节点: /sys/class/pps/pps0/
每当GPS的PPS过来后,会在对应的GPIO下降沿时会产生一个中断信号,
此时也会产生一个timestamp时间戳,通过如下命令