I2C-väylään itse tehty orja

Suunnitelma

Tässä suunnitelmassa käydään läpi lähinnä itse Microchipin PIC 16F88:sta tehty orja. Koska itse isännän rautapuoli on jo esitelty tässä aikasemmassa I2C-väylän projektissa. Tuossa projektissa on kytkentäkaavio. Jossa on liitäntäkohta nimeltä ”I2C-väylä antureille ja lisälaitteille.”. Tuohon samaan liittimeen kytketään nyt myös seuraavaksi esiteltävä PIC 16F88:sta tehty orja.

Kytkentäkaavio

Seuraava kuva onkin sitten PIC 16F88:sta tehdyn I2C-väylän orjan kytkentäkaavio. Kytkentäkaavio aukeaa uuteen ikkunaan isompana klikkaamalla sitä.

Komponentit

Ja niin kuin kytkentäkaaviosta voi huomata kytkentä on hyvin yksinkertainen. Sisältäen 3 lediä etuvastuksineen. Jotka voi olla vaikka väliltä 120-330Ohm tai ehkä vähän isompiakin. Ledien väreiksi itse valistin punainen, keltainen ja vihreä. Lisäksi on yksi diodi estämässä orjalle tulevan käyttöjännitteen pääsemistä ohjelmointilaitteelle. Tuo diodi on 1N4007 . Ja tietysti vielä itse PIC 16F88:n. PIC 16F88:ssa ei tarvitse kidettä, koska tässä käytetään PIC 16F88:n sisäistä resonaattoria. Näin ollen päästään yhtä komponenttia vähemmällä.

Liitynnät

Lisäksi kuvassa on PICKIT2-ohjelmointilaiteen paikka. Ja itse I2C-väylän liityntä sen alapuolella. Näin itse testaus ja kokeiluvaiheessa ohjelmistomuutokset, vian etsintä jne. Nopeutuu huomattavasti kun PICKIT2-ohjelmointilaiteella pystyi päivittämään ohjelmat lennossa. Ja se on hyvin paljon hermoja säästävä juttu, koska ohjelma on tehty assembler ohjelmointikielenä.

Käyttöjännite

Orja saa käyttöjännitteensä noin +4,3V isännältä I2C-väylän liitynnästä. Näin ollen kytkentään ei tarvitse rakentaa myöskään omia regulaattoreita. Jo koko systeemi tuli rakennettua koekytkentälevylle nopeasti. Niin kuin idean esittelysivulla saattoi huomata. Eli koko rautapuoli on käytännössä siinä.

Ohjelmisto

Ohjelma tälle orjalle ja isännälle tuli tehtyä assembly ohjelmointikielellä, kuten aikaisemmin mainitsin. Ja ihan vain siksi, koska Microchipin tarjoaa sille ilmaisen MPLAB IDE V8.86 kehitysympäristön millä on tullut tehtyä useimmat koodit. Ja näin ollen tuttu ympäristö. Ja mikä parasta niin kehitysympäristö osaa käyttää PICKIT2-ohjelmointilaitetta.

Ja koska myös I2C-väylän isännän piti pystyä nyt tätä orjaa lukemaan. Niin sille piti myös tehdä lisää koodia aikaisemman projektin jatkoksi. Koska sen projektin koodi kykeni lukemaan vain lämpötila-anturin TMP75 koodin pelkästään. Ja sekin tietty tuli tehtyä assembly ohjelmointikielellä.

Ohjelmistojen toiminnat isännälle ja orjalla

Isäntä eli PIC 18F2550 lukee sekä TMP75-anturin että PIC 16F88:ta tehdyn orjan.

PIC 18F2550 eli isännän ohjelmiston toiminnot

Isäntä 18F2550 sammuttaa I2C-väylään antamilla käskyillä orjan eli 16F88 kaikki kolme lediä. Ja sitten sytyttää ne vuoronperään noin 1s välein. Tämän jälkeen isäntä lukee orjalta 16F88:lta laskurin lukeman 0000-9999. Jonka lukema lisääntyy +1 orjalla joka kerta kun isäntä on käynyt orjan eli 16F88:n ledien ohjaus ja laskurilukeman lukukäskyt läpi.

PIC 16F88:n eli orjan ohjelmiston toiminnot

Orja ottaa siis isännältä vastaan ledien sammutuskäskyn sekä niiden sytyttämisen vuorotellen noin 1s välein. Ja orja lisää sisäisen 0000-9999 laskurin lukemaa +1 joka kerta, kun isäntä on antanut orjalle ledien ohjauskäskyt ja lukenut laskurilukeman.

Siinä kaikki ohjelmista joiden lähdekoodit saat toteutus kohdassa.

Copyright <> jyrki.k(at)innopultti.fi <> Päivitetty: 16.7.2014