加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

51的江湖 | 時鐘亂碼幽靈般光顧了所有設備,追蹤尋跡趁勢撲捉?

2015/08/01
5
閱讀需 16 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

?

上文《物色一個得力的助手,測試工作事半功倍》中講到,華容從測試部門得到一個實習生林鴻陽,讓他幫忙測試設備的數據,經過一天的合作華容發(fā)現他雖然是一張白紙,但是很認真,真是自己需要的幫手。

屋漏偏逢連夜雨。


真是的,越是怕什么越是來什么,雖然對于這個BUG心里已經有所準備,但是當事實擺在眼前的時候,華容仍不免有些頭皮發(fā)麻。表面上的風輕云淡,是給別人看的,內心的七上八下,只有自己知道。


小林離開后,華容原地做了一個伸展動作,緩解一下不安的情緒,然后一邊整理桌面上的文件,一邊安慰自己:“畢竟將故障再現了,這就是一個進步,即使是‘幽靈’一現,也比看不見、抓不到胡思亂想的結局好很多。”


事態(tài)的發(fā)展,推著她不得不抓緊應用軟件程序的編寫和調試--在線升級程序的搶先版。
事實證明,合作的工作效率是非常高的。


正所謂“Two Heads Are Better Than One”,即使是小林這樣沒有經驗的“白紙”選手,對檢測程序的測試作用也是很大的。就測試工作而言,林鴻陽無異于是華容的替身和影子。接下來的日子,每天早晚兩次,華容例行檢查影子的測試報告,匯總詳情,然后為其答疑解惑,最后對檢測程序進行微調(時鐘檢測除外),而且根據測試者的體會和建議,將程序增加了一個自動模式:


自檢程序在啟動之后,依次進行自動檢測,如果沒有錯誤便可以自動進入下一個項目,當出現錯誤的時候,將相應的檢測結果顯示到LCD上,同時蜂鳴器發(fā)出報警音,用來提示測試者。當測試者觀察到結果之后,按下“確認”鍵,便可以運行下一項。每一輪的檢測完畢后,將本輪測試的全部結果再顯示到LCD上,任何人對于這個結果都是一目了然。事實證明,改進后的檢測程序效率和效果有明顯的提升。


有了這個助手,華容可以全身心地投入到在線升級程序的編寫和調試。


對于應用軟件的編程,并不是華容的強項,以前由于項目開發(fā)的原因,不得不對VC++強制充電,因此學會了使用API和MFC,進行底層的數據的處理和通信,雖然功能界面非常簡陋,但是在性能方面基本可以滿足項目所需,也算是自給自足了。不過,此后便留下了2個后遺癥:


一是:能夠自己做的,盡量不麻煩別人;
二是:在與別人合作之前,尤其在處理有關數據通信協(xié)議的時候,關于方案的合理性和可行性必先通過自己的驗證。
這樣做的后果是無形中給自己增加了負擔,但收獲也是巨大的,這就是增加了對項目的信心和可控性。


這個軟件也是如此,用的是MFC和API函數,命名為ISP_Line。


在界面設計上,ISP_Line使用的是MFC單個對話框模式,所有的操作都在一個“面板”上,操作簡單、直觀,包括:串口的選擇、波特率的設置、下載文件的選擇、操作結果的信息提示,以及4個相關的按鈕。實現的功能只有兩個:數據的上傳和下載,上傳的是時鐘的測試記錄,下載的待升級程序的BIN文件。


API函數用于在數據通信方面的處理,一方面是由于API的程序代碼效率更高,更重要的原因是便于觀察通信過程中的每個細節(jié),在這方面,控件的效率是有折扣的。

?

與此同時,經過近4晝夜的測試,時鐘的亂碼顯現,如“幽靈”一般,光顧了在不同編號的設備,最少的只有一次,最多的有10次。從結果上看,與用戶描述的情況基本一致:不一定什么時候,不一定是哪一臺設備,在上傳到后臺的記錄中,就會爆出一條錯誤的記錄數據。


面對這個結果,ISP_Line剛好小試牛刀。


讀取時鐘的測試數據,不必修改協(xié)議,只需將上傳數據的地址指向時鐘測試記錄的存儲區(qū)即可,然后將讀取的數據進一步處理:將HEX格式轉換為ASCII碼,為了觀察方便,在每兩個字符后面添加一個空格,每12個字符,即一條時鐘數據,添加一個回車和換行,然后將數據逐條寫入指定的Clock.txt。上傳完畢后,用寫字板等工具打開txt文件即可進行相關的查看。


文件順利生成,華容用EditPlus打開了Clock.txt,“幽靈”的真面目如實呈現在電腦的屏幕上:既有非法數據,又有非法字符,尤其是非法字符A-F,隨機出現在時鐘數據的不同字段上,有的是出現在“秒”的位置,有的出現在“時”的位置,有的出現在“分”的位置,也有日期的位置。簡單地統(tǒng)計了一下,日期的位置很少,多數都在時間的位置上。


“原來如此!”華容輕聲感嘆。


“這是什么意思?”一旁的林鴻陽則是一頭霧水。


“好吧,記得你說過,已經看過M41T0的數據手冊,是吧?”華容沒有直接回答他的問題,反而提問。


“嗯,看了”,小林有些緊張,不時地搓著手。


“那么是否還記得,芯片輸出的數據格式是類型的?”


“好像…,好像是十進制的”,不大自信,回答的聲音比較小。


“確定嗎?十進制的前面還有幾個字吧?”


“好像是二進制格式的十進制數據,有些拗口,不太好記?!甭曇舾土?。


“記憶力不錯,一字不差?!比A容嘴角掛著微笑,緩解了一下氣氛,“那么你理解含義嗎?”


“二進制和十進制都明白,但是…,但是合在一起描述,還是第一次聽說,所以不大明白”,小林繼續(xù)搓著手,顯得有些無助。


“別緊張,其實很簡單,還是眼見為實吧。”華容一邊安慰對方,一邊迅速地打開工程文件,連接仿真器,運行程序仿真,然后將斷點設置在調用讀取時鐘的函數Get_Clock的下一行,斷點停止后,將保存變量的數組添加到觀察區(qū),以HEX格式展開。

?


“現在的時間是9點12分56秒,看一下返回的數據內容吧,與實際的時間是如何對應的。”


屏幕上,數組中前三個字節(jié)的數據依次是0X56,0X12,0X09。華容用鼠標指著數組的數據解釋:“第一個數據的含義是56秒,第二個數據的含義是12分鐘,第三個數據不用我解釋了吧?!?/p>


“哦,這樣啊,我懂了”,年輕的臉上洋溢著笑容。


“真的懂了?那么你知道這種數據的格式的名稱嗎?用這種格式來表示時鐘數據有什么好處?”華容乘勢追問。


“這種格式有點像BCD碼,但又不一樣,第一次遇到,所以還不知道確切的名字,更不知道它的好處了。”笑容還掛在嘴角,但臉色有些窘迫,左手撓著頭,投來的是征求意見的目光,接著說:“我回去查查,再好好看看數據手冊?!?/p>


“好的,沒問題。”華容表示贊同,想了一下,接著補充:“友情提示,有一種數據格式叫做‘壓縮BCD碼’,相信你會有所收獲的,然后明天我們討論一下如何對時鐘數據進行糾錯處理,怎么樣?”


“討論糾錯問題?我們討論糾錯的問題?是我和您一起討論嗎?”,年輕人詫異地問,顯然,華容的話題超出了他的意料。


“什么反應,變成復讀機了?”華容調侃了一下,笑著回答,“當然是你了,我還有其他的助手嗎?”


“太好了,我這就回去準備?!?/p>


林鴻陽步履匆匆,興高采烈地返回生產部,目送遠去的背影,華容舒心得笑了:好奇而不張揚,這個年輕人具有從事研發(fā)工作的潛質。


這么久了,她找到了培養(yǎng)的目標。

與非網原創(chuàng)內容,謝絕轉載!

內容匯總:

之一:部門重組,誰會出局?

摘要:沈陽的一場大雪似乎也預示著公司的某些變動,果然在休整后的第二天得到了證實,去掉一個部門,重組一個部門,孤立了一些人,拉攏了一些人,兵還是兵,將還是將...

之二:燙手的山芋,華工的困惑

摘要:部門雖然重新劃分,但辦公室里的格局和人員的位置都沒有變動,好像沒有發(fā)生任何事情。華容原本是個局部變量,從不參與本部門以外的事情,但這次人事變動,她的主管設計師的職位依舊,只不過屬性變成了全局變量...

之三:被隱藏的Bug

摘要:華工對自己的項目滿腹疑惑,后來在和燕飛的一場談話中了解到了很多緣由,看似表面風光的銷售業(yè)績只有還有不為人知的秘密...

之四:要根據PCB設計程序,被算計了!

摘要:經過與燕飛中午的一番談話,華容不敢再對眼前的PDA(手持機)怠慢了,但是只有她自己清楚其中的問題:框圖已經有了,芯片的資料可查,那么詳細的電路原理圖,就不再是問題,可是偏偏無人提供原理圖的電子版,害得她不得不自己動手...

之五:憶當年200K代碼聯調的默契

摘要:平心而論,華容覺得自己與華萍之間還談不上“默契”,因為到目前為止,這個詞只屬于當年那個team。是她在轉行之后,加入的第一個開發(fā)團隊—中鼎公司中文版ECR的項目組...

之六:軟件和硬件,如今要彼此刮目相看

摘要:真正的交接開始了,果然不出華容的意料,華萍想盡辦法隱藏原理圖,讓她感到意外的是華容在兩年前已經開始學習畫板子,而華容也知道她開始寫程序,曾經推心置腹的合作伙伴如今心有芥蒂...

之七:箭在弦上,改發(fā)就發(fā)

摘要:華容冷靜地思考了一下整個“事件”進展和所經歷的“談話”,她認定這個項目的背后,一定有不為自己所知的內幕,尤其是與華萍的一番交涉,加上自己對她的了解,更加確認了這一點:這個項目不簡單...

之八:PDA檢測有變,百里行程半九十

摘 要:華容向家里人“請假”,然后埋頭工作。按照既定的計劃,第9個工作日,進行了網絡聯調,包括終端與網卡服務器以及服務器與后臺軟件的通信,由于物理層 的協(xié)議沒變,數據層的定義和格式也沒有變化,變化的只是填充的內容,因此,毫無懸念,網絡聯調順利通過,但是在PDA檢測的時候她卻沒有看到檢測文 檔...

之九:故友偶重逢,項目工期蓄意被減半

摘要:由于項目工期緊張,華容從制定方案到實施方案,加班加點,甚至向家人請假,最后終于如期測試通過,在驗收的時候她偶爾遇到了以前的合作伙伴林杰森,也是這次偶遇讓她知道了自己的項目工期被壓縮減半...

之十:你可以暗算我,但是擋不住我的技術比你強

摘要:煙草局的項目驗收完成以后,華容終于松了一口氣,但是被壓縮工期的陰影始終縈繞心頭,以至于想起來心中難受。某一天華萍的項目組出了一個搞不定的Bug,于是要求華容過去解決...

之十一:設備出現“幽靈” Bug,華容奔赴現場“救火”

摘要:煙草局的項目忽然出變,原本都測試通過的設備有好幾臺被退回,華容展開緊張地測試,后來發(fā)現是板子上的一顆芯片型號...

之十二:新官上任以后的裁員風波

摘要:一天發(fā)布在OA里的一條最新消息,如一石激起千層浪,波及到了公司的各個角落—有史以來,SD公司第一次裁員。這則消息,如同前天的暴風雪一樣,來勢兇猛,威力強大...

之十三:公司技術大牛,裁員中你被誰害了?

摘要:岳海上任后開始了第一次裁員風暴,楊玉庭本來不在名單了,但是因為年齡偏大而成了這次裁員的犧牲品...

之十四:為研發(fā)爭取時間和資源,華容對岳海的博弈

摘要:華容、岳海以及燕飛坐下來討論項目的執(zhí)行策略,由于已經提前知道岳海的態(tài)度,華容提出項目進展中的各種問題,最后為項目爭取了時間和資源...

之十五:舉重若輕,研發(fā)計劃已然成竹在胸

摘要:華容制定了一套嚴謹的研發(fā)計劃,而她最擅長的射頻卡的讀寫距離問題。這個問題對于其他人來說,也許高難的,但對于她來說幾乎談不上難度,只不過是一、兩個小時的問題...

之十六:物色一個得力的助手,測試工作事半功倍

摘要:華容準備好測試流程,發(fā)現需要個測試助手,人選哪里來?經過與測試部的商議從中抽出一個新來的實習生林鴻陽幫助華容完成測試,經過一天的試用,華容發(fā)現小林出乎意料地滿足自己的需求...

本系列為付麗華老師原創(chuàng)故事《51的江湖》連載,故事中有職場,故事中還有技術,最真實的項目案例與大家一起探討。每周一期,更多內容請查看:

《51的江湖》:以小說體的形式講解技術

相關推薦

電子產業(yè)圖譜

1996畢業(yè)于華東理工大學自控系,同年7月進入某大型國企擔任電氣員。2000年轉行從事硬件研發(fā)相關工作;后從事RFID相關產品的研發(fā)、設計,曾參與中國自動識別協(xié)會RFID行業(yè)標準的起草;歷任硬件工程師、主管設計師、項目經理、部門經理;2012年至今,就職于沈陽工學院,擔任電子信息工程專業(yè)教師,研究方向:自動識別技術。已經出版教材《自動識別技術概論》,職場故事《51的蛻變 》。