Timecard调试记录
勘误(持续更新)
- 官方图片中在NC74SZ125M5上的2、4脚做了飞线,原因是输入输出画反了
硬件调试
- 测试供电:根据原理图给板卡供电12V,工作电流小于0.2A;测量电路其他点电压是否正常;
- 测试频率源:R33的0R换到R32上,给晶振提供12V电压;若接MAC,需要先焊上接插件;
- 测试GNSS:按照接线图单独给GNSS供电,3.3和5v都要有,5v代表天线使能,不接无法获取数据。U-Center软件可以通过串口读取gps数据 (注意:天线接收器吸附在金属表面,放置在窗外或者露天状态下效果最好);
- 烧录程序:按照Time-Card\SOM\FPGA\Readme.pdf中的步骤2.3 SPI Programming (non-volatile)操作;
- 现象:以Time-Card\SOM\FPGA\Readme.pdf为准,不插PCIe时,观察左上4个LED中左边三个常亮; 插PCIe后 (注意:先断电,不能带电插拔) ,左边三个变为闪烁,并且第三个以1Hz闪烁,脉宽为100ms;断电插入GNSS再上电后,GNSS的TP1指示灯以1Hz闪烁,脉宽为200ms;现象正常后进行软件调试。
软件调试(linux环境,如centos7)
- 升级内核到5.12以上,期间会更新补丁
- 下载对应版本的rpm
- 安装rpm
$ rpm -ivh [已下载rpm包的名字]
- 更新gcc到最新
- linux环境下clone项目,或者windows下clone但不要打开,再传到linux环境中
- 进入Time-Card\DRV\目录,给remake执行权限
$ chmod 777 remake
- 执行remake
$ ./remake
- 安装驱动
$ modprobe ptp_ocp
- 列出所有驱动
$ lsmod
- 在列出的驱动中找到ptp_ocp 说明板卡驱动安装成功
以上都是可以在不插PCIe下进行,下面读写板卡需要插PCIe操作
- 进入目录Time-Card\SOM\FPGA\TestApp
- 编译TestApp.c,出现TestApp.out可执行文件
$ gcc TestApp.c -o TestApp.out
- 运行TestApp.out
$ ./TestApp.out 0x90000000
- 板卡硬件状态会持续打印到终端
- TestApp.c 添加NTL_PPSM_REGSET_BASE对应地址的数据,能看到PPSMaster对应的脉宽,即实际输出PPS的脉宽,PPSSlave对应FPGA接收到的PPS;
- 拔掉GNSS,PPSSlave显示1023,对应100%占空比,正常;
Q&A
Q1. 如图:
A1. 出现此种情况是因为文件夹在windows下打开过,代码被添加了某些linux下无法识别的字符;需严格按照步骤5下载
Q2. 如图:
A2. 原因是升级内核后未安装对应的rpm包,按照步骤安装即可;