1-Wire 總線使用單線提供電源和信號。總線在開漏環境中運行;因此需要一個上拉電阻。該總線還在 2.0 V-5.5 V 范圍內運行。通信是異步的、半雙工的,并嚴格遵循主從方案。總線上只能連接一個主設備,以及一個或多個從設備。每個至少 60 μs 的時間段內只能在總線上傳輸一個數據位。
復位和存在信號
當發出復位信號時,主機將總線拉低至少 480 μs。如果存在從站,則主站將收到響應。這個響應稱為存在信號,它發生在總線被從設備拉低 60 μs 后,在主設備釋放總線后。如果主機沒有接收到存在信號,主機將假定總線上沒有設備/從機。
圖 1 復位和存在時序圖
使用 UART 生成信號
當使用 Zilog 的 Z8051 MCU 上的 UART 模塊生成時,需要將發送器 (TXD) 和接收器 (RXD) 連接到 1-Wire 總線。此外,需要一個外部集電極開路或漏極開路緩沖器,以允許從設備在 UART 輸出為高電平時將總線拉低。圖 2 顯示了一個由分立元件組成的示例緩沖器。
圖 2 集電極開路緩沖器電路示例
UART 配置
UART 模塊與 1-Wire 從設備通信,需要配置為讀寫 8 個數據位、無極性、1 個停止位的數據格式;使用兩種波特率,9 600 bps 和 115 200 bps。Zilog 建議使用 11.0592 MHz 晶體振蕩器作為系統時鐘,以在 115 200 波特率下實現數據傳輸的零誤差。
硬件實現
本節討論 Z8051 MCU 和 1-Wire 從設備之間的物理接口,以及如何配置和編程 Z8051 MCU 以通過具有三個從設備的 1-Wire 總線有效地讀寫數據。
如下圖所示,TXD1連接到由電阻和NPN晶體管組成的集電極開路緩沖電路。當 UART 處于空閑狀態時,該電路使從設備能夠將線路拉低。
圖 3 MCU 與從機連接
在理想情況下,1-Wire 器件將在單條總線上獲得電源和數據。然而,一些器件需要額外的電流,這可能會導致弱 1-Wire 上拉電阻上出現不可接受的壓降,或者需要更多的電流可以由總線提供。為此,DS18S20 和 DS2417 從器件由外部電壓電源供電,而 DS24B33 從器件是唯一由 1-Wire 總線供電的器件。1-Wire 總線中的電流足以在讀和寫操作期間為 DS24B33 從器件上電。
本文檔討論了使用 Zilog 的 Z8051 微控制器實現具有多個從設備的 1-Wire 接口。這些從機 DS18S20、DS2417 和 DS24B33 器件都是 Dallas Semiconductor 的產品。1-Wire 實現的成功之處在于,高達位級的數據傳輸通過了 1-Wire 協議的時序要求。
資料來源: Zilog、DS18S20、DS2417
編輯:hfy
-
上拉電阻
+關注
關注
5文章
361瀏覽量
30660 -
緩沖器
+關注
關注
6文章
1924瀏覽量
45565 -
uart
+關注
關注
22文章
1243瀏覽量
101561
發布評論請先 登錄
相關推薦
評論