亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        1-Wire在微處理器中的搜索算法的研究

        2010-05-10 11:04:18羅正生
        制造業(yè)自動化 2010年7期
        關(guān)鍵詞:差異

        羅正生

        (四川攀枝花學(xué)院,攀枝花 617000)

        0 引言

        隨著微處理的高速發(fā)展,微處理系統(tǒng)外圍接口從原來的并行方式為主被串行方式代替。通常的串行擴(kuò)展接口和串行擴(kuò)展總線有:UART的移位寄存器方式,MOTOROLA公司的SPI,NS公司的Microwire,和Dallas公司的1-Wire總線等。而1-Wire總線是一種最簡單的總線形式,它通過單條連接線完成了全部的控制、通信和供電,節(jié)省了I/O口,降低了系統(tǒng)成本并簡化了設(shè)計。1-Wire 器件不僅解決了主機/配件之間的所有互聯(lián)問題,而且僅僅需要一個專用接點即可達(dá)到這一目的[1]。

        1 搜索算法

        1-Wire器件與微控制器的硬件配置比較簡單。作為主機的微控制器通過1根I/O口與1-Wire器件的數(shù)據(jù)線相連,外接一個4.7kΩ的上拉電阻;微控制器的地線與1-Wire器件的地線相連。在標(biāo)準(zhǔn)速率下,1-Wire總線的最大速率為16.3kbps.在高速模式下,速率可達(dá)142kbps[2]。

        1-Wire器件的應(yīng)用關(guān)鍵在于軟件算法的實現(xiàn)。每片1-Wire器件都有唯一的64位序列碼,它存儲在只讀存儲器(ROM)中。在1-Wire網(wǎng)絡(luò)中,序列碼用于主機對從機器件進(jìn)行逐一尋址。我們采用的搜索算法是二叉樹型結(jié)構(gòu),搜索過程沿各分節(jié)點進(jìn)行,直到找到的ROM碼,即葉子為止。后續(xù)的搜索操作沿著節(jié)點上的其他路經(jīng)進(jìn)行,按照同樣的方式直到找到總線上的所有器件代碼。搜索算法首先通過復(fù)位(Reset)和在線應(yīng)答脈沖(Presence Pulse)時隙將1-Wire總線上的所有器件復(fù)位;成功地執(zhí)行該操作后,發(fā)送1個字節(jié)的搜索命令;搜索命令使1-Wire器件準(zhǔn)備就緒、開始進(jìn)行搜索操作。

        搜索命令分為兩類:標(biāo)準(zhǔn)搜索命令(0FH)用來搜索連接到網(wǎng)絡(luò)中的所有器件;報警或有條件搜索命令(ECH)只用來收縮那些處于報警狀態(tài)下的期間,這種方式縮小了搜索范圍,可以快速查找到所需注意的器件。搜索命令發(fā)出之后,開始搜索。首先總線上的所有從機器件同時發(fā)送ROM碼(也叫注冊碼)中的第一位(最低有效位)。與所有的1-Wire通信一樣,無論是讀取數(shù)據(jù)還是向從機器件寫數(shù)據(jù),都由1-Wire主機啟動每一位操作。按照1-Wire的特點,當(dāng)所有從機器件同時應(yīng)答主機時,結(jié)果相當(dāng)于全發(fā)送數(shù)據(jù)位的邏輯AND;從機發(fā)送其ROM碼的第一位后,主機啟動下一位操作、接著從機發(fā)送第一位數(shù)據(jù)的補碼;從兩次讀到的數(shù)據(jù)位可以對ROM碼的第一位做出表2的判斷。

        按照搜索算法的要求,1-Wire主機必須向總線上的從機發(fā)回一個指定位;如果從機器件中ROM碼的當(dāng)前位的值與該數(shù)據(jù)位匹配,則繼續(xù)參與搜索過程;若從機器件的當(dāng)前位與之不匹配,則該器件轉(zhuǎn)換到等待狀態(tài),并保持等待狀態(tài)直到下一個1-Wire復(fù)位信號到來。其余63位ROM碼的搜索依然按照這種“讀兩位”、“寫一位”的模式進(jìn)行重復(fù)操作。表1為主機和從機的搜索過程。

        表 1 1-Wire主機和從機的搜索過程

        可以看出,如果所有總線上的器件在當(dāng)前位具有相同值,那么只有一條分支路徑可選??偩€上沒有器件相應(yīng)的情況是一種異常狀態(tài),可能是要查找的器件在搜索過程中與1-Wire總線脫離。如果當(dāng)前位既有0也有1,這種情況稱為位值差異,它對在后續(xù)搜索過程中查找器件起關(guān)鍵作用。搜索伏安法制定在第一輪查找中若出現(xiàn)差異(數(shù)據(jù)位/補碼 = 0/0),則選用“0”路徑。記錄最后一次值差異的位置提供下一次搜索使用,搜索算法計算還對最初8位過程中出現(xiàn)的最后一次位差異保持跟蹤;64位注冊碼的前8位是家族碼,在器件的搜索過程中可以按照其家族碼進(jìn)行分類。記錄家族碼的最后一次差異可以用于有選擇性地跳過1-Wire器件的整個分組。如需進(jìn)行選擇性地搜索,可參考關(guān)于高級變量搜索的詳細(xì)解釋。64位ROM碼中包括8位循環(huán)冗余校驗(CRC);CRC值用于校驗是否搜索到正確的ROM碼。

        2 搜索命令

        圖1 搜索算法流程圖

        “FIRST”操作是搜索1-Wire縱向上的第一個從機器件。該操作是通過將LastDiscrepancy、LastFamilyDiscrepancy和LastDeviceFlag置零,然后進(jìn)行搜索完成的。最后ROM碼從ROM_NO寄存器中讀出。若1-Wire總線上沒有器件,復(fù)位序列就檢測不到應(yīng)答脈沖,搜索過程中止。高級變量搜索有3種利用同一組狀態(tài)變量LastDescrepancy、LastFamilyDiscrepancy、LastDeviceFlag、ROM_NO實現(xiàn)的高級變化搜索可以得到三種高級變量搜索算法,這幾種高級搜索算法允許來指定作為搜索目標(biāo)的器件的類型(家族碼)或者是制定需要跳過或驗證某類型的器件是否在線。

        “TARGET SETUP”操作就是用預(yù)置搜索狀態(tài)的方式首先查找一個特殊的家族類型,每個1-Wire都有一個字節(jié)的家族碼內(nèi)嵌在ROM碼中,逐級可以通過家族碼來識別器件按所具有的特性和功能。如1-Wire總線上有多片器件是,通常是將搜索目標(biāo)首先定位在需注意的器件類型上。為了將一個特殊的家族作為搜索目標(biāo),需要將所希望的家族碼字節(jié)方到ROM_NO寄存器的第一個字節(jié)中,并且將ROM_NO寄存器的復(fù)位狀態(tài)置零[3]。

        3 搜索算法的應(yīng)用

        有了上面的搜索算法以及高級變量搜索,利用1-Wire的通訊協(xié)議就可以很容易辨別在單總線上的多節(jié)點1-Wire器件。用搜索算法可以很容易找出在總線上某一家族碼的所有1-Wire器件,通過微機的串口可以向總線上具有某一特定的家族碼的1-Wire器件中寫入希望的內(nèi)容,圖1列出了對一個器件進(jìn)行搜索的流程圖[4]。

        圖中com_id_bit是id_bit的補碼,是搜索過程中所有應(yīng)答期間的id_bit_number位的補碼的邏輯AND;id_bit是在位搜索中第一次讀取的值,是搜索過程中所有應(yīng)答期間的id_bit_number位的邏輯AND;id_bit_number是記錄當(dāng)前搜索1到64位ROM中的哪一位的量;LastDeviceFlag是指明前一次搜索歸的已經(jīng)是最后一個器件的標(biāo)志位;LastDiscrepancy是位指針,指明下次搜索從哪一個差異值開始;last_zero是上次被寫入0的值差異位的位置;ROM_NO是記錄當(dāng)前正在查找的ROM注冊碼的8字節(jié)緩沖器;search_direction是位變量,其值用來指明方向,具有此數(shù)據(jù)位規(guī)定值的所在器件繼續(xù)響應(yīng)操作,其他器件轉(zhuǎn)入等待狀態(tài)直到下一次1-wire復(fù)位[4]。

        4 結(jié)束語

        由于1-Wire器件有節(jié)省線資源、結(jié)構(gòu)簡單等諸多優(yōu)點,所以其應(yīng)用也越來越廣泛,文章只介紹了1-Wire用于多節(jié)點操作系統(tǒng)的搜索算法和一個1-Wire器件燒寫器的簡單應(yīng)用,以拋磚引玉。

        [1] 譚浩強.C 程序設(shè)計[M] .北京:清華大學(xué)出版社,1997.

        [2] 胡漢才.單片機原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,2001.

        [3] DS2432 1kb Protected 1-Wire EEPROM with SHA-1.Engine.www.maximic.com.

        [4] 謝洪波.嵌入式網(wǎng)絡(luò)數(shù)字監(jiān)控系統(tǒng)接口與網(wǎng)絡(luò)帶寬測量[D].成都.電子科技大學(xué),2005.

        猜你喜歡
        差異
        “再見”和bye-bye等表達(dá)的意義差異
        英語世界(2023年10期)2023-11-17 09:19:16
        JT/T 782的2020版與2010版的差異分析
        相似與差異
        音樂探索(2022年2期)2022-05-30 21:01:37
        關(guān)于中西方繪畫差異及對未來發(fā)展的思考
        收藏界(2019年3期)2019-10-10 03:16:40
        找句子差異
        DL/T 868—2014與NB/T 47014—2011主要差異比較與分析
        生物為什么會有差異?
        法觀念差異下的境外NGO立法效應(yīng)
        構(gòu)式“A+NP1+NP2”與“A+NP1+(都)是+NP2”的關(guān)聯(lián)和差異
        論言語行為的得體性與禮貌的差異
        粉嫩av一区二区在线观看| 亚洲欧美aⅴ在线资源| 66lu国产在线观看| 国产呦系列呦交| 亚洲禁区一区二区三区天美| 久久精品国产清自在天天线| 最新亚洲精品国偷自产在线 | 囯产精品无码va一区二区| av天堂手机在线免费| 亚洲天堂二区三区三州| 日韩丰满少妇无码内射| 国产亚洲欧美日韩综合一区在线观看 | 亚洲午夜精品a区| 日韩av在线不卡一二三区| 真实夫妻露脸爱视频九色网 | 激情综合五月天开心久久| 日本高清视频在线观看一区二区| 国产成人亚洲综合无码品善网| 国内大量揄拍人妻在线视频| 午夜天堂精品一区二区| 日韩人妻中文字幕专区| 国产好大好硬好爽免费不卡| 久久综合网天天 | 国产在线观看免费不卡视频| 一区二区三区无码高清视频| 国产精品久久久久久52avav| 娇柔白嫩呻吟人妻尤物| 黄色潮片三级三级三级免费| 国产乱妇无码大片在线观看| 亚洲男同志gay 片可播放| 免费美女黄网站久久久| 青青草骚视频在线观看| 色八a级在线观看| 亚洲国产欧美久久香综合| 亚洲禁区一区二区三区天美| 欧美乱人伦人妻中文字幕| 热久久网站| 国产白浆一区二区三区佳柔| 2019最新中文字幕在线观看| 精品免费在线| 东京热东京道日韩av|