上文《奇怪的溢出数据“65535”,不可抗拒的EMC》讲到,错误再现,华容陷入深思,分析之后,关于时钟乱码的问题,华容得到了初步的结论:EMC问题,也就是常说的电磁兼容问题...
那么,协议方面的问题该如何解决呢?日子就是问题叠着问题,接下来,华容面对的是本次的升级中最关键的环节--网络协议下的在线升级功能。
虽然在单机版上实现了在线升级的功能,但是网络版的升级关键点在于对网络协议的支持,而网卡是量产的产品,协议也是成熟的。对于成熟的产品,无论是硬件还是软件,大家都很忌讳对原有功能的修改,哪怕只是增加一个小小的功能,都必须对整个系统进行重新测评。但对于结果的评价,却是众说纷纭的:
修改成功了,被认为是理所应该的,毕竟是站在巨人的肩膀之上,没有不成功的道理;
一旦修改失败,那么几乎是一败涂地,不但新的功能将无法被正确执行,而且可能导致原有功能出现错误,最可怕的结局就是“多米诺”效应,更何况口水也是可以淹死人的。所以,承接这样的项目,必须有一颗大心脏,相当强大的心脏。
想一想,看一看目前事业部关于在线升级功能的处境,那么这个功能的“艰难”程度便可想而知了。
华容暗自思忖,即使有了前期的基础,只不过是增加了继承完成这个功能的把握,使之实现起来相对容易些,但着手之前,必须对这个项目再次审视和评估,加之自己目前的处境,不亚于徒手走钢丝,一旦有丝毫的差错,那么结局只有粉身碎骨。
想到这里,冷汗直流,拿着笔的手不禁有些发抖,于是起身,续水,端着杯子,踱步到窗前。
窗外看起来是阳光明媚,而实际上却是寒冷无比,自己的处境与户外的环境是何其的相似?
一杯热茶下去,身体暖了,心暖了,手也暖了,回到座位上,再次在工作日记上写下四个字:举轻若重。
原来的协议是不能改变,现在需要增加新的内容,而且新的内容与原来的功能不属于同一体系,换句话说,新的功能只是借用了原有通信机制的物理链路层和数据链路层的格式定义,而在数据通信方面,需要重新的定义发送端和接收端数据包的内容。
按常理,增加协议的字段,原本难度不算大,大可不必如此紧张,但本次的修改不可同日而语:
第一、 客户端的软件必须修改,而且改动量尽可能做到最小,确保对整个系统影响降到最低;
第二、 为了保证第一条顺利实现,补充的协议内容尽量要少,在数据通信方面,包括命令的格式、数据的类型、数据包的大小等,尽量保持与原来的一致;
第三、 网卡是连接PDA和客户端的中转站,按常理,其设计思路应该为“数据传输的通道”,即透传方式,如果这样,那么无需修改该设备的程序,反之,必须增加相关的指令解析,这样工作量需要重新进行估算,甚至可能会因此而修改本次升级的方案设计。
第四、 PDA端的程序修改,以目前的掌握情况看,相对容易,涉及的内容是代码移植和命令解析。
综合考评下来,很可能需要三方面的程序修改,而且要求这三方面协同一致才能够保证网络版在线升级的正确运行。正如当初所料,实现网络版的在线升级,是非一己之力可以完成的,因为自己最多只能完成网卡和PDA的程序,客户端是软件部的工作,必须与软件部的工程师协同合作,那么通信协议的补充便显得格外重要了。
为此,华容重新整理了通信协议的文档,对照PDA的程序代码,并对每一个指令和内容进行了详细的注释,然后,打开新接手的网卡程序,就通信协议方面,再次核对、校正每一条指令及内容的定义。
“smart!”,当阅读完毕网卡程序代码的时候,华容不禁感叹,同时原本悬着的一颗心也放松了下来:网卡的通信协议被设计为数据透传模式。
这种模式对于增补协议来说,无疑是最有利的方式。但是仍然需要很小的改动,因为原来的数据通信支持两种数据类型,并分别作了严格的定义,一种是ASCII字符串格式,一种是HEX格式。
前者用于营业数据的传输,这样做有两个好处:一方面因为上传和下载的每个字节都是可见字符,因此非常便于通信双方观察与核对每条数据的内容,另一方面有利于对非法数据的检测,从而做出相应的判断;
而后者则被用于传输显示中文的点阵的字库信息,采用HEX格式,无疑是效率最高的一种方式。
通过编译单片机的执行代码通常是.HEX文件,但也可以直接生成用于下载的.BIN文件,这样在下载时,可以使用原来的HEX格式的协议,所做的只不过是增加三个指令。华容料定,网络版的在线升级功能,将是她接手烟草局项目以来,关于研发方面,进展最顺利的一次。
完善的协议无疑是一颗定心丸,估算了一下当前的进展,华容把接下来的任务赋予了非常具有诗情画意的名称:移花接木。
移花接木,顾名思义,借助“移植”的手段完成当前的任务。这里的 “木”是协议,“花”是待升级的执行文件。为了保证任务的顺利进行,需要首先模拟出“木”—用于模拟客户端的上位机软件,模拟这个软件之前必须确认协议是否正确。
次日,华容拿着打印版的材料,出现在测试部,她需要与安心确认一下,自己对协议的理解是否正确。简单的寒暄之后,华容递上准备好的材料。
“安姐,麻烦你确认一下这份协议是否准确?”,安心比华容年长几岁。
“什么协议?”安心边说边接过材料。
“这是我刚刚整理的网卡通信协议,不知道是否准确,所以特地来求证一下。”华容解释道。
“网卡的通信协议?……”,安心看起来是自言自语,手里翻阅着打印的文件,眼睛在快速地浏览。
“你刚才说,这是你刚刚整理的,对吗?”浏览完毕,安心抬头问道。
“是的,有什么问题吗?”华容以为发现了什么错误,难免有些紧张,忙回答。
“挺好的,没有问题,只不过…”,安心若有所思。
“只不过什么?”看到安心的反应,华容难免有些急迫。
“哦,别紧张,我指的是协议的表达方法和书写形式,有些不习惯,这种方法与我们惯用的方法不一样。”安心补充到,一边仍旧摆弄这手里的纸张。
“是这样啊,公司的通用方式是哪一种?我可以参照着修改一下。”华容小心翼翼地问询。
“不必了,这种写法更明确,你运用表格的方法,来描述各个字段的定义和长度,看起来和有些ISO/IEC中数据定义的方法有些类似,而我们惯用的手法是纯文本描述,分行定义。”安心一边指着协议的字段,一边解释,“这种编写方法,比用纯文本描述费事费力,但效果一目了然,你一定花了不少时间吧?”
华容暗自佩服安心的眼力,此类文件的编写风格和手法的确是受到了标准文件的影响。“安姐,够厉害!”说着,向上竖起拇指。“虽然占用了一点儿时间,但是磨刀不误砍柴工,这种方式的定义,对于编程时的数据处理,相对轻松些。”
“嗯,编程时的确容易些,相应的字段和地址实现已经在协议中计算完毕,编程的时候直接赋值就可以了。”安心表示赞同,顺手把文件换给了华容。
华容接过文件,抛出了第二个话题:“安姐,听说现在你们在调试一个功能,就是网络版的在线升级,进展顺利吗?”
“还行吧,在线升级功能实现了,但现在系统工作还有些不稳定。”
“不稳定?指的是哪个方面?”
“有些时候,单片机可以进入升级状态,有些时候无法进入,目前正在解决这个问题。”安心回答,若有所思,“你怎么关注这个问题了?”
“哦,是这样的,烟草局的项目也需要在线升级功能,硬件条件和你们现在情况是相同的,所以前来取经,听取关于在线升级方面的建议和意见。”华容解释。
“嗨,哪有什么意见和建议啊?”对方叹了一口气,“我觉得现在的情况陷入了一个僵局,一个不稳定的在线升级,还不如人工方式可靠。”
安心面露难色,看起来是真的遇到了麻烦。
“嗯~嗯~”,华容点点头,表示也有同感,“那么,安姐,你看一下,把这个协议用于在线升级,在通信方面软件部那边可以实现吗?”
“没有问题。”安心回答的很干脆,“不过效率方面,那要看是谁来做了,你打算找哪位合作?”
“我哪里权利指定合作的工程师呢?”华容笑着说,“岳总指定的是洪流。”
“那么更加没有问题了。”
与非网原创内容,谢绝转载!
内容汇总:
摘要:沈阳的一场大雪似乎也预示着公司的某些变动,果然在休整后的第二天得到了证实,去掉一个部门,重组一个部门,孤立了一些人,拉拢了一些人,兵还是兵,将还是将...
摘要:部门虽然重新划分,但办公室里的格局和人员的位置都没有变动,好像没有发生任何事情。华容原本是个局部变量,从不参与本部门以外的事情,但这次人事变动,她的主管设计师的职位依旧,只不过属性变成了全局变量...
摘要:华工对自己的项目满腹疑惑,后来在和燕飞的一场谈话中了解到了很多缘由,看似表面风光的销售业绩只有还有不为人知的秘密...
摘要:经过与燕飞中午的一番谈话,华容不敢再对眼前的PDA(手持机)怠慢了,但是只有她自己清楚其中的问题:框图已经有了,芯片的资料可查,那么详细的电路原理图,就不再是问题,可是偏偏无人提供原理图的电子版,害得她不得不自己动手...
摘要:平心而论,华容觉得自己与华萍之间还谈不上“默契”,因为到目前为止,这个词只属于当年那个team。是她在转行之后,加入的第一个开发团队—中鼎公司中文版ECR的项目组...
摘要:真正的交接开始了,果然不出华容的意料,华萍想尽办法隐藏原理图,让她感到意外的是华容在两年前已经开始学习画板子,而华容也知道她开始写程序,曾经推心置腹的合作伙伴如今心有芥蒂...
摘要:华容冷静地思考了一下整个“事件”进展和所经历的“谈话”,她认定这个项目的背后,一定有不为自己所知的内幕,尤其是与华萍的一番交涉,加上自己对她的了解,更加确认了这一点:这个项目不简单...
摘 要:华容向家里人“请假”,然后埋头工作。按照既定的计划,第9个工作日,进行了网络联调,包括终端与网卡服务器以及服务器与后台软件的通信,由于物理层 的协议没变,数据层的定义和格式也没有变化,变化的只是填充的内容,因此,毫无悬念,网络联调顺利通过,但是在PDA检测的时候她却没有看到检测文 档...
摘要:由于项目工期紧张,华容从制定方案到实施方案,加班加点,甚至向家人请假,最后终于如期测试通过,在验收的时候她偶尔遇到了以前的合作伙伴林杰森,也是这次偶遇让她知道了自己的项目工期被压缩减半...
摘要:烟草局的项目验收完成以后,华容终于松了一口气,但是被压缩工期的阴影始终萦绕心头,以至于想起来心中难受。某一天华萍的项目组出了一个搞不定的Bug,于是要求华容过去解决...
摘要:烟草局的项目忽然出变,原本都测试通过的设备有好几台被退回,华容展开紧张地测试,后来发现是板子上的一颗芯片型号...
摘要:一天发布在OA里的一条最新消息,如一石激起千层浪,波及到了公司的各个角落—有史以来,SD公司第一次裁员。这则消息,如同前天的暴风雪一样,来势凶猛,威力强大...
摘要:岳海上任后开始了第一次裁员风暴,杨玉庭本来不在名单了,但是因为年龄偏大而成了这次裁员的牺牲品...
摘要:华容、岳海以及燕飞坐下来讨论项目的执行策略,由于已经提前知道岳海的态度,华容提出项目进展中的各种问题,最后为项目争取了时间和资源...
摘要:华容制定了一套严谨的研发计划,而她最擅长的射频卡的读写距离问题。这个问题对于其他人来说,也许高难的,但对于她来说几乎谈不上难度,只不过是一、两个小时的问题...
摘要:华容准备好测试流程,发现需要个测试助手,人选哪里来?经过与测试部的商议从中抽出一个新来的实习生林鸿阳帮助华容完成测试,经过一天的试用,华容发现小林出乎意料地满足自己的需求...
摘 要:经过近4昼夜的测试,时钟的乱码显现,如“幽灵”一般,光顾了在不同编号的设备,最少的只有一次,最多的有10次。从结果上看,与用户描述的情况基本 一 致:不一定什么时候,不一定是哪一台设备,在上传到后台的记录中,就会爆出一条错误的记录数据。ISP_Line刚好小试牛刀...
摘要:错误再现,便可以分析其原因了。分析之后,关于时钟乱码的问题,华容得到了初步的结论:EMC问题,也就是常说的电磁兼容问题...
本系列为付丽华老师原创故事《51的江湖》连载,故事中有职场,故事中还有技术,最真实的项目案例与大家一起探讨。每周一期,更多内容请查看: