http://www.cngba.com/viewthread.php?tid=17433753
【全球首发】改装USB接口的GPS接收器(HOLUX m-241)以及自制电缆连接psp!
受到自制廉价电缆
http://www.cngba.com/thread-17088236-1-1.html的启发,写了此贴!
原创图转载请注明!
最近突然爱上了GPS,翻阅众多网上资料过后,入手了HOLUX m-241。
它比之前的GPS接收器一个很大的优点就是带个屏幕可以在不用接任何外部设备(如电脑,PDA等等)的情况下单独使用就能实现轨迹记录(然后放在goolge earth里面浏览,非常爽 http://www.beareyes.com.cn/2/lib/200801/07/20080107084_7.htm),位置记录,显示经纬度和卫星标准时间,速度,海拔等等,这使得它非常适合随身携带。这里是小熊在线对它的详细评测: http://www.beareyes.com.cn/2/lib/200801/07/20080107084.htm
玩了几天就开始琢磨了,要是这个玩意可以和psp连起来就好了!因为psp上面已经有比较完美的GPS导航软件MobiMap(原MapThis, http://www.moby.cn/bbs/)。这个软件单独运行可以查看地图,如果连接上GPS接收器就能实现导航了!前辈们已经有很多努力,包括cngba上面的一片自制廉价电缆 http://www.cngba.com/thread-17088236-1-1.html(以下称A贴),连接了HOLUX m1000b GPS接收器。这篇帖子发帖的时候MobiMap还不支持psp2000外接串口GPS,所以只有一张显示测试程序和GPS通讯的图片,但是现在已经完美支持了!这是当时A贴里面的侧视图:
可是网上从来没有人说过这条自制的电缆(或者购买的,就是漂亮一点,效果和上面那条自制的完全一样,如下图)能够连接HOLUX m241。
我也没想那么多,直接就去村里面买了一根,50rmb啊,真是贵啊。不过一想50元+几百元的m241+已有的psp能够组成一个完整的GPS导航器,也就忍了(要知道专用的完整的GPS导航器要至少好几大千!)
买好电缆过后高高兴兴冲回来连接上我心爱的psp2000和m241 GPS,运行A贴里面有提供 下载的测试psp2000和gps通讯的软件pspgpslim,完了,屏幕僵硬,psp死机!不急不急,定神一想,我的psp是3.9的系统,A贴楼主的机器是3.71的,所以立马潘多拉降级到3.71(顺便说一句,3.71的读写棒子的速度确实比3.8和3.9快很多,特别是在玩模拟器需要随时存盘和读盘进度的时候,一下就读写完成了。用习惯了3.8和3.9还不觉得,突然退回到3.71快了这么多,我决定暂时不升级了,呵呵)。再运行pspgpslim,这次psp不死机了,但是屏幕空白,没有见到任何psp和m241 GPS通讯的迹象。
心理面一凉,完了,廉价GPS导航仪梦想泡汤。心理面不服气啊,为啥自制线连m1000b可以,连m241就不行呢?m1000b和m241使用同样的GPS主芯片MTK MT3318,按道理说输出的信号是完全一样的啊,为啥就不行了呢?
坐下来开始沉思,回想将m241用普通mini usb线连接上电脑的时候电脑显示识别到新设备CP2102云云,而m1000b连接电脑需要特殊的连接线(如下图,这个是m1000b说明书里面的图)。
两者连电脑usb口需要不同的线!这说明了什么?m241和m1000b接口是不同的!经过仔细研究发现,m1000b的mini usb接口(如下图),其实输出的信号是串口信号,只是封装在一个mini usb的接头里面,所以连接电脑的时候需要特殊的线。注意看上图m1000b的线中间有一块塑料盒子,这个盒子里面就装有串口到usb的转换电路!再在网上查找了CP2102的资料,发现这是一个串口到usb的转换芯片!到现在真相大白了:m1000b(还有236,240,m1000)虽然输出口做成mini usb的样子,但是里面输出的是串口信号,需要特殊连接线上的转换电路才能连接到电脑标准的usb接口上(正是因为如此所以直接能够连接在psp线控接口里面的那个串口输入上)。而m241将型号为CP2102的一块串口到usb的转换芯片直接做在了机器内部,这使得它可以使用标准的mini usb线直接连接到电脑上(这是真正的usb口,所以之前直接把这个连接在psp线控串口上不行)。
知道了问题所在,现在就对症下药吧。Psp耳机接口旁边的线控/ 视频接口里面其实包含一个串口,A贴里面自制的线就是使用这个串口和GPS通信的。而且和GPS通信的时候情况还更简单,因为GPS和psp通信是单向的,也就是只有数据从GPS流向psp,所以只需要连接 PSP RX(串口信号接收引脚)这一根信号线就行了。好,现在就是要把m241里面那个位于CP2102芯片之前的那个串口信号弄出来!
开工!开拆!这就是即将被我动手术的m241:
取下m241里面的电池,然后用薄卡片挑起m241上面的贴纸(我用的是新衬衣包装里面支撑领口的那个透明塑料片片):
贴纸就是用双面胶贴上去的。完全揭开贴纸后,露出一颗螺钉(标注在绿圈内),卸下:
螺钉卸下后,上盖松动,往上翻,然后就能卸下,注意旁边的塑料卡口,然后就能见到位于上端的GPS接收天线:
随后将整个机芯往后拉出:
卸下图示的两颗螺钉:
然后用指甲盖轻轻抠起液晶显示屏背光灯排线插接件上面的压线器,取出背光灯排线:
将整个液晶显示器模块小心翻转,离开主板:
然后用同样的办法掀开液晶显示器连接主板的排线的压线器,完全分离液晶显示器:
将主板往上抬,小心把主板从支架上卸下:
主板翻过来看背面,(贴在屏蔽盒上的标签纸我已经撕掉了)一眼就能看见之前推测存在的串口转usb的转换芯片CP2102:
不太看得清楚,来zoom in看看,呵呵,芯片型号CP2102清晰可见:
上网找资料,得到CP2102的引脚排列图(完整的芯片资料在这里 http://www2.silabs.com/public/documents/tpub_doc/dsheet/Microcontrollers/Interface/en/cp2102.pdf,CP2102是一个高度集成的串口转usb接口芯片):
仔细阅读过后知道25脚便是串口输入信号!而8,5,4,3脚便是输出的USB接口!任务更加明确:就是要把25号引脚直接引出来接到psp就行了!
来看图,就是要把这跟引脚的信号引出来接到psp上面:
不过问题又来了,这么细的引脚,加之旁边是屏蔽盒,电烙铁根本下不去啊,怎么连线呢?想了半天,最后想到做一个支架然后伸一根尖一点的金属片下去直接戳到那根引脚上面。当然聪明的朋友你们可能有更好的做支架的办法,我这个方法比较土,用的是两根插接件里面的插头改装的,这是原始的插接件插头:
用尖嘴钳弯成这样:
然后用电烙铁将两个做好的插接件焊接成垂直形状,并且焊上导线:
再将用来戳到芯片引脚的一端用剪刀剪窄,宽度和芯片引脚差不多宽(图中方框处):
用透明胶带在屏蔽盒上面贴一层以免和支架短路(因为屏蔽盒是接地的,而支架将戳到芯片25脚上面传送串口信号给psp):
然后把支架粘在屏蔽盒上面,金属头戳在正确的引脚上面(正反方向数都是靠近屏蔽盒那一排引脚的第四个引脚,如往前数第六张图框出来的芯片引脚):
这样一来,25脚上的串口信号就被引到了支架上,并且由导线传送。
在继续之前,先来测试一下信号是否正确。把A贴里面提到的连接psp一端的线插入psp的线控口,里面的GND(线控线里面红色的那根)拧到gps连接电池负极的铜片上,RX(线控线里面黑色的那根)连一只2k电阻然后连接到上面从支架导出的串口信号上:
这里就是用的A贴里面提到的那个测试程序,测试成功!表明支架连接到了正确的引脚上并且信号输出正常!
然后将焊接在支架上的导线焊接到mini usb的第二根pin上面(不好意思这张照得不好,就是焊接在mini usb口从上数第二根引脚上面)
mini usb按照接口标准第二根pin是缺省不用的(在板子上也可以清楚得看出这跟脚没有连接任何电路),所以正好我们可以用这根不用的引脚来引出我们需要的串口信号,这样做不会影响接口原有的usb功能:
至此,改装完成。安装的时候小心不要碰到那个戳在引脚上的金属片,避免金属片错位连接到其他的引脚上了(我在实际安装的时候这个错位了好多次,并不会烧毁GPS主板上的任何器件,只是得不到正确的信号罢了)。主板装在架子上的时候,背面恰好顶住金属支架,所以金属脚更加紧密的压在了芯片引脚上面,使其戳在芯片引脚上更加牢固:
这里有一点需要注意,焊接到mini usb第二根pin的时候一定要在装液晶屏之前,否则装好液晶屏了那个位置只有一点点空间,电烙铁根本伸不进去:
好,现在来做线。在电子市场买一个标准mini usb的接头,一定要买5pin的,否则没有pin2的焊盘,就没法引出接在pin2上面的串口信号了:
在pin1和pin2上分别焊上两根导线(我这里用了一个两心的屏蔽线),黑色线接在mini usb的pin1上,这是地线。红色线接在pin2上,这是串口信号线:
然后扣上塑料壳:
至此连接GPS一端的usb口完成。
再找一个线控头:
用万用表在那一堆引线里面找到如下图所示的GND线和RX线:
地线接地线,信号线接信号线。具体说就是线控GND这跟线接改装过后的mini usb头的pin 1,PSP RX接一只1k至2k(我用的2k的)的电阻接改装过后的mini usb头的pin 2:
现在再将改装过后的m241用自制的线和psp相连,哈哈,pspgpslim开始显示和GPS通讯了(两段线中间电阻那一部分我用透明胶封起来了):
打开MobiMap,显示GPS STATE: ON!!一切正常!!大功告成。
整个过程大约一天左右完成,当然其中走了很多弯路,现在有经验了半天应该差不多就能做好。这个教程就是我怂恿一个朋友去买了一个m241,然后我在帮他改装的时候一步步照相完成的。
该教程是我花费相当大的功夫探索研究资料和试了很多种方法最终成功(就是这么多照片也照得辛苦哈),望大家念一点苦劳也给点人气!欢迎用psp玩gps的朋友来信交流 unicough.xin@gmail.com
最近突然爱上了GPS,翻阅众多网上资料过后,入手了HOLUX m-241。

它比之前的GPS接收器一个很大的优点就是带个屏幕可以在不用接任何外部设备(如电脑,PDA等等)的情况下单独使用就能实现轨迹记录(然后放在goolge earth里面浏览,非常爽 http://www.beareyes.com.cn/2/lib/200801/07/20080107084_7.htm),位置记录,显示经纬度和卫星标准时间,速度,海拔等等,这使得它非常适合随身携带。这里是小熊在线对它的详细评测: http://www.beareyes.com.cn/2/lib/200801/07/20080107084.htm
玩了几天就开始琢磨了,要是这个玩意可以和psp连起来就好了!因为psp上面已经有比较完美的GPS导航软件MobiMap(原MapThis, http://www.moby.cn/bbs/)。这个软件单独运行可以查看地图,如果连接上GPS接收器就能实现导航了!前辈们已经有很多努力,包括cngba上面的一片自制廉价电缆 http://www.cngba.com/thread-17088236-1-1.html(以下称A贴),连接了HOLUX m1000b GPS接收器。这篇帖子发帖的时候MobiMap还不支持psp2000外接串口GPS,所以只有一张显示测试程序和GPS通讯的图片,但是现在已经完美支持了!这是当时A贴里面的侧视图:

可是网上从来没有人说过这条自制的电缆(或者购买的,就是漂亮一点,效果和上面那条自制的完全一样,如下图)能够连接HOLUX m241。

我也没想那么多,直接就去村里面买了一根,50rmb啊,真是贵啊。不过一想50元+几百元的m241+已有的psp能够组成一个完整的GPS导航器,也就忍了(要知道专用的完整的GPS导航器要至少好几大千!)
买好电缆过后高高兴兴冲回来连接上我心爱的psp2000和m241 GPS,运行A贴里面有提供 下载的测试psp2000和gps通讯的软件pspgpslim,完了,屏幕僵硬,psp死机!不急不急,定神一想,我的psp是3.9的系统,A贴楼主的机器是3.71的,所以立马潘多拉降级到3.71(顺便说一句,3.71的读写棒子的速度确实比3.8和3.9快很多,特别是在玩模拟器需要随时存盘和读盘进度的时候,一下就读写完成了。用习惯了3.8和3.9还不觉得,突然退回到3.71快了这么多,我决定暂时不升级了,呵呵)。再运行pspgpslim,这次psp不死机了,但是屏幕空白,没有见到任何psp和m241 GPS通讯的迹象。
心理面一凉,完了,廉价GPS导航仪梦想泡汤。心理面不服气啊,为啥自制线连m1000b可以,连m241就不行呢?m1000b和m241使用同样的GPS主芯片MTK MT3318,按道理说输出的信号是完全一样的啊,为啥就不行了呢?
坐下来开始沉思,回想将m241用普通mini usb线连接上电脑的时候电脑显示识别到新设备CP2102云云,而m1000b连接电脑需要特殊的连接线(如下图,这个是m1000b说明书里面的图)。

两者连电脑usb口需要不同的线!这说明了什么?m241和m1000b接口是不同的!经过仔细研究发现,m1000b的mini usb接口(如下图),其实输出的信号是串口信号,只是封装在一个mini usb的接头里面,所以连接电脑的时候需要特殊的线。注意看上图m1000b的线中间有一块塑料盒子,这个盒子里面就装有串口到usb的转换电路!再在网上查找了CP2102的资料,发现这是一个串口到usb的转换芯片!到现在真相大白了:m1000b(还有236,240,m1000)虽然输出口做成mini usb的样子,但是里面输出的是串口信号,需要特殊连接线上的转换电路才能连接到电脑标准的usb接口上(正是因为如此所以直接能够连接在psp线控接口里面的那个串口输入上)。而m241将型号为CP2102的一块串口到usb的转换芯片直接做在了机器内部,这使得它可以使用标准的mini usb线直接连接到电脑上(这是真正的usb口,所以之前直接把这个连接在psp线控串口上不行)。

知道了问题所在,现在就对症下药吧。Psp耳机接口旁边的线控/ 视频接口里面其实包含一个串口,A贴里面自制的线就是使用这个串口和GPS通信的。而且和GPS通信的时候情况还更简单,因为GPS和psp通信是单向的,也就是只有数据从GPS流向psp,所以只需要连接 PSP RX(串口信号接收引脚)这一根信号线就行了。好,现在就是要把m241里面那个位于CP2102芯片之前的那个串口信号弄出来!
开工!开拆!这就是即将被我动手术的m241:

取下m241里面的电池,然后用薄卡片挑起m241上面的贴纸(我用的是新衬衣包装里面支撑领口的那个透明塑料片片):

贴纸就是用双面胶贴上去的。完全揭开贴纸后,露出一颗螺钉(标注在绿圈内),卸下:

螺钉卸下后,上盖松动,往上翻,然后就能卸下,注意旁边的塑料卡口,然后就能见到位于上端的GPS接收天线:

随后将整个机芯往后拉出:

卸下图示的两颗螺钉:

然后用指甲盖轻轻抠起液晶显示屏背光灯排线插接件上面的压线器,取出背光灯排线:

将整个液晶显示器模块小心翻转,离开主板:

然后用同样的办法掀开液晶显示器连接主板的排线的压线器,完全分离液晶显示器:

将主板往上抬,小心把主板从支架上卸下:

主板翻过来看背面,(贴在屏蔽盒上的标签纸我已经撕掉了)一眼就能看见之前推测存在的串口转usb的转换芯片CP2102:

不太看得清楚,来zoom in看看,呵呵,芯片型号CP2102清晰可见:

上网找资料,得到CP2102的引脚排列图(完整的芯片资料在这里 http://www2.silabs.com/public/documents/tpub_doc/dsheet/Microcontrollers/Interface/en/cp2102.pdf,CP2102是一个高度集成的串口转usb接口芯片):

仔细阅读过后知道25脚便是串口输入信号!而8,5,4,3脚便是输出的USB接口!任务更加明确:就是要把25号引脚直接引出来接到psp就行了!
来看图,就是要把这跟引脚的信号引出来接到psp上面:

不过问题又来了,这么细的引脚,加之旁边是屏蔽盒,电烙铁根本下不去啊,怎么连线呢?想了半天,最后想到做一个支架然后伸一根尖一点的金属片下去直接戳到那根引脚上面。当然聪明的朋友你们可能有更好的做支架的办法,我这个方法比较土,用的是两根插接件里面的插头改装的,这是原始的插接件插头:

用尖嘴钳弯成这样:

然后用电烙铁将两个做好的插接件焊接成垂直形状,并且焊上导线:

再将用来戳到芯片引脚的一端用剪刀剪窄,宽度和芯片引脚差不多宽(图中方框处):

用透明胶带在屏蔽盒上面贴一层以免和支架短路(因为屏蔽盒是接地的,而支架将戳到芯片25脚上面传送串口信号给psp):

然后把支架粘在屏蔽盒上面,金属头戳在正确的引脚上面(正反方向数都是靠近屏蔽盒那一排引脚的第四个引脚,如往前数第六张图框出来的芯片引脚):

这样一来,25脚上的串口信号就被引到了支架上,并且由导线传送。

在继续之前,先来测试一下信号是否正确。把A贴里面提到的连接psp一端的线插入psp的线控口,里面的GND(线控线里面红色的那根)拧到gps连接电池负极的铜片上,RX(线控线里面黑色的那根)连一只2k电阻然后连接到上面从支架导出的串口信号上:

这里就是用的A贴里面提到的那个测试程序,测试成功!表明支架连接到了正确的引脚上并且信号输出正常!
然后将焊接在支架上的导线焊接到mini usb的第二根pin上面(不好意思这张照得不好,就是焊接在mini usb口从上数第二根引脚上面)
mini usb按照接口标准第二根pin是缺省不用的(在板子上也可以清楚得看出这跟脚没有连接任何电路),所以正好我们可以用这根不用的引脚来引出我们需要的串口信号,这样做不会影响接口原有的usb功能:

至此,改装完成。安装的时候小心不要碰到那个戳在引脚上的金属片,避免金属片错位连接到其他的引脚上了(我在实际安装的时候这个错位了好多次,并不会烧毁GPS主板上的任何器件,只是得不到正确的信号罢了)。主板装在架子上的时候,背面恰好顶住金属支架,所以金属脚更加紧密的压在了芯片引脚上面,使其戳在芯片引脚上更加牢固:

这里有一点需要注意,焊接到mini usb第二根pin的时候一定要在装液晶屏之前,否则装好液晶屏了那个位置只有一点点空间,电烙铁根本伸不进去:

好,现在来做线。在电子市场买一个标准mini usb的接头,一定要买5pin的,否则没有pin2的焊盘,就没法引出接在pin2上面的串口信号了:

在pin1和pin2上分别焊上两根导线(我这里用了一个两心的屏蔽线),黑色线接在mini usb的pin1上,这是地线。红色线接在pin2上,这是串口信号线:

然后扣上塑料壳:

至此连接GPS一端的usb口完成。
再找一个线控头:

用万用表在那一堆引线里面找到如下图所示的GND线和RX线:

地线接地线,信号线接信号线。具体说就是线控GND这跟线接改装过后的mini usb头的pin 1,PSP RX接一只1k至2k(我用的2k的)的电阻接改装过后的mini usb头的pin 2:

现在再将改装过后的m241用自制的线和psp相连,哈哈,pspgpslim开始显示和GPS通讯了(两段线中间电阻那一部分我用透明胶封起来了):

打开MobiMap,显示GPS STATE: ON!!一切正常!!大功告成。

整个过程大约一天左右完成,当然其中走了很多弯路,现在有经验了半天应该差不多就能做好。这个教程就是我怂恿一个朋友去买了一个m241,然后我在帮他改装的时候一步步照相完成的。
该教程是我花费相当大的功夫探索研究资料和试了很多种方法最终成功(就是这么多照片也照得辛苦哈),望大家念一点苦劳也给点人气!欢迎用psp玩gps的朋友来信交流 unicough.xin@gmail.com
预留,有待放进一步的测试报告
最近有好些朋友发信问我这一贴中使用到的材料价格,我在这里发个粗略列表:
另外,最近没用MobiMap了,还是换回了MapThis。
这两天正在看MapThis的代码,也在试用。MapThis的一个最大的问题是不能手动校准地图,MobiMap可以,但是却不能将校准结果随地图存下来(也就是下次load进来又要重新校准,而且似乎校准过后地图在不同的位置还会有不同的偏差)
我已经将MapThis的代码修改过了,增添了校准和随地图储存手动校准结果的功能,从这几天我在北京晃悠的结果来看,只要地图校准了,从北京南面跑到北面地图都一直是准的,至少一直在路上跑,不会偏到路外面去,而且在立交桥上面车道也很准。
不过我还没有做过省际之间的测试,或者换另外一个城市会有其他问题,我还不得而知。
过几天我会把我改过过后的MapThis放出来,让大家可以一起帮忙试用:)
最近有好些朋友发信问我这一贴中使用到的材料价格,我在这里发个粗略列表:
- 主角M241 GPS是我在中关村买的,580元,淘宝上最便宜的我见到过的是560元
- psp2000么大家都知道,最近应该是单机1300-1330之间
- 那个插接件接头,1元钱应该可以买好几个了,我不是很清楚,因为是从其他地方拿过来用的
- mini usb接口1元钱一个
- 最麻烦的是那个接psp一端的线了,这个是我找了个坏的psp2000线控把连接psp一端直接剪下来用的,最便宜的psp2000线控大约35元,当然如果专门为了做这根线去剪掉一根好的线控,好像有点郁闷
- 电阻么1元钱10只,随便焊,焊坏了再换一只就完了,反正多
另外,最近没用MobiMap了,还是换回了MapThis。
这两天正在看MapThis的代码,也在试用。MapThis的一个最大的问题是不能手动校准地图,MobiMap可以,但是却不能将校准结果随地图存下来(也就是下次load进来又要重新校准,而且似乎校准过后地图在不同的位置还会有不同的偏差)
我已经将MapThis的代码修改过了,增添了校准和随地图储存手动校准结果的功能,从这几天我在北京晃悠的结果来看,只要地图校准了,从北京南面跑到北面地图都一直是准的,至少一直在路上跑,不会偏到路外面去,而且在立交桥上面车道也很准。
不过我还没有做过省际之间的测试,或者换另外一个城市会有其他问题,我还不得而知。
过几天我会把我改过过后的MapThis放出来,让大家可以一起帮忙试用:)