DS1820是美國DALLAS公司生產(chǎn)的一種單總線(1-wire)數(shù)字溫度傳感器,采用1-wire總線通信協(xié)議。具有獨特的單總線通信方式以及較高的測量精度,從而獲得了廣泛應用。參考文獻[1]詳細介紹了DS1820的基本原理和通信時序,提出由單片機的I/O端口模擬單總線時序來控制DS1820的方法[1]。參考文獻[2]更進一步地將DS1820測量溫度的分辨率由0.5 ℃提高到了0.1 ℃。將DS1820應用于不同領(lǐng)域,同樣取得了較好的效果[3-5]。上述文獻在使用DS1820時均采用微處理器作為總線主機,利用微處理器的I/O端口,用軟件模擬單總線時序,實現(xiàn)與DS1820的通信。因為1-wire器件對總線時序要求嚴格,因此,為了保證與DS1820的可靠通信,微處理器需要采用關(guān)閉中斷的辦法,以防止操作時序被中斷服務所破壞。這種方法增加了軟件的設計難度,影響了系統(tǒng)的實時性[6]。
VHDL作為電子設計主流硬件描述語言,采用了層次化設計方式,具有電路行為描述能力強、靈活、通用、運算速度快的特點,能夠較容易地實現(xiàn)時序邏輯控制[7]。以數(shù)字溫度傳感器DS1820為例,設計一個基于VHDL的單總線控制器,實現(xiàn)與DS1820的通信。本文介紹的單總線控制器,有較強的可擴展性,可以連接多種單總線器件,且微處理器可以不用被迫關(guān)閉中斷,滿足實時性嚴格要求的應用。
1 DS1820簡介
1.1 DS1820內(nèi)部結(jié)構(gòu)
DS1820主要由4部分組成:64 bit光刻ROM、溫度敏感器件、高速暫存存儲器和溫度報警觸發(fā)器TH、TL。64 bit光刻ROM保存DS1820的唯一64 bit的ROM編碼。高速暫存存儲器包含9個連續(xù)的字節(jié),存放測得的溫度(補碼)、TH和TL的拷貝、計數(shù)器余值和CRC校驗等數(shù)據(jù),其結(jié)構(gòu)如圖1所示。所有數(shù)據(jù)均以最低有效位在前的方式讀寫。
DS1820可以采用寄生電源的方式供電,在信號線為高電平的時間周期內(nèi),把能量儲存在內(nèi)部電容器中,在信號線為低電平期間,由存儲在電容器內(nèi)的電荷供電。DS1820工作時信號線須接4.7 kΩ的上拉電阻,以保證信號線有足夠的驅(qū)動能力。
1.2 DS1820時序及工作方式
DS1820時序如圖2所示,時序波形的電平分為3種類型:主機作用的高低電平、DS1820輸出的高低電平和由上拉電阻拉起的高電平(后2種情況主機釋放信號線)。DS1820閑置時信號線應保持高電平。對DS1820的任何操作(讀、寫、復位等)都是由主機對信號線由邏輯高電平拉至低電平開始。
由時序圖可知,單總線的通信協(xié)議由6種信號類別組成:復位脈沖、存在脈沖、寫0、寫1、讀0、讀1。所有這些信號除了存在脈沖之外,均由總線主機產(chǎn)生。
主機通過單總線對DS1820的操作必須首先由ROM操作命令之一開始。現(xiàn)以單總線只掛接一個DS1820,讀取溫度數(shù)據(jù)為例,其工作過程如下:
(1)主機產(chǎn)生復位脈沖,DS1820返回響應脈沖;
(2)主機寫入Skip ROM(CCH,跳過ROM)命令,該命令為5種ROM操作命令之一;
(3)主機寫入溫度轉(zhuǎn)換(44H)命令;
(4)主機再次產(chǎn)生復位脈沖,DS1820返回響應脈沖;
(5)主機寫入Skip ROM(CCH,跳過ROM)命令;
(6)主機寫入讀暫存存儲器命令(BEH);
(7)讀暫存存儲器的溫度數(shù)據(jù)。[!--empirenews.page--]
2 控制器設計
2.1 控制器結(jié)構(gòu)
控制器結(jié)構(gòu)如圖3所示,控制器由4部分組成,即邏輯控制、單總線時序控制、數(shù)據(jù)緩存和計數(shù)器。邏輯控制部分用于實現(xiàn)與CPU的通信,D0~D7為8位雙向數(shù)據(jù)線,EN為啟動信號,下降沿有效。A1、A0為地址信號,其組合決定控制器的工作狀態(tài)。A1A0=00,控制器對DS1820執(zhí)行復位操作;A1A0=01,控制器執(zhí)行寫入操作;A1A0=10,控制器執(zhí)行讀出操作??刂破饔赏獠刻峁?00 kHz的時鐘信號CLK,產(chǎn)生5 μs的計數(shù)周期,控制器以5 μs為一個時間片形成DS1820的讀寫時序。計數(shù)器的計數(shù)輸出值控制讀寫周期。單總線時序控制部分的主要功能是產(chǎn)生單總線的讀寫時序,并向DS1820輸出控制命令,讀出DS1820測得的數(shù)字溫度值及其他輸出信息。
2.2 讀寫時序的實現(xiàn)
DS1820要求引腳驅(qū)動必須是漏極開路引腳,控制器用三態(tài)門與DS1820連接,如圖4所示。其中ctrl為三態(tài)門控制信號,當ctrl=0時輸出信號,ctrl=1時輸入信號??刂破鞑捎? μs作為基本計時單位,可以保證DS1820時序關(guān)系有一定的余地。
寫字節(jié)部分VHDL代碼:
3 仿真波形
控制器的VHDL程序在MAX+plusII平臺編譯通過,并獲得了正確的復位、讀、寫時序。圖5為寫時序波形,寫入77H字節(jié)。每次寫入新的bit前,控制器將總線電平拉底10 μs。
基于VHDL的嵌入式DS1820控制器,具有轉(zhuǎn)換速度快、精度高、通用性好等優(yōu)點。同時,嵌入軟核的FPGA可以分擔許多微處理器的工作,降低系統(tǒng)對CPU實時性的要求,也降低了軟件開發(fā)的難度。本文雖然是針對DS1820設計的控制器,但由于單總線通信協(xié)議的通用性,也可以用于其他單總線器件。
經(jīng)過幾十年發(fā)展,嵌入式技術(shù)已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強的屬性,讓很多非嵌入式領(lǐng)域的同學望而卻步。近十幾年的發(fā)展,物聯(lián)網(wǎng)覆蓋了越來越多領(lǐng)域,包括了家居,商業(yè),工業(yè),農(nóng)業(yè)等領(lǐng)域,不僅吸引...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 技術(shù)隨著IT技術(shù)飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進入了“物聯(lián)網(wǎng)”時代。物聯(lián)網(wǎng)中需要的大量設備不在依賴人與人之間的交互產(chǎn)生聯(lián)系,更多通過協(xié)議、通信、程序設計等方式連接到一處。即 “物聯(lián)網(wǎng)”的目的則是讓所有的物品都具有計算機的智能但并不以通...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計算機萬物智聯(lián)時代,嵌入式技術(shù)及其應用的形態(tài)將更加豐富和多元,同時也將日益呈現(xiàn)深度物理融合、混合架構(gòu)共存、群體智能協(xié)同、網(wǎng)絡安全攸關(guān)等諸多新的計算特性。顯然,經(jīng)典的嵌入式系統(tǒng)體系結(jié)構(gòu)、軟硬件技術(shù)和開發(fā)方法都已很難應對新趨勢下的...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計算機物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,是互聯(lián)網(wǎng)與嵌入式系統(tǒng)發(fā)展到高級階段的融合。通用計算機經(jīng)歷了從智慧平臺到互聯(lián)網(wǎng)的獨立發(fā)展道路;嵌入式系統(tǒng)則經(jīng)歷了智慧物聯(lián)到局域智慧物聯(lián)的獨立發(fā)展道路。
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計算機隨著工業(yè)4.0、醫(yī)療電子、智能家居、物流管理和電力控制等快速的發(fā)展和推進,嵌入式系統(tǒng)利用自身的技術(shù)特點,逐漸成為眾多行業(yè)的標配產(chǎn)品。嵌入式系統(tǒng)具有可控制、可編程、成本低等,它在未來的工業(yè)和生活中有著廣闊的應用前景。在現(xiàn)在...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能長久來看,嵌入式只會越來越火,隨著人工智能時代的發(fā)展,嵌入式必定又將迎來一次浪潮和技術(shù)的巨大變革。人工智能越是想要表達智能水平,就越要依靠嵌入式技術(shù),嵌入式技術(shù)將朝著自動化控制和人機交互發(fā)展。嵌入式因其體積小、可靠性高、...
關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能