Fórum témák
» Több friss téma |
WinAVR / GCC alapszabályok: 1. Ha ISR-ben használsz globális változót, az legyen "volatile" 2. Soha ne érjen véget a main() függvény 3. UART/USART hibák 99,9% a rossz órajel miatt van 4. Kerüld el a -O0 optimalizációs beállítást minden áron 5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás 6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et Bővebben: AVR-libc FAQ
Nem tudtok valami jó kis leírást VGA jel előállítására?
Szükségem lenne a következő projectemhez egy kijelzőre. Nézelődtem itt, ott de nem leltem nekem megfelelőt, vagy az ára volt 100k felett. Össze akarok kötni egy AVR-t egy LCD monitorral. Egy 10" LCD monitor tökéletes megjelenítő lenne. Arra gondoltam hogy kellene egy úgynevezett "video kártya" az AVR és az LCD monitor közzé. Elképzelésem: Egy AVR valami video dac icvel és egy memóriával. A memóriának elégnek kell lennie 800x600= 480000 x 3 (RGB) 8 bites érték eltárolására és így kapnék 16 millió színt. A pixelenkénti adat beírást a memóriába valamilyen nagyobb sebbességű soros kommunikációval gondoltam (SPI, I2C etc.) persze az AVR-en keresztül. Van valakinek valami ötlete hogy hogyan lenne ez kivitelezhető?
Létezik olyan gyors AVR ami tudna pl R/2R létrával vagy hardveres DAC-al akkora sebességet amivel meg tudna hajtani egy monitort nem csak fekete fehéren?
640x480 60hz frissítés 40ns pixelenkénti idő Ezeknek a lépéseknek bele kellene férnie 40ns-be: -memória címzés -olvasás R -DAC beállítás R -címzés -olvasás G -DAC beállítás G -címzés -olvasás B -DAC beállítás B
Nézz körbe. Jópár ilyen projekt van készen . igaz ASM alapon futnak általában és a szinkronjelek SPI-n jönnek ki. Általában sorosporton lehet a bemenő holmit megadni nekik...
Jellemzően karakteres kijelzés fut... B verzió: régi ISA VGA-kártya és 8bites módban (XT szimuláció) kezeled le C verzió: Teletext cél-IC. Abban minden van (kérdés VGA-t tud e vagy csak normál monitort) D verzió: FPGA chip (AVR elfelejtve a teljesítmény miatt)
Összeraktam közbe az MK2 klónom. Mikor rányomok az USB-re akkor hibát kapok:
A program nem indul el mert libusb0.dll hiányzik... nyomok ok-ot AtLibUsb.dll not found Milyen driverbe vannak ezek a fájlok? USBre feldugva kiírja a vin hogy AT90USB162 DFU és nem talál hozzá drivert. Ezt is külön kel telepíten? Honnan?
Közbe megoldódott. libusb32-őt fel kellett telepíteni.
Valaki Bp.-Zsámbék közt leülne velem egy sör mellé hogy megmutassa hogy kell használni az avr studio-t ?
2 hete próbálkozok vele de csak egyre feszültebb vagyok az egyre nagyobb sikertelenségek miatt. Köszi!
Hali!
amnega128-hoz szeretnék PIN szenzort kötni! lehetséges ez? és ha igen hogyan?
és ha mozgást érzékel akkor logikai 1-el válaszol?
Egy open collector kapcsolás nem, de biztosan az elötte levö fokozat igen. Ezt már neked kell kinyomoznod, vagy megforditani a logikát.
Ez a dc-dc konverter dolog érdekelne. Mire gondolsz pontosan? Kapcsolás/link/valami?
Értem már, a jó hatásfok a kulcs. Én másra gondoltam, hehe.
PIN fotodiodara gondolsz? Attol fugg, hogy mit szeretnel vele csinalni.
Bocs, lehet, hogy a kérdés már elhangzott, de képtelen vagyok végig olvasni a 412 lap kérdéseit és hozzászólásait. Az is lehet, hogy a kérdés 'felháborító' /mármint annak, aki tudja a választ/: Ha van egy C-ben megírt példa program, ATTiny45-re, de nekem csak ATTiny13-am van mit kell módosítani a forrás programban ? A 13 úgy tudom, hogy a 45 'kistestvére' csak az 1K és 4K a különbség? /Két napja van AVR kontroller a közelemben./
Ilyen gyors AVR nem letezik. Sot AVR32 sem.
Bocsi, de nem PING szenzorra gondoltál ? Mármint a PARALLAX 'szonárra' Valahol a 30 ezer forintos robot cikkben találkoztam vele. Ott rajz is van, meg 'C' minta program is.
Hello!
Látom megoldódott, de azért a saját tapasztalataimat leírom. Az "AT90USB162 DFU" maga a FLIP bootloader mint eszköz, erre gondolom már rájöttél. A FLIP programmal települ, de a legelső csatlakoztatáskor ki kell tallózni a FLIP mappájából. libusb32: Meglepő, de én nem telepítettem a libusb drivert, helyette az AVR Jungo driver alól használom. Ez normál esetben az AVR Studio-val települ, és az AVR Studio gond nélkül használhatja a programozót. Ez szép és jó, de sajnos az Avrdude és a Bascom-AVR így nem ismeri fel. Azaz felismeri, de nem képes kezelni! Ezen segít, ha a LUFA projektben a "LIBUSB_DRIVER_COMPATIBLE" mezőt engedélyezem. A probléma az, hogy akkor meg az AVR Studio nem kezeli. Semmi baj, vissza a régi firmware és újból AVR Studio alól lehet használni! A most készülő új változatomban(1.2-5.0V-os szintkonverter, egyesített kimenőcsatlakozó, potis feszállítás) még egy jumper lesz, amivel - remélhetőleg - a driver módot lehet váltogatni JUNGO és LIBUSB között. Ha beválik a módszer, a driver mód váltáshoz nem kell azt a hosszú lépéssort megcsinálni hogy egyszerre mehessen AVR Studio, Bascom és Avrdude alól, csak a jumpert kell bedugni vagy vissza.
Minek a potis feszultseg allitas, ha ugyis kap referencia erteket a programozo csatirol?
A VGA-s kérdésedre is válaszolok ha nem baj, saját tapasztalatokkal, buktatókkal.
KÉPMÉRET: Ha utánaszámolsz, már egy 640x480-as kép is rengeteg pixelt tartalmaz, amit még akkor sem lennél képes egy AVR memóriájában tartani ha fekete-fehér lenne a kép, már egy ilyen is 37.5KB-ot(kilobájt) vesz el. SEBESSÉG: A 640x480@60Hz felbontásnál(a legkisebb amit lehet) az úgynevezett pixelfrekvencia 25.175MHz, azaz az AVR-nek ilyen gyorsan kéne váltogatnia a pixeleket. Az AVR-ben a leggyorsabban az SPI-vel lehet ilyet. Sajnos csak az AVR órajel felével(CPUCLK/2), és azt is csak 1 csatornán(MOSI kimenet). Azt hiszem még az USART is tudhat valami hasonlót MSPIM módban, de egyrészt az is csak 1 csatornán, másrészt független az SPI-től. Tehát a mélyebb színeket is elfelejtheted! Tegyük fel hogy ezt a frekit(25.175MHz) bírja egy túlhajtott AVR(Az ATMega48 biztos tudja, kipróbáltam!). Ez esetben is max. a fele lehet a vízszintes felbontás, de a memória miatt amúgy se tudsz jobbat! PIXEL SZINKRON: Most nem a szinkronjelelekről beszélnék hanem a rajzolásról és egy apró kellemetlenségről. Talán ismerős hogy egy AVR-ben a (relatív) ugró utasítás 2 órajel. Hihetetlen, de ezt egy interrupt nem tudja megszakítani. Következmény: lehetséges hogy a következő sort nem ugyanakkor kezdi rajzolni, tehát elcsúszik az egész sor! LEHETŐSÉGEK: A felbontás csökkentésével a sebesség és a memóriaigény enyhíthető. A színes képről már írtam hogy le lehet mondani, de nagyobb, minimum betűméretű képrészeknél megoldható hogy színt több portláb közbeiktatásával, a vezérjel pedig továbbra is a MOSI lesz. Ekkor egy kisebb színmátrixot hozhatsz létre pár tranzisztor és ellenállás segítségével. Én kb. 3 éve assemblerben írtam meg egy kb. 950 soros progit. 800x600@60Hz-es felbontást visz ami 40MHz-es pixelórajelet jelent, az AVR 20MHz-en fut, de a vízszintes felbontást még jobban csökkentettem. Egy órát valósítottam meg(lásd: képek). Csak azért lila, mert a VGA-kábel meg volt törve...
A potis fesz állítás nem a referencia miatt kell, hanem azért, hogy ha a programozóról táplálom az áramkört akkor ne csak fix 5V vagy 3.3V feszültségen táplálhassa, hanem 1.25V-5.0V között bármekkorával.
Ha a kimenetre nem kapcsolom rá se a fesszabályzót, se az 5V-ot, akkor a referenciát(a MAX3002-nek) a céláramkör adja. A céláramkör VCC-je állandó kapcsolatban lenne a MAX3002 referenciájával. jó ez így?
Ertem. Szoval roviden kulso betaplalasra
Pontosan. Egyébként pár hete még olyan verziót terveztem aminél a programozó AVR-jét táplálom egy LT1117-ADJ IC-ről, az a változat valóban a potiról(pontosabban a fesszabályzóról) vette volna a tápfeszt és a referenciát is egyben. A dolog egyik hátulütője hogy 2.6V alá sehogy se lehetne menni(lekapcsol az AVR vagy az USB kapcsol szét), a másik hogy a felhasználónak kellene folyton hozzáigazítania a feszültséget a céláramkörhöz. Láttam hogy a MAX3002 pont ezt váltja ki, így a mostanit már azzal készítem.
Köszönöm a hozzászólásokat.
Érdekes módon nekem is fel van telepítev a studio 5 és a jungo drivert is feltette. De hiányolta a dll fájlt. Nem lehetséges hogy x64-es oprendszerem van és ezért nem működött a dolog? A studio 5 felismerte gond nélkül. Tehát a jungo driver csak működik. Ti nem jártatok még úgy a studio 5 tel hogy egyszerűen egy programozót se lát? Egy párszor ujra kiell indítani a progit és csak majd egyszer beugrik.
Összekötöttem az MKII klónom egy atmega8al. Semmit sem tud olvasni írni belőle/rá.
Mikor a hex file-t feltöltöttem a FLIPpel akkor az az at90usb162 fuse bitjén nem állítja külső kvarcra? Olyan mint ha nem kvarcról menni, szkóppal nem is látok rajta órajalet. Valószinüleg ezért nem tudom irni olvasni a mega8amat.
Az USB-s AVR-ek gyárilag külső kvarckristályra vannak állítva. 8 és 16MHz kristállyal egyaránt működik
a DFU Bootloader, de az alkalmazásodat fix frekire kell lefordítanod. A makefile-ban megtalálod. De ha már látja az mkII-t gép(tehát nem azt írja hogy "az USB-eszközt nem lehet felismerni"), akkor biztosan jól állítottad be. FLIP alól a FUSE bitek érintetlenek maradnak(BOD=2.7V, Ext Crystal, HWBE=ON). Driver: valószínűleg azért nem találja mert a driver telepítésekor libusb-re volt állítva(a firmware). Amikor programozni akarja, a piros LED világít/felvillan?
Igen a fuse biteket. Felforrasztottam rá az STK500 asom. A studio 4 még kezeli. Nekem itt nem volt semmilyen makfike, csak a hexet szedtem le azt toltam fel FLIP-el.
Persze villan a piros led.
Az STK500-at ráforrasztani fölösleges, a FUSE biteket leszámítva mindent tudsz írni/olvasni FLIP segítségével.
Az AVR Studio csak Jungo driverrel felprogramozott és telepített programozót ismer fel. Bascom felismeri? Illetve a libusb is megy AVR Studio alól, de ahhoz egy hosszú műveletsort is végig kell játszani.
Valószínű hogy hardveres baj van. Mindjárt átforrasztom a max3002-őt.
a max3002őn egyszerűen nem jönnek át e jelek.
Hát én nem értem. A MAX3002 kap tápot, kap 5V a VL és EN lábára is, a lába nincs összefolyva, nincs kontakthiba. Minden jó és mégsem jön át rajta a jel. Nem lett túlmelegítve sem. Mi van ilyenkor?
|
Bejelentkezés
Hirdetés |