Tässä on pari kuvaa LIn protokollasta.
Lin protokolla toimii sarjaliikenenteellä, mutta vain yhdellä johdolla TX ja RX yhdessä.
Yksi master pystyy komentamaan 31 slavea.
Tätä käytetään autoissa vähemmän tärkeissä asioissa kuten pielin käntämisessä ja muissa asioissa.
Mutta miten missään Internetissä ei ole kerrottu kuinka se toimii.
Siinä voi olla nopeus 300 -19600 baudia ja vastaanottajia voi olla osoitteellä 1-31.
Master toimii osoitteella 0.
Mutta miten tuo LIN toimii?
Olen kokeillut sitä koko kesän ja lopulta ostin Microchipin MCP2003 drivereita ( 8 napainen pieni mikropiiri) ja kokeilin tuota (kuva 1).
Sain selville, että siinä käytetään vain RS232 tyylistä interfacea, mutta sen signaali on käänteinen RS232 verrattuna, siis TX signaali menee 0:n kun bitti lähetee.
RS232 se menee 1:n
RX signaalia ei tarvitse kääntää kuten tavallisessa RS232->UART tapauksessa.
Siinä RX:ssä voi käyttää vaikka komparaattoria (tässä kuvassa 2 on kutenkin tavallinen OPAMP).
Riittää, että suojaa tuon prosessorin RX nastan vastuksella esim 10k, koska LIN protokolla voi toimia 7-30V tasoilla, yleensä 12V:lla.
Lin protokolla on kyllä aika monimutkainen.
Siinä pitää lähettää ensin 0x55 alkubytenä, mutta vain käynnistyksessä ja sitten Master lähettää ID merkin.
Siinä on ensin slaven osoite 1-31 ja kahdella yläbitillä merkitään monta dataa on tulossa Slavelle.
Jokainen lähetetty merkki pitää heti lukea pois, muuten ohjelma menee sekaisin.
Tämä on tarkeä asia.
Kun Slave saa ensimmäisen merkin, se tietää, että nyt sanoma on tulossa.
Sinä ID:ssä on kaksi ylintä bittiä, jotka määrittelevät monta byteä on tulossa, 2, 4 tai 8,
Siiten Slave lukee esim kaksi data byteä ja lisäksi yhden tarkistusbyten
Se tarkistysbyte on toisi monimutkaikainen, mutta kyllä sen pystyy tekemään.
Jos kaikki vastaanottobytet tulivat oikein, niin Slave lähettää Masterille taas ID merkin ja sanoo, että nyt tulee 2, 4. tai 8 databyteä.
Slaven pitää myös lukea RX:ään tulleet omat merkit pois.
Se lähettää esim. kahden byten ADC muuntimen arvo ja taas tarkistusbyten Masterille samaa LIN väylää pitkin.
Tämä toimii nyt minulla, mutta vasta testauskappaleissa.
Kun kysyin Tomilta minkälainen hänen monikanavainen väylänsä oikein on?
Tom näytti melkekin samanlaisen väylän vaikka siinä ei ollut TX ja RX yhdistetty, mutta näin se on helpompi ohjelmoida
Tomilla on oma ohjelmansa.
==
Minä olen tehnyt Blolinderin tehtaalle tuolla Tampereen ja Porin puolessavälissä Harvallassa toimivalla ruotsalaisten omistamalle metallivalutehtaalle
Se on 99 kappaletta toimivan saraliikenneväylän ja saanut siitä myös patentin.
Se toimii siten että lähetetään ensin alkumerkki #, sitten osoite 1-99 sitten komentobyte ja parametri ja loppumerkki $
Kun oikea osite on löytynyt aliohjelma lukee esim. tornin 3D miitauksen ja lähettää sen masterille,siten, että aluksi slave laitaa oman lähettimensä päälle yhteiseen RX johtoon ( tansistorilla) ja lähettää viestin.
Vastaanotossa on tavallisessa RS232 väylässä 1 k vastus maihin, että vain oikeat sanomat tulevat perille.
Miitaukset talletetaan PC:lle..
Ne näytetään Display ohjelmalla.
Uusi näyttö tulee joka kuukausi.
Viestit menevät sitten Internettiin ja sietä valvojille automaattisesti kotitietokoneille.
Niitä mittauskanavia on 24 kappaletta.
Niillä valvotaan tornin liikkeitä 3D mallissa kerran 5 sekunnissa.
Tornissa on 2.4MW lämpöteho.
Se sulaatta malmia.
==
Tuo LIN prokolla on melko monimutkainen.
Jos teette omia juttuja käyttäkää vain yhtä tarkistusmerkkiä.
Ainankin minulla se on toiminut hyvin.
Samoin ei kannata käytää yhden johdon LIN väylää.
Kyllä parempi on käyttää tuota minun keksimääni enable väylää.
.
Tässä on kuva Bolinderin tehtaasta.
Siellä oli pieni tulipalo.
Tuo minun valvoma torni on vasemalla.