在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為什么UART驅動1-Wire設備總是出現問題?

工程師 ? 來源:記得誠 ? 作者:記得誠 ? 2020-10-23 17:13 ? 次閱讀

麥叔是搞嵌入式的,最近項目delay,他和我說用UART驅動1-Wire設備總是出現問題,故寫此文來拯救他。

作者之前寫過UART(點我),也寫過1-Wire(點我),本文介紹如何用主機的UART驅動1-Wire從機設備,建議先看看以上兩篇文章,再閱讀本文,效果更佳。

硬件電路

1-Wire結構簡單,一根線就可以通信,常見的18B20用的就是1-Wire結構。單片機的串口UART(多是TTL電平),如何用單片機控制通用的1-Wire設備呢?如果MCU和從設備的電平不一致如何解決?軟件協議又是如何控制的呢?本文主要解決這兩個問題。

主機或從機將數據線拉低到GND表示數據0,將數據線釋放為高表示數據1,高電平由上拉電阻(一般是4.7K)提供。

當MCU發送邏輯1時,經過反相器,總線呈現邏輯0,邏輯0經過1-WIRE器件的反相器,即會收到邏輯1;

當MCU發送邏輯0時,經過反向器,總線呈現邏輯1,邏輯1經過1-WIRE 器件的反相器,即會收到邏輯0;

當1WIRE 器件發送邏輯1時,Tx處有NMOS會導通,總線呈現邏輯0,經過MCU Rx 處的反相器,MCU會收到邏輯1;

當1WIRE器件發送邏輯0時,NMOS截止,總線呈現邏輯1,MCU會收到邏輯0;

主機端(BUS MASTER)多為MCU,因為MCU的TXD不是漏極開路,因此通常需要一個外部漏極開路緩沖電路,該電路可以由分立元件構成。

用兩個NMOS管2N7002,原理很簡單:

TXD輸出高電平時,左邊的2N7002導通,右邊的截止,DQ被4.7K電阻上拉至Vpullup高電平;

TXD輸出低電平時,左邊的2N7002截止,右邊的導通,DQ被拉低至低電平0;

用分立器件搭建的緩沖電路

也可以用集成芯片NC7WZ07,如下圖所示,TXD輸出高,DQ=Vpullup,TXD輸出低,DQ=0;

用集成芯片搭建的緩沖電路

解決了硬件電路,我們再來看軟件協議部分,1-Wire的協議可以分為復位/應答、寫0/寫1時隙、讀0/讀1時隙。

軟件協議

復位/應答

如下圖,上面部分是1-Wire的復位/應答時序,下面是UART的時序。

復位/應答信號時序

原理:

主機以9600的波特率發送數據0XF0,因為LSB在前,0XF0=00001111,加上最前面的Start Bit和最后面的Stop Bit,完整的數據為:0000011111,代表主機先發了5位的0,然后發了5位的1;9600波特率,一位傳輸時間是1/9600=104.2us,所以低電平持續時間為104.2*5=521us,滿足480~960us復位總線的時序要求。

那主機收到什么數據代表從機應答呢?

首先主機如果發送F0后收到還是F0,說明從機沒有應答,從機應答總線數據會改變,可以簡單的判斷收到的數據為非F0即代表從機應答。

根據1-Wire的時序波形,也可以進行推算,從上圖看,Data0~Data3均為0,因為1-Wire時序是有一定時間范圍,并不是固定的脈寬,如TPDH為15~60us,TPDL為60~240us,所以Data4~Data7是有一定的組合,返回0X10(00001000) to 0X90(00001001)都代表從機應答。

寫0/寫1時隙

主機寫0就是0X00,也可以加入回讀,回讀值即為寫的值。

寫0時隙

寫1就是0XFF,回讀值即為寫的值。

寫1時隙圖

讀0/讀1時隙

關于讀時隙,可以先看主機讀1時,主機先拉低總線,一般時間1us左右,UART的Start Bit會占1/115200=8.7us的脈寬(大于1us),所以從Data0開始,后面的數據都為1,即讀到的數據為11111111(0XFF)代表讀到的是1。

讀1時隙圖

那讀0也就很簡單,讀到的數據不為0XFF即為0。

讀0時隙圖

小結一下

實際代碼里面的判斷,可以簡單處理,復位/應答:發送F0,返回不為F0,即代表從機應答;讀0/讀1時隙:主機讀到0XFF即為1,讀到非0XFF即為0;簡單又可靠,麥叔還不會。

今天的文章到這里就結束了,希望對你有幫助,我們下一期見。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    459

    文章

    52253

    瀏覽量

    437031
  • 電路
    +關注

    關注

    173

    文章

    6022

    瀏覽量

    174564
  • 單片機
    +關注

    關注

    6065

    文章

    44934

    瀏覽量

    647619
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    DS28E01-100 1Kb、保護型1-Wire EEPROM,帶有SHA-1引擎技術手冊

    。DS28E01-100通過單觸點1-Wire?串行接口進行通信,遵循1-Wire協議,在多個從器件的1-Wire網絡中充當節點地址。
    的頭像 發表于 05-14 14:36 ?258次閱讀
    DS28E01-100 <b class='flag-5'>1</b>Kb、保護型<b class='flag-5'>1-Wire</b> EEPROM,帶有SHA-<b class='flag-5'>1</b>引擎技術手冊

    DS28E10 1-Wire SHA-1認證器技術手冊

    器件帶有唯一的64位ROM注冊碼(ROM ID),由工廠刻入芯片。每次可向存儲器寫入4個字節,安全的低成本工廠編程服務可對器件數據進行預編程,這也包括SHA-1安全數據部分。器件通過單觸點1-Wire?總線進行通信,遵循標準的1-Wir
    的頭像 發表于 05-14 14:26 ?142次閱讀
    DS28E10 <b class='flag-5'>1-Wire</b> SHA-<b class='flag-5'>1</b>認證器技術手冊

    DS28E02 1-Wire SHA-1認證器,具有1Kb EEPROM,工作在1.8V技術手冊

    。DS28E02通過單觸點1-Wire?總線進行通信,遵循標準的1-Wire協議,注冊碼在多器件1-Wire網絡中充當節點地址。
    的頭像 發表于 05-14 14:17 ?177次閱讀
    DS28E02 <b class='flag-5'>1-Wire</b> SHA-<b class='flag-5'>1</b>認證器,具有<b class='flag-5'>1</b>Kb EEPROM,工作在1.8V技術手冊

    DS2465 DeepCover安全認證器具有SHA-256協處理器和1-Wire主機功能技術手冊

    系統與1-Wire SHA-256從器件通信及操作所要求的SHA-256和存儲器功能。此外,器件執行I2C主控制器與所連接的任何1-Wire SHA-256從器件之間的協議轉換。對于1-Wire
    的頭像 發表于 05-14 14:09 ?158次閱讀
    DS2465 DeepCover安全認證器具有SHA-256協處理器和<b class='flag-5'>1-Wire</b>主機功能技術手冊

    DS24L65 DeepCover安全認證器,具有SHA-256協處理器和1-Wire主機功能技術手冊

    轉換。對于1-Wire驅動器,芯片內部用戶可調定時器將系統主處理器從繁瑣的1-Wire波形時序控制中解放出來,支持標準和高速1-Wire通信。1-
    的頭像 發表于 05-14 11:25 ?131次閱讀
    DS24L65 DeepCover安全認證器,具有SHA-256協處理器和<b class='flag-5'>1-Wire</b>主機功能技術手冊

    DS2475帶1-Wire主機的DeepCover ECDSA協處理器技術手冊

    DeepCover 嵌入式安全解決方案將敏感數據隱藏在多層先進的物理安全保護之下,從而提供非常安全的密鑰存儲。 具有內置1-Wire ^?^ 主機(DS2475)的DeepCover橢圓曲線
    的頭像 發表于 05-14 11:17 ?147次閱讀
    DS2475帶<b class='flag-5'>1-Wire</b>主機的DeepCover ECDSA協處理器技術手冊

    DS28E16 1-Wire SHA-3安全認證器技術手冊

    計數器和唯一的64位ROM識別碼(ROM ID)。唯一的ROM ID用作加密運算的基本輸入參數,也作為應用中的電子序列號。器件通過單觸點1-Wire?總線通信。通信采用1-Wire協議,ROM ID作為多器件1-Wire網絡中的
    的頭像 發表于 05-13 15:18 ?136次閱讀
    DS28E16 <b class='flag-5'>1-Wire</b> SHA-3安全認證器技術手冊

    DS2430A 256位1-Wire EEPROM技術手冊

    DS2430A是一款256位1-Wire? EEPROM,用于識別和存儲與產品相關的信息。這個標簽或特殊產品信息可以通過最少的接口訪問,例如微控制器的一個端口引腳。DS2430A帶有一個由工廠刻度
    的頭像 發表于 02-27 15:21 ?428次閱讀
    DS2430A 256位<b class='flag-5'>1-Wire</b> EEPROM技術手冊

    DS2408系列1-Wire、8通道、可編程 1-Wire IC技術手冊

    DS2408是一款8通道、可編程I/O 1-Wire? IC。PIO輸出可配置為開漏結構,具有100Ω的最大導通電阻。穩固的PIO通道訪問通信協議確保PIO輸出設置變化沒有誤差。數據有效選通輸出,可用來鎖存PIO的邏輯狀態,供給外部電路,如D/A轉換器(DAC)或微控制器的數據總線。
    的頭像 發表于 02-26 16:12 ?480次閱讀
    DS2408系列<b class='flag-5'>1-Wire</b>、8通道、可編程 <b class='flag-5'>1-Wire</b> IC技術手冊

    DS2431 1024位1-Wire EEPROM技術手冊

    DS2431是一款1024位1-Wire? EEPROM芯片,由四頁存儲區組成,每頁256位。數據先被寫入一個8字節暫存器中,經校驗后復制到EEPROM存儲器。該器件的特點是,四頁存儲區相互獨立
    的頭像 發表于 02-26 15:38 ?573次閱讀
    DS2431 1024位<b class='flag-5'>1-Wire</b> EEPROM技術手冊

    DS28E04-100 4096位、可尋址、1-Wire EEPROM,帶有PIO技術手冊

    DS28E04-100是具有7個地址輸入的4096位,1-Wire? EEPROM芯片。地址輸入直接映射到1-Wire 64位器件ID號上,使主機系統能夠在多器件1-Wire網絡環境中直接識別
    的頭像 發表于 02-26 15:29 ?394次閱讀
    DS28E04-100 4096位、可尋址、<b class='flag-5'>1-Wire</b> EEPROM,帶有PIO技術手冊

    DS2413系列雙通道可編程1-Wire芯片技術手冊

    DS2413是雙通道可編程I/O 1-Wire?芯片。PIO輸出配置為開漏極,提供最高20mA的吸電流能力,截止狀態工作電壓可達28V。通過專門的器件級命令協議實現PIO引腳的控制與檢測。為了在最終
    的頭像 發表于 02-26 15:12 ?367次閱讀
    DS2413系列雙通道可編程<b class='flag-5'>1-Wire</b>芯片技術手冊

    DS28EC20 20Kb 1-Wire EEPROM技術手冊

    DS28EC20是一款20480位、1-Wire? EEPROM,分為80個256位的存儲器頁。器件提供一個額外的頁用于控制功能。數據被寫入一個32字節暫存器,經過校驗后,復制到EEPROM存儲器
    的頭像 發表于 02-26 14:33 ?506次閱讀
    DS28EC20 20Kb <b class='flag-5'>1-Wire</b> EEPROM技術手冊

    DS9490 USB至1-Wire/iButton適配器技術手冊

    DS9490B是一個USB橋接器和支架,用于單個F5尺寸的iButton。iButton被安全地固定在帶鎖的門后。DS9490R是一個帶有1-Wire RJ11接口的USB橋,可容納1-Wire插座
    的頭像 發表于 02-26 10:45 ?469次閱讀
    DS9490 USB至<b class='flag-5'>1-Wire</b>/iButton適配器技術手冊

    PGA308讀寫過程中的28ms延時復位1-wire接口是硬件實現的還是需要編程實現?

    請問,PGA308讀寫過程中的28ms延時復位1-wire接口是硬件實現的還是需要編程實現?
    發表于 09-24 07:17
    主站蜘蛛池模板: 欧美黄业 | 又黄又湿又爽吸乳视频 | dy888午夜秋霞影院不卡 | 国产久爱青草视频在线观看 | 一区二区三区四区在线 | 天天做天天爱夜夜爽 | 国产精品美女久久久久网 | 国产一级做a爱免费视频 | 成人免费播放视频777777 | 久草男人天堂 | 免费欧洲美女与动zooz | 美女网站色视频 | 99成人国产精品视频 | 天天色综合色 | 热re99久久精品国99热 | 色在线看 | 国产色婷婷 | 久久久久无码国产精品一区 | 国产一级αv片免费观看 | 亚洲高清国产一线久久 | 亚州1区2区3区4区产品乱码2021 | 精品四虎免费观看国产高清午夜 | 日本免费的一级绿象 | a网在线| 欧美性xxxxxbbbbbb精品 | 天天看天天干 | 性无码专区无码 | 在线欧美色| 播放一级毛片 | 国产yw.8825.c免费 | 人人揉人人爽五月天视频 | 国产成人经典三级在线观看 | 毛片区| 在线播放免费人成毛片乱码 | 婷婷在线网站 | 成人在线网站 | 成人观看网站a | 国产一卡二卡3卡4卡四卡在线 | 色多多在线视频 | 国产精品久久久久久久久 | 91精品国产色综合久久不卡蜜 |