Journals / İTÜ Dergisi Seri D: Mühendislik / 2007 / Cilt: 6 - Sayı: 1
Bus design for distributed control systems
- Pages
- 65–76
- DOI
- —
Abstract
In this study, modular, scalable and flexible controlsystem architecture around a serial communicationbus is proposed to fulfill control tasks. This bus isnamed K-Bus. One of the differentiating features ofthe proposed architecture is its capability to accessdifferent data on distributed modules in a singlenetwork transaction. Accessing multiple modules ina single transaction can be achieved both while datawriting and data reading. Second differentiating fea ture of K-Bus is its capability to access predefinednext available slot. This allows high priority mastermodules to rapidly access to low priority moduleswithin master module’s priority. This feature en ables predictable access times to resources in multimastered networks. K-Bus also allows acknowl edgement to be transferred in a single networktransaction. High real time performance and relatively less proc essor resource consumption are key design require ments. Signals between K-Bus hardware and micro processor are designed to allow interrupt drivensoftware for network interfacing. Hardware layer isdesigned to transfer minimal load to the processor.It is capable of blocking interrupts to the processorfor data packages that are not targeted to proces sor’s module. An analyze have been performed toshow that, in the given example, using hardwareprovided method to block interrupts for a transac tion that does not involve the module would reducethe protocol related CPU load from 18.75% to 3%. Proposed architecture enables K-Bus to be used indifferent applications with variety of modules. K-Bus has following properties: different data frommultiple modules can be accessed in a single trans action; multiple master modules can be present onthe same data bus; hardware priority is given fordata packages; data package collisions are detectedat hardware level; erroneous or collided data pack ages are automatically resend by software; one datapackage can be broadcasted to more than one mod ule; by the help of standard data concept, fundamen tal parameters can be reached without using moduleaddress; by the help of block data transfer, morethan one data can be transferred in single K-Buspackage and the overhead coming from packagestructure is reduced. The paper is organized as follows: first the underly ing electrical layer of K-Bus, RS-485, is brieflycompared to other real-time network electrical lay ers. In the following section, logical components ofK-Bus are described. These are given in Figures 1and 2. An analysis is done in this section to demon strate the CPU savings using K-Bus’s interrupt dis abling capability for packages that are not targeted to a module. In the next section a sample read pack- age was shown in Figure 3. This sample read pack age demonstrates interrupt blocking capability and multiple data read capability. All K-bus packages have 9 fields: sender’s identification, SID; receiver’s identification, RID; command, CMD; package length, LEN; data fields DTA; optional acknowledge or not acknowledge, ACK/NAK; optional command data, CD; checksum CSM; and end of package, EOF. All K-Bus fields, sections except DTA, are of fixed length of 1 byte. Figure 3 shows all the sec tions except optional ACK/NAK. All K-Bus protocols start with sender identifier (SID) field. This field is used by the hardware layer to determine the priority of the sender. In case of data collision this field is used to decide the winner. Figure 3 also shows two hardware timers, HM and HM2, which are used to control transaction. In the later section a detailed electrical design of the given K-Bus interface is given and is shown in Figure 4. Last section dis cusses trade off of performance for real time capa bilities in K-Bus design.data without using module or data addresses. Net work data collision avoidance is obtained by addinghardware components around RS–485 electricallayer to detect and avoid data collision. Packagepriorities are obtained with sender’s identificationnumber in the protocol, which is also used by thehardware layer to decide the winner in case of a col lision. Two timer based locks are provided by thehardware layer blocks accessing to the bus during atransaction. One of the timers measures the time toend a whole transaction, while other timer keeps thetime between different module or data cycles withinthe transaction. Modules replying to a high prioritymaster will be able to produce their response in thesame package cycle, without the need to wait for the
Özet
Bu çalışmada, K-Bus olarak adlandırılan bir seri iletişim yolu çevresinde ölçeklenebilir, esnek vemodüler bir kontrol mimarisi önerilmiştir. RS–485 elektrik seviyesine donanım ilavesi yapılarakgüvenli ve yazılım yükü çok olmayan veri çarpışma önleme sistemi kurulmuştur. Verilen donanımmodeli üzerinde bir veri paketi iletim protokolü tanımlanmıştır. Yüksek gerçek zaman performanslı,göreli olarak az işlemci gücü gerektiren bir mimari anahtar tasarım istekleridir. Önerilen mimari- nin düşük işlem güçlü mikroişlemcilerde kullanılabilmesine imkân tanımak için K-Bus ilgilenilme- yen veri paketlerini belirleyerek işlemciye iletimi kesme ve bir paket iletimi boyunca hatta erişimiengelleme kabiliyetine sahiptir. Bu şekilde işlemciye yüklenen protokol ile ilgili yazılım yükü azal- tılmıştır. Önerilen mimarinin ayırt edici özelliklerinden birisi, tek çevrim içerisinde farklı ağ modül- lerinde bulunan verilere ulaşabilme kabiliyetidir. Bu özellik hem modüllere yazarken hem de mo- düllerden okurken kullanılabilir. K-Bus’ın diğer ayırt edici özelliği ise modül ve veri adresi kullan- madan, dağınık gerçek zamanlı ağ üzerinden, verilere ulaşabilme kabiliyetidir. Bu ayırt edici özel- liklerinin yanı sıra, K-Bus, CAN ve Profibus gibi diğer modern gerçek zamanlı veri yollarında bu- lunan kabiliyetlere de sahiptir. Birçok konuşucu modül aynı veri yolu üzerinde bulunabilir. Bir veripaketi yayın olarak birden çok modüle iletilebilir. Veri paketleri için öncelik verilebilir. Paket çar- pışmaları donanım düzeyinde önlenir. Hatalı veya çarpışan paketler yazılım tarafından tekrar yol- lanır.