Fórum témák
» Több friss téma |
Az ATMega8-ból készített virtuális COM port nagyon lassú. Én pont egy JTAG-el próbáltam ki legelőször.
Tökéletesen működött vele, csak szörnyen lassú volt a kódletöltés, ezért egyáltalán nem érte meg USB-re váltani. Egy valamire való JTAG ICE nem tartalmaz sehol sem ATMega8-at, csak ATMega16-ot vagy ATMega163-at. Esetleg egy kombóban lehet ATMega8, de ugye az az ISP részéhez van. Egy JTAG ICE két fő részből áll, ezeket a táp mellett TTL-szintű (ponált) Rx/Tx jelek kötik össze: - kommunikáció - PC-hez kapcsolódik - központi vezérlő - ATMega16/163 és környezete Ebből a kommunikációs rész elég rugalmas. Lehet az általad említett(de lassú) ATMega8-as CDC, MAX-232, FT-232 és MCP2200 is! Az általam gyártott USB portos JTAG ICE kommunikációját MCP2200 látja el.
Tisztelet!
Van egy thunderbird fejl. panelom. Abban van ugye egy JTAG ICE. Van rajta egy csatlakozó, ami a JTAG-ből vezet ki. A kérdésem az lenne, hogy pontosan milyen AVR-eket lehet vele programozni? ( kerestem már rá googleba, de mindenhol mást írtak. )
Amelyiken van TDI/TDO/TMS/TCK nevű kimenet. ATMega16/32/64/128/256/169/640/1280, soroljam még?
Először válassz ki egy IC-t, ha az tud akkor OK, ha nem akkor válassz másikat.
Az AVR Studio 4 helpjében (AVRTools User Guide)találod meg a választ.
Mivel ez egy Jtag Ice Mk1 ami a Tbirden van, így az alábbi AVR-ek támogaottak csak: ATmega16(L), ATmega162(L), ATmega169(L or V), ATmega32(L), ATmega323(L), ATmega64(L), ATmega128(L) Hiába van sok AVR-en Jtag csatlakozó, az atmel sajnos pofátlanul korán dobta a támogatását a Jtag Ice mk1-nek, így azok jórészt csak Jtag Ice mk2, AVR One, Jtag3-mal debuggolhatóak.
Az obdev-es ATMega8-megoldás szörnyen lassú, amit legeslegelőször éppen egy JTAG-en tapasztaltam meg.
De egy MCP2200-val olyan sebességeket lehet kihozni, mint ha nem is lenne ott az USB és az emulátor. Körülbelül úgy, mintha közvetlenül RS-232 porton kommunikálnál. Egy JTAG Debugger nagyon gyors tud lenni! Programozási időt, mérési eredményeket nem tudok mondani, de az biztos, hogy egy 4KB-os kód letöltése a GYÁRI STK-500-nál körülbelül 1.5-2x hamarabb fejeződik be! Kicsit zavar hogy nincs folyamatsáv(AVR Studio), mert így közvetlenül nem tudom érzékelni a sebességet. Egyedül a FUSE/LOCK bitek beolvasása, írása, SIGNATURE lekérdezése tart tovább, kb. 3x lassabban. Ez a JTAG átvitel adottsága(RS-232 változaton is ugyanaz), nem az MCP2200 miatt van. Egy debugger kódletöltésre, a programkód lépésenkénti végrehajtására(vezérbillentyűvel vagy egérrel), szoftver töréspontok felírására és OCD(csipen belüli hibakeresés) funkciókra alkalmas. Fejlesztés szempontjából többet tud mint egy mezei ISP, de kevesebb IC-t támogat(lásd: előző hsz.-ek). Egébként 230kbit/sec-es sebesség a legnagyobb, amit egy működő alkalmazásban kihoztam az MCP2200-ból! Az AVR Studio legfeljebb 115kbit/sec-en szólítja meg, tehát az MCP2200 képessége nem korlátozó tényező.
Sziasztok!
Végig olvastam az eddigi kommenteket de kész kapcsolási rajzot nem találtam ezért neten keresgettem olyan kapcsolásokat amik nem atmega8on kommunikálnak hanem ft232 például. Kettőt találtam ami számomra szimpatikus volt: első második Az lenne a kérdésem, hogy melyik kapcsolás a kettőből a jobb vagy melyiket érdemesebb megépíteni. Illetve a másodikon 2 csatlakozó is van (JP1 és JPJTAG) mi a különbség?
A másodikat(ISO JTAG ISP) sürgősen felejtsd el! Sok a gond vele, ráadásul a firmware nem frisíthető!
Az elsőnél a legfelső kép korrektnek látszik, bár van egy kis hiányérzetem de ez talán csak az én gondom... Csatolok egy képet az enyémről, azaz egy régebben épített változatról. A mostani már kicsit más... Az MCP2200 kicserélhető bármire! ami ponált(nemnegált) Rx és Tx jelet ad ki magából. Ebbe bele kell építeni az Evertool bootloadert és a BOOTRST nevű FUSE bitet átbillenteni, 1K bootterülettel. A gomb nyomvatartása közben történő bedugáskor aktiválódik a bootloader, de csak COM1-COM4 között fog működni a frissítés AVR Studio-ból. A kimenet nem ISP-kompatíbilis, én átalakítót építettem erre.
Köszi a kapcsolási rajzot ha megjön az atmega16os akkor kipróbálom
Még annyit akartam kérdezni, hogy mit változtattál a tiéden, miben más a mostani?
A tápellátás, a 3.3V-os modul, a jumperek helyett DIP-kapcsoló, a LED pedig egy piros-zöld duóled.
És nem utolsó sorban, egy picike dobozban elfér az egész, pont amilyenbe a Doper, AVRISP és AVRISP-mkII. A képen a már elkészült JTAG ICE panel látható a forrasztási oldalon. Mivel full-SMD, a legtöbb lényeges cucc erről az oldalról látható. A már kész programozóról is tettem fel képet, látható rajta minden, a kapcsoló, duóled, nyomógomb, stb.
Véletlenül nincs meg az újabb verzió kapcsolása?
És megéri 3.3V-osra átalakítani? Bocs hogy ennyit akadékoskodok
Persze, nem probléma és nem akadékoskodsz, a kapcsolási rajz sem hétpecsétes titok.
A panelterv már az. Ezt lyukpanelen is meg tudod építeni, az MCP2200-t leszámítva mindent be lehet szerezni DIP és DO tokban is. A "marker" alkatrésszel ne is törődj, az csak a beültetésnél jelent nekem segítséget az SMD-panelen. ISP jumper: a bootloader felvitelénél jelent nekem segítséget, hogy egy külön erre a célra épített adapterrel rá tudjak csatlakoztatni egy ISP-programozót (ezután az átkötést elvágom és leragasztom). Neked ez a művelet gyorsabb lenne ha külön ISP-csatlakozót építenél rá jumper helyett, ugyanis a JTAG csatlakozó nem kompatíbilis az ISP-vel(ne is próbáld mert leég valami!), ezért van adapterem.
Értem, de valószínűleg SMD-ben fogom megcsinálni.
De amire kíváncsi voltam, hogy miben változik a kapcsolás, ha 3.3Vosra átalakítod. Mert gondolom az ellenállások értéke változik, kell szintillesztés és ebbe nem akartam belevágni magamtól, úgy hogy nincs alkalmam kipróbálni próba panelen, hogy tényleg működik-e. És ezért szeretném kérni, hogy ha fel tudnád rakni nekem annak a kapcsolását ami a fényképeken van mert az gondolom, hogy rendesen működik. Nekem bőven elég a sematikus, nem szeretem mások nyákját megépíteni.
Hello!
Lemaradt a rajz, pótlom! Ez már a 3.3V-os változat! A kimenet illesztésénél semmi sem változik, mivel a 3.3V az ATMega16 feszültsége is egyben! A 2-es kapcsolóval lehet a 3.3V-os és 5V-os mód között választani. Fontos, hogy az USB-konverter 5V-on marad, de az ATMega16-al való kommunikációt ez nem zavarja, kipróbáltam! Elegendő oda a 2x1kOhm leválasztás. Egy korábbi változatomnál az AVR is 5V-ról táplálódott, a kimeneten lévő 1kOhm ellenállások szintén hibamentes leválasztást biztosítottak 3.3V-ra. Ha nagyon muszáj, lehet oda tranzisztoros illesztőt tenni, egy ilyen illesztőt csatolok amit a gyári STK500 kapcsolási rajzából bányásztam ki. Ezzel akár 1.8V-os rendszer is meghajtható, feltéve ha az ATMega16 elindul rajta. Az illesztés lényege hogy az adó az emitterre csatlakozik, a bázis állandóan fel van húzva(39kOhm) az adó tápfeszültségére. Ha az adó lehúz(~0V) az a vevőoldalon is lehúz ~0V-ra, ha pedig felhúz vagy elenged(ekkor a 47kOhm húz fel) akkor a vevőoldalon a vevőoldali tápfeszre húz fel(1kOhm). Ez a megoldás azért jobb mint a dióda, mert a maradékfesz így nagyon kicsi(<0.1V), míg diódánál annak nyitófesze dominál és általában lassabb is. A képen az "A" jelű tranzisztorfelet vedd úgy mintha ott sem lenne, a szaggatott vonal csak azt jelöli hogy a két tranzisztor közös tokba van. Ez a fajta illesztő mindenhol működik ahol az adó és a vevő mindig ugyanazon az oldalon van, és nem gond ha egy 1kOhm ellenállás folyamatosan felhúzza a vevő bemenetét amikor az adó inaktív. Természetesen a 4-vezetékes JTAG esetében is működik! Az MCP2200 tápfeszültsége 3.0V-5.5V, tehát elvileg az is mehet 3.3V-ról, ezt még nem próbáltam.
Inkább PDF-be megy a rajz, a PNG-t sajna átméretezi a blogmotor és így nehezen olvasható.
Én is gondolkozok egy JTAG ICE elkészítésén. De eddig én FT232RL-es IC-vel gondoltam az USB<->AVR kapcsolatot. Mennyivel jobb ez a Microchip féle illesztő mint a FTDI-s?
Te milyen hex-et használsz a tiedhez?
Evertool bootloadert használok, ez enged AVR Studio alól frissíteni - amit első alkalommal meg is kell ejteni!
Képességeit tekintve jobbnak nem mondanám, azonban sokkal olcsóbb és van SOIC tokozásba is.
Nézegettek több kapcsolást is JTAG ICE témakörben. Sok helyen azt láttam, hogy a cél (programozandó) áramkörből vették a szükséges tápfeszültséget, sok helyen pedig azt, hogy a programozó látta el tápfeszültséggel.
Kérdem én, hogy mi az elfogadott? Vagy a szabvány? Már ha van erre valami...
Több megoldás is létezik, valamilyen szinten mindegyik jó. A gyárihoz például dugasztápot adnak.
A legtöbb klónnál a céláramkör táplálja(RS-232 változatok), ennek hátránya hogy minimum 4.0V kell, mert a mezei MAX232 ez alatt nem működik. Az USB-változatok táplálása egyértelműen USB-ről jön. Nézd meg amit csatoltam pár hozzászólással ezelőtt! Az tud USB-t és 3.3V-os táplálást/programozást is!
Épp a Tied volt aminél mintha úgy vettem volna ki, hogy opcionálisan állítható, hogy honnan vegye a táplálást. USB-ről vagy a céláramkörről.
Ez mindig az USB-ről veszi, de van beépítve egy 3.3V-os konverter az ATMega16-nak, ez zavart meg?
Nem a 3,3v-os fesz. stab. hanem a kapcsoló lehetséges üzemmódjai... Számomra furcsa...
Ez táplálja a céláramkört is?
Még egy kérdésem lenne zombee
A kapcsolásba van néhány ellenállas (R16,R18) amiknek az értéke 0R. Gondolom elírás. Megkérdezhetem mi a pontos értéke? 100 vagy 220R?
Nem elírás, hanem átkötés. Olyan mintha ott se lenne.
szia
megépítettem a debuggert de sajnos nem akar működni végig csináltam ami a leírásban volt és az AVR studio4 ezt a hibát adja ki: (kép) mi lehet a baj?
Működik a programozó, de nem kötöttél rá AVR-t. Vagy az nem kap tápot, esetleg a JTAGEN ki van kapcsolva.
Rákötöttem AVR-t és tápot is kap mert elindul a programozó és a JTAGEN is be van pipálva ha a régi programozómmal nézem
Aha. Akko nemtom. De a probléma biztos az AVR és a JTAG között van. Ugye tudod hogy a programozónál
a MOSI/MISO/SCK/SS, az AVR-en meg a TDI/TDO/TCK/TMS lábakat kell használni? Láttam már olyat hogy valaki fordítva akarta... |
Bejelentkezés
Hirdetés |