Jste zde

Measurement Bus

Norma Measurment BUS je především určena pro přenosy dat v oblasti jednoduché automatizaci a sběru dat. Protože standard využívá sběrnici typu RS-485, je velmi snadno implementovatelný v libovolném procesoru vybaveném pouze asynchronním sériovým rozhranním (UART). Vše ostatní lze realizovat programově. Následující článek popisu základní strukturu a vlastnosti standardu.

Measurement Bus je výsledkem kooperace výrobců v oblasti průmyslového měření, automobilového průmyslu a "Physikalisch-Technische Bundesanstalt" (Federal German Authority for Testing, Calibration and Certification). Vznikl už v roce 1986, ale plně standardizován až v roce 1989 jako DIN 66348 Section 2: "Interfaces and Control Procedures for Serial Measurement-Data Transfer, Start-Stop Transfer, 4-Wire Bus". V praxi je pak používán od roku 1990. Standardu DIN 66348, část 2 definuje fyzickou a linkovou vrstvu ISO-OSI modelu. Jde o sběrnici s Master-Slave řízením, definice její fyzické vrstvy odpovídá standardu RS-485. Na 4 - vodičovou sběrnici je možno připojit až 32 jednotek s typickou přenosovou rychlostí 9600 Bd. Norma však umožňuje použití přenosových rychlostí až do 1 MBd. Pro vyšší vrstvy (aplikační) ISO-OSI modelu je doporučen standard DIN 66348, část 3. Stále ve vývoji je DIN 66348, část 4., která by měla popisovat některé proměnné, příkazy a funkce, které mají přispět k jednoduššímu řízení měřených funkcí, přenosu měřených parametrů a reprezentaci dat z různých aplikací. V současnosti již několik společností vložilo measurement bus komponenty do svých měřících programů (například LabWindows, TestPoint)

Charakteristické rysy lze shrnout do několika následujících bodů:

  • Sběrnice dle EIA RS-485
  • Galvanicky oddělené plně duplexní rozhraní
  • čtyřvodičová sběrnice se stíněným kabelem s kroucenými páry
  • Délku vedení je doporučeno omezit asi na 500m pro typ sítě sběrnice a na 5m pro přípojnou větev. V praxi je závislá na přenosové rychlosti.
  • Maximálně 32 účastnických stanic včetně stanice řídící (Master), tzn. 31 Slave stanic
  • řízení komunikace na principu Master - Slave
  • Asynchronní přenos znaků, 7 bitů dat, sudá parita
  • Přenosová rychlost do 1 Mbit/s, typicky do 9600 Bd
  • Zabezpečení datového bloku pomocí příčné parity
  • Délka datového bloku maximálně 128 znaků

Fyzická vrstva

Sběrnice v mnoha ohledech odpovídá standardu RS-485. Navíc standard DIN 66348 definuje galvanické oddělení, konektory a terminály.

STRUKTURA SBěRNICE

Measurement bus je tvořena strukturou typu sběrnice Master - Slave. Sběrnice je plně duplexní, tzn. že řídicí stanice (Master) vysílá na jedné dvojici kroucených vodičů označené např. “A” a přijímá na druhé označené např. “B”. Účastnické stanice (Slave) pak přijímají na dvojici “A” a vysílají na dvojici “B”. Na hlavní vedení, jehož délka by neměla přesáhnout 500m, je zakončeno na obou koncích terminátory. Jednotlivé stanice se připojují pomocí vedlejších vedení, jehož délka by neměla přesáhnout 5m. Počet stanic může být až 31 mimo stanice řídicí (Master). Pro účastnické stanice se používá jednoduché vedení, stanice řídicí však musí mít speciální propojovací vedení, které překříží vysílací a přijímací linku. Následující obrázek ukazuje možnou strukturu sběrnice measurement bus.

Příklad struktury sběrnice Measurement BUS


 

GALVANICKÉ ODDěLENÍ

Standard DIN 66348 definuje úplné galvanické oddělení vysílače, příjímače. To se provádí z důvodu omezení vlivu souhlasného napětí a tím snížit chybovost přenesených rámců dat.

 

Blokové schéma galvanického oddělení rozhranní

KONEKTORY

Na hlavním vedení i vedení vedlejších a na všech stanicích se používají 15-ti pinové konektory typu Canon. Přiřazení vývodů jednotlivým pinům je v následující tabulce. Kontakty označeny jako volitelné je možné použít pro libovolné funkce dle vůle konstruktéra. Stínění se obvykle připojuje na provozní zem u řídicího zařízení (Master). To je připojeno ke sběrnici pomocí speciálního kabelu s překříženými vodiči 2A-4B, 4A-2B, 9A-11B, 11A-9B (značení dle tabulky).

 

číslo kontaktu

 

Funkce

 

1

 

Stínění

 

2

Vysílaná data (A)

4

Přijímaná data (A)

7

Volitelné

8

Sběrnicová zem

9

Vysílaná data (B)

11

Přijímaná data (B)

14

Volitelné

15

Napájení +5V (volitelné)

ostatní

nedefinované

Rozmístění kontaktů na konektoru CANON 15 pinů

Linková vrstva standardu

Linková vrstva opět vychází z principu asynchronního sériového přenosu dat a tedy hodně věcí je společných s linkovou vrstvou standardu RS-485.

Formát znaku

Znaky jsou přenášeny v klasickém formátu pro sériový asynchronní přenos jaký používají i standardy RS-232 a RS-485. To znamená v podobě posloupnosti bitů začínající tzv. start bitem (log. 0) , pak následuje 8 bitů dat, resp. 7 bitů dat a 8.bit je paritní. To znamená, že lze přenášet pouze srandadní znaky ASCII. Při přenosu je 1. datový bit ten LSB (Least Significant Bit - nejméně významný bit) a 7. datový bit MSB (Most Significant Bit - nejvíce významný bit). Celá sekvence je zakončena tzv. stop bitem (log. 1).

Nevýhodou tohoto přenosu je náročnější přenos binárních dat, protože musí být kódována, naopak výhodou je snadná čitelnost a kontrola přenosu. Paritní bit zajišťuje jištění bloku při přenosu, resp. zpětnou kontrolu po přenosu, že data byla přenesena bezchybně. Využívá se zde tzv. sudá parita (součet modulo 2 všech 8 bitů musí být nula). Navíc je přenos zajištěn kontrolním znakem BCC, což je sedmibitové číslo, které je také zajištěno paritním 8. bitem. Princip BCC: Binární znaky každého místa kontrolního znaku představují paritní bit bit vytvořený pro příslušná místa všech znaků dat. Opět se využívá princip sudé parity. Tento kontrolní znak BCC se začne generovat vždy po přenosu řídícího znaku SOH (nebo STX) a generování končí po přenosu ETB ( nebo ETX ( popis zkratek - viz tabulka dále)

Adresování a řídící znaky

Protože se jedná o plně duplexní 4-vodičovou komunikaci, každé účastnické zařízení má 2 adresy. Jednu vysílací a jednu přijímací.

 

 

Datový bit

 

Význam

1 - 5

Adresa jednotky

6

V logické 1 - vysílací adresa (označ. SADR)

 

V logické 0 - přijímací adresa (označ. EADR)

7

Stále v logické 1

Struktura adresy účastnického zařízení (Slave)

Takto jsou adresovány účastnické stanice čísly 1 až 31. Speciální adresa 0 je určena pro skupinový příjem tzv. broadcast, kdy zprávu vyslanou stanicí čtou všechny připojené stanice na sběrnici.

V následující tabulce je přehled řídících znaků pro řízení komunikace mezi Master řídící stanicí a Slave účastnickou stanicí.

 

řídicí znaky

 

Hexadecimálně

 

Význam, použití

 

SADR ENQ

 

xx05

 

Vyzývací fáze: výzva k vysílání na SADR

 

EADR ENQ

 

xx05

 

Vyzývací fáze: výzva k příjmu na EADR

 

ENQ

 

05

 

Přenosová fáze: výzva pro přijímač dat k zaslání potvrzení

 

SADR DLE 3/0

 

xx1030

 

Vyzývací fáze: kladné potvrzení od SADR

 

EADR DLE 3/0

 

xx1030

 

Vyzývací fáze: kladné potvrzení od EADR

 

DLE 3/1

 

1031

 

Přenosová fáze: kladné potvrzení

 

SADR NAK

 

xx15

 

Vyzývací fáze: negativní potvrzení od SADR

 

EADR NAK

 

xx15

 

Vyzývací fáze: negativní potvrzení od EADR

 

NAK

 

15

 

Přenosová fáze: negativní potvrzení

 

SOH

 

01

 

Vyzývací fáze: při křížovém provozu začátek hlavičky, následuje přijímací adresa

 

STX

 

02

 

Přenosová fáze: začátek datového bloku

 

ETB

 

17

 

Přenosová fáze: konec datového bloku

 

ETX

 

03

 

Přenosová fáze: konec datového bloku a konec textu

 

EOT

 

04

 

Konec spojení, všechny stanice přecházejí do základního stavu

Tabulka řídících znaků

řízení přenosu a přenosu dat

Jak již bylo řečeno, každá stanice má svoji přijímací EADR a vysílací adresu SADR. Sběrnice je řízena centrálně řídícím zařízením Master, které periodicky vyzývá účatnické stanice (Slave) k vysílání a příjmu.Výzvou SADR ENQ (první příkaz v tabulce) je adresou daný Slave vyzýván k vysílání dat a naopak výzvou EADR ENQ (druhý příkaz v tabulce) je dotazována, zda může přijímat data. Dále lze pro určení postupu komunikace postupovat v tabulce řídících příkazů od shora dolů. Konec spojení oznamuje poslední příkaz v tabulce EOT. Přenos dat se využívá příkazů v tabulce označených jako přenosová fáze. Je třeba podotknout, že délka přenášeného bloku dat nesmí překročit 128 znaků. Zajímavý je sled příkazů SOH EADR STX, který lze označit jako křížový přenos. Znamená, že řídící zařízení Master má daný blok dat přeposlat během některého z následujících přenosových cyklů dále účastnické stanice Slave s adresou danou EADR. Na konci vysílání vždy vysílací stanice vyšle znak EOT a přejde do základního stavu.

Implementace standardu

Jak již bylo poznamenáno v úvodu, implementace tohoto standardu do většiny zařízení obsahující mikroprocesor je velice snadná. Stačí pouze:

  • UART (Universal Asynchronous Receiver Transmiter)
  • dva budiče budiče/přijímače pro RS-485
  • tři optické oddělovače
  • DC/DC konvertor pro napájení galvanicky oddělené části

Linkovou vrstvu lze implementovat programově jako stavový automat, jehož chod je řízen přerušeními od řadiče sériové komunikace. Ke kontrolu časových intervalů se využívá časovač. Nároky na výkon procesoru pro implementaci této vrstvy se zvyšují s rychlostí přenosu. Také je nutné rozlišovat zda zařízení pracuje jako Master nebo Slave. Master je neustále aktivní narozdíl od Slavů, které pracují vždy jen krátký časový úsek.

Aplikační protokoly

Doporučeny jsou aplikační protokoly standardu DIN66348, díl 3. Tyto protokoly vycházejí ze standardu MSS (Manufacturing Message Specification - ISO9506-1/-2).

Na následujícím obrázku je ukázka komunikační cesty mezi dvěma aplikačními protokoly zařízení připojených na sběrnici.

Blokové schéma komunikace mezi aplikačními protokoly

Datová komunikace mezi aplikačními protokoly prostřednictvím rámce tzv. Protocol Data Unit - PDU, jehož struktura je zobrazena v následující tabulce. Tato jednotka začíná znakem začátku datového bloku STX, následuje datovým obsahem, pokračuje znakem konce datového bloku ETX a za ním následuje kontrolní znak BCC.

 

 

 

STX

Obsah : 0 - 128 Byte

ETX 

BCC

Formát protokolové datové jednotky (Protocol Data Unit - PDU)

Dále jsou popsány služby, které jsou požadovány pro komunikaci mezi dvěma zařízeními na aplikační vrstvě. MSS poskytuje komunikaci na principu klient - server, tzn. že komunikace existuje nezávisle na aktuální cestě přenosu dat mezi dvěma účastníky sítě. Například žádající uživatel (requesting user) vyšle službu čtení a odpovídající uživatel (responding user) ji vykoná. Aplikační služby se dají rozdělit na služby s potvzením ( confirmed services ) a služby bez potvrzení ( uncofirmed services ).

Pro předávání PDU je nejdříve nutné provést inicializace na úrovni aplikační vrstvy službou Initiate. Tato služba patří mezi tzv. "donucovací služby (compulsory services)", v nichž jsou dále obsažený další služby jako jsou Abort, Reject, Identify. Protokol definuje desítky služeb pro měření apod. Bližší rozpis tohoto doporučeného aplikačního protokolu lze nalézt na

Závěr

Measurement Bus je výhodná díky své přibuznosti se standardem RS-485 ve fyzické a linkové vrstvě. Tím lze dosáhnout jednoduché implementace na každém zařízení obsahující UART, ať už je implementovaný přímo na chipu mikroprocesoru či mikrokontroléru nebo externí IO. Veškeré odlišné vlastnosti sběrnice se již implementují softwarově. Je vhodná pro využití v průmyslovém testování a měření, včetně kontroly kvality a monitoring procesů. Není vhodná pro vysoce časově ekvidistantní detekci velmi dynamických procesů.

 


Odkazy :

[1] http://www.infoside.de/infida/dinmess/measure.htm - obecné informace o standardu Measurement Bus v angličtině
[2] J. Novotný: Measurement Bus, Automatizace 7/98
[3] http://www.infoside.de/infida/dinmess/din3e.htm - definice aplikační vrstvy doporučeného standardu DIN66348, díl 3.

Antonín Vojáček
vojaceka1@ seznam.cz

Hodnocení článku: