為嵌入式應用選擇合適的1-Wire®主機

圖2. 帶可選強上拉電路(虛線(xiàn)部分)的單向端口引腳
2類(lèi). 內置1-Wire主機的微控制器
圖3電路與圖1非常類(lèi)似,不同之處在于微控制器類(lèi)型。
圖3電路的主要前提是需要一個(gè)內置1-Wire主機的微控制器,如DS80C400、DS80C410或DS80C411,以及一定的程序存儲器空間。電路的優(yōu)點(diǎn)在于1-Wire時(shí)序由硬件產(chǎn)生,可以減少前期軟件開(kāi)發(fā)的時(shí)間和成本。因此,整個(gè)應用軟件可以用高級語(yǔ)言編寫(xiě)。DS80C400系列微控制器端口帶有5V容限。缺點(diǎn)在于,只有高端微控制器才內置有1-Wire主機。根據應用中1-Wire從器件和1-Wire上拉電壓,可能需要其它端口引腳提供強上拉。1-Wire總線(xiàn)上有不止一個(gè)從器件時(shí),RPUP值應取低一些。此時(shí),應檢查VOLmax是否與1-Wire從器件和微處理器端口的輸入特性兼容。更多信息,請參閱應用筆記3829:確定多從機1-Wire網(wǎng)絡(luò )的恢復時(shí)間、應用筆記613:DS80C400的Keil C語(yǔ)言編程、以及DS80C400數據資料。應用軟件示例見(jiàn)1-Wire Public Domain Kit。

圖3. 內置1-Wire主機的微控制器及可選的強上拉電路(虛線(xiàn)部分)
3類(lèi). 合成的1-Wire總線(xiàn)主機(ASIC/FPGA)
圖4電路與圖3非常類(lèi)似。不同之處在于微控制器和1-Wire端口是內置在A(yíng)SIC或PFGA中的。
圖4電路的主前提是需要具有單片機能力的ASIC或FPGA,至少有一個(gè)空閑的雙向端口引腳,3470個(gè)未使用的門(mén)和一定的程序存儲器空間。電路的優(yōu)點(diǎn)在于1-Wire時(shí)序由硬件產(chǎn)生,可以減少前期軟件開(kāi)發(fā)的時(shí)間和成本。因此,整個(gè)應用軟件可以用高級語(yǔ)言編寫(xiě)。缺點(diǎn)在于,并非所有ASIC或FPGA都有5V容限端口。1-Wire工作電壓取決于A(yíng)SIC/FPGA的端口特性。一些2.5V FPGA有5V容限I/O端口,比3.3 FPGA理想。根據應用中1-Wire從器件和1-Wire上拉電壓,可能需要其它端口引腳提供強上拉。1-Wire總線(xiàn)上掛接多個(gè)從器件時(shí),RPUP值應取低一些。此時(shí),應檢查VOLmax是否與1-Wire從器件和微處理器端口的輸入特性兼容。更多信息請參閱應用筆記119:嵌入1-Wire主機、應用筆記120:利用1-Wire主機通訊、應用筆記145:Interfacing the Maxim 1-Wire Master (DS1WM) to an ARM7 Processor、應用筆記3829:確定多從機1-Wire網(wǎng)絡(luò )的恢復時(shí)間、以及DS1WM數據資料。欲獲取1-Wire主機Verilog/VHDL代碼,請通過(guò)提交技術(shù)支持要求。應用軟件示例請參見(jiàn)應用筆記120和145。

圖4. 帶可選強上拉電路(虛線(xiàn)部分)的ASIC/FPGA
4類(lèi). 串行接口協(xié)議轉換
圖5電路只需一個(gè)額外器件即可構建一個(gè)功能齊備的1-Wire主機。
圖5電路的主要前提是需要一種控制UART的方式,例如微控制器、FPGA或PC串行端口,還需要一定的程序存儲器空間。電路的優(yōu)點(diǎn)在于1-Wire時(shí)序由硬件產(chǎn)生,可以減少前期軟件開(kāi)發(fā)的時(shí)間和成本。因此,整個(gè)應用軟件可以用高級語(yǔ)言編寫(xiě)。1-Wire時(shí)序可以通過(guò)控制寄存器微調。DS2480B支持強上拉和有源上拉。嵌入式應用不需要對1-Wire時(shí)序和有源上拉進(jìn)行微調,不過(guò),內置的4位搜索加速器使1-Wire ROM搜索在軟件中更易實(shí)現。就缺點(diǎn)而言,DS2480B較圖1至圖4中的分立元件昂貴。DS2480B僅采用5V工作電壓。它是功能最強的單芯片1-Wire主機,適合與大量從器件通信。有源上拉持續直至超過(guò)第二個(gè)門(mén)限。DS2480B也可以編程1-Wire EPROM器件。更多信息請參閱應用筆記192:DS2480B串行接口1-Wire線(xiàn)驅動(dòng)器的使用 、應用筆記4104:DS2480B 1-Wire時(shí)序的理解及配置、以及DS2480B數據資料??牲c(diǎn)此處下載AN192的源代碼。

圖5. UART/RS-232接口
圖6電路非常適合I2C總線(xiàn)應用。
圖6電路的主要前提是需要一個(gè)I?C總線(xiàn)控制器,如微控制器或FPGA/ASIC,還需要一定的程序存儲器空間。電路的優(yōu)點(diǎn)是性?xún)r(jià)比高。1-Wire時(shí)序由硬件產(chǎn)生,可以減少前期軟件開(kāi)發(fā)的時(shí)間和成本。因此,整個(gè)應用軟件可以用高級語(yǔ)言編寫(xiě)。DS2482支持強上拉以及有源上拉。然而,嵌入式應用不需要有源上拉。內置1位搜索加速器使1-Wire ROM搜索更容易在軟件中實(shí)施。缺點(diǎn)在于,DS2482驅動(dòng)1-Wire從器件的數目比不上DS2490或DS2480B。DS2482還提供8通道版本。單通道的DS2482-100有一個(gè)控制輸出,用于增加強上拉功能(Q1)。與DS2480B和DS2490相比,DS2482-100的有源上拉持續時(shí)間是固定的。I2C上拉電阻值取決于I?C總線(xiàn)的長(cháng)度和分布范圍。更多信息請參閱應用筆記3*:如何使用代用I?C接口的DS2482 1-Wire主控制器、以及DS2482-100和DS2482-800數據資料??牲c(diǎn)擊此處下載應用筆記3*中的源代碼。

圖6. 帶可選超強上拉電路(虛線(xiàn)部分)的I2C接口
圖7中的1-Wire主機特性與DS2480B非常類(lèi)似。
圖7電路的主要前提是需要USB端口,一般PC中都有。電路的優(yōu)點(diǎn)在于1-Wire時(shí)序由硬件產(chǎn)生,可以減少前期軟件開(kāi)發(fā)的時(shí)間和成本。因此,整個(gè)應用軟件可以用高級語(yǔ)言編寫(xiě)。1-Wire時(shí)序可以通過(guò)控制寄存器微調。DS2490支持強上拉和有源上拉。不過(guò),嵌入式應用不需要對1-Wire時(shí)序和有源上拉進(jìn)行微調。內置的4位搜索加速器使1-Wire ROM搜索在軟件中更容易實(shí)施。就缺點(diǎn)而言,DS2490較圖5中的器件成本高,且工作電壓僅為5V。作為1-Wire主機,DS2490沒(méi)有DS2480B功能強大。有源上拉持續直至超過(guò)第二個(gè)門(mén)限。更多信息請參閱應用筆記117:DS2490 Universal Serial Bus Descriptors、以及DS2490數據資料。應用軟件示例見(jiàn)1-Wire Public Domain Kit。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論