當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:詳細(xì)介紹單總線溫度傳感器DSl8B20的工作原理、通信協(xié)議和使用方法;給出測溫程序流程,以及DSl8B20在Proteus中硬件仿真的具體實現(xiàn)方法,并對該仿真結(jié)果與實驗結(jié)果進(jìn)行了比較。 關(guān)鍵詞:Proteus;DSl8B20;單總

摘要:詳細(xì)介紹單總線溫度傳感器DSl8B20的工作原理、通信協(xié)議和使用方法;給出測溫程序流程,以及DSl8B20在Proteus中硬件仿真的具體實現(xiàn)方法,并對該仿真結(jié)果與實驗結(jié)果進(jìn)行了比較。
關(guān)鍵詞:Proteus;DSl8B20;單總線;測溫

引言
    目前,微機與外設(shè)之間進(jìn)行數(shù)據(jù)的串行總線主要有I2C總線、SPI總線和SCI總線。其中,I2C總線以同步串行2線方式進(jìn)行通信(1條時鐘線和1條數(shù)據(jù)線),SPI總線以同步串行3線方式進(jìn)行通信(1條時鐘線、1條數(shù)據(jù)輸入線和1條數(shù)據(jù)輸出線),而SCI總線則是以異步方式進(jìn)行通信的(1條數(shù)據(jù)輸入線和1條數(shù)據(jù)輸出線)。這些總線至少需要2條信號線及地線。Dallas公司推出的單總線技術(shù)用單根信號線及地線,既傳輸時鐘又傳輸數(shù)據(jù),而且數(shù)據(jù)的傳輸時雙向的,具有線路簡單、硬件開銷少、成本低、便于總線擴展和維護等優(yōu)點。
    DSl8B20是典型的單總線數(shù)字式溫度傳感器,工作電壓為3~5V,測量溫度范圍為-55~+125℃,可根據(jù)實際需要通過軟件設(shè)置選擇9~12位分辨率;用戶設(shè)置的報警溫度存儲在芯片內(nèi)部EEPROM中,可掉電保持;每個芯片都有全球唯一的編碼,用戶可以通過其特有的序列號查詢其溫度,因此理論上一條總線上可連接無數(shù)個該測溫元件。單總線通常要求外接一個約4.7 kΩ的上拉電阻,保證總線閑置時其狀態(tài)為高電平。
1 PrOteus中DSl8B20仿真圖的設(shè)計
1.1 Proteus簡介
    Proteus是英國Labcenter Electronics公司研發(fā)的EDA工具軟件。它是能進(jìn)行模擬電路、數(shù)字電路、模/數(shù)混合電路、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD、LED系統(tǒng)的設(shè)計與仿真的平臺。Proteus具備原理圖設(shè)計、電路分析與仿真、PCB設(shè)計功能,可以通過調(diào)入程序的編譯結(jié)果.hex或.cof文件來調(diào)試單片機程序,還可直接嵌入到Microchip公司的單片機調(diào)試軟件MPLABIDE中,進(jìn)行程序的調(diào)試和仿真。
    Proteus的特色是能實現(xiàn)單片機與外設(shè)的混合電路系統(tǒng)、軟件系統(tǒng)的設(shè)計和仿真。在仿真過程中,用戶可以用鼠標(biāo)單擊開關(guān)、鍵盤、電位計、可調(diào)電阻等外設(shè)設(shè)備,使單片機系統(tǒng)根據(jù)輸入信號做出相應(yīng)的響應(yīng),并將響應(yīng)處理結(jié)果根據(jù)所編制的軟件在LCD、LED等顯示器件上顯示,整個過程與硬件仿真器調(diào)試過程相似。因此,在缺乏硬件的情況下,這是款非常實用的仿真軟件,其仿真的原理圖經(jīng)驗證后可直接應(yīng)用到現(xiàn)實中。Proteus還提供虛擬示波器、邏輯分析儀、信號發(fā)生器和I2C、SPI調(diào)試器等多種虛擬終端,方便用戶仿真調(diào)試。
1.2 DSl8B20仿真的實現(xiàn)
    目前,國內(nèi)采用單片機作控制系統(tǒng)中的微處理器時多選擇.PIC、51系列或Freescale系列單片機。PIC單片機具有外圍電路簡單、功耗低、外圍資源豐富等優(yōu)點。本系統(tǒng)選用PIC系列單片機PICl6F877A作為控制芯片。
    Proteus仿真圖設(shè)計的第一步就是拾取仿真所需要的元器件,單擊圖1所示界面預(yù)覽窗口下面的P按鈕,彈出Pick Devices(元器件拾取)對話框。然后,在Keywords文本框內(nèi)分別輸入DSl8820、LM041L(4行×16字符型LCD)、PICl6F877A、RES(電阻)。在檢索出來的結(jié)果中,選中所要的元器件并雙擊,該元器件就會出現(xiàn)在左側(cè)預(yù)覽窗口中。


    元器件拾取完畢后,關(guān)閉Pick Devices窗口回到主設(shè)計頁面。在左側(cè)預(yù)覽窗口中,選中元器件放置到合適的位置。然后,在最左側(cè)選中圖標(biāo)(terminals mode),分別選中POWER(電源)和GROUND(地),放置在合適的位置,并進(jìn)行連接。欲改變元器件的參數(shù),雙擊該元器件,然后在出現(xiàn)的屬性框中直接修改即可。本文所設(shè)計的由12個DSl8B20組成的測溫網(wǎng)絡(luò)如圖2所示。

[!--empirenews.page--]

2 單總線器件DSl8B20的使用
2.1 DSl8B20的工作原理
    在該測溫系統(tǒng)中,單片機PICl6F877A作為主機,DSl8B20溫度傳感器作為從機。由于DSl8B20采用的是主從結(jié)構(gòu),只有主機呼叫從機時,從機才能應(yīng)答。因此,訪問器件時必須嚴(yán)格遵循單總線命令序列,以及初始化、ROM、命令功能的命令。如果序列混亂,則器件不響應(yīng)主機。從機主機和從機之間的通信通過3個步驟完成:初始化器件;識別器件;交換數(shù)據(jù)。
    單總線器件采用嚴(yán)格的通信協(xié)議來保證數(shù)據(jù)的完整性。通信協(xié)議包括:復(fù)位脈沖、應(yīng)答脈沖、寫0、寫1、讀O和讀1。所有這些信號都是以先低位、后高位的方式發(fā)送的。
    (1)復(fù)位脈沖和應(yīng)答脈沖
    復(fù)位脈沖和應(yīng)答脈沖即為初始化過程,所有的通信都是以初始化開始的。首先主機要拉低總線至少480μs,接著釋放總線并持續(xù)15~60μs,然后進(jìn)入接收狀態(tài),檢測總線DQ的電平。若DQ為低電平,則表示從機已就緒,可以發(fā)送ROM命令。由于C語言簡潔緊湊、靈活方便且可
移植性好,因此本文程序采用C語言來完成。相應(yīng)的初始化程序如下:


    其中,變量dq用來判斷DSl8B20是否有返回的存在脈沖,為O即有返回脈沖,表明復(fù)位成功,可跳出循環(huán);DQ表示總線的電平,當(dāng)總線為高電平時DQ為1,否則為0;DQ_IO用來表示DQ所連的單片機I/O口的狀態(tài),若該I/O口對單片機是作為輸入使用則DQ_IO為1,作為輸出使用則DQ_IO為O。
    (2)寫操作時序
    無論是命令還是數(shù)據(jù),所有的寫操作都是以字節(jié)為單位的,全部以先低位、后高位的方式傳輸?shù)摹N粚懭脒^程是這樣的:主機將總線拉低15μs,然后根據(jù)要發(fā)的那位數(shù)據(jù)的電平來決定接下來總線的電平。若數(shù)據(jù)待發(fā)位為低電平,則主機須將DQ置為低電平并保持1 5~45μs;若數(shù)據(jù)待發(fā)位為高電平,則主機需將DQ置為高電平且保持15~45μs。發(fā)送1位數(shù)據(jù)的時間(從總線拉低開始到發(fā)送結(jié)束)必須控制在60~20μ s。
    位與位之間要有一個大于1μs的高電平時間間隙隔開。一個字節(jié)的數(shù)據(jù)寫入結(jié)束后需要將總線釋放,以確保之后操作的正確進(jìn)行。
    (3)讀操作時序
    所有數(shù)據(jù)的讀取是以字節(jié)為單位,以先低位、后高位的方式進(jìn)行傳輸?shù)?。位讀取的過程如下:首先需要主機將總線拉低1~15μs,然后釋放總線,對總線的電平進(jìn)行判斷。若總線為低電平,說明帶讀取數(shù)據(jù)位為0;若總線為高電平,則表明帶讀取數(shù)據(jù)位為1。讀取1位數(shù)據(jù)的時間(從總線拉低開始到將總線置高準(zhǔn)備下一位數(shù)據(jù))必須大于60 μs。同樣,位與位之間須有一個大于1 μs的高電平時間間隙隔開。一個字節(jié)的數(shù)據(jù)讀取結(jié)束后需要將總線釋放,以確保操作的正確進(jìn)行。由于DSl8B20的溫度采用9~12位的分辨率,因此一個溫度數(shù)據(jù)需要讀取2字節(jié)的溫度數(shù)據(jù)。2字節(jié)的數(shù)據(jù)讀取結(jié)束后將總線釋放,以便接下來數(shù)據(jù)的正確傳輸。[!--empirenews.page--]
2.2 讀溫度主要使用的命令
    讀溫度主要使用的命令如表1所列。

3 測溫的實現(xiàn)及在PrOteus中的仿真
3.1 測溫的實現(xiàn)
    整個讀取溫度步驟具體如下:


        
    若還要讀其他芯片的溫度,則從②~⑤開始循環(huán)。其中,reset()為調(diào)用初始化子程序;send_com()為機向從機發(fā)送1字節(jié)的子程序;send_num()為主機向從機發(fā)送64位器件序列號的子程序;delay()為延時子程序;check()為主機判斷所有從機的溫度是否全部讀取完畢的子程序。
3.2 Proteus仿真
    在Proteus中使用多個DSl8B20時,必須改變器件的屬性,使仿真中每個器件的序列號各不相同。具體作法是:右擊DSl8B20,選中Edit Properties選項,在其中改變ROM Serial Numbet的值;還可改變Granularity的數(shù)值,即改變每次調(diào)整溫度的額度。在Proteus中,可以人為改變3個字節(jié)的器件序列號。要想得到全部8個字節(jié),一個簡單的方法就是每一次總線上只連接一個器件,利用Ox33讀器件序列號的命令在程序中得到完整的器件序列號。具體的程序如下所示:

[!--empirenews.page--]

    其中,send_com()為主機向從機發(fā)送一個字節(jié)的子程序,read_dat()為主機讀取從機一個字節(jié)的子程序。例如,將器件序列號改為B8C530,在MPLAB IDE中的Watch窗口中可直接觀察到該器件的完整的器件序列號,如圖3所示。


    本系統(tǒng)中共使用12個DSl8B20,序列號為B8C530~B8C53B。通過上述的方法可得到所有器件的序列號,然后組成一個數(shù)組,在讀取溫度程序中就可直接使用。數(shù)組如下所示:


    在MPLAB IDE中,使用Proteus VSM仿真模式。根據(jù)上述讀取溫度程序的過程,編寫讀取溫度的程序,經(jīng)編譯、運行,即可得到仿真結(jié)果。

結(jié)語
    經(jīng)驗證,在Proteus中的仿真結(jié)果和實際實驗結(jié)果完全一致。這充分說明該軟件仿真結(jié)果真實性很高,在缺乏硬件的情況下,這是款非常實用的仿真軟件。其仿真的原理圖和結(jié)果經(jīng)實驗驗證后可直接應(yīng)用到實際項目中。
    單總線數(shù)字式溫度傳感器DSl8B20具有體積小、動態(tài)范圍寬、測量精度高等特點,分辨率可根據(jù)實際的需求進(jìn)行相應(yīng)的設(shè)置。單總線器件連接簡單,且具有很強的擴展性,可以組建多點的溫度檢測網(wǎng)絡(luò),在電子產(chǎn)品各部件特別是半導(dǎo)體器件的溫度測量領(lǐng)域具有良好的應(yīng)用前景。
 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉