# Pamācības >  Džentelmeņa komplekts

## darvins

Vai kāds varētu uzrakstīt "Džentelmeņa komplektā" ietilpstošās lietas, lai varētu sākt programmēt mikroshēmas. Startēju no "0" punkta. 
Izskatīšu visus variantus   ::  

Paldies!

----------


## EZo

Vai vari konkretizēt kādas mikroshēmu grupas (rom, eprom, eeprom, flash, serial, nand, PLD, MCU, PIC, AVR,......)?

----------


## darvins

Piedāvā savu variantu un uzraksti, ko es ar to varēšu pasākt.

----------


## 0xDEAD BEEF

Es pats saku ar pic dev boardu, ko var nopirkt te pat tevalo par 22 latiem. Komplekta nak PIC mikroshemina. Boardam bija 6 lampinas un 4 pogas. Uztaisiju, ka vicinot gaisa paradas mans vards. Talak viss bijs skaidrs ar tiem mikrokontroleiriem.
Vienu gan piebildisu - man bija zinasanas asma un sajega par programesanu.

Pajauta Epim - ja vinsh nelielas, tad ari so to ir no 0les iemacijies!
Beefy

----------


## EZo

> Piedāvā savu variantu un uzraksti, ko es ar to varēšu pasākt.


 ezoflash+

----------


## darvins

Vēlos tikai saprast, vai man sākt "ŠO" lietu vai nē. Nepamēģināšu, neuzzināšu.
Paldies par atbildēm.
Gaidu vēl kādus variantus.
Varbūt intereses līmenis uzkāpj līdz maksimumam un sāku kompilēt   ::

----------


## Vinchi

Man šķiet tā tā lieta tev neies cauri. Pa priekšu ir jābūt mērķim ko vēlies uztaisīt un tad tu meklē risinājumu un ja nepieciešams mācies ko jaunu.

Nevis mēs tev te pateiksim ko tu vari uztaisīt un tad tu mācīsies.

Domāju ka visiem kas sāka PIC vai AVR pirms tam ir bijis mērķis ko viņi grib uztaisīt.

----------


## darvins

Piekrītu tev Vinchi. Tevis aprakstīto ceļu šķiet ir ļoti daudz gājuši.
Es esmu izvēlējies citu ceļu, bet vai pareizāko - nezinu. Tad jau manīs   ::

----------


## Epis

NU jā tā ir vaig mēķi un pacietību jo pēc savs pieredzes ir ļoti daudz klupšanas akmeņi (neveiksmes) ar kurām jācīnās un daudzi vienkārši padodās, bet tas ir visās lietās (ne tikai elektronikā), bet viss vieglāk tomēr ir nopirkt kādu gatavu development bordu vai kitu, lai varētu uzreiz izmēģināt pirmo uzrakstīto kodu uz mikrenes realitētē tas dod tādu kā pārliecību par saviem spēkiem un + papildus motivācija turpināt iesākto, 

kā piemēru varu minēt savu ceļu uz FPGA mikreņu mācīšanās kad toreiz izvēlējos Alteras cyclone II mikreni un tā kā nebīj neviena Lēta jaudīga Dev.kita zem 400$,  tad izlēmu pats plati taisīt un kārtējo reizi bez nekādām iepriekšējām zināšnām kā tas darāms un arī vēl švaki pārzināju to analogo + digiālo elektroniku jo pirmstam mana Atmega128 tā arī normāli nestrādāja un kods ko tai biju uzrakstījis tā arī dzīvē negāja  :: , un tā es sāku pie tā PCB strādāt pagāja pus gads + nomainīju vairāks programmas un izmēģināju vēl vairāk programmas (pašā sākumā) + visā procesā bij neskaitāmi daudz ideju sākot ar to kādu mikrenes modeli tad izvēlēties, beidzot ar iepakojumu kādu lai ņem! un beigās tomēr sanāca normāli strādājoša protatipa plate kādu man vaidzēja pa vidēji 40-50Ls izmaksāja, bet decembrī iznāca Alterai jauns DEv.kits super integrēts + ar jaudīgu mikreni un par nenormāli zemu cenu 150$ nu un es redzēju kad tas ir baigais ķēriens nevarēju noturēties un nopirku, lai paātrinātu mācīšnās processu un tagat varu teikt kad ja nebūtu to plati nopircis tad būtu atpalicis tīri programmas apgūšanā apmēram par 1,5 mēnešiem jo ar to paštaisīto plati bīj visādas problēmas sākot ar Programmātora lodēšanu beidzot ar Flash atmiņu kuru vēl tagat nēsu palaidis (laika trūkst), 
Tākā ja ir iespēja dabūt gatavu labu Lētu jaudīgu plati tad tīri uz programmas apgūšanas (koda rakstīšana) un pašas mikrenes apgūšanas var ļoti ietaupīt laiku salīdzinot ja pats taisī savu plati (es domāju PCB) bet tas arī atkarīgs no pašas mikrenes sarežģītības manā gadījumā tā laikam bīj pa sarežģītu tādēļ tik daudz laika aizņēma.

Un par mikrenēm tad tur ir tik liels piedāvājums kad patiešām grūti izvēlēties ko lai īsti ņem katrai sava īpašība +bonusi un gribās izmēģināt visādus variantus.

Vēl es domāju kad viss ideālākā un universālākā mācīšanās platfromā tomēr ir izmantojot Programmējamo Loģiku (parsti ietilpīgās FPGA nevis CPLD) un tagat pateikšu kāpēc  ::  
Galvenā priekšrocība kad vari viedot savu loģiku perifeŗijas (taimerus caunterus, MP3 dekoderus un vissu kas ienāk prātā) un arī veidot pats savu procesora sistēmu tas ir tā paņemam pliku procesora kodolu (jau gatavs kods) un tad izveidojam savējo perifēriju vai arī paņemam jau gatavās perifēijas un pievienojam procesoram tik daudz cik mums vaig un uzģenerējam visu sistēmu un pēc tam rakstam procesoram savu kodu, un šitā var izmēģināt vairākus procesora kodolus(parasti katrai FPGA firmai ir savēji bet arī piedāvā gatavus procesora kodolus ar visām perifēijām un procesoru saraksts irļoti liels tur arī ir iekšā PIC 16,18 , AVR atmegas kodols un citi vari izmēģina't vairākus tik ilgi kamēr atrodi savu īsto, vienīgi es iesaku sākumā izmantot ražotāju piedāvātos tie parsti ir speciāli optimizēti un ar programmu atbalstu kā šie populārākie ARM7 (actel firmai) un ALteras Nios II(manējais ko izmnatoju) konfigurējamais un xilinx microbaze arī konfigurējamais  un lattice LatticeMicro32 (pilnīgi pa velti Open core) par pārējiem arī nekas nav jāmaksā ja izmanto svām vajadzībām un licenze maksā kapeikas ja pērc speicālos dev.kitus tad nāk arī mūža licenze (pa sviestmaizi) uz procesora kodolu tā vismaz ir  nios II. un es laikam arī tā darīšu lai dabūtu nios II licenzi vienkārši nopirkšu to dev,kitu pa 500$ (dabūšu licenzi pa sviestmaizi  ::  

vienīgais mīnus ir sarežģitības pakāpe, kas iesācējam var likties pa smagu. tākā nosākuma pamācies PIC, atmel un tad ķeries pie konfiurējamiem procesoriem (pa visam cita lieta).

Apsties šito linku tur ir 34 procesoru kodoli kas ir par brīvu un visādi citi kodoli kuri neko nemaksā http://www.opencores.org/browse.cgi/by_category
tur pat ir 1-bit Microprocessor  kodols kura datu līnijas platums ir 1 bits he he viens cilvēks viņu izveidotja mācības nolūkā noteikti kad 1 bita procesora loģikas lielums ir niecīgs salīdzinot ar 8,16,32 bitīgajiem milžiem!

----------


## Velko

Mani uzskati ir, ka jāsāk ar pēc iespējas vienkāršu mikreni. Tā lai sākumā apgūstamās informācijas apjoms ir minimāls. Nedrīkst visā tajā gūzmā pazaudēt pašu pamatideju. "Krutāku" mikreņu fīčas vienmēr var paspēt piemācīties klāt.

Tā nu sāku ar ideju, ATtiny12, maketeni, LPT štekeri un pāris LEDiem. Kad pāris vakarus biju pačakarējies un beidzot mācēju iestāstīt MCU, ko es no jamā gribu, tad sāku lēnām apaudzēt šo konstrukciju ar detaļām un kodu, kamēr ieguvu to, ko sākumā biju gribējis. 

Process nav īpaši ātrs, bet pamācošs gan. Pa starpai gadās, ka kautkas neiet, kāda "varoņa nāvē" nosvilusi detaļa, bet darot visu pa soļiem var labi izdomāt kas un kāpēc notiek/nenotiek. Pie tam visu laiku ir jūtams, ka darbs virzās uz priekšu - nepazūd interese.

----------


## Epis

Ja runa iet par vienkāršumu un primitīvismu tad šeit programmējamā loģika ir izcili primitīva viens piemērs kā uztaisīt tā lai nospiežot pogu iedegās gaisma (vai arī nospiežot slēdzi) logīkas līmenī tas ir tik primitīvi skataties vienkarši uzrakstam vienu kodu rindu ar 2 vārdiem:
 Gaisma <= Slēdzis  
un šī rinda savieno slēdza mikrenes iejas IO vadu ar gaismas IO vadu un slēdzis pirmstam tika uzstādīts kā inputs un Gaisma kā Outputs un "<=" zīmē nozīmē to savienojumu tātad slēdza ieejošais signāls savienojās ar gismas līniju ko tad arī padod uz gaismas izeju. 
šeit ir pilnais kod kur ir vairāk par 3 vārdiem   ::   bet es teicu patiesību kad atliek tikai ierakstīt tos 2 vārdus +<= zīmi un lieta darīta pārējo kodu jeb to koda šablonu(tā arī var teikt) ģenerē pate programma ja izmanto Block editoru un tur uzzīmē blociņu un tajā ieliek tos 2 signālus input un output nospiež ģenerate un uztaisās šitas koda šablons(forma), kurā var rakstīt to loģikas kodu ko gribi izveidot šeit pats VHDL valodas kods.


```
LIBRARY ieee;
USE ieee.std_logic_1164.all;
-- Simple module that connects the SW switches to the LEDR lights

ENTITY part1 IS
	PORT ( SW : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
	LEDR : OUT STD_LOGIC_VECTOR(8 DOWNTO 0)); -- red LEDs
	END part1;

ARCHITECTURE Behavior OF part1 IS
	BEGIN
	LEDR <= SW;  -- "komentārs" šitas ir tas Gaisma <= Slēdzis kods!
END Behavior;
```

 un šajā kodā es uz sava Cyclone II dev.kita (pa tiem 150$) savienoju savus 9 slēdzus ar 9 sarkanajām diodēm un ieslēdzot kādu no slēdziem arī iemirgojās attiecīgā diode  ::  

un attceraties tas viss tiai ir 2 vardiem + '<='zīme 
un ja girbat šitādus slēdžus 9 slēdzu funkciju uztaisīt uz mikrokontroliera tad tur vaidzēs vairāk kodu. 

Koda valoda ir VHDL 
un progrmma ir Altras Quartus 6.1 IDE, kas ir par brīvu un tur ir vesela pakete ar visādiem instrumentiem varat arī vienkārši pamodelēt loģiku pat, bez FPGA mikrenes tur ir smuks simulātors, kur var ar peli signālus pats savilkt un apskatīties vai jūsu logika strādā.
Tur ir arī biblote ar parastajām loģikas mikrenes funkcijām kā 74HC244 utt. pilnīgi visas loģikas mikrenes (saglabājies no CPLD laikiem kad mazās CPLD paŗsvarā izmantoja lai aizvietotu parastās loģikas mikrenītes).

----------


## Helis

*Velko*, tu tam ATiny12 pats taisīji programmatoru???

Vispār es taisos apgūt Atmel mikrokontrolierus, tādēļ vēlos jautāt ar kādu man sāk un kādu programmatoru ņemt??

----------


## karloslv

Helis, ja tev kompim ir normāls seriālais vai vēl labāk paralēlais ports, tad programmatoru uztaisīt ir kā divus pirkstus apčurāt - skat. te: http://www.lancos.com/prog.html

Es pats labu laiku lietoju to LPT programmatoru. Tagad gan ir jauns dators bez portiem, un domāju, kas labāk - pirkt USB programmatoru vai ko. Starp citu, ar avrdude rīku lasa un raksta daudz ātrāk nekā ar Ponyprog (avrdude var dabūt gan uz Linux, gan Windows).

Ar kādu AVR sākt - gaumes jautājums. Diezgan universāls ir Atmega8, kuru tagad aizvieto Atmega48/88/168. Tas jau ir kļuvis gandrīz tikpat universāls kā KT315 tranzistors  ::  Ir cilvēki, kas vienmēr sāk ar pašu lielāko, ko var darbūt, un tad cīnās, bombardējot citus ar jautājumiem. Nezinu, es sāku ar pavisam vienkāršu AVR, kas darīja tieši to, ko man tobrīd vajadzēja un neko diži vairāk.

----------


## Helis

Nu es arii noteikti nesākšu ar baigi jaudīgu mikrokontrolieri, jo zinu, ka tad būs lielas problēmas visu apgūt un interese lenām tādā gadījumā tiks vēl pazaudēta.  :: 

Nu par to programmatoru ir lieta taada ka man ir portatīvais, tātād paralelo vai serialo portu diemzhēl nav. Vienīgais varu mēģināt izmantot vadu USB<->Paralel port, vienīgais jautājums vai kompim nebūs problēma ar atpazīšanu?? Cik skatījos tad ja izmanto USB tad uzreiz vajag kādu programmatoru ar kuru saprogramēt to galveno mikreni kas to plati vada.. 

Nu apsaktījos uz programmatoru, kuram iedevi linku - nu iepatikās ļoti.   ::   It īpaši dēļ tā ka universāls, proti aptverts plašs loks dažadu modeļu + nav vajadzības pēc galvenās mikrenes. Starp citu, šitas ies, ja es izmantošu piem. vadu USB<->Serial vai vajadzees kaadus papildus draiverus??

Aa un cik sapratu tad uz win avrdude ir iekljauts WinAVR...

----------


## Velko

> *Velko*, tu tam ATiny12 pats taisīji programmatoru???


 Jap. Taisīju pēc šitā apraksta (programmēšanas softos sauc par "bsd"). Darbojās samērā ciešami.

Ja par USB programmatoriem - man tagad šāds paštaisīts  ::  Tiesa, lai tādu uztaisītu pastāv "vistas un olas" problēma - lai palaistu nepieciešams cits, strādājošs programmators. Sākumā, protams, arī zināšanas priekš tāda pietrūkst.

Ar USB uz Serial vai Parallel pārveidotājiem nekad neko nevar zināt. Iespējams ka kāda kombinācija darbojas, bet daudz lielāka varbūtība, ka neies  ::

----------


## Helis

Tad jau laikam vienīgais variants, kas tā derētu priekš mana portatīvā ir USB programmators... Njā bet cik esmu redzējis, tad ja nemaldos viņiem visiem ir galvenā mikrene, kas palīdz USB datus pārvēst programmējamai mikrenei saprotamā valodā???

P.S. Kaut gan tam pašam STK500 ir tikai serial interfeiss, bet esmu redzējis kā viņu sprauž pie parastā PC ar USB<->Serial vadu un viss iet kā nākās (pasniedzējs rādīja dažadus paraugdemonstrējumus ja nemaldos ar Atmel :: ...  ::  Vienīgais varbūt viņam priekš tam ir speciāli draiveri...

----------


## Velko

Tā nu gan laikam sanāk...

Paliek 2 iespējas. vai nu pirkt gatavu, vai arī salodēt pašam un pēc tam sarunāt ar kādu, lai "iedzen" firmwari.

Ar STK500 ir drusku savādāk - tam arī ir iekšā papildus mikrene, kas "tulko" pa RS232 sūtītos datus priekš programmēšanas. Pavisam droši darbosies ar USB <-> Serial pārveidotāju.

----------


## Helis

Nu ok... Vienīgais tagad būtu ļoti pateicīgs par jūsu atsauksmi un ieteikt man kādus labus variantus (pēc pieredzes vai dzirdētā), kādu USB programmatoru taisīt, jo domāju, ka vēl nepirkšu, jo sākumā iztikšu ar paštaisītu un tie gatavie ar nemaznav tik lēti. Nu tātad viens no variantiem ir jau Velko ieteiktais USBasp. Starp citu lūdzu atsauakties kādu no Rīgas, kas man varētu varbūt palīdzēt ar firmeware's iebāšanu mikrenē.  :: 

Un jautājums Velko par to USBasp. Es bishku uztraucos par to USB nosvilināšanu, tādēļ pirmkārt gribu pajautāt kā vispār var ar programmatoru nosvilināt USB portu un kā var no tā izsargāties???

----------


## Velko

Nu, tik vienkārši jau jamais nemaz nesvilst - salaidīsi uz īso - viekārši atslēgsies. Nu, bet ja nejauši gadās kādus 12V (vai, pasarg, dies 220V) atpakaļ "iebarot", tad gan nekas labs nevarētu sanākt.

Principā - kamēr rīkojas "ar galvu" - USB portam nekas nenotiks. Es to optoizolāciju pieliku galvenokārt, lai varētu 3.3V plates programmēt. Nu un, protams, "krutumam"  :: 

P.S. Esmu no Rīgas (vienīgais - plānoju nebūt pirmās 2 jūnija nedēļas). Ja saštuko - sūti PM. Varu arī notirgot kādu jau ieprogrammētu ATmega8.

----------


## Pocis

A ko tauta domā par šito kitu? Ir doma iegādāties,tikai izskatās visai padārgs priekš iesācēja.
Konkrēti šim kitam imponē,ka ir USB saskarne.

----------


## abergs

> A ko tauta domā par šito kitu?


 Lietoju tādu, gan paštaisītu, manuprāt plusi:
1.USB komunikācija,
2.oficialā MICROCHIP uzturēšana-atjaunošana,
3.pēdējā versijā divas labas fīčas: UART tool un LOGIC tool.
Ja ir doma darboties ar PICiem - labs instruments.

----------


## Helis

Nu es gan nesākšu ar PIC, jo kautkā labāk patīk tas ATMEL...  ::  Nu bet tam PIC programmatoram daži plusi ir tīri tā neko...  ::

----------


## Helis

Nu es atradu vēl šitādu programmatoru priekš Atmeļiem: 

http://www.radiokot.ru/lab/controller/29/

Nu itkā izskatās tīri tā neko. Es itkā noskatīju to variantu ar USB/COM.. Itkā ideja ir ka varētu uztaisīt viņu. Lūdzu iesakiet vai ir vērts, jeb labāk tomēr palikt pie USBasp???

----------


## Velko

> Nu es atradu vēl šitādu programmatoru priekš Atmeļiem: 
> 
> http://www.radiokot.ru/lab/controller/29/
> 
> Nu itkā izskatās tīri tā neko. Es itkā noskatīju to variantu ar USB/COM.. Itkā ideja ir ka varētu uztaisīt viņu. Lūdzu iesakiet vai ir vērts, jeb labāk tomēr palikt pie USBasp???


 Jamais ir drusku labāks, bet arī sarežģītāks. Tas, ka izmanto AVR910 protokolu, nozīmē, ka varēsi programmēt pa taisno no AVR Studio (priekš USBasp būs jāzmanto Avrdude). Es teiktu - saliec USBasp (pietiekami vienkāršs un lēts sanāk). Ja nepatiks - vēlāk vari būvēt ko advancētāku.

----------

