# ATMEL mikrokontrolleri >  USBasp

## bra4kaa

Labdien,

Vai kāds lūdzu varētu pateikt kur var uzlikt hex kodu priekš USBasp programmātora

šeit ir viss projekts man tieši vajag Atmega48
http://files.inbox.lv/ticket/5b20c6f...7-10-23.tar.gz

Ja nē nevaru tikt pie realu projektu realizācijas vairs tikai simulatoros.

----------


## chiekurs

argusā var nopirkt plati + saprogrammētu MCU. piepērkot pārējās detaļas sanāk nedaudz virs 5Ls - manuprāt ideāli sākumam.
links

----------


## JDat

Lai pierogrammētu programmatora MCU firmwari, vajag programmatoru.  ::  Mūžīgais cikls vai stāsts: kas bija pirmais: ola vai vista?  :: 

Es pirmo programmatoru uztaisīju uz LPT porta. Ar tādu varēju nesteidzoties šut MCU. Jāpgoogle nedaudz un tad ar vecu kompi pačakarējoties var iešūt. Kā alternatīva: sarunāt kādu, kuram ir programmators, lai tev iešuj.

----------


## bra4kaa

Tur jau tā lieta ka man ir uz LPT porta tikai nav vairs paša LPT porta uz datora :: 

Shēma ar FT232RL nestrāda :: 

tāpēc izdomāju uztaisīt šito tikai tad sapratu ka ir vēl viena problēma kad uztaisīju nezinu kur iešut :: 

ar Arduino ar nesanāca caur linux jo viņam Atmega48 nevar uzlikt bet Atmega8 var tik man majas nestav lieks Atmega8

Pagaidīšu vēl pārs dienas varbūt kāds uzradīsies kurš varēs manu MCU iešut

----------


## Vikings

Tik tikko Tava jautājuma mudināts iekš Mega88 iešuvu softu ar programmieri, kurš uzstādīts uz Mega8. Protams, nobļāvās, ka nepareizs čips, bet iepriegrammēja un softs strādā. Tā kā ja ir iespēja rakstīt iekš Mega8, bet ir tikai Mega48 čips, ir pilnīga iespēja, ka viss izdosies. Bet garantiju nedodu.
P.S. konkrētajā gadījumā izmantoju AVR eXtreme burner, parasti izmantoju AvrDude.

----------


## bra4kaa

Liels paldies Vikingam ::

----------


## Vikings

Iešūšana - tas jau ir sīkums. Tev plate vēl kārtībā jāsaved vai labākā gadījumā - jāpārtaisa.  ::

----------


## Hondists

Iegādājos šo USBASP Latmatic programmatora kitu http://web.argus.lv/shop/productinfo...IC/hwindex.htm
Visu salodēju,bet nestrādā. Programmatora atmega8 esmu ielaidis jaunāko firmwari. Arī draiverus mēģināju visādi instalēt bet joprojām rādās "Not digitally signed", bet dzeltenais trijstūris ar izsaukuma zīmi vairs nerādās.
Pērkot programmatoru līdzi nāca divi 75omu rezistori, bet latmatic mājaslapā http://store.latmatic.lv/index.php?q=node/24 ievietotajā shēmā ir 66omu rezistori, vai tas ko varētu ietekmēt?
Un kādās pozīcijās vajag slēgt programmatora slēdžus, ja mērķa platei es pievadu vajadzīgo barošanu?
PS.
Operētājsistēma ir Win7

----------


## Vikings

Pamēģini to palaist uz kāda kompja ar XP. Par WIN7 visādi brīnumi dzirdēti. Ja uz XP iet tad programmatorā anv vaina. Tie rezistori diez vai ir pie vainas.

----------


## Delfins

Draiveru signatūri var dabūt nost tikai "test mode" režīmā. Kā to dabūt - meklē google "win7 test mode".

----------


## Hondists

Uz XP tā pati problēma.
Draiveris nav parakstīts. 
Kad ieslēdzu eXtreme burner AVR un mēģinu nolasīt čipu tad parāda:
Auto detecting programmer
Found USBasp on usb port
Powering ON
Power on failed
Cannot communicate with targer chip

Sarkanais LED deg visu laiku kad ir pievienots pie usb porta

----------


## Vikings

Nu tad jau starp programmeri un kompi viss kārtībā. Jā, viens LED deg visu laiku, otrs iedegas tikai uz programmēšanas laiku. Ņem pārbaudi visus savienojumus starp programmeri un savu proci. Ja šķiet, ka kārtībā, pārbaudi vēlreiz. Pamēri vai procim ir barošana. Ja tik tiešām viss ir kārtībā, iespējams, ka ar mēģinājumiem esi sačakarējis sava proča konfigurāciju. Tad pamēģini procim padot clock signālu no ārēja kvarca ģeneratora un tad programmēt. Brachkaa gadījumā bija tieši šis variants.

----------


## Hondists

Es tagad pie šī programmatora slēdzu klāt šādu uztaisītu plati kur iespraust čipu. Ar stk200 strādāja lieliski. Spriegums uz programmējamā čipa bija 5.09V

Kā var to clock signālu padot un kas tas tāds ir?

----------


## Vikings

Nu tad paņem pārbaudi vai arī tagad ar STK200 strādā lieliski. Ja strādā - tad vaina ir kaut kur starp šo plati un programmatoru.
1. Pieslēdz pie programmatora, pamēri barošanu. Ja ir 5V, tad viss OK. Ja nav - skaties kāpēc nav, moš vnk neesi barošanas džamperi programmatorā saslēdzis.
2. Ar testeri pārbaudi vai signāli no programmatora proča līdz otras platītes procim aiziet. Ja neaiziet, atrodi kļūdu.
3. Paskaties programmatora aprakstā, jābūt džamperim, kurš nosaka "slow sck" vai kaut ko tādu. Pamēģini uzlikt to un tad ieprogrammēt.
4. Ja tas viss ir izdarīts un nepalīdz, tad būs jāpieslēdz kvarca ģenerators, bet iesākumā pārbaudi visu iepriekšējo.

----------


## Hondists

Liels paldies par palīdzību, bet šoreiz pats pieļāvu muļķīgu kļūdu.
Biju sajaucis slēdžus, visu laiku slow sck vietā slēdzu manual update. Tagad viss strādā, bet vai tā ir jabūt, ka tagad ieslēdzot slow sck čips rakstās daudz lēnāk nekā ar stk20?

----------


## Vikings

Jā, tā var būt. Uzliec programmējamajam čipam lielāku ātrumu un varēsi programmēt stipri ātrāk izslēdzot slow sck.

----------


## Hondists

Kā var uzlikt lielāku ātrumu?

----------


## Delfins

Fuses pamaini. Bet ar fusēm tik uzmanīgi.. pēc tam neatdzīvināsi, jānes pie speciem būs  ::

----------


## Hondists

Tad kad es rakstu čipā kodu ar eXtreme burner avr tad man vajag spriest write all vai pietiek ar kāu no šajām funkcijām : 
write Flash
write EEPROM

----------


## Vikings

Ar extreme burner uzmanies, viņš man reiz sāka čakarēties un ar viņu programmēts hex fails negāja normāli. To pašu rakstot ar avrdude viss gāja.
Ātrumu var pamainīt mainot fuse baitus, ja nemaldos, tad defaultā šis ātrums bija 1MHz, kas ļauj programmēt tikai ar slow sck. Ja palielināsi ātrumu uz, piemēram, 8MHz, tad varēsi programmēt arī bez slow sck stipri ātrāk.

----------


## Hondists

kā ar eXtreme burner var samainīt tās fuses? Tur ir low fuse,  high fuse, extended fuse, lock fuse un calibration. Kas un kā tur jaraksta lai strādātu ar 8mhz vai 4mhz? Man knapi iet ar meklēšanu googlē

----------


## Vikings

Skaties Atmega8 aprakstā sadaļas "System clock" un "Memory programming". Pirmajā noskaidro kādiem jābūt bitiem lai ietu uz 8MHz iekšējaiz ģenerators, otrajā skaties kurā fuse baitā šie biti jāmaina
* hint Nolasi fuse baitus. Low fuse vajadzētu būt 0xE1. Nomaini uz oxE4, ieraksti un tad ies uz 8MHz.

----------


## Hondists

EDIT.
viss strādā, programmā biju norādījis lai strādā ar 1mhz.(Bet tas tiešām ietekmē?) Tagad kad strādā uz 8mhz mazās programmas ierakstīšanas laiks no 1.22min samazinājās līdz 12sek
Tomēr laikam kkur citur bija problēma jo programmas norādītā frekvence tiešām rakstīšanas ātrumu nevar ietekmēt.   :: 
Bet tagad kad nomainīju fuses tad izmainījās delays

----------


## Vikings

Nu jā, lōģiski, ka visi delay kļūst 8x īsāki. Ja programmē iekš C un izmanto delay.h funkcijas tad vnk norādi pareizo CPU frekvenci. Ja lieto ko citu, skaties kā to labot savādāk.

----------


## Hondists

Jā jau pats attapos, ka programmā nebija vienāda frekvence norādīta. Tagad viss strādā lieliski.

----------


## Vikings

Savam USBASPam nebiju ielodējis 3,3V stabilitronus ieejās. Cik atceros - tie nebija pa rokai, pamēģināju un gāja. Pāris gadus tas gāja ar visiem kompjiem pie kuriem slēdzu. Bet te peķšņi uz laptopa neiet. Atveru - nav stabilitronu. Nu neko, pamēģināju, ielodēju un aizgāja. Tas tā - zināšanai, ka ne velti tie tur stāv.

----------


## Vikings

Savas neuzmanības un standarta usbasp nepilnību dēļ šodien nocepu pārīti komponenšu 3,3V sistēmā pie tās piespraužot 5V programmēšanas kābeli. Šodien tā domāju, ka standarta usbasp varētu uzlabot, piemēram:
1. Pievienot izejā levelshift buferus, kuri barojas no programmējamās plates barošanas sprieguma.
2. Plates barošanas stabilizatoru izveidot ieslēdzamu no konsoles un ar pārslēdzamu izejas spriegumu 3,3/5V. Atkristu viens džamperis.
3. Pievienot kādu drošības fīču, piemēram, ka programmators atpazīst, ka platei jau ir 3,3V barošana un neļautu slēgt 5V tādā gadījumā. Vai, piemēram, barošanas pārslodzes detektēšanu.
4. Ātro/lēno programmēšanu laikam bija pat šī paša foruma lietotājs Delfīns uztaisījis no konsoles pārslēdzamu.
5. Vēl kāda papildus fīča, piemēram, virtuālais seriālais ports (kurš oriģinālā bija paredzēts, bet nefunkcionēja) vai iespēja lasīt/rakstīt ko vairāk kā AVR, piemēram, 24C vai 93C EEPROMus.

Ja ar bleķi (shēma, makets, plate, korpuss) es tiktu galā tad ar USB programmēšanu priekš MCU varētu būt grūtāk, bet priekš PC ar manām zināšanām - neracionāli. Tā dēļ gribētu vaicāt vai būtu kāds programmēšanas entuziasts, kuram interesētu pievienot funkcionalitātei kaut vai barošanas pārslēgšanu/aizsardzību? Kopdarbu, lōģiski, izvietotu brīvi pieejamu interesentiem.

----------

