( bucko | 2016. 12. 30., p – 00:22 )

Sajnos ez a hasonlat pocsék. Inkább legóból, fémépítőből és selyempapirból mosógép készítéséhez hasonlítanak ezek a megoldások.
Egy uC nem lesz más akár ráforrasztották valamire, akár nem. Egy szakember ezt látja, az amatőr meg nem. A lényeget tekintve gyakorlatilag külső alkatrész nélkül meg lehet oldani vele a feladatot. Általában bármelyik uC rendelkezik ingyenes fejlesztőrendszerrel.
A kommentjeinkben inkább az érződik, hogy optimálisan meg tudjuk oldani a feladatot. Hidd el, egy amatőrhöz képest számomra sokkal fontosabb, hogy
- olcsó legyen amit fejlesztek
- ki tudjam fejleszteni és ne kelljen fórumozni mert képtelen vagyok megoldani
- természetesen ehhez működő fejlesztőrendszer is kell
- az utóbbi kettőből következően rövid legyen a fejlesztési idő

Persze van hozzá rengeteg kész modul. Itt meg teljesen másról van szó, mivel két különböző rendszert kell illeszteni. Ezt a specifikáció nélkül még a szakember sem tudja megoldani. A piros, kék és zöld drótokból csak azt tudjuk, hogy melyiket kell elvágni. ;)
Oktatási célból sem szerencsés, ha lövésed sincs a modulokról, csak legózol. Helyette inkább a feladatot kellene megfogalmazni.
A feladat:
- adott egy szerkezet, ami egy start bit után 40 biten kitolja az adatokat
- a 0/1 értékeket két különböző impulzushosszal ábrázolja
- a fentieket kell egy olyan rendszerhez illeszteni, aminek a reakcióideje kisebb mint az impulzusok hossza
- ne kelljen kernel drivert írni
- tápfeszültség 3,3V

A lehetséges megoldások:
1. Választok olyan hőmérőt amihez van működő kernel driver. Pl. 1-Wire, vagy i2c extrém alacsony órajellel és árnyékolt kábellel. Nincs járulékos hardver.
2. Letöltöm a kernel drivert és lefordítom. Nincs járulékos hardver.
3. Közbeiktatok egy 6 vagy 8 lábú uC-t, egy ellenállást és egy kondenzátort. Az rpi felé 1 vagy 2 vezetékes kapcsolat, ami időfüggetlen. Az egész kb. 50-60 sor asm. Az áramkör mérete kicsi, így a teszt verzió véglegesíthető. Megemlítem, hogy ehhez sem kell több elektronikai tudás.

Vajon a 3 topic alapján
- sikerült-e a fenti feladatot megfogalmazni
- az elkészülő megoldás hw/sw szintje mennyivel egyszerűbb
- a megoldás mennyiben felel meg a feladatnak
- a fentieket segítették vagy hátráltatták a színes drótok

Az osztó/nem osztó kérdésben az a lényeg, hogy a helyes logikai szinteket kell biztosítani, azaz a zavarérzékenység nem nőhet meg. Az i2c busznál a felhúzó ellenállások a magas szintet passzívan állítják elő, ezért érzékeny a kapacitásokra. (Szemben a TTL vagy CMOS áramkörökkel, ahol a magas szint is aktív, és esetleg a kapacitásának gyors feltöltésére tervezték.) A helyes megoldást itt találod meg, méghozzá az i2c "feltalálójától". Ilyen áramkör kapható a boltban, ebay stb. A bolt is onnan veszi. ;)