szavazogep
Szima Gábor
sygma at tesla.hu
Fri May 5 10:58:26 CEST 2006
On Fri, 5 May 2006, MG wrote:
> En is RS485-ben gondolkodtam, de 40-50 terminal kell.
Nem gond. A szabvany 32 HOST-ot enged meg, de megfelelo (igaz, nem olcso)
vezerlovel 128 is elerheto.
Ajanlott: MAX487 (EESA, ez 15 kV ESD vedett).
600..900 HUF/db + AFA...
> CAN-nel nem foglalkoztam meg, es nem tudom, hogy az 1
> honapos hatarido eleg-e a kitanulasahoz. Ugyanis kb ennyi
> ido van az egesz elkeszitesere... :-(( Ja, es ha lehet
> ATMEL, nem PIC...
Ha gyorsan nekiugrasz, akkor bevallalhato. Par "know-how"-t tudunk adni a
nagy szivasok elkerulese vegett (pl. RS485 alapkapcsolas, nem egeszen
ugy, ahogy szoktak :).
> Nem "ki az elso" tipusu rendszer kell, hanem osszeszamlalni
> az egyes gombok "allasat". A polling nem akadaly, 1-2mp
> alatt kiertekelheto az eredmeny, persze nem mindenki
> egyszerre nyomja a gombot, lehet, hogy 5-10 mp. is eltelik
> az elso es utolso kozott. Vagy 10mp. utan inditani a pollt,
> vagy tobbszor lekerdezni, aki volt mar azt kihagyni...
Ez nagyon egyszeru. Minden slave lekerdezi a gombokat, es a valaszban
visszakuldi a gombok allapotat. Kb. 3 sor ASM-ben, C-ben 2. :)
A Master 1-tol 40..50-ig vegigrugdossa az egeszet. Mindenki valaszol.
Egyszeruen osszeadja a valaszokat. Mire a vegere ert, tudja, hogy A-bol 3,
B-bol 13, C-bol 11 (13..23 hianyzik).
Aki nem valaszol, az "halott", lehet hivni a szervizest. :))
Ez 5-6 sor ASM-ben, C-ben pedig egy mezei for-ciklus. :)
> A fizikai reteg is jatszik, ugy gondoltam kihuzok egy kabelt
> es arra dugom a terminalokat, pl. RS485, de ott meg csak 32
> a max.
MAX487, 128 host. RET/HTeurep, vagy a gyartotol kozvetlenul beszerezheto.
> Koszi megegyszer az eddigieket, ha meg van valakinek valami,
> varom!
RS485 IC (MAX487, SN75176 (olcso, teszthez jo)) "szabvany" bekotesu:
- 8-as lab: +5V (+100 nF kondi szuresnek)
- 5-os: GND
- 6: COMM-A
- 7: COMM-B
- 1: Rx, 10 k-val felhuzva +5V -ra! (TX eseten ne lebegjen). ATmega8
2-es labara kotve (Rx)
- 2,3: osszekotve, adatirany, 10 k-val foldre huzva (ha kifagy a proci,
akkor ne lebegjen!), _Rx/Tx (0: Rx, 1: TX) Ez mehet az ATmega8
4-es labara (adatirany)
- 3: Tx, ATmega8 3-as laba (Tx)
A buszt ket vegen le kell zarni 120-120 ohm-al. Illetve!!!
Egy helyen (celszeruan a master oldalon) a COMM-A-t a +5V-ra, a COMM-B-t a
GND-re kell egy-egy 470 ohm-os ellenallasal kotni!
Ez alapesetben egy 300 mV-os "elofeszitest" ad a buszra, igy az RX magas
szinten lesz.
A kommunikacio HW oldala lenyegeben ennyi. :)
Kell talalni egy "emberi" bitratat (nem kell "szabvanyos", hanem olyan,
amit a kvarc orajelebol szepen le tud osztani. Pl. 10 vagy 50 kBPS.
10 kBPS-nal 50 host eseten kb. 0,5 masodperc egy "kor" (4-4 byte-os
csomagokkal szamolva).
Amig gyartonal vannak a (proba)NYAK-ok, addig nezd at az AVR-ek UART-jat,
kulonosen az "MPCM" bit jelenteset.
-Sygma
More information about the Elektro
mailing list