DS2450 A/D轉(zhuǎn)換器的特性與應(yīng)用
1 DS2450主要特性
· 用戶可編程設(shè)置輸入范圍(2.56V,5.12V)、分辨率(1~16位)和報(bào)警門限;
· 單電源工作(5V);
· 很低的功耗:工作時(shí)2.5mW,空閑時(shí)2.5μW;
· 內(nèi)置多點(diǎn)控制器允許在一條公共單總線上對多個(gè)DS2450識(shí)別和操作;
· 響應(yīng)模擬電壓超過報(bào)警門限時(shí)的條件查找;
· 未用作模擬輸入的通道可用作閉環(huán)控制的漏極開路的數(shù)字輸出;
· 直接與微處理器端口的一個(gè)引腳相連,并以16.3kbps的速率通信;
· 超速模式下通信速率可達(dá)142kbps;
· 片上16位CRC生成器能確保數(shù)據(jù)傳輸?shù)恼_性;
· 出廠前激光刻錄和經(jīng)過測試的64位唯一注冊號(hào)(8位族碼+48位序列號(hào)+8位CRC校驗(yàn)碼)能保證絕對的跟蹤能力,因?yàn)闆]有兩個(gè)部分是相似的;
· 8位族碼規(guī)定了器件與總線命令者通信的需求;
· 工作溫度范圍從-40°C~+85°C;
· 緊湊,低成本,8引腳SOIC表面安裝封裝。
2 引腳說明
DS2450為8腳貼片式封裝,如圖1所示。
3 DS2450工作原理與設(shè)置
3.1 原理框圖
DS2450單總線四路A/D轉(zhuǎn)換器是一個(gè)具有四選一多路轉(zhuǎn)換開關(guān)的逐次逼近A/D轉(zhuǎn)換器。其內(nèi)部組成原理框圖如圖2所示。
圖2中上部是工作電源。器件通過單總線或者從Vcc引腳取得功率。如果不用Vcc供電,器件在單總線為高期間把能量儲(chǔ)存在一個(gè)內(nèi)部電容器上,并且在單總線為低期間繼續(xù)以“寄生”功率為動(dòng)力工作,直到單總線為高時(shí)才補(bǔ)充寄生(電容器上)能量。這就提供了足夠的能量。要進(jìn)行A/D轉(zhuǎn)換,需要將單總線強(qiáng)上拉到 5V,或者使用Vcc供電。中部4個(gè)方框是單總線協(xié)議控制和CRC校驗(yàn)。每一個(gè) DS2450出廠前用激光刻錄注冊號(hào),此注冊號(hào)包含一個(gè)唯一的48位序列號(hào)、一個(gè)8位CRC校驗(yàn)碼和一個(gè)8位族碼(20H)。DS2450的64位ROM 部分不僅是器件絕對唯一的電子標(biāo)識(shí),而且是定位和尋址器件以實(shí)現(xiàn)控制功能的一種手段。CRC(Cyclic Redundancty Check)稱為循環(huán)冗余碼檢測,是數(shù)據(jù)通信中校驗(yàn)數(shù)據(jù)傳輸是否正確的一種常用方法。下部3個(gè)方框是A/D轉(zhuǎn)換器及選通和控制電路。
3.2 單總線協(xié)議
DS2450采用達(dá)拉斯公司數(shù)據(jù)傳輸?shù)膯慰偩€協(xié)議。與DS2450的通信需要一根雙向線,典型地可以是單片機(jī)端口的一個(gè)引腳。單總線協(xié)議的層次結(jié)構(gòu)如圖3所示。單總線命令者首先必須發(fā)送七個(gè)ROM功能命令中的一個(gè)命令。七個(gè)ROM功能命令分別是:①讀ROM(讀取64位注冊號(hào));②匹配ROM(總線上有多個(gè)DS2450時(shí),尋址某個(gè)DS2450);③查找ROM(系統(tǒng)首次啟動(dòng)后,需識(shí)別總線上各器件);④條件查找ROM(只查找輸入電壓超過設(shè)置的報(bào)警門限值的DS2450);⑤跳過ROM(總線上只有一個(gè)DS2450時(shí),跳過讀ROM命令直接向器件發(fā)送命令,以節(jié)省時(shí)間);⑥超速跳過ROM(超速模式下跳過讀ROM命令);⑦超速匹配ROM(超速模式下尋址某個(gè)DS2450)。在成功執(zhí)行上述命令之一后,總線命令者可發(fā)送任何一個(gè)可使用的命令來訪問存儲(chǔ)和控制功能。所有數(shù)據(jù)的讀寫都是從最低位開始的。
3.3 器件存儲(chǔ)器
DS2450所有的寄存器都映射到一個(gè)由相鄰24個(gè)字節(jié)組成的線性內(nèi)存范圍內(nèi),分為3頁,每頁8字節(jié)。第一頁叫做轉(zhuǎn)換讀出頁,內(nèi)部邏輯將轉(zhuǎn)換結(jié)果放在此內(nèi)存區(qū)域以讓總線命令者讀取。從通道A最低地址00開始,每個(gè)通道有一個(gè)16位的區(qū)域用來存放轉(zhuǎn)換結(jié)果,如表1所示。為節(jié)省篇幅,表1、表2、表3只列出了通道D。
上電時(shí)轉(zhuǎn)換讀出寄存器缺省為全零。不管分辨率如何,轉(zhuǎn)換結(jié)果的最高位總是在同一位置。如果分辨率小于16位,轉(zhuǎn)換結(jié)果的低位將用零填充來產(chǎn)生一個(gè)16位結(jié)果。對于不需要四路模擬輸入的應(yīng)用,應(yīng)當(dāng)將D作為第一個(gè)通道,C作為第二個(gè)通道,依次類推。這樣做的優(yōu)點(diǎn)是當(dāng)讀取轉(zhuǎn)換結(jié)果時(shí),可以較快地到達(dá)頁尾和讀取CRC16,并且可使單總線上的流量最小。
通道控制和狀態(tài)信息存于第二頁,如表2所示。其第一字節(jié)的低四位控制A/D轉(zhuǎn)換位數(shù),如1111為15位。位5不起作用,始終為0。位6為輸出控制,OC 為0該通道可以輸出。位7是輸出使能,OE為1表示通道可控。第二字節(jié)的位0選擇輸入電壓的范圍。當(dāng)IR為0時(shí),是2.55V。當(dāng)IR為1時(shí),是 5.10V。位1不起作用,讀出總是0,且不能置為1。位2和位3分別是AEL(低限報(bào)警使能)和AEH(高限報(bào)警使能),控制器件是否將響應(yīng)條件查找(見ROM功能)。位4和位5分別是報(bào)警標(biāo)志AFL(低)和AFH(高),告訴總線命令者在上次轉(zhuǎn)換中輸入電壓是否超過了最低或最高門限。如果新的轉(zhuǎn)換不產(chǎn)生報(bào)警,那么這些標(biāo)志將自動(dòng)清除,也可不通過轉(zhuǎn)換而由總線命令者寫為0。位6讀出總是0,且不能置為1。位7為器件上電復(fù)位狀態(tài),當(dāng)器件執(zhí)行上電復(fù)位周期時(shí),POR自動(dòng)置為1。如果該位為1,器件將總是響應(yīng)條件查找命令,以便通知命令者控制和門限數(shù)據(jù)不再有效,但不會(huì)產(chǎn)生一個(gè)復(fù)位周期。上電完畢后,總線命令者需將POR位置為1。該過程可與恢復(fù)控制和門限數(shù)據(jù)一起進(jìn)行。因?yàn)镻OR位與器件而不是具體通道有關(guān),因此使用的是最近一次的設(shè)置值。上電時(shí)每個(gè)通道的控制/狀態(tài)數(shù)據(jù)的第一個(gè)字節(jié)為08H,第二個(gè)字節(jié)為8CH。
每個(gè)通道的報(bào)警門限電壓存于第三頁,見表3。低報(bào)警門限位于第一字節(jié),低報(bào)警門限上電時(shí)缺省為00H,高報(bào)警門限為FFH。報(bào)警設(shè)置總是8位。當(dāng)分辨率大于或等于8位時(shí),如果轉(zhuǎn)換結(jié)果比存儲(chǔ)在高報(bào)警寄存器(AFH)中的值大,或者比存儲(chǔ)在低報(bào)警寄存器(AFL)中的值小,那么就會(huì)設(shè)置報(bào)警標(biāo)志。當(dāng)分辨率低于8位時(shí),忽略報(bào)警寄存器的最低位。
地址18到1F為第四頁,工廠校準(zhǔn)時(shí)使用該頁。用戶可以通過讀內(nèi)存和寫內(nèi)存命令來訪問該頁,該頁數(shù)據(jù)的改變會(huì)使DS2450校準(zhǔn)失靈或者失去功能。如果DS2450由Vcc供電,那么必須在上電完畢后向地址1C寫入十六進(jìn)制40來使模擬電路永久地保持在工作狀態(tài)。
4 工程應(yīng)用
在單總線系統(tǒng)中,掛上DS2450A/D轉(zhuǎn)換器后,則可通過傳感器把各種物理量變?yōu)閿?shù)字經(jīng)單總線送計(jì)算機(jī)進(jìn)行處理了。圖4展示了以PC機(jī)作控制時(shí)的氣象監(jiān)測系統(tǒng)的部分示意圖。圖5是以單片微機(jī)作控制時(shí)的環(huán)境測控系統(tǒng)的部分示意圖。
5 軟件設(shè)計(jì)
為保證數(shù)據(jù)可靠地傳送,任一時(shí)刻單總線上只能有一個(gè)控制信號(hào)或數(shù)據(jù)。進(jìn)行數(shù)據(jù)通信時(shí)應(yīng)符合單總線協(xié)議,計(jì)算機(jī)對某一測控對象操作時(shí),一般有以下四個(gè)過程:(1)初始化信號(hào);(2)傳送ROM命令;(3)傳送RAM命令;(4)數(shù)據(jù)交換。每次傳送的數(shù)據(jù)或命令是由一系列的時(shí)序信號(hào)組成的,單總線上共有四種時(shí)序信號(hào):(1)初始化信號(hào)(復(fù)位信號(hào));(2)寫0信號(hào);(3)寫1信號(hào);(4)讀信號(hào)。軟件設(shè)計(jì)時(shí)要產(chǎn)生這四種時(shí)序信號(hào)波形。
在單總線系統(tǒng)中,軟件設(shè)計(jì)是技術(shù)的關(guān)鍵。簡潔的硬件配置是靠復(fù)雜的軟件來支撐的。隨著主控計(jì)算機(jī)的不同,可分為PC機(jī)控制和單片機(jī)控制兩種情況。
5.1 PC機(jī)控制
在這種情況下,使用達(dá)拉斯公司授權(quán)軟件開發(fā)商(ASDs)的TMEX套裝軟件開發(fā)工具來進(jìn)行軟件設(shè)計(jì)。上述四種時(shí)序信號(hào)波形程序已包含在TMEX中,編程時(shí)可直接調(diào)用。TMEX其實(shí)是一些動(dòng)態(tài)鏈接庫,提供了對單總線芯片進(jìn)行訪問和控制的函數(shù),它支持Microsoft Windows及DOS的各種軟件平臺(tái),可采用C、C++、Borland Delphi、Microsoft Access和Visual Basic等可視化編程語言來開發(fā);還支持DS9097U通用串行口轉(zhuǎn)換器、DS9097、DS9087E及“真正”接地串行口轉(zhuǎn)換器和DS1410E、 DS1410D并行轉(zhuǎn)換口。因此,可以設(shè)計(jì)精美、生動(dòng)的界面,既可看到監(jiān)控系統(tǒng)的總布局圖,又可查看某個(gè)監(jiān)控現(xiàn)場的狀態(tài)數(shù)據(jù)和指示信號(hào),達(dá)到了現(xiàn)代化、自動(dòng)化的管理水平。
5.2 單片機(jī)控制
在這種情況下,要采用單片機(jī)的匯編語言編程。根據(jù)單總線協(xié)議的規(guī)定,要編寫產(chǎn)生上述的四種時(shí)序信號(hào)波形的程序,手冊中對這四種波形參數(shù)(如脈沖上升時(shí)間、寬度和間隙等)都作了具體的要求,設(shè)計(jì)中應(yīng)保證指令執(zhí)行時(shí)間小于或等于時(shí)序信號(hào)中的最小時(shí)間。由于使用匯編語言編寫單總線的系統(tǒng)程序和具體的應(yīng)用程序,相比之下,要比使用PC機(jī)控制麻煩多了。
DS2450單總線四路A/D轉(zhuǎn)換器是一個(gè)具有四選一多路轉(zhuǎn)換開關(guān)的逐次逼近A/D轉(zhuǎn)換器。其內(nèi)部組成原理框圖如圖2所示。
圖2中上部是工作電源。器件通過單總線或者從Vcc引腳取得功率。如果不用Vcc供電,器件在單總線為高期間把能量儲(chǔ)存在一個(gè)內(nèi)部電容器上,并且在單總線為低期間繼續(xù)以“寄生”功率為動(dòng)力工作,直到單總線為高時(shí)才補(bǔ)充寄生(電容器上)能量。這就提供了足夠的能量。要進(jìn)行A/D轉(zhuǎn)換,需要將單總線強(qiáng)上拉到 5V,或者使用Vcc供電。中部4個(gè)方框是單總線協(xié)議控制和CRC校驗(yàn)。每一個(gè) DS2450出廠前用激光刻錄注冊號(hào),此注冊號(hào)包含一個(gè)唯一的48位序列號(hào)、一個(gè)8位CRC校驗(yàn)碼和一個(gè)8位族碼(20H)。DS2450的64位ROM 部分不僅是器件絕對唯一的電子標(biāo)識(shí),而且是定位和尋址器件以實(shí)現(xiàn)控制功能的一種手段。CRC(Cyclic Redundancty Check)稱為循環(huán)冗余碼檢測,是數(shù)據(jù)通信中校驗(yàn)數(shù)據(jù)傳輸是否正確的一種常用方法。下部3個(gè)方框是A/D轉(zhuǎn)換器及選通和控制電路。
3.2 單總線協(xié)議
DS2450采用達(dá)拉斯公司數(shù)據(jù)傳輸?shù)膯慰偩€協(xié)議。與DS2450的通信需要一根雙向線,典型地可以是單片機(jī)端口的一個(gè)引腳。單總線協(xié)議的層次結(jié)構(gòu)如圖3所示。單總線命令者首先必須發(fā)送七個(gè)ROM功能命令中的一個(gè)命令。七個(gè)ROM功能命令分別是:①讀ROM(讀取64位注冊號(hào));②匹配ROM(總線上有多個(gè)DS2450時(shí),尋址某個(gè)DS2450);③查找ROM(系統(tǒng)首次啟動(dòng)后,需識(shí)別總線上各器件);④條件查找ROM(只查找輸入電壓超過設(shè)置的報(bào)警門限值的DS2450);⑤跳過ROM(總線上只有一個(gè)DS2450時(shí),跳過讀ROM命令直接向器件發(fā)送命令,以節(jié)省時(shí)間);⑥超速跳過ROM(超速模式下跳過讀ROM命令);⑦超速匹配ROM(超速模式下尋址某個(gè)DS2450)。在成功執(zhí)行上述命令之一后,總線命令者可發(fā)送任何一個(gè)可使用的命令來訪問存儲(chǔ)和控制功能。所有數(shù)據(jù)的讀寫都是從最低位開始的。