- 相關(guān)推薦
單總線協(xié)議轉(zhuǎn)換器在分布式測控系統(tǒng)中的應(yīng)用
摘要:介紹DS2480BUART/RS232至單總線協(xié)議轉(zhuǎn)換器的主要特性、工作原理、接口技術(shù),并具體闡述DS2480B在農(nóng)業(yè)溫室分布式測控系統(tǒng)設(shè)計中的應(yīng)用。關(guān)鍵詞:DS2480B單總線RS232分布式測控
單總線技術(shù)是美國Dallas半導(dǎo)體公司近年推出的新技術(shù)。它將地址線、數(shù)據(jù)線、控制線合為1根信號線,允許在這根信號線上掛接數(shù)百個單總線器件芯片;趩慰偩的每個芯片內(nèi)部均有1個出廠前被光刻好的64位ROM序列號,它可以看作是該芯片的地址序列碼。開始8位是產(chǎn)品類型標(biāo)號,如DSl8B20為28H,DS2450為20H等;接著的48位是該芯片自身的序列號,用以保證在同類芯片中的唯一性;最后8位是前面56位的循環(huán)冗余校驗碼,以確保數(shù)據(jù)傳輸?shù)目煽啃。光刻ROM的作用是使每個"單總線"器件的地址都各不相同,這是定位和尋址器件實現(xiàn)單總線測控功能的前提條件,并以此為依據(jù)實現(xiàn)1根總線上掛接多個"單總線"芯片。芯片內(nèi)部集成有收發(fā)控制電路和電源存儲電路。與微處理器的接口非常簡單,可節(jié)省大量的引線和邏輯電路。芯片的耗電量很小,從總線上"偷"一點(diǎn)電(空閑時幾μW,工作時幾mW)存儲在片內(nèi)的電容中就可正常工作,一般不用另附電源。最可貴的是這些芯片在檢測點(diǎn)已把被測信號數(shù)字化了,因此在單總線上傳送的是數(shù)字信號,這使得系統(tǒng)的抗干擾性能好、可靠性高、傳輸距離遠(yuǎn)。
單總線技術(shù)具有節(jié)省I/O口線資源、結(jié)構(gòu)簡單、成本低廉、便于總線擴(kuò)展和維護(hù)等優(yōu)點(diǎn),因此,在分布式測控系統(tǒng)中有著廣泛應(yīng)用。
1DS2480B主要特性
◇串口UART/RS232至單總線通信協(xié)議的轉(zhuǎn)接橋,可直接連到UART和5VRS232系統(tǒng)中,支持Dallas全系列單總線器件,如數(shù)字溫度傳感器DS18B20、A/D轉(zhuǎn)換器DS2450等;
◇將主機(jī)從單總線時序控制中解脫出來,提供規(guī)范的、靈活的和強(qiáng)驅(qū)動的單總線定時;
◇支持標(biāo)準(zhǔn)UART通信,支持9.6(默認(rèn))、19.2、57.6和115.2kbps速率;
◇具有較強(qiáng)的總線驅(qū)動能力,通信距離可達(dá)300m;
◇可編程下拉擺率控制和有源上拉,工作范圍5V,-40~+85℃,8引腳SOIC封裝。
2引腳說明及原理框圖
DS2480B為8腳貼片式封裝,如圖1所示。引腳功能如表1所列。
表1引腳功能說明
引腳號引腳名稱引腳功能1GND地線21-W單總線輸入輸出端3NC懸空4VDD4.5~5.5V電壓5VPPEPROM編程電壓6POLRXD/TXD選擇端7TXD發(fā)送端8RXD接收端
DS2480B工作原理框圖如圖2所示。
3DS2480B與RS232的接口技術(shù)
電路應(yīng)用了串口"竊電"技術(shù),不用外加電源,同時有DS9502對單總線提供靜電保護(hù),如圖3所示。
4基于DS2480B的單總線農(nóng)業(yè)溫室分布式測控系統(tǒng)設(shè)計
4.1核心器件介紹
溫度信號的檢測選用單總線數(shù)字溫度計DSl8B20。它利用溫敏振蕩器的頻率隨溫度變化的關(guān)系,通過對振蕩周期的計數(shù)來實現(xiàn)溫度測量。DSl8B20采用3引腳TO-92小體積封裝形式;溫度測量范圍為-55~+125℃,可編程為9~12位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625℃,典型轉(zhuǎn)換速度200ms/次;被測溫度用符號擴(kuò)展的16位二進(jìn)制補(bǔ)碼數(shù)字量方式串行輸出;內(nèi)部非揮發(fā)的溫度報警觸發(fā)器可由用戶設(shè)置高、低限報警值。
濕度信號、二氧化碳濃度等信號的檢測,先由相應(yīng)的傳感器和信號調(diào)理電路將其轉(zhuǎn)換成電壓信號,然后掛接到DS2450上。DS2450是單總線4通道逐次逼近式A/D轉(zhuǎn)換器,其輸入電壓范圍、轉(zhuǎn)換精度位數(shù)(2~6位)、報警門限電壓等均可編程;每個通道有各自的存儲器以存儲電壓范圍設(shè)置、轉(zhuǎn)換結(jié)果、門限電壓等參數(shù);普通方式下串行通信速率達(dá)16.3kbps;片內(nèi)16位循環(huán)冗余校驗碼生成器可用于檢測通信的正確性;芯片正常工作時僅消耗2.5mW功率,空閑情況下消耗25μW。
溫室控制系統(tǒng)的執(zhí)行機(jī)構(gòu)采用開關(guān)量控制,選用可尋址的單總線控制開關(guān)DS2405,由它送出1位0或1作為控制碼信息,先觸發(fā)光電耦合器,經(jīng)功率放大,驅(qū)動繼電器、晶閘管或固態(tài)繼電器,控制通風(fēng)機(jī)、增濕器執(zhí)行機(jī)構(gòu)等的開啟與關(guān)閉。
對于控制系統(tǒng)中所需要的數(shù)字輸入信號,可選用DS2401。DS2401是符合單總線協(xié)議的ROM硅片。當(dāng)外圍電路接通DS2401后,通過條件搜索ROM命令,可以由計算機(jī)查詢到該輸入開關(guān)量的狀態(tài)。
4.2系統(tǒng)硬件組成框圖
系統(tǒng)硬件組成框圖如圖4所示。
4.3軟件設(shè)計
為了保證數(shù)據(jù)可靠地傳輸,任一時刻單總線上只能有一個控制信號或數(shù)據(jù)。進(jìn)行數(shù)據(jù)通信時應(yīng)符合單總線協(xié)議,計算機(jī)對某一測控對象操作時,一般有以下4個過程:①初始化;②傳送ROM命令;③傳送RAM命令;④數(shù)據(jù)交換。每次傳送的數(shù)據(jù)或命令是由一系列的時序信號組成,單總線上共有4種時序信號:①初始化信號(復(fù)位信號);②寫0信號;③寫1信號;④讀信號。軟件設(shè)計時要產(chǎn)生這四種時序信號波形。在單總線系統(tǒng)中,軟件設(shè)計是技術(shù)的關(guān)鍵。簡捷的硬件設(shè)計是靠復(fù)雜的軟件來支撐的。
為了提高開發(fā)效率,我們采用了Dallas公司授權(quán)的軟件開發(fā)商(ASDB)提供的免費(fèi)TMEX軟件開發(fā)工具套件。在TMEX中已包含上述4種時序信號波形程序,編程時可直接調(diào)用。TMEX實際上是一些動態(tài)鏈接庫,包括IBFS32.DLL、IB97U32.DLL等文件,提供了對單總線芯片進(jìn)行訪問和控制的函數(shù)。它支持Windows及DOS操作平臺,可以采用C、C++、Delphi、VB等計算機(jī)語言開發(fā)用戶應(yīng)用程序;它還支持基于DS2480B的串口轉(zhuǎn)換器DS9097U、DS1410D并行轉(zhuǎn)換口。因此,可以設(shè)計精美、生動的界面,既可以看到測控系統(tǒng)的總布局圖,又可查看某個測控現(xiàn)場的狀態(tài)數(shù)據(jù)和指示信號,達(dá)到了現(xiàn)代化、自動化的管理水平。
下面是用VB6.0開發(fā)工具調(diào)用TMEX的API函數(shù),驅(qū)動DS2480B進(jìn)行單總線通信的程序。
......
Dimdmmy,search,resultasinteger
DimMyhandleaslong
State-buffer(15360)asbyte
PrivatedeclarefunctionTMExtendedStartSessionlib"IBFS32.DLL"(ByvalportnumasintegerByvalportTypeasinteger,Byvalreservedasany)aslong
PrivatedeclarefunctionTMsetuplib"IBFS32.DLL"(Byvalsession_handleaslong,state_bufferasbyte)asinteger
PrivatedeclarefunctionTMfirstlib"IBFS32.DLL"(Byvalsession_handleaslong,state_bufferasbyte)asinteger
PrivatedeclarefunctionTMromlib"IBFS32.DLL"(Byvalsession_handleaslong,state_bufferasbyte,romasinteger)asinteger
PrivatedeclarefunctionTMendsessionlib"IBFS32.DLL"(Byvalsession_handleaslong)asinteger
。
Myhandle=TMExtendedStartSession(1,5,vbNullstring)
'檢查DS2480B是否準(zhǔn)備就緒,準(zhǔn)備建立會話注意,針
'對DS2480B,該函數(shù)第2個參數(shù)必須為5
If(Myhandle>0)then'成功建立會話
Dmmy=TMSetup(Myhandle)'初始化
Search=TMFirst(Myhandle,state_buffer(0))'查找設(shè)備,找
'到第1個設(shè)備返回"1"
If(search=1)then
ROM[0]=0;'表示讀數(shù)據(jù)
result=TMRom(session_handle,state_buffer(0),ROM(0));
if(result=1)then
'此時ROM中數(shù)據(jù)表示該設(shè)備的64位ROM序列號,其中
'ROM[0]為器件類型代碼,如ROM(0)=20H表示找到
'DS2450,ROM[7]存放的是8bitCRC
。'對找到的設(shè)備進(jìn)行相應(yīng)操作
。
endif
dmmy=TMendsession(Myhandle)'結(jié)束會話,釋放單總線
。
結(jié)束語
基于DS2480B的單總線分布式測控系統(tǒng),具有節(jié)省I/O口線資源、結(jié)構(gòu)簡單、開發(fā)快捷、成本低廉、便于總線擴(kuò)展和維護(hù)等優(yōu)點(diǎn),因此有廣闊的應(yīng)用空間,具有較大的推廣價值。
【單總線協(xié)議轉(zhuǎn)換器在分布式測控系統(tǒng)中的應(yīng)用】相關(guān)文章:
C8051F040在基于CAN總線的分布式測控系統(tǒng)中的應(yīng)用08-06
Jini在分布式嵌入式系統(tǒng)中的應(yīng)用08-06
分布式發(fā)電系統(tǒng)的應(yīng)用及前景08-06
分布式發(fā)電系統(tǒng)的應(yīng)用及前景08-06
DS2438及其在單總線微網(wǎng)中的應(yīng)用08-06
FTT-10A收發(fā)器及其在測控系統(tǒng)中的應(yīng)用08-06
SA9904B在電力參數(shù)遠(yuǎn)程測控系統(tǒng)中的應(yīng)用08-06