1 20020的特征
在分析各實(shí)例之前,先解釋一下實(shí)例中使用的ARCNET控制器COM20020的特征。
圖1 COM20020的內部模塊圖
圖2 插腳位置圖
圖3 與Z80系列CPU連接的實(shí)例
? 20020 簡(jiǎn)介
COM20020使用了ARCNET協(xié)議設計(改良型令牌(token)信號誘導方式),以工業(yè)用機器人及汽車(chē)用機器的微控制器與高性能外圍設備相連接為目的,由一個(gè)通信用芯片所集成的LAN 控制器。
COM20020 在24pin(插腳)DIP(或者28pin的PLCC)中,由適應性很高的處理界面和媒體傳送界面以及8頁(yè)信息量的緩存器組成,在工業(yè)環(huán)境中的工作溫度范圍為-40℃~+85℃。
它同時(shí)還支持2K×8 bit 的雙接口RAM,傳送速度為150Kbps~10 Mbps,并具有自我診斷功能。
圖4 ARCNET的通信模式
圖5 信息包緩存器的動(dòng)作
ARCNET進(jìn)行數據接收和傳送的過(guò)程如圖4所示:
(1) 發(fā)送信息的CPU,把送信包(送信目的地的站號、送信數據)的內容寫(xiě)入COM20020內部RAM中;
(2) 發(fā)出送信命令;
(3) COM20020等待令牌信號的返回;
(4) 收到令牌信號后,送信目的站為了確認信息包是否處于待收狀態(tài),向空著(zhù)的緩存器發(fā)出詢(xún)問(wèn)信號(FBE);
(5) 信息包如果處于待收狀態(tài),送信目的站就回應確認信號(ACK);
(6) 送信源收到確認信號后,送出信息包;
(7) 送信目的站如正常收到信息包,便向送信源發(fā)出確認信號;
(8) 送信源收到確認信號后,將令牌信號傳給下一個(gè)站。
? 復數頁(yè)量的信息緩存器
COM20020控制器內裝緩存器,可儲存8頁(yè)的短信息包(short packet,253 字節),4頁(yè)的長(cháng)信息包(long packet,508 字節)。
ARCNET以信息包為單位收信和送信,CPU不必每收到1個(gè)字節的信息就加以處理,而是收到整個(gè)信息包后才一起讀入,這便減輕了CPU的負擔(如圖5a所示)。送信處理也是如此,1字節的信息寫(xiě)入后,并不立刻寫(xiě)入下一個(gè)數據,而是等到需要寫(xiě)入送信緩存器的所有數據都到齊后,送信命令才發(fā)出。送信中允許有優(yōu)先度較高的處理請求。
此外,收信站通??梢园凑沼脩?hù)決定的數據模式讀出送信源發(fā)出的數據,從而減輕信息包的處理負擔。
? 緩存器溢出
即使CPU不讀取緩存器中的數據,多個(gè)信息包緩存器中數據充滿(mǎn)時(shí)也沒(méi)有關(guān)系。當緩存器要溢出時(shí),為使緩存器不再受信, CPU在收到FBE時(shí)回送拒收信號 (NAK)(如圖5 b所示)。即使CPU無(wú)法處理接收到的數據時(shí),數據也不會(huì )丟失。
送信源收到有關(guān)FBE的NAK回答時(shí),就不再送信,而將令牌信號傳給下一個(gè)站。因此,即使某一個(gè)站無(wú)法通信,整個(gè)網(wǎng)絡(luò )也不會(huì )鎖閉。
? 用令牌信號確保實(shí)時(shí)性
由于可以計算ARCNET協(xié)議中的網(wǎng)絡(luò )最長(cháng)等待時(shí)間(向下一個(gè)站送出令牌信號或令牌信號回到原站的時(shí)間),FA網(wǎng)絡(luò )具有所需的實(shí)時(shí)性。另外,控制器會(huì )對節點(diǎn)的加入或脫離進(jìn)行管理,因此不會(huì )增加CPU的負擔。
即使CPU的處理速度不夠快,也可以滿(mǎn)足某些節點(diǎn)之間數據的頻繁傳輸(優(yōu)先級高的命令優(yōu)先處理)。這個(gè)系統可以說(shuō)是一個(gè)柔性網(wǎng)絡(luò )。
2 通訊系統實(shí)例
在此,從ARCNET所具有的許多特點(diǎn)中,將幾個(gè)應用網(wǎng)絡(luò )所具有的實(shí)時(shí)性、網(wǎng)絡(luò )的高自由度、高可靠性、對終端節點(diǎn)CPU的低依賴(lài)性、網(wǎng)絡(luò )自身的廉價(jià)性等特征的應用實(shí)例做一簡(jiǎn)要介紹。
2.1 FA用機器人的控制
? 機器人控制模式
FA用機器人的協(xié)調控制模式如圖6、圖7所示。為了控制這個(gè)機器人的各個(gè)機械手,以機械手為單位,設立了獨立的控制器。為了使機械手達到目標位置,各控制器對機械手的各個(gè)關(guān)節發(fā)出速度指令。
機械手的控制方法有多種,而本例中速度指令的發(fā)出方法采用雅可比的逆行列解法。另外,為了準確、更快地使機械手達到目標位置,必須加快控制周期的計算,同時(shí)對PID(Proportional Integral Differential)進(jìn)行控制。
為了加快控制周期的計算,常常利用DSP(Digital Signal Processor)方式提高計算速度。
? 協(xié)調控制
對冗余機器人來(lái)說(shuō),可用雅可比的模擬逆行列解法來(lái)決定關(guān)節速度。在這種情況下,機械手的姿勢不一定采用人們所期待的姿勢。即雖然能夠確保機械手的目標位置,但是對機械手的姿勢并無(wú)特定期望。因此,通常為了保持所希望的姿勢,用提供評價(jià)參數(約束條件)來(lái)求解。
以此模型為例,機械手#1將貨物從A運到B,機械手#2將貨物從B運到C是效率最高的方法。由機械手#1從A運到B的貨物,馬上被機械手#2從B運到C。
這時(shí),如果兩個(gè)控制器對相互的姿勢及狀況無(wú)法把握的話(huà),就無(wú)法進(jìn)行有效的控制。最嚴重的情況是,機械手#1與#2互相干擾,導致機械手的損壞。對此類(lèi)問(wèn)題的有效控制,稱(chēng)之為協(xié)調控制。
圖6 FA用機器人的模式
圖7 機器人控制器的結構
? 情報通信(LAN)的條件
為了協(xié)調控制,各控制器之間的情報通信是必要的,為此采用了LAN方法。LAN所要求的條件列舉如下:
(1) 一般來(lái)說(shuō), FA要求的系統都是ROM化的,本系統也不例外。因此,要求軟件簡(jiǎn)單,操作量?。ㄒ詼p輕CPU的負擔);
(2) 發(fā)生障礙時(shí)容易維修。使用者可以把握驅動(dòng)器周?chē)臓顩r,即可以容易地制作與驅動(dòng)器關(guān)聯(lián)的軟件。這一點(diǎn)也關(guān)系到可靠性和可維修性(軟件開(kāi)發(fā)簡(jiǎn)單);
(3) 就控制性質(zhì)而言,在電波干擾等環(huán)境中,這是一個(gè)強有力的LAN系統;
(4) 信息包的接收過(guò)程是可預測、可確定的(實(shí)時(shí)性);
(5) 可容易地增減控制器(網(wǎng)絡(luò )的擴展性和柔軟性)。
? LAN的選定
作為滿(mǎn)足上述條件的LAN,本系統采用了ARCNET。系統的計算控制周期為5ms~8ms。在這么長(cháng)的時(shí)間段內控制器的情報通信是完全可行的。各控制器以L(fǎng)AN形式連接。它和以總線(xiàn)(Bus)形式連接相比較,后者是由多個(gè)CPU構成,會(huì )產(chǎn)生CPU間的數據干擾,而前者則容易避免這個(gè)問(wèn)題,從而減輕編程人員的工作量。
總的來(lái)說(shuō),ARCNET的驅動(dòng)器周邊程序碼為2KB,很容易ROM化。對協(xié)調控制來(lái)說(shuō),雖然還存在機器人本身的控制體系問(wèn)題,但是作為通信手段,ARCNET已經(jīng)達到目的。
2.2 病房大樓內LAN系統
? 病房大樓內LAN的必要性
近年來(lái),醫院面臨著(zhù)護士人才不足以及工作時(shí)間長(cháng)等許多問(wèn)題,希望減輕護士的負擔。
實(shí)際上,醫院(病房)有大小不同的房間,為收集病人的情況(血壓、脈搏、體溫、尿量以及根據癥狀而定的診斷情況等),護士們要不斷地巡回檢察。病房大樓設有護士集中的護士室,所有情況都在這里統一管理,必要時(shí)向醫生提供,這是醫院的一般做法。另外,病房?jì)鹊幕颊呔o急求助時(shí),通過(guò)按床邊呼叫器通知護士。病房?jì)鹊暮艚衅飨到y使得很多電線(xiàn)分布于各處。
在此考慮將這些電線(xiàn)利用起來(lái),通過(guò)LAN將各個(gè)醫療感應器收集來(lái)的情報自動(dòng)送出。如果每個(gè)醫療器各自布線(xiàn),病房就成了布滿(mǎn)電線(xiàn)的怪物了。但如果讓每個(gè)機器連到LAN系統,并在病房?jì)榷嘣OLAN接口,這就很容易集中管理了。
? 病房大樓LAN的條件
此處介紹的系統是病房大樓內LAN的一個(gè)嘗試。為了防止由污物引起的室內感染和對臭氣的及時(shí)處理,以及減輕護士的負擔等,美國科動(dòng)控制系統公司開(kāi)發(fā)了如圖8所示的LAN所對應的檢尿裝置及測定值自動(dòng)送信系統。
圖8 檢尿裝置及測定值自動(dòng)送信系統
在設計此系統時(shí),首要的考慮是針對醫院內電子儀器所產(chǎn)生的各種電波干擾采取對策,如CT或X光機發(fā)出的電波干擾。別說(shuō)其他電子儀器,就是對LAN本身網(wǎng)線(xiàn)電波干擾的對策也很重要。因此,在采用LAN時(shí),請注意以下幾點(diǎn):
(1) 利用插入接口,容易與LAN結合;
(2) 接口部設計緊湊、輕巧,易于制作;
(3) 對電波干擾的抵抗力強;
(4) 在軟件方面設計簡(jiǎn)單;
(5) 增加接口時(shí)簡(jiǎn)單容易。
? 病房LAN的選定
根據以上各種理由,在此采用了ARCNET(2.5Mbps)?,F在,同一條線(xiàn)上連接了64臺設備,這對數據的收集時(shí)間來(lái)說(shuō),沒(méi)有任何問(wèn)題。
如果其他的醫療機器與LAN連接,雖然依賴(lài)于數據信息的長(cháng)度以及數據發(fā)送的頻度,但如果假定平均信息長(cháng)度為128字節,即使是同時(shí)送信,推算大約1.5s左右數據便可以存入數據庫(如果不考慮數據庫機器回答的等待時(shí)間,50ms內全部通信可以完成)。
今后的課題是,在這個(gè)系統上,如果各種各樣的醫療機器需要同時(shí)使用時(shí),軟件的標準化將成為一大問(wèn)題。