|
Empway-kenttäväyläprotokolla |
YLEISTÄ:
TÄSSÄ OHJEESSA LUVUT NÄYTETÄÄN HEKSADESIMAALISENA, ESIM. 80 ON DESIMAALISENA 128.
KÄYTÖSSÄ ON NELJÄ SANOMATYYPPIÄ
MASTER ON TIETOKONE, JOKA PITÄÄ YLLÄ VÄYLÄLIIKENNETTÄ.
MASTER-ASEMIA VOI OLLA VÄYLÄLLÄ VAIN YKSI.
SLAVE ON ESIM. VAAKA TAI ALA-ASEMA, JOKA LÄHETTÄÄ VÄYLÄLLE VASTAUSSANOMIA AINOASTAAN MASTERIN PYYNNÖSTÄ.
SLAVE-ASEMIA VOI SAMALLA VÄYLÄLLÄ OLLA KORKEINTAAN 31 KPL. NE TUNNISTETAAN VÄYLÄTUNNUKSELLA, JOKA ON JOKAISELLA ASEMALLA OMA.
NORMAALI KYSELYSEKVENSSI:
MASTER LÄHETTÄÄ SLAVELLE KYSELYSANOMAN, JOSSA MÄÄRITTELEE MUISTIOSOITTEEN SLAVEN MUISTIAVARUUDESTA JA DATAN PITUUDEN TAVUINA.
SLAVE LÄHETTÄÄ VASTAUSSANOMAN, JOSSA ON PYYDETTY DATA.
NORMAALI PÄIVITYSSEKVENSSI:
KUN MASTER HALUAA MUUTTAA SLAVEN MUISTISSA OLEVAA DATAA, SE LÄHETTÄÄ SILLE PÄIVITYSSANOMAN, JOSSA ON MÄÄRITELTY MUISTIOSOITE SLAVEN MUISTISTA, DATAN PITUUSTIETO SEKÄ ITSE DATA.
SLAVE LÄHETTÄÄ KUITTAUKSENA ACK-SANOMAN
TOIMINNAT SANOMAVIRHEISSÄ:
JOS SLAVE SAA SANOMAN, JOSSA ON MUOTOVIRHE TAI VÄÄRÄ TARKISTUSSUMMA TAI VÄÄRÄ VÄYLÄTUNNUS, SE HYLKÄÄ SANOMAN EIKÄ LÄHETÄ VÄYLÄLLE MITÄÄN.
JOS MASTER EI SAA TIME-OUT-AJASSA (ESIM. 50 ms) VASTAUSTA TAI VASTAUKSESSA ON MUOTOVIRHE TAI VÄÄRÄ TARKISTUSSUMMA, SE HYLKÄÄ SANOMAN. JOS SLAVELLE KERTYY KOLME PERÄTTÄISTÄ VIRHETTÄ, PÄÄTTELEE MASTER, ETTÄ YHTEYS SINNE EI OLE KUNNOSSA JA ASETTAA VIRHEFLAGIN. SILTI MASTER JATKAA NORMAALIA KYSELYTOIMINTAA JA VIRHE KUITTAUTUU, KUN SLAVELTA SAADAAN KELVOLLINEN VASTAUS
SANOMAT:
TAVU |
KYSELY-SANOMA |
VASTAUS-SANOMA |
PÄIVITYS-SANOMA |
ACK-SANOMA |
0 |
STX |
STX |
STX |
ATX |
1 |
80 + DST (SLAVE) |
80 + DST (MASTER) |
80 + DST (SLAVE) |
80 + DST (MASTER) |
2 |
SRC (MASTER) |
80 + SRC (SLAVE) |
SRC (MASTER) |
80 + SRC (SLAVE) |
3 |
PITUUS = 3 |
PITUUS = M+3 |
PITUUS = M+3 |
PITUUS = 1 |
4 |
ADDRH |
ADDRH |
ADDRH |
ACK |
5 |
ADDRL |
ADDRL |
ADDRL |
ETX |
6 |
REC/NBR |
REC/NBR |
REC/NBR |
BCC |
7 |
ETX |
DATA 1 |
DATA 1 |
|
8 |
BCC |
DATA 2 |
DATA 2 |
|
... |
|
... |
... |
|
N-2 |
|
DATA M |
DATA M |
|
N-1 |
|
ETX |
ETX |
|
N |
|
BCC |
BCC |
|
SANOMAN ALOITUSMERKKI STX=02
SANOMAN LOPETUSMERKKI ETX=03
HYVÄKSYMISMERKKI ACK=06
DST=VASTAANOTTAJAN VÄYLÄTUNNUS, 00=KAIKKI
SRC=LÄHETTÄJÄN VÄYLÄTUNNUS
MASTERIN VÄYLÄTUNNUS ON YLEENSÄ 30 (desim. 48) ja SLAVET SAAVAT SIITÄ LÄHTIEN JUOKSEVAN VÄYLÄTUNNUSLUVUN ELI NORMAALISTI 31, 32, 33, ... (DESIM. 49, 50, 51, ...).
TARKISTUSSUMMAAN BCC LASKETAAN MUUT PAITSI ALKUMERKKI STX.
TARKISTUSSUMMA MÄÄRITELLÄÄN NIIN, ETTÄ EXCLUSIVE OR -FUNKTIO TAVUISTA 1...N ON NOLLA ELI XOR 1...N = 0.
REC/NBR:
NELJÄ YLINTÄ BITTIÄ=SANOJEN PITUUS,
NELJÄ ALINTA BITTIÄ=SANOJA/KPL
ALKU- JA LOPPUMERKKIÄ LUKUUNOTTAMATTA SANOMASSA ESIINTYVÄT MUUT 02 JA 03 KARAKTERIT VARUSTETAAN 02 ETUMERKILLÄ, JOTA EI LASKETA TARKISTUSSUMMAAN.
ESIMERKKI
VAAKA EMP-231
TIETOKONE = MASTER, VAAKA = SLAVE
MASTER LÄHETTÄÄ KYSELYSANOMIA.
SLAVE LÄHETTÄ VASTAUSSANOMIA.
VAAKALUKEMA ON OSOITTEESSA 28, JOTEN ADDR_H=00 JA ADDR_L=28.
VAAKALUKEMA ON 16-BITTINEN ELI SANOJEN PITUUS = 2 (TAVUA).
JOS LUETAAN VAIN VAAKALUKEMA ELI 1 SANA, ON REC/NBR = 21
OLETETAAN TIETOKONEEN VÄYLÄTUNNUS=30 JA VAA'AN TUNNUS=31.
KYSELYSANOMAKSI TULEE:
02 B1 30 03 00 28 21 03 88
JA KOSKA SANOMASSA OLEVA 03-KARAKTERI PITÄÄ VARUSTAA 02-ETUMERKILLÄ, LÄHETTÄÄ MASTER SANOMAN NÄIN:
02 B1 30 02 03 00 28 21 03 88
JOS ESIM. VAAKALUKEMA ON DESIMAALILUKUNA 12345 ELI HEKSADESIMAALISENA 3039, VASTAA VAAKA KYSELYYN:
02 B0 B1 05 00 28 21 30 39 03 07
MASTER KYSELEE VÄYLÄLLÄ OLEVIA VAAKOJA JÄRJESTYKSESSÄ. |
|