• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種嵌入式軟件版本信息獲取方法設(shè)計(jì)與實(shí)現(xiàn)

      2013-08-10 10:30:00劉源楊馬建輝王知學(xué)
      電子設(shè)計(jì)工程 2013年14期
      關(guān)鍵詞:版本號(hào)管腳按鍵

      劉源楊 , 馬建輝 , 王知學(xué) , 王 崗

      (1.山東省汽車電子重點(diǎn)實(shí)驗(yàn)室 山東 濟(jì)南 250014;2.山東省科學(xué)院自動(dòng)化研究所 山東 濟(jì)南 250014)

      在嵌入式軟件的開發(fā)階段,需要經(jīng)過多次設(shè)計(jì)迭代并進(jìn)行充分測(cè)試以提高軟件可靠性和完善產(chǎn)品性能。采用軟件版本的形式對(duì)設(shè)計(jì)過程建立里程碑,以版本標(biāo)號(hào)的形式對(duì)各個(gè)軟件版本進(jìn)行標(biāo)識(shí)和區(qū)分,然后在計(jì)算機(jī)上以文檔管理的形式或者通過專業(yè)的版本控制工具對(duì)各個(gè)版本軟件的源代碼及其二進(jìn)制文件進(jìn)行整理及控制是一種有效的軟件開發(fā)管理方式并已被廣泛采用[1]。在開發(fā)過程中,為了提高設(shè)計(jì)效率,開發(fā)和測(cè)試并行進(jìn)行,為了測(cè)試缺陷、查找缺陷原因或定位缺陷的引入時(shí)間,可能需要對(duì)不同版本的軟件進(jìn)行測(cè)試。當(dāng)測(cè)試出某個(gè)缺陷后,需要定位當(dāng)前運(yùn)行軟件的版本號(hào)進(jìn)行進(jìn)一步分析,由于硬件版本的相對(duì)固定性,無法通過檢查硬件電路的手段來判斷當(dāng)前運(yùn)行軟件的版本,如果軟件本身包含版本信息,通過一種手段從軟件中獲得版本信息,便可以解決上述問題。本文通過采用預(yù)留的MCU IO管腳進(jìn)行軟件版本的獲取,通過在單個(gè)IO管腳上實(shí)現(xiàn)按鍵檢測(cè)與LED驅(qū)動(dòng)的復(fù)用[2],按鍵觸發(fā)嵌入式設(shè)備輸出當(dāng)前軟件版本信息,設(shè)備以特定方式LED脈沖閃爍的表現(xiàn)形式輸出版本信息。這種方式避免了對(duì)代碼二進(jìn)制文件的專業(yè)分析和數(shù)據(jù)查找,可以高效直觀得在測(cè)試現(xiàn)場(chǎng)獲取版本信息,而且因?yàn)槠浜?jiǎn)單易實(shí)現(xiàn)、占用資源少,在嵌入式設(shè)備領(lǐng)域具有廣泛的適用性。

      1 設(shè)計(jì)思路

      嵌入式設(shè)備的軟件版本標(biāo)號(hào)采用帶小數(shù)點(diǎn)的浮點(diǎn)數(shù)形式,格式為 X.Y,X和Y的取值區(qū)間為[0,9],共計(jì)可包含0.1-9.9的99個(gè)版本,由于浮點(diǎn)數(shù)運(yùn)算存在誤差[3],每次軟件定版時(shí),在非易失性存儲(chǔ)器中存儲(chǔ)一個(gè)取值區(qū)間為[1,99]的整型常量VERSION來表示版本號(hào),VERSION=(X.Y)*10,從版本號(hào)常量VERSION中提取X和Y的計(jì)算公式如下:

      X等于版本號(hào)常量除以10的模,Y等于版本號(hào)常量除以10的余數(shù)。

      設(shè)計(jì)電路實(shí)現(xiàn)按鍵檢測(cè)和LED驅(qū)動(dòng)復(fù)用IO腳,當(dāng)IO腳為輸入方向時(shí),通過IO狀態(tài)的讀取可以檢測(cè)按鍵的按下和彈起狀態(tài),當(dāng)IO腳為輸出方向時(shí),可以設(shè)置高低電平實(shí)現(xiàn)LED的亮滅控制。具體應(yīng)用時(shí),首先設(shè)置IO腳為輸入方向,周期檢測(cè)按鍵操作,檢測(cè)到有效的按鍵按下操作后,當(dāng)按鍵彈起時(shí)將IO腳設(shè)置為輸出方向,以PWM的方式驅(qū)動(dòng)LED,首先以頻率為2 Hz、占空比為50%的PWM形式輸出X個(gè)周期的方波脈沖,然后間歇3 s,以頻率為1 Hz、占空比為50%的PWM形式輸出Y個(gè)周期的方波脈沖,進(jìn)行軟件版本的顯示[4],顯示完成后再次設(shè)置IO腳為輸入方向。

      通過在按鍵按下并彈起后統(tǒng)計(jì)3 s間歇時(shí)間前后的LED閃爍次數(shù),便可以得到X和Y的數(shù)值,軟件版本號(hào)計(jì)算公式如下:

      2 電路設(shè)計(jì)

      硬件電路包括按鍵、LED、限流電阻R1和上拉電阻R2四個(gè)元件,其電路如圖1所示。IO腳設(shè)置為輸入方向時(shí),按鍵按下,R1端電壓為VCC,LED截止處于熄滅狀態(tài),由于上拉電阻R2的作用,IO腳電平為高,狀態(tài)值為1,當(dāng)按鍵彈起,R1端電壓為0,LED截止,IO腳電平為低,狀態(tài)值為0。IO設(shè)置為輸出方向時(shí),在按鍵處于彈起狀態(tài)的條件下,IO電平為高時(shí),LED導(dǎo)通點(diǎn)亮,IO電平為低時(shí),LED截止熄滅,當(dāng)按鍵按下時(shí),LED截止熄滅??蛇x擇紅、黃、藍(lán)不同顏色的LED,不同顏色LED的導(dǎo)通電壓不同,決定所使用的限流電阻R1的阻值也不相同,同時(shí)調(diào)整R1阻值,可以調(diào)節(jié)LED燈的亮度[5]。

      圖1 硬件電路圖Fig.1 Hardware circuit

      3 軟件設(shè)計(jì)

      軟件設(shè)計(jì)流程如圖2所示。首先設(shè)置該IO腳為輸入方向,以20 ms為周期讀取IO狀態(tài),正常狀態(tài)即按鍵處于彈起狀態(tài)時(shí),IO狀態(tài)為0,按下按鍵時(shí)IO狀態(tài)為1,當(dāng)檢測(cè)到IO狀態(tài)為1時(shí)啟動(dòng)對(duì)按鍵的軟件去抖處理[6],當(dāng)檢測(cè)到一次有效的按鍵按下操作后,按鍵彈起時(shí)設(shè)置IO腳為輸出方向,開始進(jìn)行LED的驅(qū)動(dòng)控制。

      LED控制方式如下:首先根據(jù)公式(1)和(2)計(jì)算出軟件版本號(hào)中的X和Y,然后以頻率為2 Hz、占空比為50%的PWM方式輸出X個(gè)周期方波脈沖,此時(shí)LED周期閃爍,閃爍次數(shù)等于X,最后一個(gè)周期結(jié)束后熄滅LED,然后啟動(dòng)3 s間歇定時(shí),定時(shí)到達(dá)后以頻率為1Hz、占空比為50%的方式輸出Y個(gè)周期方波脈沖,此時(shí)LED周期閃爍次數(shù)等于Y,最后一個(gè)周期結(jié)束后熄滅LED,并再次設(shè)置管腳為輸入方向。

      4 結(jié)束語

      文中通過MCU的單個(gè)IO管腳復(fù)用實(shí)現(xiàn)按鍵檢測(cè)及LED驅(qū)動(dòng),通過按鍵的方式觸發(fā)讀取軟件版本信息操作,避免了復(fù)雜的診斷協(xié)議和診斷接口,通過LED脈沖閃爍的方式輸出軟件版本信息,直觀方便,電路設(shè)計(jì)和程序設(shè)計(jì)簡(jiǎn)單,占用軟硬件資源很少,可以方便地在不同的嵌入式設(shè)備上實(shí)現(xiàn),具有廣泛的適用性和極強(qiáng)的實(shí)用價(jià)值。

      圖2 軟件設(shè)計(jì)流程圖Fig.2 Software design flow

      [1]李欣,張路,謝冰,等.基于構(gòu)件的軟件版本管理系統(tǒng)[J].電子學(xué)報(bào),2000(11):119-121.LI Xin,ZHANG LU,XIE Bin,et al.Component based software version management system[J].Acta Electronica Sinica,2000,(11):119-121.

      [2]高瓊,張全營(yíng).基于R5G0C314DA芯片的IO口復(fù)用[J].家電科技,2012(6):70-71.GAO Qiong,ZHANG Quan-ying.IO port reuse based on R5G0C314DA chip[J].China Appliance Technology,2012,(6):70-71.

      [3]杜叔強(qiáng).淺析C語言中的浮點(diǎn)數(shù) [J].蘭州工業(yè)高等專科學(xué)校學(xué)報(bào),2010(5):26-28.DU Shu-qiang.Analysis of floating-point numbers of C language[J].Journal of Lanzhou Polytechnic College,2010,(5):26-28.

      [4]山東省科學(xué)院自動(dòng)化研究所.一種獲取嵌入式軟件版本信息的方法:中國(guó),201210488667.1[P].2012-11-27.

      [5]美國(guó)國(guó)家半導(dǎo)體公司.發(fā)光二極管(LED)的相關(guān)應(yīng)用及驅(qū)動(dòng)技術(shù)[J].世界電子元器件,2007,(12):94-97 National Semiconductor.Application and Driver Technology of LED[J].Global Electronics China,2007,(12):94-97

      [6]魯慶賓.矩陣式鍵盤部分連擊的處理[J].電子設(shè)計(jì)工程,2011(17):34-36.LU Qing-bin.Processing of the matrix keyboard parts combo[J].Electronic Design Engineering,2011(17):34-36.

      猜你喜歡
      版本號(hào)管腳按鍵
      基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
      電子制作(2021年3期)2021-06-16 03:14:26
      認(rèn)識(shí)vSphere安裝程序
      一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
      電子制作(2016年1期)2016-11-07 08:43:05
      基于圖像處理的異型電子元器件管腳偏移誤差檢測(cè)方法研究
      深入淺出 全面獲知系統(tǒng)版本號(hào)
      CMOS數(shù)字IC管腳電容的估算與測(cè)量
      多種方法查看系統(tǒng)版本號(hào)
      電腦迷(2014年8期)2014-04-29 08:53:03
      HC08芯片JVT測(cè)試方法的探究
      電子商務(wù)的數(shù)據(jù)陳舊性檢查的設(shè)計(jì)與實(shí)現(xiàn)
      按鍵的多種狀態(tài)檢測(cè)及消抖處理方法
      家電科技(2013年4期)2013-07-09 10:55:08
      长泰县| 化隆| 榆社县| 甘肃省| 剑川县| 鞍山市| 渝中区| 绥宁县| 鹤岗市| 大洼县| 邢台县| 屏南县| 阜宁县| 仙桃市| 淳化县| 远安县| 德阳市| 吕梁市| 喀喇| 卓尼县| 双鸭山市| 玉门市| 曲阜市| 南投市| 诏安县| 五原县| 炉霍县| 东方市| 当雄县| 麻阳| 四川省| 和林格尔县| 祥云县| 阿城市| 新乡县| 广德县| 汪清县| 丰台区| 古田县| 莫力| 丰都县|