新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > DS1820單總線(xiàn)(1-wire)數(shù)字溫度傳感器

DS1820單總線(xiàn)(1-wire)數(shù)字溫度傳感器

作者: 時(shí)間:2012-09-13 來(lái)源:網(wǎng)絡(luò) 收藏
OLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  (6)主機(jī)寫(xiě)入讀暫存存儲(chǔ)器命令(BEH);

  (7)讀暫存存儲(chǔ)器的溫度數(shù)據(jù)。

  2 控制器設(shè)計(jì)

  2.1 控制器結(jié)構(gòu)

  控制器結(jié)構(gòu)如圖3所示,控制器由4部分組成,即邏輯控制、時(shí)序控制、數(shù)據(jù)緩存和計(jì)數(shù)器。邏輯控制部分用于實(shí)現(xiàn)與CPU的通信,D0~D7為8位雙向數(shù)據(jù)線(xiàn),EN為啟動(dòng)信號(hào),下降沿有效。A1、A0為地址信號(hào),其組合決定控制器的工作狀態(tài)。A1A0=00,控制器對(duì)執(zhí)行復(fù)位操作;A1A0=01,控制器執(zhí)行寫(xiě)入操作;A1A0=10,控制器執(zhí)行讀出操作。控制器由外部提供200 kHz的時(shí)鐘信號(hào)CLK,產(chǎn)生5 μs的計(jì)數(shù)周期,控制器以5 μs為一個(gè)時(shí)間片形成的讀寫(xiě)時(shí)序。計(jì)數(shù)器的計(jì)數(shù)輸出值控制讀寫(xiě)周期。時(shí)序控制部分的主要功能是產(chǎn)生的讀寫(xiě)時(shí)序,并向輸出控制命令,讀出DS1820測(cè)得的數(shù)字溫度值及其他輸出信息。

  

DS1820單總線(xiàn)(1-wire)數(shù)字溫度傳感器

  2.2 讀寫(xiě)時(shí)序的實(shí)現(xiàn)

  DS1820要求引腳驅(qū)動(dòng)必須是漏極開(kāi)路引腳,控制器用三態(tài)門(mén)與DS1820連接,如圖4所示。其中ctrl為三態(tài)門(mén)控制信號(hào),當(dāng)ctrl=0時(shí)輸出信號(hào),ctrl=1時(shí)輸入信號(hào)。控制器采用5 μs作為基本計(jì)時(shí)單位,可以保證DS1820時(shí)序關(guān)系有一定的余地。

  

DS1820單總線(xiàn)(1-wire)數(shù)字溫度傳感器

  寫(xiě)字節(jié)部分VHDL代碼:

  PROCESS(cq)—輸出1 bit

  SIGNAL cout:STD_LOGIC_VECTOR(2 DOWNTO 0);

  VARIABLE di:STD_LOGIC;

  BEGIN

  ctrl=‘0’;

  IF(cq>=“0000” AND cq=“0010”)THEN

  di:=‘0’;——拉低輸出電位10 ms

  ELSIF(cq>“0010”AND cq“1110”)THEN

  di:=rq; ——取發(fā)送移位寄存器的輸出位

  ELSIF(cq>=“1110”)THEN

  di:=‘1’;cout=cout + 1;

  END IF;

  dqo=di;

  END PROCESS;



關(guān)鍵詞: DS1820 單總線(xiàn) 溫度傳感器

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉