基于COM20022的10Mbps令牌總線局域網(wǎng)
2004年8月A版
摘 要:本文介紹如何利用COM20022實現(xiàn)令牌總線局域網(wǎng)。
關(guān)鍵詞:COM20022;令牌環(huán);局域網(wǎng);ARCNET
引言
總線局域網(wǎng)的總線爭用使得它不適合于一些對時間有嚴格要求的實時控制系統(tǒng),而ARCNET(Attached Resource Computer NET)具有可靠性高、通信速率高、可確定的網(wǎng)絡(luò)性能以及遠距離通信能力等特點,是一種理想的現(xiàn)場總線技術(shù)。它具有以下3個突出優(yōu)點:第一,它采用令牌傳遞協(xié)議保證在確定的時間內(nèi)完成消息的傳輸;第二,它支持長度可變的數(shù)據(jù)幀(0~507字節(jié)),額外開銷小,加上其總線速率高(可達10Mbps),使得其對短消息有良好的響應(yīng)能力;第三,內(nèi)置的16位CRC校驗和數(shù)據(jù)鏈路層協(xié)議使得其有較高的可靠性和軟件操作簡單。ARCNET網(wǎng)絡(luò)在物理上是一個總線網(wǎng),而邏輯上卻是一個令牌環(huán)。COM20022是SMSC公司的一款高速率嵌入式ARCNET控制器,利用COM20022容易實現(xiàn)10Mbps令牌總線局域網(wǎng)。
COM20022
COM20022支持總線速率最高可達10Mbps,速率可以在寄存器中設(shè)置。能夠支持多種微處理器,數(shù)據(jù)總線口寬8/16位可選,集成了2K字節(jié)的雙端口RAM,新增了可編程DMA通道。軟件可編程節(jié)點ID號,支持最大255個節(jié)點。增加或減少節(jié)點時網(wǎng)絡(luò)自動重構(gòu),支持重復(fù)節(jié)點ID檢測。網(wǎng)絡(luò)上所有的節(jié)點按節(jié)點ID由小到大的順序構(gòu)成一個邏輯環(huán)路,令牌沿著邏輯環(huán)在各個節(jié)點之間傳遞,獲得令牌的節(jié)點就可以發(fā)送一個數(shù)據(jù)幀,如果沒有數(shù)據(jù)發(fā)送,則令牌傳遞給相鄰的下一個邏輯節(jié)點。令牌循環(huán)傳遞,為各個節(jié)點提供平等的網(wǎng)絡(luò)訪問服務(wù)。
COM20022和微處理器的接口
COM20022為了能適配更多的微處理器的類型,而不增加額外引腳,它具有自動適配微處理器的功能。既能兼容INTEL的微處理器(如圖1),又能兼容MOTOROLA的微處理器。接入的總線有復(fù)合方式和非復(fù)合方式兩種。COM20022是通過地址線A0的狀態(tài)來確定其數(shù)據(jù)總線的類型的。若A0接地,COM20022為復(fù)合總線;若A0接微處理器的地址線A0,則COM20022為非復(fù)合總線。
下面是COM20022確定其數(shù)據(jù)總線類型的初始化程序:
unsigned char Com20022Init(COM20022_CONFIG xdata *cfg)
{
...
/*intialize the bus type of the Com20022*/
TO_ADDR_LO_REG( 0 ); /*奇地址寫操作*/
temp = FROM_ADDR_LO_REG( ); /*奇地址
讀操作*/
...
}
首先對COM20022的奇地址寄存器進行一次寫操作,然后進行一次讀操作。一旦總線類型被確定,COM20022將會保持這種接口模式不變,直到下次復(fù)位為止。
COM20022網(wǎng)絡(luò)接口驅(qū)動芯片
COM20022在互聯(lián)時,距離非常近時可以不加驅(qū)動器,比如同一個儀器的內(nèi)部。兩個或多個(不超過255個)ARCNET設(shè)備需要連接時,就需要加上驅(qū)動器。圖2和圖3中都是用75176,這是一個直流耦合RS-485驅(qū)動器。由于RS-485接口比較簡單,只需要5類雙絞線就可以傳輸,所以安裝和維護都比較方便。為了更方便選擇傳輸媒質(zhì),還可以使用SMSC的HYC9088A,這是一個雙絞線和同軸電纜兼容的驅(qū)動器,但是它只支持最高2.5Mbps總線速率。如果需要傳輸距離更遠時,可以使用光纖收發(fā)器,傳輸距離可達一公里以上。
組網(wǎng)
利用COM20022可以做網(wǎng)卡,插入計算機的擴展槽,用連接電纜讓所接入的計算機組成令牌總線局域網(wǎng),也可以利用COM20022做數(shù)據(jù)傳輸設(shè)備實現(xiàn)點到點或點到多點的數(shù)據(jù)傳輸。為了更好的組網(wǎng),也可以使用HUB來擴展網(wǎng)絡(luò)。HUB分為兩類,一類是無源HUB,一類是有源HUB。無源HUB價格便宜。無源HUB一般有4個端口,用來連接星形結(jié)構(gòu)的同軸電纜收發(fā)器。有源HUB實際是一種電路中繼器,可以使用多種連接介質(zhì)互聯(lián)。覆蓋范圍遠比無源HUB遠,能隔離電纜故障和防止信號反射,常用于分布式星形網(wǎng)絡(luò)。組網(wǎng)時,還需要用到終結(jié)器,使用同軸電纜時,任何不用的無源HUB端口或電纜都要用93Ω的終結(jié)器終結(jié);使用雙絞線時,終結(jié)器插入位于電纜末端的網(wǎng)卡上,終結(jié)器阻值為所用雙絞線的特性阻抗的值。網(wǎng)卡、HUB、終結(jié)器三者具備后,就可以組網(wǎng)了,所組成的網(wǎng)絡(luò)就是令牌總線局域網(wǎng)。
ARCNET令牌總線局域網(wǎng)布線方式主要有兩種:一種是總線型,另一種是星型總線型。
總線結(jié)構(gòu)
同軸電纜為連接介質(zhì)的總線結(jié)構(gòu)與以太網(wǎng)細纜方式相類似,如圖2所示。ARCNET總線最大長度305米??陕?lián)接的設(shè)備最多8個。設(shè)備與總線的聯(lián)接通過T型聯(lián)接器,該聯(lián)接器的頂部與電纜相連,底部與網(wǎng)卡相連。電纜兩端必須用93W的終結(jié)器來終結(jié)。
當使用雙絞線為連接介質(zhì)時,即適合這種介質(zhì)的網(wǎng)卡有兩個端口,一端口連本節(jié)點,另一端口連下一節(jié)點,如此級連,最大可連17個節(jié)點(使用直流耦合的RS-485)。兩端的網(wǎng)卡多余端口可以接上終結(jié)器。圖3所示為帶兩個RJ11連接器的網(wǎng)卡,不連的兩個端口接上了120W終結(jié)器。
星形總線結(jié)構(gòu)
星形總線布線是以HUB為中心,形成一種多星形互連在一起的結(jié)構(gòu),如圖4所示。這種結(jié)構(gòu)之所以稱為總線是由于所有工作站共享公共電纜。
這種結(jié)構(gòu)可使用同軸電纜,也可使用雙絞線。在使用同軸電纜時,HUB可以是有源的,也可以是無源的。如果使用有源HUB,總線電纜便插入其端口之一,其余的端口連接工作站。工作站與有源HUB的最大距離為610米。
當使用雙絞線時,需要使用有源HUB, HUB與文件服務(wù)器相連,工作站也與其直接相連。在這種方式下,服務(wù)器或工作站與有源HUB之間的距離最大可為1220米。網(wǎng)卡上不用的端口必須用93Ω的終結(jié)器短接。表1給出組網(wǎng)時網(wǎng)段允許最大長度和單總線網(wǎng)段允許最大節(jié)點數(shù)(總線輸率為2.5Mbps)。
結(jié)語
利用COM20022實現(xiàn)令牌總線局域網(wǎng)有許多優(yōu)點。在實時控制等領(lǐng)域,媒質(zhì)選擇靈活,組網(wǎng)方便,是一款優(yōu)秀的ARCNET控制器。目前在我單位研制的數(shù)字式車內(nèi)通信系統(tǒng)中得到了較好的運用,在數(shù)據(jù)傳輸和實時語音通信都取得了較好的效果。
參考文獻:
1. Standard MicroSystems Corporation.COM20022 Rev. 04/20/2000
評論