為嵌入式應(yīng)用選擇合適的1-Wire®主機(jī)
圖2. 帶可選強(qiáng)上拉電路(虛線部分)的單向端口引腳
2類. 內(nèi)置1-Wire主機(jī)的微控制器
圖3電路與圖1非常類似,不同之處在于微控制器類型。
圖3電路的主要前提是需要一個(gè)內(nèi)置1-Wire主機(jī)的微控制器,如DS80C400、DS80C410或DS80C411,以及一定的程序存儲(chǔ)器空間。電路的優(yōu)點(diǎn)在于1-Wire時(shí)序由硬件產(chǎn)生,可以減少前期軟件開發(fā)的時(shí)間和成本。因此,整個(gè)應(yīng)用軟件可以用高級(jí)語言編寫。DS80C400系列微控制器端口帶有5V容限。缺點(diǎn)在于,只有高端微控制器才內(nèi)置有1-Wire主機(jī)。根據(jù)應(yīng)用中1-Wire從器件和1-Wire上拉電壓,可能需要其它端口引腳提供強(qiáng)上拉。1-Wire總線上有不止一個(gè)從器件時(shí),RPUP值應(yīng)取低一些。此時(shí),應(yīng)檢查VOLmax是否與1-Wire從器件和微處理器端口的輸入特性兼容。更多信息,請參閱應(yīng)用筆記3829:確定多從機(jī)1-Wire網(wǎng)絡(luò)的恢復(fù)時(shí)間、應(yīng)用筆記613:DS80C400的Keil C語言編程、以及DS80C400數(shù)據(jù)資料。應(yīng)用軟件示例見1-Wire Public Domain Kit。
圖3. 內(nèi)置1-Wire主機(jī)的微控制器及可選的強(qiáng)上拉電路(虛線部分)
3類. 合成的1-Wire總線主機(jī)(ASIC/FPGA)
圖4電路與圖3非常類似。不同之處在于微控制器和1-Wire端口是內(nèi)置在ASIC或PFGA中的。
圖4電路的主前提是需要具有單片機(jī)能力的ASIC或FPGA,至少有一個(gè)空閑的雙向端口引腳,3470個(gè)未使用的門和一定的程序存儲(chǔ)器空間。電路的優(yōu)點(diǎn)在于1-Wire時(shí)序由硬件產(chǎn)生,可以減少前期軟件開發(fā)的時(shí)間和成本。因此,整個(gè)應(yīng)用軟件可以用高級(jí)語言編寫。缺點(diǎn)在于,并非所有ASIC或FPGA都有5V容限端口。1-Wire工作電壓取決于ASIC/FPGA的端口特性。一些2.5V FPGA有5V容限I/O端口,比3.3 FPGA理想。根據(jù)應(yīng)用中1-Wire從器件和1-Wire上拉電壓,可能需要其它端口引腳提供強(qiáng)上拉。1-Wire總線上掛接多個(gè)從器件時(shí),RPUP值應(yīng)取低一些。此時(shí),應(yīng)檢查VOLmax是否與1-Wire從器件和微處理器端口的輸入特性兼容。更多信息請參閱應(yīng)用筆記119:嵌入1-Wire主機(jī)、應(yīng)用筆記120:利用1-Wire主機(jī)通訊、應(yīng)用筆記145:Interfacing the Maxim 1-Wire Master (DS1WM) to an ARM7 Processor、應(yīng)用筆記3829:確定多從機(jī)1-Wire網(wǎng)絡(luò)的恢復(fù)時(shí)間、以及DS1WM數(shù)據(jù)資料。欲獲取1-Wire主機(jī)Verilog/VHDL代碼,請通過提交技術(shù)支持要求。應(yīng)用軟件示例請參見應(yīng)用筆記120和145。
圖4. 帶可選強(qiáng)上拉電路(虛線部分)的ASIC/FPGA
4類. 串行接口協(xié)議轉(zhuǎn)換
圖5電路只需一個(gè)額外器件即可構(gòu)建一個(gè)功能齊備的1-Wire主機(jī)。
圖5電路的主要前提是需要一種控制UART的方式,例如微控制器、FPGA或PC串行端口,還需要一定的程序存儲(chǔ)器空間。電路的優(yōu)點(diǎn)在于1-Wire時(shí)序由硬件產(chǎn)生,可以減少前期軟件開發(fā)的時(shí)間和成本。因此,整個(gè)應(yīng)用軟件可以用高級(jí)語言編寫。1-Wire時(shí)序可以通過控制寄存器微調(diào)。DS2480B支持強(qiáng)上拉和有源上拉。嵌入式應(yīng)用不需要對1-Wire時(shí)序和有源上拉進(jìn)行微調(diào),不過,內(nèi)置的4位搜索加速器使1-Wire ROM搜索在軟件中更易實(shí)現(xiàn)。就缺點(diǎn)而言,DS2480B較圖1至圖4中的分立元件昂貴。DS2480B僅采用5V工作電壓。它是功能最強(qiáng)的單芯片1-Wire主機(jī),適合與大量從器件通信。有源上拉持續(xù)直至超過第二個(gè)門限。DS2480B也可以編程1-Wire EPROM器件。更多信息請參閱應(yīng)用筆記192:DS2480B串行接口1-Wire線驅(qū)動(dòng)器的使用 、應(yīng)用筆記4104:DS2480B 1-Wire時(shí)序的理解及配置、以及DS2480B數(shù)據(jù)資料??牲c(diǎn)此處下載AN192的源代碼。
圖5. UART/RS-232接口
圖6電路非常適合I2C總線應(yīng)用。
圖6電路的主要前提是需要一個(gè)I?C總線控制器,如微控制器或FPGA/ASIC,還需要一定的程序存儲(chǔ)器空間。電路的優(yōu)點(diǎn)是性價(jià)比高。1-Wire時(shí)序由硬件產(chǎn)生,可以減少前期軟件開發(fā)的時(shí)間和成本。因此,整個(gè)應(yīng)用軟件可以用高級(jí)語言編寫。DS2482支持強(qiáng)上拉以及有源上拉。然而,嵌入式應(yīng)用不需要有源上拉。內(nèi)置1位搜索加速器使1-Wire ROM搜索更容易在軟件中實(shí)施。缺點(diǎn)在于,DS2482驅(qū)動(dòng)1-Wire從器件的數(shù)目比不上DS2490或DS2480B。DS2482還提供8通道版本。單通道的DS2482-100有一個(gè)控制輸出,用于增加強(qiáng)上拉功能(Q1)。與DS2480B和DS2490相比,DS2482-100的有源上拉持續(xù)時(shí)間是固定的。I2C上拉電阻值取決于I?C總線的長度和分布范圍。更多信息請參閱應(yīng)用筆記3*:如何使用代用I?C接口的DS2482 1-Wire主控制器、以及DS2482-100和DS2482-800數(shù)據(jù)資料??牲c(diǎn)擊此處下載應(yīng)用筆記3*中的源代碼。
圖6. 帶可選超強(qiáng)上拉電路(虛線部分)的I2C接口
圖7中的1-Wire主機(jī)特性與DS2480B非常類似。
圖7電路的主要前提是需要USB端口,一般PC中都有。電路的優(yōu)點(diǎn)在于1-Wire時(shí)序由硬件產(chǎn)生,可以減少前期軟件開發(fā)的時(shí)間和成本。因此,整個(gè)應(yīng)用軟件可以用高級(jí)語言編寫。1-Wire時(shí)序可以通過控制寄存器微調(diào)。DS2490支持強(qiáng)上拉和有源上拉。不過,嵌入式應(yīng)用不需要對1-Wire時(shí)序和有源上拉進(jìn)行微調(diào)。內(nèi)置的4位搜索加速器使1-Wire ROM搜索在軟件中更容易實(shí)施。就缺點(diǎn)而言,DS2490較圖5中的器件成本高,且工作電壓僅為5V。作為1-Wire主機(jī),DS2490沒有DS2480B功能強(qiáng)大。有源上拉持續(xù)直至超過第二個(gè)門限。更多信息請參閱應(yīng)用筆記117:DS2490 Universal Serial Bus Descriptors、以及DS2490數(shù)據(jù)資料。應(yīng)用軟件示例見1-Wire Public Domain Kit。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論