Category Archives: MCU

ATMEGA USB 12 (accelerometer)

Sekantys žaisliukai pajungti prie ATMEGOS tai dvi Freescale semiconductors (ex Motorola) mikroschemos: MMA3202D ir MMA7260QT. Pirmoji tai “katastrofinė” mikroschema arba high-G (100g X-axis and 50g Y-axis). Prie tokių apkrovų žmogus ištyška kaip koks jogurtas. Bet realiam pasaulyje tokios apkrovos labai lengvai gaunamos- pvz. numeskite kompiuterio kietą diską ant akmeninių grindų 🙂
Ši mikroschema nėra labai jautri, bet ir su ja galima užregistruoti žemės trauką.

gravity Accelerometer XY

O štai antroji mikroschema tai jau žymiai jautresnė, low-G. (Selectable Sensitivity (1.5g/2g/4g/6g)). Ir turi jau tris ašis. Ši mikroschema maitinama nuo 3.3V maitinimo šaltinio sumontuoto šalia mikroschemos. Visos aplinkui prilituotos detalės skirtos apsaugti prietaisą nuo galimo elektroninio triukšmo.

gravity Accelerometer XYZ

Programoje yra ir mažytis panaudojimo demonstratorius. Kai uždedamas jumperis “firmware” ant LCD ekrano rodomi ne ADC skaičiukai, o kokia kryptim atsukta plokštė į žemę. Šitoks navarotas naudojamas fotoaparatuose ir telefonuose- kai pasuki aparatą, paveiksliukas pasukamas taip, kad būtų patogiau žiūrėti per ekraniuką.
Mikroschemos jautrumo ir greičio užtenka registruoti visokius virpesius- labai gerai matosi su oscilografu. Tai leidžia šia mikroschemą naudoti ir kaip vibracijos stabilizacijos daviklį.

gravity Accelerometer toy

Programa labai paprasta. Kadangi mikroschemos išduoda analoginį signalą, tai užtenka tik nuskaityti ADC parodymus ir juos interpretuoti. Archyve yra du “main” failai. Vienas skirtas vienai mikroschemai, kitas kitai. Dabar tereikia parašyti USB procedūras ir programa kokiam notebukui ir galima registruoti kad ir automobilio judėjimo pagreičius. Arba padaryti toki anavarotą panaudojus patarimą iš 11 skyriaus- vaivorykštinį pagreičio indikatorių. Pvz. imontuoti į spidometrą trispalvį LEDą ir jei per staigiai pradedi važiuoti ar stabdai- spidometras nušvinta grėsminga raudona spalva. 🙂 Va jums ir super-duper-high-tech tiuningas.

Programos source code: 20071102.zip.

Plokštėm PCB nedarytas. Mano printeris sugedo ir plokštelės nėra sudėtingos. Aš išgraviravau takelius su raižikliu. Plonas profesionalus raižiklis leido padaryti plokštė ir QFN (bekojam) korpusui.

ATMEGA USB 009 (1-wire, i-Button)

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ą.

i-button avr

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.

i-button avr

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ę…

ATMEGA USB 007 (USB)

Jau rašiau, kad man nepavyko perkompiliuoti valdymo programą kad ji teisingai veiktų, nors prie originalaus archyvo pridėtas EXE failas buvo visai veikiantis. Matyt tai mano turimo kompiliatoriaus problemos- gal jis blogai nulaužtas ar jo versija kažkokia neteisinga. Aš naudojau Borlan Delphi Professional, Second Edition v7.2, Created 2006 by Lite Application.

Kiek paeksperimentavau ir radau metodą kaip apeiti šį bugą, bet tai tiesiog kažkoks nesusipratimas. Užtenka pridėti vieną eilutę kurioje atliekami nereikalingi veiksmai su nenaudojamais kintamaisiais ir viskas pradeda veikti. Deja, aš nesu šios programavimo kalbos specialistas. Jei rimtai, aš pirmą kartą matau šią programavimo sistemą. Jei kas nors paanalizuotu tekstus ir pakomentuotu, būtų visai fainai. Pakeitimai tekste aprašyti “Readme.txt” faile.

Kiek pamodifikuota USB-LCD valdymo programa ir jos išeities tekstai (source code) skirti Borland Delfi 7. Veikia su mano WinXP Pro SP2, and P4HT kompiuterio: 20071007.zip.

ATMEGA USB 006 (USB+LCD)

Laikas jungti prie USB. Po keletos nesėkmingų bandymų pagaliau susiradau projektėlį kuris veikia. Gal ir kiti projektai veiktų atitinkamai juos pritaikius. Mano “testinė” plokštė yra ganėtinai universali. Kai ją projektavau, aš atsižvelgiau į keletą svetimų projektų ir pajungiau kontrolerio kojeles taip, kad su minimaliai pokyčiais būtų galima pritaikyti svetimo projekto kodą.

AVR USB LCD

Taigis, USB- universal serial bus. Tai ne tik paprastas nuoseklus interfeisas kaip RS232 ar panašūs, bet ir įvairaus lygio protokolų visuma. Dėl to ir vadinasi “universalus”. Dėl šio universalumo, USB nėra labai lengva pritaikyti. USB bibliotekos panaudotos iš http://libusb-win32.sourceforge.net projekto. Šio projekto teisės yra GPL/LGPL. Dar vienas momentas dėl USB- tai pačio įrenginio VIN (vendor identification number)/PIN (poduct identification number). Šie skaičiukai dar vadinami VID/PID pora. Šie skaičiukai nėra laisvai pasirenkami (kad nekiltu chaosas). Pats USB firmware yra panaudotas iš http://www.obdev.at/products/avrusb/index.html.

Kad pratestuoti šį projektą reikia mano testinės plokštelės ir LCD modulio.

Programos archyve yra ir mažytė programa pratestuoti kaip kas veikia. Valdančios programos “source” aš neįdėjau į archyvą, nes kažkodėl mano perkompiliuota programos versija veikė nekorektiškai palyginus su originaliu EXE failu.

20070922.zip.

ATMEGA USB 005 (I2C)

Yra labai daug mikroschemų kurios valdomos per 2 laidų arba I2C grandinę (bussą). I2C tai Philips kūdikis, bet jis naudojamas ir daugybės kitų gamintojų. Pavyzdžiui prie I2C magistralės pajungti beveik visi televizoriaus mazgai. Daugybė navarotnų muzikinių centrų, kompiuterinių kolonėlių taip pat valdomi per I2C (ar panašų) interfeisą. Prie I2C galima jungti nuo paprasčiausio mygtuko ar DTMF imtuvo iki TV tiunerio ar Dolby Digital audio procesoriaus. Pats ATMEL’IS savo ATMEGA procesoriuose turi paruoštas galimybes naudoti I2C interfeisą. Tai taip vadinamas TWI. Mano PCB plokštėje šio protokolo kontaktai stovi prie keturių šviesos diodų, su ~10K pull-up rezistoriais.

FM75

Prie šios vietos mes jungsime I2C temperatūros sensorių. Panaudosim patį populiariausią LM75 arba jo analogą ar kloną. Aš panaudojau mažą PCB plokštelę iš seno plazminio teliko. Ten ji matavo matricos temperatūrą. Ant plokštelės prilituotas FM75 čipukas, keli rezistoriai ir kondikai. FM75 tai Fairchaild gamybos LM75 klonas su išplėstu temperatūros matavimo tikslumu. Originalus LM75 rodos naudoja tik 8 bitus, o štai FM75 turi ir netik pilnai suderinamą su LM75 režimą bet ir du išplėstus režimus. Mano programulka perprogramuoją čipuką į 12 bitų rezoliuciją. Pačioje programoje temperatūros konvertavimas perskaičiuojamas netiksliai- nenorėjau (ir nemokėjau) komplikuoti programos su tikslia matematika. Todėl skaičiukai nėra tikslūs. Rekomenduoju perskaityti LM75 ir FM75 datasheetus. Ir pagalvoti kaip skaičiuoti 1/16 laipsnio ir kai parodyti šias reikšmes dešimtainėje sistemoje. Gal dar pasiskaityti kiek AD7416 mikroschemos aprašymą. Šias mikroschemas kažkada siuntinėjo Analog Devices kaip pavyzdžius.

FM75 ATMEGA16

Programoje panaudotas modulis i2c.c iš interneto. Čia pasinaudojau USB Tenki projektu. Ten buvo labai paprasta ištraukti visas I2C procedūras į nepriklausomą programą. Iš ten pat paimti ir lm75.c failiukai. LCD modulio paprogramės panaudotos iš ankstesnio posto. Jungiant savo LM75 mikroschemą prie I2C protokolo nereikia užmiršti pasitikrinti įrenginio adresą. Programos tekstuose aš pažymėjau “pasitikrinti” adreso vietas. Adresas susideda iš dviejų skaičių- bazinio adreso kurį nustatė gamintojas ir kelių bitų, kuriuos gali pakeisti vartotojas paprasčiausiai atitinkamai pajungdamas mikroschemos kojytes. Taip galima pajungti kelias vienodas mikroschemas ant to pačio laido ir matuoti temperatūrą keliose vietose.

Programa: 20070919.zip.

Su šiais geležėliais jau galima konstruoti kokį termostatą. Tik nepulkite programuoti ATMEGA termostato darbui, nes LM75/FM75 mikroschemos jau turi savyje sukonstruotą termostatą. Užtenka teisingai užprogramuoti mikroschemą ir jos išėjimo kojytė gali valdyti šildytuvą ar šaldytuvą. Lai ATMEGA atlieka tik kontrolės ir indikacijos veiksmus.

ATMEGA USB 004 (ADC)

ATMEGA16 turi savyje ADC (analog digital converter, analoginio signalo keitiklį į skaitmeninį). Su šiuo prietaisu galima išmatuoti kokio nors daviklio ar maitinimo šaltinio įtampą. ATMEGA16 turi 8 kojeles prie kurių galima prijungti skirtingus analoginius signalūs. Pats keitiklis nėra labai greitas, bet pilnai panaudojamas įvairiuose prietaisuose. Labai rekomenduoju perskaityti ATMEGOS datasheetą, nes ADC keitiklis turi daugybę įvairiausių nustatymo parametrų. Kaip pasirinkit atraminę įtampą- išorinis šaltinis, Vcc ar integruotas į kontrolerį atraminės įtampos šaltinis. Taip pat galima pasirinkti įvairiausius stiprinimo koeficientus ar net deferencialinis įėjimas.

Programa labai paprasta. Ji tiktai nuskaito ADC parodymus ir parodo rezultatą LCD modulio ekrane. Pakeitus kelias užkomentuotas eilutes galima nuskaiyti visų ADC kanalų reikšmes.

ATMEGA ADC

“Stepas” tai nieko nereiškiantis žodelis kiles nuo angliško žodelio “step”. Ten idikuojama paprasčiausio vidinio ciklo kintamojo reikšmė. Kiek pakeitus programos kodą ten indikuojasi ADC kanalo numeris. Ir beto, besikaitaliojantys skaičiukai dažnai parodo, kad programa dar veikia. Tai svarbu, kadangi LCD modulis gali rodyti kokius nors senus parodymus or procesorius buti smigęs. 🙂

Beja, kad apsaugoti programą nuo užstrigimo verta susidomėti “watchdog” taimerio panaudojimu. Šioje programoje jis nepanaudotas.

Programa: 20070918.zip.

ATMEGA USB 003 (LCD)

Iš to mirksėjimo nieko gero. Dažnai reikia parodyti kokius nors sudėtingesnius parametrus. Tam lengviausiai naudotis standartinius LCD modulius. Jų galima prisilūpinėti iš visokių senų aparatų, nusipirkti iš manęs 🙂 ar permokėjus didelius pinigus nusipirkti parduotuvėje.
Yra visokių LCD modulių, bet pat papuliairausias yra alfanumerinis modulis su HD44780 kontroleriu. Yra visokiausių LCD modulių modifikacijų. Aš savo eksperimentams panaudojau patį populiariausią- 2×16 simbolių.
Modulis paprastai turi 14 kojų, jei su pašvietimu- tai 16. Tiek daug kojų naudojama kai modulis jungiamas 8 bitų režimu. Žymiai racionaliau jungti naudojant tik 4 bitus- baitas siunciamas per du ciklus. Tačiau prie esamu mikrokontrolerių greičių, nesijaučia jokio suletėjimo. Modulis turi “self-test”- užtenka į jį paduoti maitinimą ir turi pasimatyti juodi kvadratėliai viršutinėje eilutėje. Jei nesimato, kartais reikia pareguliuoti kontrastą su vieninteliu kintamu rezistorium ant PCB.

LCD AVR

LCD valdymui panaudotas modulis iš interneto. Po keletos nesekmingų paieškų, apsistojau ties Peter Fleury programa. Ji leidžia LCD valdymo laidelius jungti prie bet kurių portų ir nėra problemų. Kitos LCD programos turėjo apribojimus. LCD modulio pajungimas aprašomas lcd.h faile. Prie lcd.c failiuko lysti nereikia. Ten galima tik pasiskaityti kokios procedūros ir funkcijos sukurtos.

Programa demostruojanti aparato veikimą yra faile test_lcd.c. Ten dar parašytos mygtuko detektavimo procedūros kurios nėra labai tobulos. Mygtukui naudojamas jumperis kuris schemoje pavadintas “firmware” 🙂

LCD AVR

Beja, jei maitinate šia schemą per USB laidą, nekreipkite dėmesio į windozės priekaištus dėl nežinomo USB įrenginio. Tuo užsiimsime žymiai vėliau. Neužmirškit, kad aš rašydamas šitą bloga pats mokinuosi apie šiuos mikrokontrolerius. Todėl čia visur gali būti kvailų klaidų.

Programos tekstas ir hex failas nekantriems: 20070917.zip.

ATMEGA USB 002 (LED mirksiukas)

Jei jau surinkom schemą, reikia ją pratestuoti. O kad pratestuoti, reikia parašyti kažkokią programą. O kad prašyti programą reikalingas kažkoks softas. Jei neturit softo, tai reikia iš interneto nusikrauti WinAVR paketą: http://winavr.sourceforge.net/
Dar gerai būtų, bet neprivaloma, nusikrauti “Programmer’s Notepad 2”. Tai kiek palengvins darbą.

Pirmoji programa tai paprasčiausias mirksiukas- paeiliui uždeginėjam šviesos diodus ant plokštės. Tai pratestuosim ar veikia procesoriukas ir ar diodai šviečia. Nieko čia stebūklingo ar svarbaus nėra. Nuotrauka daryta su ilgu išlaikymu, todėl atrodo, kad visi diodai dega. Iš tikro, pastoviai dega tik vienas diodas- tas kuris indikuoja maitinimo pajungimą. Kiti diodai skirtingu greičiu mirksi.

mirksiukas
(baisi plokštė. Mano printeriui šakės ir todėl gaunasi “kiauri” takeliai)

Programos archyvas: 20070916.zip

Programėlė labai paprasta- nustatom naudojamas kojeles išėjimui, paleidžiam amžina ciklą ir ciklo duomenis pumpuojam į portus. Realiai tai daryti nereikėtu- nes dabar programa pumpuoja visus bitus, o reikia keisti tik tuos bitus kurių kojeles norime valdyti. Bet čia programa tik ištestuoti ar veikia konstrukcija.

Keletas komentarų. Mano archyvo makefile jums garantuotai neveiks “program” užduočiai. Čia todėl, kad mano LPT1 portas nebegyvas ir aš naudoju papildoma PCI plokštę su papildomom LPT jungtim. Todėl reikia persirašyti “program” sekciją- ten kur parašyta:

program: $(PRG).hex
avreal32 -pBC00 -ab -e +$(AVREALMCU)
avreal32 -pBC00 +$(AVREALMCU) -ab -w -c $(PRG).hex -v

reikia pakeisti -pBC00 į jūsų naudojamo porto parametrus. Daugiau informacijos paleidus “avreal32 -h”. O jei naudojat kitą programatorių, tai šias eilutes reikia pakeisti iš esmės. Arba nenaudoti “make program” funkcijos.

Visiškai žaliam žmogui dar vienas paaiškinimas kurio niekas nerašo, nes tipo “visi tai žino”. Programa kompiliuojasi su komanda “make all” ar iš to Notepado, Tools->[WinAVR] Make All
Kompiuteris turi prirašyti visokių ten užrašų, kuriu dauguma nieko blogo nesako, nes make failas yra universalus. Mums esmė yra pačiam gale: > Process Exit Code: 0 ir kad niekur nebuvo ERROR.
Komanda “make clean” arba Tools->[WinAVR] Make Clean išvalo visus sukompiliuotus ir paruoštus failus. Todėl jei ką nors pakeitėt programoje, neužmirškit paleidinėti “clean”.

Nu ir paskutinė komanda ar užduotis: make program arba Tools->[WinAVR] Program užprogramuoja programą į mikrokontrolerį.

Truputis informacijos apie “security” bitus. Pas Atmelį tie bitai kiek miglotai paaiškinti, o ir daugelis interneto puslapių tai aiškina kiek kitaip (dažnai teisingai, bet dėl terminalogijos subtilybių būna sunku suprasti). Labai lengva kaitaliojant bitus “užrakinti” mikroschemą taip, kad ji nebeatsiliepinės į serial/jtag programavimą. O tada jau bus problemos, nes cipuką teks lupti lauk. Mano čipukas išluptas iš kažkokio prietaiso ir jo bitai atrodo taip:
Fuses
OSCCAL = AD, AB, A7, A8
BODLEVEL = 0
BODEN = 1
SUT = 2
CKSEL = F
BLB1 = 3
BLB0 = 3
OCDEN = 1
JTAGEN = 1
CKOPT = 1
EESAVE = 0
BOOTSZ = 3
BOOTRST = 1

Aš ju neliečiu, nes kolkas viskas veikia. 🙂 O šiaip rekomenduoju pradžiai pasiskaityti gamintojo datasheetą. Nes gamintojas stengiasi kiek galima mažiau klaidų rašyti savo dokumentacijos. Beja, tie bitai skiriasi pas skirtingus MCU. Todėl kartais perkeliant programą iš vienos šeimynos į kitą, tenka pasukti galvą.

Beja, archyve yra ir HEX failas skirtas mano plokštei. Todėl galima pratestuoti geležius be jokio kompiliavimo.

ATMEGA USB 001 (schema)

Kaip jau minėjau, prisirankiojau aš keliolika ATMEL ATMEGA16 procesoriukų. Nutariau pasinagrinėti šio mikrokontrolerio darbą ir ką nors sukonstruoti. Kadangi šis mikrokontroleris turi kiek daugiau atminties, nutariau surankioti iš interneto C kalbos paprogrames ir pritaikyti savo eksperimentams. Visos programos įdėtos į šiuos interneto puslapius bus ištestuotos ir veikiančios. Bandysim ištaisyti visas galimas klaidas- pvz. vienoje USB programoje ir draiveriuose buvo supainioti vieno baito MSB ir LSB. Tai kainavo man dvi dienas darbo 🙂 kol suradau svetimą klaidą. Kas mėgino programuoti, žino kaip sunku isijausti į svetimą programą.

AVR USB

Kadangi internete prisirankiojau visokių projektų, teko pasidaryti specialią plokštę. Jis šiek tiek universali- todėl daugumas skirtingu projektų veikia ant tos pačios hardwarės.
Projektuose bus nagrinėjama: ADC, USB komunikacija, I2C, LCD modulių pajungimas, IR imtuvas (distancinis valdymas) ir t.t.
Šiam multi projektui reikia įsigyti ATMELio ATMEGA16 (gal ir tiks ir kitos, bet aš naudosiu 16 nes daug turiu), 12MHz kvarcą, USB B lizdą (iš usb imamas ir maitinimas), keletos rezistorių ir kondensatorių ir keletos šviesos diodų ir vieno kintamo resitoriaus. Taip pat reikės kištuko programatoriui ir LCD moduliui (nors modulį galima prilituoti laideliais).
PCB plokštelė padaryta ant vienpusio folguoto tekstolito, todėl PCB lengva pasidaryti namuose. Mano lazerinis printeris višai nupušo, todėl aš stengiuosi daryti plokšteles su kiek galima storesniais takeliais. Plokštė reikalauja 8 laidelių (airwires).
LCD modulis- pats paprasčiausias 2×16 simbolių alphanumerinis indikatorius su populiariausiu HD44780 kontroleriu.

“Aparato” schema:
AVR USB
(spauskit ant paveiksliuko kad pažiūrėti smulkiau)

Spausdintos plokštės eskizas:
AVR USB

Schema ir PCB Eagle formate .

MCU programuojamas su Altera ByteBlaster MV programatorium, su AVREAL programa. Beja, turiu pranešti, kad eksperimentuodamas sudeginau savo kompiuterio motinos LPT1 portą ir dabar naudoju papildomos kortos LPT adapterius.

avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr
v1.25rev5 (Jan 15 2007 20:02:38) http://www.ln.com.ua/~real/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua

Todėl aš kiek pakeičiau “make” failą. Tiksliau jo “programavimo” dalį. Pasikoreguokite pagal savo turimą programatorių arba nenaudokit “make program” komandos.

2012.08.05
Ši PCB ir kogero schema paseno. Nuo šios datos naudojama nauja versija. This PCB is absolete, please check new one in this web blog entry.

USB namuose

Tesiu savo kovą su printerio porto nebenaudojimu. Kiek pasiknaisiojes internete ir dėl to, kad viena Lietuvos elektronikos firma pamaitino mane keliolika ATMEGA16 16AI mikroschemų teko pasidaryti eksperimentinę plokštę.

USB- multiport adapter

Tai nieko naujo ar neįprasto- minėta ATMEGA16, 12MHz kvarcas ir keletas rezistorių. Kiek teko pakeisti programos kodą iš interneto ir tarp kompiuterio įrenginių atsirado AVR309: USB to UART protocol converter. Tai aparačiukas kuris prijungia prie kompo ATMEGA per USB ir su softu galima valdyti visas megos kojytes. O tai gana daug kojycių… 🙂

Dabar reikia tik nusikrauti Delfi7 ir pasirašyti savo programinę įrangą, kad per USB pumpuoti duomenis į FPGA konstrukcijas. Gal ir užkrauti FPGA konfiguracija iš pagrindinio kompiuterio. O tada atsiveria plačios lankos visokiems LCD displėjams, skaitmeniniams oscilografams ir šiaip “digital home” sistemom.

device manager

Čia device manager langelis.
Continue reading →