Tikriausiai pagalvosite, kad susipainiojau ir užmiršau 008 straipsniuką? Deja, 008 dar nesigavo ir neveikia…
Darbe stačiau elektroninę spyną su Dallas (Maxim) i-Button mikroschemom. Tiksliau “tabletėm”, “batareikom”. Mūsuose tom spynom naudojamos DS1990A mikroschemos. Viena mikroschema kainuoja apie 10Lt. Originali spyna buvo su PIC procesorium, su pačiu mažiausiu, ir 24C16 atmintim raktu atsiminimams. Aš nuskaičiau minėtos mikroschemos turinį ir radau tuos pačius skaičiukus kurie išgraviruoti ant “tablečių”. Pasiskaičiau mikroschemos aprašymą ir pamačiau, kad tai nėra koks tai stebūklingas “high security” daikčiukas. Paprasčiausias serial ROM su CRC ir vienintelis navarotas, kad maitinamas per tą patį duomenų laidą.
Nutariau paeksperimentuoti su esamom tabletėm. Pagrindinė problema, kad internete pilna visokių source susijusiu su 1-wire protokolu, bet dauguma jų naudoja komercinį AVR kompiliatorių kuris turi integruota include failą. O aš norėjau rašyti ant GNU versijos, todėl teko ilgokai paieškoti veikiančio varianto.
Tabletė jungiama prie mano plokštės panaudojant “firmware” jumperį. Tik reikia prikabinti 4.7K pull-up rezistorių is viskas bus gerai (yra programos modifikacija kuri veikia be rezistoriaus). Visa informacija atvaizduojama per LCD moduliuką.
Ekrane, viršutinėje eilutėje rodoma būklė (status): OPEN, SHORT, OK ir ERROR. Atitinkamai: niekas neprijungta, trumpas jungimas, viskas gerai ir klaida. SHORT būklė leidžia naudoti tuos pačius du laidus skambučiui. Dešinėje viršuje, CRC, tai kontrolinė suma. Programos archyve yra programa kuri perskaičiuoja kontrolinę sumą. Apačioje, kairėje- device familly id, mikroschemos grupės numeris. Ilgiausias skaičius- 48 bitų mikroschemos serijinis numeris. Jis taip pat išgraviruotas ant mikroschemos.
Programos išeities tekstai (source code): 20071027.zip
Programoje yra daugiau visokiausių funkcijų, aš panaudojau minimalistinį variantą kuris man veikia.
Dabar jau galima susikontruoti savo kodinę spyną, tik kad ID tabletės nėra saugūs prietaisai. Manau koks nors gudročius gali sukonstruoti mikroschemos emuliatorių ir nužiūrėjęs skaičiukus pagaminti rakto dublikatą. Ir dėl to Dallas’as nekaltas, jis gi rašo:
The DS1990A Serial Number iButton is a rugged data carrier that serves as an electronic registration number for automatic identification.
…allowing the DS1990A to be used easily by human operators. Accessories permit the DS1990A iButton to be mounted on almost any object, including containers, pallets, and bags.
Apie spynas, kaip matot, čia niekur neužsimenama. Manau čia Lietuvaičiai gudrauja ir stumia niekalūs mūsų tautai. Rimtom spynom reikėtų naudoti DS1963S mikroschemutę…