專利名稱:用于由一設備請求服務的方法
技術領域:
本發(fā)明涉及在數(shù)據(jù)源及與其耦合的多個外部設備之間傳輸數(shù)據(jù)的通訊裝置的領域。更具體地講,本發(fā)明是涉及多個外部設備和主計算機之間外部設備總線上的數(shù)據(jù)傳輸。
計算機工業(yè)中,經常需要在多個數(shù)據(jù)處理設備(如計算機、打印機、存貯器等等)之間傳遞數(shù)據(jù)和命令。本世紀70年代初,由于計算機網絡系統(tǒng)的問世,計算機與其它外部設備之間的相互聯(lián)接有了重要發(fā)展。計算機網絡系統(tǒng)使得可以在遠離大型計算機的地方分布式訪問計算資源。
網絡,例如ARPA網絡,主要用于提供不同用戶對較大的分時系統(tǒng)的存取及這種系統(tǒng)之間的數(shù)據(jù)傳輸。在地理上的局部網絡中,稱做“局部地區(qū)網絡”(LANS),用于聯(lián)接一批計算機,終端及其外部設備,通常是在一座建筑物或鄰近的建筑物中,使這些設備可以相互通訊或與聯(lián)在其它網絡中的設備通訊。使用局部地區(qū)網絡可以實現(xiàn)分布式計算。換言之,聯(lián)在局部地區(qū)網絡上的某些設備可以被指定來完成特定功能,如文件存貯,數(shù)據(jù)庫管理,終端處理等等。由于不同的機器完成不同的任務,這種分布式處理使系統(tǒng)更簡單,效率更高。
目前,網絡技術只用于提供數(shù)據(jù)處理設備之間的通訊,這些設備是機器輸入設備。然而,網絡技術還可以用來提供在單獨的計算機與多個外部設備之間的進行通訊的網絡裝置,例如人工輸入設備,只聽設備(listenonlyclevice)和儀表(appliance)等等。人工輸入設備包括鍵盤,光標控制設備(如鼠型定標器)及草圖板等等。只聽設備包括處理過程記錄器(transactionlog)等等。在先有技術中,這些設備是通過每個設備的指定端口與主計算機相聯(lián)的。為聯(lián)接外部輸入設備,常常需要有附加“板”。插入附加板時,還要求主計算機斷電,不可在系統(tǒng)工作時插入。這種現(xiàn)有技術的系統(tǒng)效率不高,因為通常外部設備不同時工作。(例如,使用鼠型定標器的用戶一般不會同時使用鍵盤或草圖板),因此,這些設備可以共享一條聯(lián)接到主計算機的公共線路,不需附加板而不會引起數(shù)據(jù)傳輸問題先有技術的網絡設計方案還包括了良好的建立網絡控制的方法,以使某一設備可以實現(xiàn)傳輸。將外部設備聯(lián)網時,并不需要這樣的系統(tǒng),因為通常在某一時刻只使用一臺設備。此外,先有技術的網絡設計方案使得聯(lián)網設備可以通過復雜的“查詢”方法相互識別。另一方面,這種復雜的過程對于聯(lián)接外部設備是不需要的,因為除主計算機之外,這些設備本身并不需要被其它設備識別。
因此,本發(fā)明的一個目的就是給出多個外部設備之間的通訊裝置,這種裝置使得將那些設備耦合到主計算機時簡單而有效。
本發(fā)明的另一個目的是給出使所有上述外部設備通過單一的輸入端口耦合到主計算機的通訊裝置。
本發(fā)明的又一個目的是給出使外部設備可指出向主計算機發(fā)出服務請求信號的通訊裝置。
本發(fā)明還有一個目的是提供一個給出可以確定通訊裝置線路是否被占用的的裝置的通訊線路。
本發(fā)明的另一個目的是給出使外部設備可以在系統(tǒng)工作時加入的通訊裝置。
已公開了一種包括有儀器和方法的用于在多個外部設備與主計算機之間傳輸數(shù)據(jù)的通訊裝置。在優(yōu)選實施例中,多個外部設備,如人工輸入設備(包括鼠型定標器、鍵盤,草圖板等),儀表,只聽設備等等,都耦合到公共電纜上以傳輸數(shù)據(jù)和接收命令。當耦合到電纜上的設備需要服務時,它可以通知主計算機,該設備將不斷發(fā)出服務請求,直到接收到主計算機的發(fā)送數(shù)據(jù)命令。所有相同的通用型外部設備(如所有鍵盤),都有做為識別碼的完全相同的硬件跳線地址。用這種方式,主計算機可以識別在電纜上通訊的通用型設備。如果不只一個同類型的外部設備耦合到電纜上(例如有兩個鼠型定標器),主計算機將給鼠型定標器的狀態(tài)寄存器分配新地址,這樣,它們相互可區(qū)別。
在優(yōu)選實施例中,在電纜上傳輸數(shù)據(jù)和命令時采用了歸零調制方式。這就使得如果某一外部設備要在電纜上傳輸一高電平信號,而此時電纜被另一設備拉低,該外部設備將發(fā)生碰撞。為簡化系統(tǒng)模型,只有主計算機可以啟動通訊過程。
本發(fā)明允許在計算機工作時,將外部設備接到計算機上,而不必使計算機系統(tǒng)斷電。本發(fā)明可實施于窄帶、寬帶、光纖、遠紅外及其它通訊裝置。
圖1給出了本發(fā)明網絡系統(tǒng)的方框圖。
圖2給出了本發(fā)明使用的歸零編碼方法時序圖。
圖3給出了本發(fā)明外部設備的寄存器。
圖4給出了某一外部設備請求主計算機服務時操作順序的流程圖。
圖5給出了為共享硬件跳線地址的設備提供新地址的操作順序流程圖。
圖6給出了本發(fā)明中命令處理的時序圖。
本發(fā)明公開了用于在耦合到主計算機的外部設備之間傳輸數(shù)據(jù)的外部設備總線,其中包括所用儀器和方法。為使對本發(fā)明能有透徹了解,在下面的描述中,給出了大量特殊細節(jié),如特定數(shù)字、寄存器、地址、時序、信號及格式等。但對本技術領域的技術人員來講,很明顯,實施本發(fā)明時可以不需要這些特殊細節(jié)。在另外一些情況下,為了避免不必要地使本發(fā)明難于理解,對一些眾所周知的電路和設備則用方框圖表示。
參見圖1,其中給出了本發(fā)明的優(yōu)選實施例。多個外部設備,用數(shù)字11到16來標誌,通過單電纜17耦合到主計算機10。在本優(yōu)選實施例中,所有設備通過小型電話插座與主計算機通訊,并對聯(lián)接器做如下分配頂功率(tip-power),環(huán)形-數(shù)據(jù)(ring-data)和環(huán)套-回歸功率(sleeve-powerrefurn)。高電平信號(1)最低為2.4伏,低電平信號(0)最高為0.8伏。盡管在本發(fā)明的優(yōu)選實施例中希望使用單根電纜,但其它通訊裝置,如寬頻帶法、光纖系統(tǒng)及紅外信號也可以使用。
本發(fā)明中的總線支持編碼設備(這種設備一個鍵表示一個符號或一種功能,如鍵盤14),相對設備(這種設備的對應控制設備(如鼠型定標器11或12,的顯示光標的移動可以任一點為起點)和絕對設備(這種設備的顯示位置和設備位置之間有一恒定的直接關系,如草圖板13)。
這個系統(tǒng)也允許將擴展地址設備聯(lián)網,擴展地址設備共享公共的硬件跳線地址,但對特定設備還有唯一地址,主計算機在訪問該設備之前需判別這個地址。例如,假定儀表可以耦合到主計算機,并受主計算機控制。在這種情況下,所有儀表都有相同的固定硬件跳線地址。第一層的主計算機為了選中儀表,只要簡單地選擇該硬件跳線地址即可。此時,所有儀表都處于無效狀態(tài)。如果主計算機向某一儀表發(fā)一信號,且這個信號與儀表的擴展地址匹配,則該儀表就被該主計算機變?yōu)橛行顟B(tài)。擴展地址是一個識別碼,在優(yōu)選實施例中,擴展地址可長達64字節(jié)。只要主計算機給出擴展地址,具有該地址的設備即進入有效狀態(tài)。以后向儀表地址所發(fā)的命令都由這個設備執(zhí)行,而不必每次都給出擴展地址。有效儀表執(zhí)行所有對儀表地址的命令,而無效設備則處于被動狀態(tài)。為使有效的擴展地址設備變?yōu)闊o效,主計算機只要給出另一擴展地址設備的擴展地址,使其變?yōu)橛行В瑫r就使原有效設備變?yōu)闊o效。假定任何可以由主計算機控制的設備都適用于本網絡設計方案,如電燈,電爐、噴灌系統(tǒng)及電話應答機等。假定在這個系統(tǒng)中至少有另一個擴展地址設備的硬件跳線地址,這個地址將用于系統(tǒng)保護或用戶識別。例如,在這個地址上的某一設備,可以有一擴展地址,只有當系統(tǒng)用戶給出這一擴展地址后,系統(tǒng)才能工作。在其它情況下,某些單獨操作在執(zhí)行前可能要求主計算機給出其它安全設備的擴展地址。這些安全設備像“鑰匙”一樣,用來鎖住整個系統(tǒng)或在系統(tǒng)上執(zhí)行的某些操作。
此外,本發(fā)明為網絡應用保留了軟地址段16。保留軟地址段是為有相同的外部設備耦合到總線上時所用。例如,如果總線上耦合了不只一個鼠型定標器,主計算機給每一個鼠型定標器分配新地址,這些地址就放在軟地址段。
盡管給出了耦合到總線上每一類型設備的特例,但對于分配的地址可能每類設備不只有一種。例如草圖板筆是一種絕對設備,而觸摸熒光屏也是絕對設備,且其與草圖板有相同的固定命令地址。此時,主計算機將在軟地址段給每一設備分配新地址。
在本發(fā)明的優(yōu)選實施例中,多個外部設備的地址分配如下地址設備類型例0000(0)擴展地址設備安全系統(tǒng),用戶ID0001(1)擴展地址設備儀表0010(2)編碼設備鍵盤0011(3)相對設備鼠型定標器0100(4)絕對設備草圖板,觸摸熒光屏0101(5)保留無0110(6)保留無0111(7)保留無1000(8)軟地址尋址相同外部設備………………1111(15)軟地址尋址相同外部設備本領域的技術人員將意識到,還可以給這些設備分配其它地址,這些地址的數(shù)位可以比實施例中多或少。
本優(yōu)選實施例中,所有外部設備都有四個寄存器用于接收和發(fā)送數(shù)據(jù)。對每一設備,說寄存器3和聽寄存器3包含了諸如設備地址、處理程序信息的狀態(tài)信息。其余寄存器都是數(shù)據(jù)寄存器,除聽寄存器2以外,這些寄存器是專有設備,聽寄存器2包含擴展地址設備的擴展地址或軟地址尋址設備的設備專有信息。
在本發(fā)明的這一優(yōu)選實施例中,外部總線上有三種類型的通訊,即命令、數(shù)據(jù)和全程信號。命令由主計算機傳送到外部設備;數(shù)據(jù)由主計算機傳送到外部設備或由外部設備傳送到主計算機;全程信號是特殊的傳送到全系統(tǒng)的信息。
在該優(yōu)選實施例中,數(shù)據(jù)按每一位元的低電平時間與高電平時間之比率編碼。位元邊界定義為總線上的下降沿。零編碼為這樣的位元,其低電平時間大于高電平時間,如圖2位元20所示?!?”則定義為這樣的位元、其低電平時間小于高電平時間,如圖2位元21所示。在本優(yōu)選實施例中、起始位定義為“1”,停止位為“0”,停止位沒有額外的下降沿來定義位元時間。停止位用來同步總線上處理過程的終止。
命令信號和低速數(shù)據(jù)傳輸?shù)奈辉芷诖蠹s為100微秒±30%。高速數(shù)據(jù)傳輸?shù)奈辉獮?0微秒±1%。數(shù)據(jù)處理的格式為起始位(1)其后是可達256位的數(shù)據(jù)位、最后是停止位,當使用其它的通訊裝置時,則可采用其它信號格式。
命令只能由主計算機發(fā)送。在本發(fā)明的優(yōu)選實施例中,有三種命令說、聽和清零。如圖6所示,為指示命令的開始,先給出了提示脈沖,提示脈沖由主計算機通過總線在“T-attn”周期內為低電平發(fā)送而產生。本優(yōu)選實施例中,T-attn周期大約為560-1040微秒。提示脈沖后是同步脈沖,同步脈沖用以啟動總線時序。同步脈沖的后沿用做命令第一位的時序參考點。命令后是一停止位(在本實施例中為“0”)。停止位后,如果沒有其它設備的服務請求,總線恢復到其正常的高電平狀態(tài)。
本優(yōu)選實施例中,命令是一8位值。該命令含有4位設備地址段,規(guī)定所需外部設備的固定硬件跳線地址(如鼠型定標器的地址是0011)。其后兩位是命令位,最后是兩位寄存器地址段,它在被選中待指定的外部設備中提供一個專用寄存器R0-R3。本優(yōu)選實施例中,命令代碼如下命令代碼清零01聽10說11說命令使被選中設備將其數(shù)據(jù)傳到主計算機,聽命令使被選中設備接收來自主計算機的數(shù)據(jù)并存入其寄存器。清零命令對由特殊設備定義的每個設備都有作用,它可用于寄存器清零或使鍵盤上的所有鍵復位以便再發(fā)送。
當選中某外部設備執(zhí)行說命令時,該設備必須在一定時間內做出回響,這稱做“時間超出”周期。時間超出周期“Tlt”大約為140-260微秒(2個位元)。被選中設備如果沒有時間超出,則在總線上變?yōu)橛行顟B(tài),執(zhí)行數(shù)據(jù)傳輸,然后結束命令執(zhí)行,恢復到總線上的無效狀態(tài)。
全程信號用于既非命令亦非數(shù)據(jù)的過程處理。全程信號包括提示與同步信號、用于起始命令和總線時序;服務請求信號,用于設備向主計算機請求服務;復位信號,使總線在Tres的極小值內為低電平,以在總線上產生中斷。Tres周期大約為2.8-5.2毫秒(40個位元)。全程信號將與其它處理過程一起做詳細描述。
由于一個外部設備在接到主計算機的說命令后只能發(fā)送數(shù)據(jù),本系統(tǒng)提供了一種設備可以通知主計算機需要服務的方法,這由設備向主計算機發(fā)送服務請求信號來實現(xiàn)。本發(fā)明中,發(fā)送服務請求信號就是在任一命令處理的停止位后使總線保持低電平。耦合到總線上的每一外部設備都有若干寄存器(本優(yōu)選實施例中為4個寄存器),圖3示出了外部設備的一個寄存器。A13位是服務請求使能位,當這一位被主計算機置為高電平,需要服務時,設備就能夠在命令處理的停止位后使總線處于低電平,如圖6所示。設備將持續(xù)發(fā)出服務請求,直到接到主計算機的說命令。圖4的流程圖給出了設備請求服務后的處理步驟。
最初,該設備確定它是否請求服務,即它是否有數(shù)據(jù)向主計算機傳送。如果有數(shù)據(jù)要傳送,設備將其內部標志位置位。當主計算機發(fā)出下一個命令時,設備檢查這是否發(fā)給它的命令。如果命令未選中這個設備,設備將檢查其服務請求使能位(寄存器3的A13位)是否置為高電平。如果是高電平,該設備在命令停止位后使總線為低電平,參見圖6。然后設備等待接收下一個主計算機命令,檢查是否被選中執(zhí)行說命令。如果命令選中這個設備,它將確定是否說命令,如果不是說命令,設備發(fā)出服務請求,執(zhí)行接到的命令,然后等待下一個命令;如果是說命令,設備發(fā)出數(shù)據(jù),并認為服務請求已被滿足。設備繼續(xù)監(jiān)視其自身狀態(tài),以決定何時需要服務。由于使主計算機能夠控制服務請求使能位,在總線上實現(xiàn)了更有效的操作。接到服務請求后,主計算機只需檢查服務請求使能位被置位的設備是否需要服務。此外,主計算機可以禁止某些特殊應用不需要的設備。
傳送數(shù)據(jù)時,設備可以檢測碰撞。如果外部設備要輸出1,而數(shù)據(jù)線是0或將要變?yōu)?,可認為該設備與另一設備發(fā)生了一次碰撞。這意味著,另一設備也在總線上傳送數(shù)據(jù)。這種情況發(fā)生時,被撞設備停止在總線上執(zhí)行說命令,并保留發(fā)送數(shù)據(jù)以備再發(fā)送。發(fā)生碰撞時,設備將其內部標志位置位。先有技術中,外部設備無法檢測碰撞。本發(fā)明的這一新特點使通訊操作更為有效。通過檢測碰撞,設備可以保留傳送的數(shù)據(jù),并向主計算機發(fā)出服務請求。本發(fā)明的檢測方法,在檢測到碰撞前不需要等待周期。如果總線被其它設備占用,設備將終止其數(shù)據(jù)傳輸,或當總線被占用時,就簡單地不開始傳輸,此外,這種檢測方法對于定位具有同樣硬件跳線地址的多個設備也是有用的,例如對于圖1所示的鼠型定標器11和12。
這種情況下,主計算機通過使碰撞設備共享相同的地址就可改變設備的地址,主計算機通過說R3命令選中這些設備以實現(xiàn)上述目的。R3(設備的寄存器之一)包含圖3所示的信息。A0到A7位是設備的處理程序信息,主計算機由此可知設備的功能和設備所提供數(shù)據(jù)的用途。A8到A11是地址段,當不只一個耦合到總線上的設備有相同的命令地址時,該段的內容被改變。此時,軟地址段之一將分配給A8到A11各位,以后這就用做設備的命令地址。在此之前,這些位元內是一隨機數(shù),用于輔助檢測碰撞。例如,如有兩個鼠型定標器接到說R3命令,且同時開始執(zhí)行說命令,二者都檢測不到碰撞。但如果寄存器R3的地址段內為隨機數(shù),則兩個設備的最終輸出將是不同的,此時,兩個設備之一將檢測到碰撞并停止執(zhí)行說命令。A12位是高速使能位,如果此位置位,則數(shù)據(jù)傳輸采用較高調制速率(每一位幀50微秒)。高速使能位由主計算機置位。如果主計算機不能用高調制速率接收數(shù)據(jù),它就將所有設備的高速使能位都置于低電平。如果主計算機可以用高調制速率接收數(shù)據(jù),且設備可以用高調制速率發(fā)送(那個信息包含在寄存器3內處理程序位中),則主計算機將設備的高速使能位置高電平。如前所述,A13位是服務請求使能位。由主計算機置位,以使設備能執(zhí)行服務請求處理。A14和A15位留做日后之用,被置為0。
接收到說R3命令之后,設備將其狀態(tài)(即處理程序和地址)提供給主計算機。如果總線上耦合了兩個同類型的設備,則只有一個響應命令,因為另一個會檢測到碰撞。圖5示出了在總線上分配新地址的方法。
接收到說R3命令后,設備將從寄存器3發(fā)送出它的狀態(tài)。如果數(shù)據(jù)線轉為低電平,設備就認為發(fā)生碰撞,停止發(fā)送(即停止執(zhí)行說命令),并將其內部標志位置位以表示發(fā)生了碰撞。主計算機向鼠型定標器的地址發(fā)送聽R3命令。每個說命令都將設備的內部碰撞標志位復位,設備檢查其碰撞位是否置位,如果沒有置位,設備將用聽R3命令中的軟地址取代A8到A11各位。在這種方式中,通過主計算機可以跟蹤設備的新地址可改變接收到命令的設備地址。如果設備在聽R3命令后檢測到碰撞位,設備不改變軟地址位,但可以改變R3的其它段。主計算機發(fā)出另一個說R3命令,以檢查是否有任何設備仍用鼠型定標器地址。此時,剩下的鼠型定標器將發(fā)出其起始位,檢測不到碰撞,并從寄存器3發(fā)出它的狀態(tài)。主計算機向鼠型定標器地址發(fā)回一個聽R3命令。此時,剩下的鼠型定標器將檢測不到本例中被置位的碰撞位,于是用從主計算機接收到的軟地址取代寄存器3中的A8到A11各位。然后主計算機向鼠型定標器發(fā)出另一個說R3命令,此時,因為在那個地址沒有鼠型定標器,所以總線上將時間超出,主計算機知道已經給每一個共享鼠型定標器地址的設備都分配了新的地址。
在本發(fā)明的一個實施例中,外部設備上有一設備,用于指示有效性,稱做有效性指示器。有效性指示器可以是鍵盤上的一個特殊鍵或是鼠型定標器上的一個按鈕。當不只一個設備耦合到總線上時,主計算機能顯示一條信息要求某個設備使用有效性指示器。而后,主計算機發(fā)聽R3命令,這條命令改變有效設備的地址。用這種方法,在多用戶系統(tǒng)中,每個設備都可被定位并分配新的地址。
到此,已經完整描述了允許將多個外部設備通過單端口耦合到主計算機的外部設備總線。
權利要求
1.一種用于由一連接到主計算機上的設備通過通訊媒體來請求服務的方法,其特征在于該方法包括如下步驟(1)如果該設備需要服務,主計算機將該設備的服務請求位設置為第一邏輯值,以允許該設備產生一服務請求信號;(2)該設備確定需要服務并將一內部標記位設置為第一邏輯值,以指示該設備需要服務;(3)該設備監(jiān)視來自主計算機的命令,以觀察是否該命令是尋址到該設備;(4)如果該命令不是尋址到該設備,并如果該服務請求位被設置為第一邏輯值,則該設備在該命令之后通過將通訊媒體保持一段第一時間間隔的低來在該媒體上發(fā)出一服務請求信號;(5)如果該命令尋址到該設備,如果該設備確定該命令不是服務該設備的命令,并且如果該服務請求位被設置在第一邏輯值,則該設備a)在該命令后通過將該通訊媒體保持一第一時間間隔為低來在該媒體上產生服務請求信號;b)執(zhí)行該命令;(6)如果該命令尋址到該設備,如果該設備確定該命令不是服務該設備的命令,并且如果該服務請求位不是設置在第一邏輯值,則該設備執(zhí)行該命令而不產生服務請求信號;(7)重復步驟3,4和6,直到該設備接收到一尋址到該設備、并服務該設備的命令。
2.根據(jù)權利要求1的用于請求服務的方法,其特征在于第一邏輯值是邏輯1。
3.根據(jù)權利要求1的用于請求服務的方法,其特征在于服務該設備的命令是尋址到該設備的說命令。
4.根據(jù)權利要求1的用于請求服務的方法,其特征在于包括另外一步驟,即,在接收到尋址到該設備的說命令之后,該該備發(fā)送其數(shù)據(jù)給主計算機。
全文摘要
在多個外部設備和主計算機之間傳輸數(shù)據(jù)的一種通訊裝置。總線上,一次只有一個設備可以執(zhí)行說命令而且僅僅響應來自主計算機的命令。當外部設備需要服務時,它通過使總線在任一命令之后保持低電平來發(fā)出服務請求信號。設備在接收到主計算機的說命令之前,持續(xù)發(fā)出服務請求。當不只一個同類型設備耦合到總線上時(如兩個鼠型定標器),主計算機給設備分配新地址。當設備要發(fā)送“1”時,可向總線發(fā)送低電平信號以檢測碰撞。
文檔編號G06F13/42GK1045883SQ9010257
公開日1990年10月3日 申請日期1986年4月24日 優(yōu)先權日1985年8月14日
發(fā)明者彼得·B·阿什金, 邁克爾·克拉克 申請人:蘋果電腦公司