USBGPS 开放源代码项目  

 

项目维护人: 鲁郁    

ENGLISH



项目简介

硬件原理

固件

设备驱动

应用软件

下载

开发文档

开发心得与致谢


(NOTE: 说来惭愧,来美国快3年了,英文不见进步,反退步不少,写一些生硬的技术文档还马马虎虎, 但写略带文学色彩的心得文章就捉襟见肘了,只能用母语来表达了.这篇心得是我做这个项目的一点体会, 受自身水平所限,难免有可笑之处.如果你设计过12层的PCB板,写过10万行以上的可靠代码, 调试过300MHz的总线系统,那么你不用在这浪费时间了,因为你已经是一只大牛了, 这篇心得是为那些刚刚出生的牛犊和正在默默工作的小牛准备的.)

开发心得



终于做完了!当我开始坐在电脑前为这个项目写网页的时候,距离我开始着手做已经有8个月了. 这8个月来,伴随着我的一对双胞胎宝宝的诞生,USBGPS项目从底层的硬件和固件, 到中间层的设备驱动,直至高层的用户程序,一步一步,成为一个具有基本功能的GPS软件接收机, 就象我的第3个孩子.同时照顾好3个孩子实在是一件困难的事情,酸甜苦辣,一应俱全,个中体会,一言难尽.

我第一次知道GPS软件接收机开源项目是在2003年PORTLAND的ION大会, CLIFFORD KELLY主持的 GPS开源项目小组聚会上. 我当时就觉得这个项目很有意思.从PORTLAND回来后, 面临博士开题报告,我就想做GPS接收机的软件无线电的实现. 于是我开始读CLIFFORD的代码, 试图搞清楚一台GPS接收机都要作些什么事情. 在那个时候,我就萌生了重写整个系统的念头. CLIFFORD 的硬件接口是ISA,ISA总线是上个世纪的东东了,现在的主板已经没有ISA了,所以硬件接口是一定要改的. 选择USB接口主要是因为我不想打开机壳安装硬件,而USB设备的易用性正是我所希望的. 确定了硬件接口后,整个项目的开发进度如下: 从一开始,我就明白这个项目没有太多的学术价值,想用这个项目发文章的可能性不大.但我认为, 这个项目还是有其实用工程价值的,至少对于我自己,我从这个项目学到了很多东东,斩获颇丰. 从大的层面上看,我的收获主要是两个方面:技术层面和非技术层面. 其中我最有感触的还是非技术层面. 下面就是我在非技术层面的斩获: 相比非技术层面的收获,技术上的收获就具体多了,主要有以下几点: 其中第1条是最重要的收获,第2,3条是这个项目的副产品. 接下来,如果有时间, 我还想做一下LINUX下的版本,同时在硬件上开发出USB2.0的接口板,这样应该可以实时处理12个通道. 所以技术层面的收获还有潜力可挖.

从一个项目挖出这么多油水,学到了这么多东东,我已经很满意了,很对得起我那些不眠之夜了.

回想最一开始决定做这个项目的时候, 生活有些懒散, Clifford的程序看得有点累, paper看得有点烦, 许久没有用烙铁焊过板子的手有点发痒, 决定做这个项目于我而言就象是一个game, 我不知道我能走多远, 因为没有人要我向他负责, 我也不需要这个项目挣钱, 一切都是随心所欲. 可我终于还是过高得估计了自己的能力, 我曾经认为我可以在我的宝宝们出生之前(04年2月初)结束战斗, 结果我多花费了一倍的时间才完成. 如果说刚开始做的时候凭得是好奇心, 那么最后能坚持做完则凭得是被激发起来的兴趣. 在这8个月里, 我一个人把最底层到最高层的设计走了一遍, 很累, 很苦, 但也很充实, 因为毕竟有自己真正感兴趣的事情在等着我.

一个人最重要的是有自知之明,能清楚的知道自己的长处和短处,能明白自己的真正的兴趣是什么, 这样才能知道自己应该做的事情.对于我自己来说,我对自己的职业规划就是一个电子工程师, 能够设计出精巧实用可靠的电子产品,同时能在工作中融合自己的研发兴趣. 做一个电子工程师是辛苦的, 因为那将意味着熬夜(看文档,调程序),失眠(绞尽脑汁想问题的结果),经受情绪的巨大波动( 当你走投无路的时候突然发现了解决之道,情绪的变化绝对是一个狄拉克函数), 还有遭受老婆的诟骂(当你不吃不喝也不做饭的时候); 但做一个电子工程师又是幸福的, 因为你将能够体会到常人体会不到的快乐. 我永远都记得那些时刻: 当我的程序第一次收到正确的USB包, 当我的程序第一次锁定卫星的信号,当我的程序第一次解算出正确的位置坐标的时候, 因为在这些时刻,带给我的是发自内心的快乐和成就感.

罗哩罗嗦这么多,奉献酸文一篇,权当工作总结报告.格鲁夫曾说过:只有偏执狂才能生存! 这句话本身就极为偏执,但也不乏深意,尤其在当今这个技术一日千里的时代. 如果你也是一个对技术偏执的人,我愿以此文与你共勉.



UTC 时间: 6:55, 七月25日, 2004
本地时间:23:55, 七月24日, 2004
于UC, Riverside ( 经度:-117.326 纬度: 33.981 高度:294.17米)




致谢

下列人士为这个项目给了我很大帮助, 在此我要表示感谢: 最后我要向我的妻子, , 表示特别的感谢. 她承担了绝大多数家务, 并且还要照顾我们的双胞胎宝宝, 使我有时间来做这个项目. 没有她的支持, 我是不可能完成这个项目的.




Welcome to USBGPS Opensource Project Homepage
© Copyright 2003    Email:   Yu Lu