高通7227平台外接UBLOX的GPS模块数据接收不稳定问题

        最近遇到一个很奇特的问题。我们在高通7227平台下使用ublox的q5模块。结果发现接收数据解析后在测试软件上显示的时候,不停的跳变。为了排除问题,我们从串口焊了两根引线,接到串口转usb上联到PC上。在PC上安装ublox的测试工具uSetupCenter后,两相对比来排查问题。刚开始,手机上的应用与PC上的信号及强度完全一致。运行一段时间后就发现,手机上的信号出现丢失和跳变。而PC上显示的则非常稳定和良好。初步分析是我们的数据解析程序不够完善,只好按照官方手册一条条数据格式进行处理。工作完成后测试,发现另外一个奇怪现象。当插上USB线,不论是充电线还是数据线,GPS信号强度都很稳定并且变化及时的。或者如果用手指一直按着按键也是如此。但只要这两个条件都不满足,信号刷新似乎产生了延迟和丢失。从日志上来看某些串口数据没有读取到。

        还是先从底层排查,首先上示波器观察波形。结果波形十分正常,基本是标准的方波。硬件的问题排除。难道与中断有关?因为按键按下和USB线插入都会有中断产生,不过这个思路不具有可操作性。后来在代码回溯过程中发现,如果按键驱动只要不对,GPS信号就正常了。这下真是走入了歧途,没招。我那个鬼才同事,竟然想到与串口驱动有关。将ttyHSL修改为ttyHS,测试OK了。我问他怎么灵机一动的,他回答是运气。我真无语。后来他解释按键与GPS信号的奇怪现象是ARM9这边如果键值映射出错,导致ARM11重新做了一些硬件上的更新,所以GPS信号能正常。当按键正常时,则ARM11没有做对应的刷新,所以就出错了。这个解释让我丈二和尚摸不着头脑,似懂非懂。不过目前测试暂未发现其他问题。


你可能感兴趣的:(高通7227平台外接UBLOX的GPS模块数据接收不稳定问题)