• 
    

    
    

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

      單片機(jī)1-Wire總線原理與EEPROM讀寫方法

      2018-10-15 06:08:20
      關(guān)鍵詞:序列號(hào)數(shù)據(jù)線時(shí)序

      (珠海市光聯(lián)通訊技術(shù)有限公司OMS/軟件組,珠海519030)

      引 言

      本文的單片機(jī)型號(hào)為K20系列的MK20DN512ZVLL 10-N;1-Wire EEPROM的型號(hào)為Dallas Semiconductor 的DS28E04。Dallas Semiconductor 的1-Wire總線是一種簡(jiǎn)單的信號(hào)交換架構(gòu),通過一條線路在主機(jī)與外圍器件之間進(jìn)行雙向通信。電源和數(shù)據(jù)通信通過單根數(shù)據(jù)線傳輸,使得1-Wire器件具有無與倫比的強(qiáng)大功能,可減少系統(tǒng)間的互聯(lián)。

      由于1-Wire器件是集成度高、功能豐富且外接簡(jiǎn)單的單總線網(wǎng)絡(luò)器件,因而無論在自動(dòng)化系統(tǒng)或者是通信工程及金融安全等領(lǐng)域應(yīng)用非常廣泛,又由于具有使用方便、體積小等特點(diǎn),故既適合各類系統(tǒng)開發(fā),又適用于智能化或小型儀器儀表的制造,因此受到設(shè)計(jì)者及制造廠商的歡迎。

      1 1-Wire的工作原理

      1.1 內(nèi)部等效圖

      單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換、控制都由這根線完成。設(shè)備(主機(jī)或從機(jī))通過一個(gè)漏極開路或三態(tài)端口連接至該數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)能夠釋放總線,而讓其他設(shè)備使用總線,其內(nèi)部等效電路如圖1所示。

      圖1 內(nèi)部等效圖

      單總線通常要求外接一個(gè)約為4.7 kΩ的上拉電阻,這樣,當(dāng)總線閑置時(shí),其狀態(tài)為高電平。

      1.2 總線結(jié)構(gòu)

      主機(jī)和從機(jī)之間的通信可通過3個(gè)步驟完成,分別為初始化1-Wire器件、識(shí)別1-Wire器件和交換數(shù)據(jù)。

      由于它們是主從結(jié)構(gòu),只有主機(jī)呼叫從機(jī)時(shí),從機(jī)才能應(yīng)答,因此主機(jī)訪問1-Wire器件都必須嚴(yán)格遵循單總線命令序列,即初始化、ROM、命令功能命令。如果出現(xiàn)序列混亂,1-Wire器件將不響應(yīng)主機(jī)(搜索ROM命令、報(bào)警搜索命令除外)。單主機(jī)多從機(jī)示意圖如圖2所示。

      圖2 單主機(jī)多從機(jī)示意圖

      1.3 1-Wire的特點(diǎn)

      所有的1-Wire總線都具有一個(gè)共同的特征:每個(gè)從機(jī)器件都有一個(gè)互不重復(fù)的、工廠光刻的序列號(hào)。因此,每個(gè)器件都是唯一的,這樣就允許從眾多連到同一總線的器件中獨(dú)立選擇任何一個(gè)器件。當(dāng)1 個(gè)、2 個(gè)甚至多個(gè)1-Wire器件能共用一條線路進(jìn)行通信,可以采用二進(jìn)制位檢索法依次查找每一個(gè)器件。一旦器件的序列號(hào)已知,通過尋址該序列號(hào)就可以唯一地選出該器件進(jìn)行通信。

      1.4 1-Wire通信

      所有通信的第一步都需要總線控制器發(fā)出一個(gè)復(fù)位信號(hào)以使總線同步,然后選擇一個(gè)從機(jī)進(jìn)行隨后的通信,這可以通過選擇所有的從機(jī)或者選擇一個(gè)特定的從機(jī)(利用該器件的序列號(hào)進(jìn)行選擇)或者通過對(duì)半檢索法找到總線上的下一個(gè)從機(jī)來實(shí)現(xiàn)。一旦一個(gè)從機(jī)被選中,那么在下次復(fù)位信號(hào)發(fā)出之前,所有其他從機(jī)都被掛起而忽略隨后的通信。

      一旦一個(gè)從機(jī)被用于總線通信,主機(jī)就能向它發(fā)出特定的器件指令,對(duì)它進(jìn)行數(shù)據(jù)讀寫。這是因?yàn)槊款惼骷哂胁煌墓δ芎筒煌挠猛?,而且一旦器件被選定,就有了唯一的協(xié)議。雖然每類器件具有不同的協(xié)議和特征,但其工作過程卻是相同的并且遵循如圖3 所示的工作流程。

      圖3 通信流程

      2 MK20DN512ZVLL10-N單片機(jī)簡(jiǎn)述

      Freescale K20 MK20DN512ZVLL10-N擁有ARM Cortex-M4內(nèi)核,其主頻、SRAM、FLASH、I/O數(shù)量等參數(shù)詳見表1的第二行。

      表1 Freescale K20參數(shù)

      3 1-Wire DS28E04簡(jiǎn)述

      DS28E04-100是4 096 位1-Wire EEPROM 芯片,帶有7個(gè)地址輸入端。DS28E04工作模式包括:標(biāo)準(zhǔn)速率模式,速率為15.3 kbps;高速速率模式,速率為111 kbps。

      4 K20 MCU如何讀寫1-Wire DS28E04

      4.1 系統(tǒng)要求

      系統(tǒng)要求MCU的I/O口必須是雙向的,其輸出為漏極開路,且線上具有弱上拉;MCU必須能產(chǎn)生標(biāo)準(zhǔn)速度1-Wire通信所需的精確1 μs延時(shí)和高速通信所需要的0.25 μs延時(shí);MCU與EEPROM通信過程中不能被中斷。

      4.2 兩種速率對(duì)1-Wire總線操作要求

      1-Wire總線有4種基本操作:復(fù)位、寫1位、寫0位和讀位操作。表2是各個(gè)操作的簡(jiǎn)要說明以及實(shí)現(xiàn)這些操作所必需的步驟列表。圖4為其時(shí)序波形圖。表3給出了通常線路條件下1-Wire主機(jī)與1-Wire器件通信的推薦時(shí)間。如果與1-Wire主機(jī)相連的器件比較特殊或者線路條件比較特殊,則可以采用最值。請(qǐng)參考可下載的工作表中的系統(tǒng)和器件參數(shù)確定最小值和最大值。

      表2 1-Wire操作

      DS28E04的復(fù)位、寫1、寫0和讀位時(shí)序圖如圖5所示。

      本文單片機(jī)以標(biāo)準(zhǔn)模式讀寫DS28E04,按照?qǐng)D5要求的時(shí)序編寫驅(qū)動(dòng)DS28E04的函數(shù)。代碼經(jīng)過驗(yàn)證,無論是單個(gè)地址還是整片讀寫,均可以正確操作,請(qǐng)放心使用。

      圖4 1-Wire時(shí)序圖

      參 數(shù)速 率推薦/μsA標(biāo)準(zhǔn)6.0高速1.0B標(biāo)準(zhǔn)64.0高速7.5C標(biāo)準(zhǔn)60.0高速7.5D標(biāo)準(zhǔn)10.0高速2.5E標(biāo)準(zhǔn)9.0高速1.0F標(biāo)準(zhǔn)55.0高速7.0G標(biāo)準(zhǔn)0.0高速2.5H標(biāo)準(zhǔn)480.0高速70.0I標(biāo)準(zhǔn)70.0高速8.5J標(biāo)準(zhǔn)410.0高速40.0

      圖5 DS28E04讀/寫時(shí)序圖

      結(jié) 語(yǔ)

      猜你喜歡
      序列號(hào)數(shù)據(jù)線時(shí)序
      時(shí)序坐標(biāo)
      數(shù)據(jù)線長(zhǎng)短影響充電速度
      基于Sentinel-2時(shí)序NDVI的麥冬識(shí)別研究
      recALL
      一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
      電子制作(2016年15期)2017-01-15 13:39:08
      數(shù)據(jù)線接口超聲波焊接設(shè)備設(shè)計(jì)
      焊接(2016年7期)2016-02-27 13:05:07
      會(huì)叫喚的數(shù)據(jù)線
      DPBUS時(shí)序及其設(shè)定方法
      河南科技(2014年15期)2014-02-27 14:12:36
      PP助手教你辨別翻新iPhone5小白不再中招
      溫度傳感器DS18B20序列號(hào)批量搜索算法
      桦川县| 东光县| 兴仁县| 天镇县| 盈江县| 丰台区| 清原| 江孜县| 逊克县| 南皮县| 峨山| 东乌珠穆沁旗| 额敏县| 青州市| 凉城县| 沐川县| 临江市| 龙游县| 汝南县| 泌阳县| 靖江市| 武城县| 秭归县| 精河县| 吉林市| 新密市| 沐川县| 泰安市| 上饶市| 河池市| 土默特右旗| 通海县| 宣武区| 田阳县| 云龙县| 哈尔滨市| 旬阳县| 土默特右旗| 千阳县| 酉阳| 磐石市|