Vous êtes sur la page 1sur 14

ALCA coin verzija 1.

KOMUNIKACIJSKI PROTOKOL

01.01.30

KOMUNIKACIJSKI PROTOKOL

etonjera ALCA AL03 ima RS232 suelje putem kojega moe komunicirati sa vanjskim ureajima. Parametri komunikacije su 9600bps, no parity, 1 stop bit. Prilikom komunikacije postoje dvije vrste podatka: podaci sa potvrdom primitka (acknowledge) i podaci bez potvrde. Kod podataka sa potvrdom primitka ureaj koji inicira vezu (to je uvijek ureaj koji je spojen na etonjeru) ne alje sljedei podatak dok ne primi potvrdu primitka prethodnog (time etonjera potvruje ispravnost primljenog podatka i spremnost za primitak sljedeeg). Ureaj kada alje podatke bez potvrde ne oekuje odgovor na njih. U komunikaciji sa etonjerom vanjski ureaj moe itati sadraj memorijskih lokacija, pisati u odreene memorijske lokacije te naredbom traiti od etonjere da izvri neke specifine zadatke. Zbog toga je bitna organizacija memorijskog prostora etonjere.

Organizacija podataka
Podaci u EEPROM-u etonjere su podijeljeni u etiri podruja: podaci o kovanicama, opi podaci, statistiki podaci i podaci za patch rutine (slika 1).

$B600

Podacio uzorcima kovanica

Opi podaci $B6C0 $B6CD Statistiki podaci

$B750

Prostor rezerviran za patch rutine

$B7FF Slika 1. U daljnjem tekstu emo detaljnije razmotriti organizaciju svakog podruja.

1/14

ALCA coin verzija 1.0 Podaci o kovanicama

KOMUNIKACIJSKI PROTOKOL

01.01.30

U ovom memorijskom prostoru smjeteni su podaci o kovanicama dobiveni prilikom programiranja odreenog kanala. Postoji mogunost 12 takvih kanala to jest programiranja 12 kovanica razliitih magnetskih karakteristika. Svaki kanal ima 16 podataka kojima se definira karakteristika kovanice i kanala (teinska vrijednost pridruena kanalu, vrijeme trajanja izlaznog impulsa, koje izlaze aktivira kanal i koja mu je tolerancija). U tablici 1 moemo vidjeti kako su organizirani podaci odreenog kanala. $00 $01 $02 $03 $04 $05 $06 $07 $08 $09 $0A $0B $0C $0D $0E $0F Podatak o magnetskom mjerenju 1 Tolerancija magnetskog mjerenja 1 Podatak o magnetskom mjerenju 2 Tolerancija magnetskog mjerenja 2 Podatak o magnetskom mjerenju 3 Tolerancija magnetskog mjerenja 3 Podatak o magnetskom mjerenju 4 Tolerancija magnetskog mjerenja 4 Podatak o magnetskom mjerenju 5 Tolerancija magnetskog mjerenja 5 Podatak o magnetskom mjerenju 6 Tolerancija magnetskog mjerenja 6 Aktivirani izlaz Trajanje izlaznog impulsa Teinska vrijednost kanala Tolerancija Tablica 1. Znaenje pojedinih podataka: PODATAK O MAGNESTKOM MJERENJU ovi podaci se dobivaju prilikom uenja raspoznavanja kovanice, a vrijednost svakog podatka ovisi o odreenoj magnetskoj karakteristici kovanice. TOLERANCIJA MAGNETSKOG MJERENJA ovaj podatak sadri maksimalnu apsolutnu toleranciju koju smije imati izmjerena vrijednost nepoznatog uzorka da bi se podudarala sa vrijednou zapamenog uzorka. Vrijednost $FF znai da se odreeni parametar ne uzima u obzir prilikom usporeivanja. AKTIVIRANI IZLAZ ovaj podatak govori koji e izlaz(i) biti aktiviran u sluaju da je nepoznati uzorak prepoznat. Bitovi 1 do 6 pridrueni su izlazima 1 do 6 (sadraj bitova 0 i 7 je ne vaei). Aktiviran e biti onaj izlaz koji na mjestu odreenog bita ima jedinicu. BIT 7 BIT 6 IZLAZ 6 BIT 5 IZLAZ 5 BIT 4 IZLAZ 4 BIT 3 IZLAZ 3 BIT 2 IZLAZ 2 BIT 1 IZLAZ 1 BIT 0 -

2/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

TRAJANJE IZLAZNOG IMPULSA odreuje koliko e biti trajanje izlaznog impulsa ako se nepoznati uzorak podudara sa zapamenim. Osnovna jedinica vremena je 2ms. Ukoliko elimo vrijeme trajanja izlaznog impulsa od 100ms kao ovaj podatak emo zapisati 50 (50 * 2ms = 100ms).

TEINSKA VRIJEDNOST KANALA odreuje kolika je vrijednost raspoznate kovanice. TOLERANCIJA odreuje kolika je tolerancija dodana podacima o magnetskim mjerenjima. Postoje dvije vrste tolerancije: prva se dobiva rasipanjem parametara uzoraka prilikom uenja, dok je druga tolerancija umjetno dodana radi eventualnih (buduih) rasipanja parametara kovanica koje se trebaju raspoznati. Zbroj tih dviju tolerancija se nalazi u podatku TOLERANCIJA MAGNETSKOG MJERENJA, dok umjetno dodana tolerancija (mala, srednja i velika vrijednost koja se dodaje je 2, 4 i 6 bitova) nalazi se u ovom podatku.

Opi podaci Meu opim podacima nalaze se podaci vani za funkcioniranje kompletne etonjere. Kako su ti podaci organizirani moemo vidjeti u tablici 2. $B6C0 $B6C1 $B6C2 $B6C3 $B6C4 $B6C5 $B6C6 $B6C7 $B6C8 $B6C9 $B6CA $B6CB $B6CC Teinska vrijednost akumulatora Aktivirani izlaz akumulatora ne koristi se Vrijeme trajanja izlaza akumulatora Vrijeme trajanja vremenskog izlaza Logika izlaza Verzija etonjere Lozinka (password) Kalibrirana vrijednost 1 Kalibrirana vrijednost 2 Tablica 2. Znaenje pojedinih podataka: TEINSKA VRIJEDNOST AKUMULATORA vrijednost koju mora dostii zbroj TEINSKIH VRIJEDNOSTI KANALA prepoznatih kovanica da bi se aktivirao izlaz akumulatora. VRIJEME TRAJANJA IZLAZA AKUMULATORA vrijeme koje e etonjera drati aktivan izlaz akumulatora. Ovaj podatak kod verzija etonjere sa vremenskim izlazom mora biti 50 da bi VRIJEME TRAJANJA VREMENSKOG IZLAZA bilo u sekundama.

3/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

VRIJEME TRAJANJA VREMENSKOG IZLAZA vrijeme trajanja izlaza akumulatora kod etonjera sa vremenskim izlazom. Ovo vrijeme je u sekundama ukoliko je kao VRIEJME TRAJANJA IZLAZA AKUMULATORA stavljena vrijednost 50.

LOGIKA IZLAZA bitovi 0 do 6 odreuju logiku izlaza akumulatora i izlaza 1 do 6. Ukoliko je odreeni bit u jedinici logika je negativna (aktivno stanje izlaza nisko), dok ukoliko je u nuli logika je pozitivna (aktivno stanje izlaza visoko).

BIT 7

BIT 6 IZLAZ 6

BIT 5 IZLAZ 5

BIT 4 IZLAZ 4

BIT 3 IZLAZ 3

BIT 2 IZLAZ 2

BIT 1 IZLAZ 1

BIT 0 AKUMULATOR

VERZIJA ETONJERE sadri podatak o verziji etonjere. LOZINKA ukoliko pristup odreenim parametrima etonjere zatien lozinkom na ovim lokacijama je zapisana lozinka.

KALIBRIRANA VRIJEDNOST 1 vrijednost koju treba odravati regulacijski sustav prvog mjernog senzora.

KALIBRIRANA VRIJEDNOST 2 vrijednost koju treba odravati regulacijski sustav drugog mjernog senzora.

Statistiki podaci Statistiki podaci sadre statistiku prolaska kovanica i to po kanalima i akumulatoru. Na poziciji $B6CD nalazi se statistika akumulatora, a dalje ide redom po kanalima (12 kanala). Svaki statistiki podatak zauzima etiri byte-a (tablica 3). $00 $01 $02 $03 Pokaziva na byte najvee teine Podaci Podaci podaci Tablica 3. Pokaziva na byte najvee teine pokazuje na byte koji ima najveu teinu. Ostali byte-ovi zauzimaju teinu redom (npr. ukoliko je podatak $02 byte najvee teine onda dalje idu $03 te $01). To je napravljeno radi ravnomjernijeg optereivanja memorijskih lokacija prilikom zapisivanja statistike. Byte najmanje teine ima najveu frekvenciju brisanja i pisanja podataka. Da bi se produio vijek trajanja EEPROM-a (ogranien maksimalnim brojem ciklusa pisanja/brisanja) svakih 256 zapisa mijenja se teinska pozicija byte-ova (putuje cikliki izmeu lokacija $01, $02 i $03) tako da se ravnomjernije rasporede ciklusi itanja i pisanja po memorijskim lokacijama. Takoer se statistiki podaci zapisuju kao komplement to smanjuje potrebu brisanja memoriske lokacije na pola (tehnika pisanja omoguava da se 1 pretvori u 0 bez brisanja). 4/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

Prostor rezerviran za patch rutine Na ovim memorijskim lokacijama se nalaze vektori raznih podprograma kao i zakrpe (patch-evi) tih programa, u sluaju dizanja etonjere u bootstrap modu doi e do brisanja sadraja EEPROM-a ime e se izgubiti skokovi na potrebne podprograme te etonjera nee ispravno funkcionirati (to je zatita od neovlatenog kopiranja programa).

5/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

Komunikacijski protokol etonjere verzija 1.0


Kao to je ve reeno parametri komunikacije su 9600, 8, n, 1. Prilikom komunikacije sa etonjerom ureaj spojen na etonjeru je master (alje sve zahtjeve) dok je sama etonjera slave (samo odgovara na zahtjeve). Prilikom komunikacije postoje dvije vrste podatka: podaci sa potvrdom primitka (acknowledge) i podaci bez potvrde. Kod podataka sa potvrdom primitka ureaj koji inicira vezu (to je uvijek ureaj koji je spojen na etonjeru) ne alje sljedei podatak dok ne primi potvrdu primitka prethodnog (time etonjera potvruje ispravnost primljenog podatka i spremnost za primitak sljedeeg). Ureaj kada alje podatke bez potvrde ne oekuje odgovor na njih. Samo prilikom zahtjeva podataka za display radi se o podacima bez potvrde. Sam protokol je tako zamiljen da master alje prvo kod A (Attention) kojim inicira vezu (ukoliko se veza ne inicira etonjera nee prihvatiti kasnije naredbe). etonjera e odgovoriti sa A i time staviti masteru do znanja da je spremna za prihvat podataka. Nakon toga je etonjera spremna prihvatiti naredbe. Po zavretku slanja naredbi etonjeri, master zatvara vezu slanjem naredbe za raskid veze. Sintaksa naredbe Prilikom slanja svake naredbe master prvo alje kod naredbe X (X umjesto X doe odreeni kod za odreenu naredbu). Iza koda naredbe alju se parametri naredbe. Svi ovi podaci oekuju potvrdu. Potvrda prijema podatka je slanje istog tog podatka od strane etonjere masteru. Na taj nain master moe provijeriti da li je etonjera primila ispravan podatak. Takoer neke naredbe oekuju podatke od etonjere i tada master alje potvrdu primitka podatka (prosljeuje taj podatak nazad etonjeri da bi etonjera mogla ustanoviti da li je podatak ispravno primljen). Na kraju naredbe master alje kod 0 ako je naredba u cijelosti ispravno prenesena (nije bilo krivo vraenih podataka od strane etonjere) ili bilo koji drugi podatak ako je naredba neispravno prenesena (u tom sluaju e etonjera ignorirati naredbu i nee poslati nikakav odgovor). Ukoliko je etonjera uspjeno izvrila naredbu vratiti e kod F ili u suprotnom kod greke (npr. ukoliko podaci koje je poslala etonjera nisu ispravno primljeni od strane mastera). Oznake su: K kod naredbe Px x-ti parametar naredbe (sa potvrdom prijema) Rx x-ti parametar (sa potvrdom prijema) koji treba master dobiti od etonjere px x-ti parametar naredbe (bez potvrde prijema)

6/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

rx x-ti parametar (bez potvrde prijema) koji treba master dobiti od etonjere C kontrolna sekvenca (0 ukoliko je sve ispravno od strane mastera ili neka druga vrijednost ukoliko nije ispravno. F kao odgovor od etonjere ukoliko je sve ispravno, dok u suprotnom kod greke). T prvi dio kontrolne sekvence. Master samo alje potvrdu ispravnosti naredbe, dok potvrdu izvrenja naredbe oekuje tek nakon primljenih podataka od strane etonjere (samo kod naredbi koje oekuju podatke od etonjere). B drugi dio kontrolne sekvence. etonjera alje potvrdu o ispravnosti poslanih podataka masteru (samo kod naredbi koje oekuju podatke od etonjere).

Popis naredbi
U daljnjem tekstu e biti date sintakse naredbi koje razumije etonjera. itanje podataka kanala Sintaksa: K P0 T R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 B Kod naredbe: R Kod greke: 0 greka u prijenosu (krivo proitani podaci od strane etonjere). Funkcija: ita podatke kanala ija je vrijednost zadana kao parametar P0. Parametar se kree od 0 do 11 za kanale 1 do 12. Podaci R0 do R15 su podaci o kanalu vraeni od strane etonjere. Upisivanje podataka kanala Sintaksa: K P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 C Kod naredbe: W Kod greke: -2 greka prilikom pisanja u EEPROM (ova rutina zbog greke u programu uvijek javlja greku). Prilikom greke brie se kompletni podaci kanala. Naredna verzija software-a bi to trebala ukloniti. Funkcija: Upisuje podatke u kanal ija je vrijednost zadana kao parametar P0. Parametar kree se od 0 do 11 za kanale 1 do 12. Parametri P1 do P16 su podaci zadanog kanala (sa parametrom P0). itanje odreenog podataka kanala Sintaksa: K P0 P1 T R0 B 7/14

ALCA coin verzija 1.0 Kod naredbe: r

KOMUNIKACIJSKI PROTOKOL

01.01.30

Kod greke: 0 greka u prijenosu (krivo proitani podaci od strane etonjere). Funkcija: ita podatak kanala ija je vrijednost zadana kao parametar P1, dok je sama pozicija podatka unutar kanala zadana sa parametrom P0. Parametar P1 kree se od 0 do 11 za kanale 1 do 12. R0 je traeni podatak vraen od etonjere. Upisivanje odreenog podataka kanala Sintaksa: K P0 P1 P2 C Kod naredbe: w Kod greke: -2 greka prilikom upisivanja u EEPROM. Stanje te lokacije je nedefinirano! Funkcija: Upisuje podatak zadan parametrom P0 u kanala ija je vrijednost zadana kao parametar P2, dok je sama pozicija podatka unutar kanala zadana sa parametrom P1. Parametar P2 kree se od 0 do 11 za kanale 1 do 12. Uzimanje uzoraka Sintaksa: K P0 P1 T r0 r1 r2 r3 rX B Kod naredbe: I Kod greke: nema koda greke. Funkcija: Zadaje naredbu etonjeri za prihvaanje novih uzoraka za odreeni kanal. Parametrom P0 je odreen broj uzoraka, dok je parametrom P1 odreen kanal za koji se ubacuju uzorci. Parametri r0 do rX (X ovisi o tome koliki je broj uzoraka zadan parametrom P0; X=P0) su stanje brojaa koji govori koliko jo uzoraka treba ubaciti. Zadnje stanje je nula.

8/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

Raskid veze Sintaksa: K C Kod naredbe: S Kod greke: nema koda greke. Funkcija: Ova naredba raskida vezu izmeu mastera i etonjere. Odreivanje vrijednosti regulacionih kanala pri 50% duty cycle Sintaksa: K T R0 R1 B Kod naredbe: k Kod greke: 0 greka u prijenosu (krivo proitani podaci od strane etonjere). Funkcija: Odreuje kolika bi trebala biti odravana vrijednost signala oba regulaciona kanala da bi duty cycle bio na 50%. Prvi vraeni parametar je vrijednost prvog regulacionog kanala, dok je druga vrijednost drugog regulacionog kanala. Kalibriranje etonjere Sintaksa: K P0 P1 T R0 R1 B Kod naredbe: n Kod greke: 0 greka u prijenosu (krivo proitani podaci od strane etonjere) Funkcija: alje naredbu etonjeri kojom za duty cycle zadan parametrima P0 (za prvi regulacioni kanal) i P1 (za drugi regulacioni kanal) kalibrira etonjeru. Osnovna jedinica parametara P0 i P1 je 0.5%. etonjera vraa kao parametre vrijednost na koju bi trebalo regulirati prvi (R0 ) i drugi (R1) regulacionti kanal.

9/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

Upisivanje vrijednosti regulacionih kanala Sintaksa: K P0 P1 C Kod naredbe: w Kod greke: -2 greka prilikom upisa u EEPROM. Stanje lokacije je nedefinirano! Funkcija: Upisuje parametar P0 kao vrijednost koju mora odravati regulacioni kanal 1, to jest parametar P0 kao vrijednost koju mora odravati regulacioni kanal 2. Brisanje podataka odreenog kanala Sintaksa: K P0 C Kod naredbe: c Kod greke: nema koda greke. Funkcija: Brie podatke o kanalu zadanom parametrom P0. S brisanjem podataka o kanalu brie se i statistika za taj kanal. Brisanje svih podataka Sintaksa: K C Kod naredbe: C Kod greke: nema koda greke. Funkcija: Brie podatke svih kanala i sve statistike (brie statistiku akumulatora, ali ne brie podatke o akumulatoru).

10/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

itanje statistike Sintaksa: K P0 T R0 R1 R2 B Kod naredbe: p Kod greke: 0 greka u prijenosu (krivo proitani podaci od strane etonjere). Funkcija: ita statistiku kanala zadanog parametrom P0 (ukoliko je parametar nula ita statistiku akumulatora, dok u suprotnom ita statistiku odreenog kanala). Kao rezultat dobije tri byte-a statistike (prvo ide byte najvee teine). Brisanje statistike odreenog kanala Sintaksa: K P0 C Kod naredbe: P Kod greke: nema koda greke. Funkcija: Brie statistiku kanala zadanog sa parametrom P0. Ukoliko je parametar P0 nula onda se brie statistika akumulatora. Brisanje cjelokupne statistike Sintaksa: K C Kod naredbe: E Kod greke: nema koda greke. Funkcija: Brie cjelokupnu statistiku (svih kanala i akumulatora).

11/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

Promjena logike izlaza Sintaksa: K P0 C Kod naredbe: w Kod greke: nema koda greke Funkcija: Mijenja logiku izlaza u zavisnosti od parametra P0. Bit 7 (MSB) odreuje da li se izlazi mijenjaju u pozitivnu ili negativnu logiku. Ukoliko je bit 7 u jedinici onda e izlazi biti u pozitivnoj logici, dok ukoliko je u nuli u negativnoj. Ostali bitovi (ukoliko su u jedinici) odreuju koji izlazi e se promijeniti. Tip etonjere i verzija software-a Sintaksa: K T R0 R1 B Kod naredbe: V Kod greke: 0 greka u prijenosu (krivo proitani podaci od strane etonjere). Funkcija: ita tip etonjere i verziju software-a etonjere s kojom master komunicira. Parametar R0 odreuje tip etonjere (1 impulsna, 2- impulsna na zahtjev, 3 s vremenskim izlazom, 4- s vremenskim izlazom na zahtjev, 5 autoprogramabilna), dok R1 odreuje verziju software-a. Upisivanje tipa etonjere Sintaksa: K P0 C Kod naredbe: v Kod greke: 3 greka prilikom upisa u EEPROM. Ukoliko je lokacija ispravna za upisivanje postaviti e se na tip etonjere 1. Funkcija: aljemo naredbu etonjeri da se prebaci na odreeni tip. Parametar P0 sadri tip etonjere (1 impulsna, 2 - impulsna na zahtjev, 3 s vremenskim izlazom, 4- s vremenskim izlazom na zahtjev, 5 autoprogramabilna). itanje lozinke Sintaksa: K T R0 R1 R2 R3 B Kod naredbe: l 12/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

Kod greke: 0 greka u prijenosu (krivo proitani podaci od strane etonjere). Funkcija: Zahtjevamo od etonjere da nam poalje tajnu lozinku spremljenu u njen EEPROM. Parametri R0 do R3 su dijelovi te lozinke. Upisivanje lozinke Sintaksa: K P0 P1 P2 P3 C Kod naredbe: L Kod greke: 3 greka prilikom upisa u EEPROM. Ukoliko je lokacija ispravna za upisivanje postaviti e se lozinka 0000. Funkcija: Upisuje tajnu lozinku u etonjeru. Parametri P0 do P3 su dijelovi lozinke.

13/14

ALCA coin verzija 1.0

KOMUNIKACIJSKI PROTOKOL

01.01.30

Display
Display komunicira sa etonjerom na neto drugaiji nain. Naime on ne alje kod za iniciranje veze A etonjeri ve alje kod sa zahtjevom za prosljeivanje parametara display-u od strane etonjere. Kod za tu inicijalizaciju je D (kod D je podatak bez potvrde tako da etonjera odmah prosljeuje podatke a ne vraa nazad kod D). Nakon toga etonjera alje pet parametara display-a (tablica 4.) $00 $01 $02 $03 $04 Znaenje: MULTITIME ovaj podatak se koristi samo kod etonjera sa vremenskim izlazom. Podatak je velik dva byte-a, a govori nam koliko puta jo mora se ponoviti VRIJEME TRAJANJA VREMENSKOG IZLAZA (skraeno VTRI). Toan izraz za preostalo vrijeme aktivnosti vremenskog izlaza (izlaz akumulatora) je AKTIVAN=(MULTITIME-1)*VTRI + BROJA SEKUNDI. BROJA SEKUNDI (BS) sadri podatak koliko je jo vremena preostalo od VRTI (maksimalna vrijednost BS je VTRI). Toan izraz za preostalo vrijeme aktivnosti vremenskog izlaza (izlaz akumulatora) je AKTIVAN=(MULTITIME-1)*VTRI + BROJA SEKUNDI. OSTATAK sadri podatak koliko je ostatak ostao od pune vrijednosti akumulatora. Ostatak ne moe biti vei ili jednak od TEINSKE VRIJEDNOSTI AKUMULATORA. KREDIT sadri podatak koliko jo ima neiskoritenih kredita. MultiTime High MultiTime Low Broja sekundi Ostatak Kredit

14/14

Vous aimerez peut-être aussi