Q: Mikro valdikliai

Q: Mikro valdikliai

Sveiki
nusprendziau pazaist su mikro valdikliais Šypsena tai susiradau pora aprashymu su pavadininu "mano pirmasis projektas su PIC", susitavau paprastuti programatoriu, isbandziau pavyzdukus Šypsena. po viso to atsirado noras visgi juos perprast, bet niekaip neradau aprashymu kad butu nuo A iki B daugumoj jau aprashoma kaip pereiti ar kas naujo. jei turit kas kur geru straipsniuku pametekit Mirkt(pageidautina LT:RUPiktasN)

http://www.elektronika.lt

pasirink sxemos ir trauk y apacia…

pirma klaida adarei kad pasirinkai pic valdikli, bandymui labai geras atmel (at90s2313 kaina:9lt Lemonoi) beje programatorius ir pavizdukai yra http://www.elektronika.lt bei http://www.commlinx.com.au/microcontroller.htm bet chia anglishkai

O kuom pic blogai?

Tai o ką, datasheet’e informacijos mažai? Ar būtinai reikia lietuviškai? dar neatėjo tie laikai, kad lietuviškai galėtum susišnekėti apie elektroniką. Net jei rasi vertimą, tai ko klausdamas liksi nesuprastas dažnai … Pramoksi anglų ir bus tšiki Gerai nesudėtinga, tik noro reik. Ale tavo slapyvardis …

bent jau man pradzioj AVR;ai suprantamesni buvo Šypsena beje jie pigus ir manau daugiau galimybiu turi negu pic uz mazesne kaina… ir ivairesniu tech. charakteristiku yra bei labai plati AVR’u seima At90, Atmega, ATtiny… ir visiems vienas softas beveik tinka… beje geras toolsas yra AVR’ui is IAR’o http://www.IAR.com atrodo… turbut ir pic’ams jie turi,

bet as pradejau nuo AVR’o nes pic’as man kazkokx keistas pasirode… beje ir nesigailiu

As nuo PIC pradejau, man jis nepasirode sudetingas. Gal AVR ir daugiau pasirinkimu yra.
Beje PIC’ams geriausias kompileris HI-TECH PIC C. Sasaja dosine, bet uz IAR daugiau navarotu turi. IAR’ui atiduociau II vieta. O pvz palyginus su C2C kompileriu tai programa net vizualiai labai zymiai greiciau sukasi ir aisku kodas kelis kartus mazesnis gaunasi.

Sveiki dar karta.
Datasheet yra geras daigtas, taciau jis nera pradziamokslis. O man reikia kaip minejau nuo A iki …
o dek niko tai po kokio 10 bandymo ivesti savo standartinius nikus … (nu ne gelezinbiu nervu as zmogus, bent jau sarasha ismestu kokie panashus naudojami Šypsena )

Na, cia zinoma skonio reikalas, bet paminesiu kelis faktus.

  1. PIC architektura kurta tada, kai C buvo gana retai naudojama uC programint. Todel ju architektura projektuota neatsizvelgiant i compileriu trukumus ir privalumus. Todel ju ASM toks jau tikrai nepatogus compileriui…

  2. AVR’as kurtas kartu su compileriu. Vat butent - architektura kurta kartu su IAR;o komanda - compilerio rasytojai bendradarbiavo su HW kurejais. Retas, bet labai pagirtinas reiskinys…

  3. PIC gerokai prisenus architektura. Cia gincytinas ir subjektyvus teiginys - labai lengva uzgincyt. Va 8051 dar turbut 50 metu nepasens, nors jam jau dabar ~50 metu…

  4. Kitas subjektyvus teiginys, bet pasistengus galima ir irodyti -> avr’o instrukciju rinkinys efektyvesnis uz pic’o.

  5. Na, cia neesu 100% garantuotas, bet turbut gerokai platesne seima pas avr’us nei pic’us. Na, bet irgi, pagal tai, 8051 nepraspjaunami kolkas - gamina meleonai firmu ir risc’iniu ir cisk’iniu ir flashiniu ir t.t. ir pns.

Taip kad, mano nuomone, pic’as atgyvena po biski.

tai gal kokia literatura galite patarti?

Na architektura yra Harward -RISC. Kaip ir daugelio kitu. O del kompilerio, tai cia tavo subjektyvi nuomone.

Praktiskai kiekvienas CPU turi savo asm komandas, ir kompileri joms transliuoti is C. Ir apskritai niekas nekuria

CPU pagal kompileri, greiciau CPU kuriamas pagal poreikius, o veliau kompileris jam. Priedo ir C kalba rasant koda,

optimalumas didziaja dalimi priklauso nuo programuotojo.

Gal but, sito nezinau. Aisku, tai labai pagirtina. Taciau PIC’ams IAR nera pats geriausias kompileris.

architektura yra klasikine, kaip jau minejau - Harwardo, 8-bit, su RISC komadu rinkiniu (labai panasi kaip ir

AVR). Kiek zinau yra dvi architekturos Von Neumano (Princtono) ir Harwardo. Kiekviena turi savo pritaikymus. 8051

yra Von-Neumano architekturos. Esminiu skirtumu laikyciau integruotu periferiniu irenginiu skaciu ir ivairove bei

taktini dazni. Nepamirshk, kad PIC tai ne tik 16F84, yra ir "high-end" klase, yra su integruotu USB, ir dar visokiu

visokiausiu.

Nezinau, AVR asemblerinem instrukcijom nesidomejau. Galbut tu teisus. Beje pateik pavyzdydi koki, net idomu

pasidare.

nebutina gaminti pacia placiausia gama. Visada galima rasti alternatyva.

Mano nuomone PIC ir AVR - tai du patys populiariausi, labai panashus mikrokontroleriai, orientuoti tam paciam rinkos segmentui. Turi labai panashias galimybes, panashu kieki (ty labai daug) kompileriu, visokiu toolsu ir tt. Lygiai kaip ir panashu MIPS greiti.

del greicio nesiginciju vat del galimybiu uz atitinkama kaina tai…
nezinau ar rasi man pic’a su 2kb flash, 128EEPROM ir t.t. ir uz 9lt.(at90s2313)
beje yra atmega8 su 8kb flash, adc, 512eeprom, 3xPWM, uart ir t.t. beje kaina iki 20lt.

taipat kiek domejausi tai pic nera tokio pasirinkimo kaip atmelio (bent jau musu kraste).

yra ir atmeliu visokiu krutu bet ir kainos kitos. beje del softo tai manau nesulyginami dalykai yra ir topacio ir kito ir geresnio ir blogesnio.

o vat del archtekturos ir instrukciju tai pic atrodo turi tik 3x instr.
o avr’as apie 127 atrodo. ir instrukcijos skyriasi tikrai tikrai beje kaip pic’o instrukcijos yra per 1cikla tai atmelio nevisos bet daugelia taippat vykdomos per 1.

isvada : uz atitinkama kaina ATMEL AVR seima yra daug pranasesne uz PIC’u s o manau kaina yra pakankamai svarbus daigtas

Idomi diskusiaj gaunasi Šypsena
bet klausimas buvo del mokymosi literaturos.
man labiau aktualus butu atsakymai su kuriuo lengviau paimti starta mikrovaldikliu srityje. nes manu juose abiejuose zodis registras reiskai ta pati Šypsena o man idomu perprasti kaip elgtis su shiuo zodziu Šypsena
taip kad prashau nusileisti auksciausiuju protu prie zemes ir rekomenduoti is ko mokyti Mirkt

Del programuotojo, tai sutinku. Cia nuo jo labai daug kas priklauso. Daznai net ir rasydamas C kalba, turi zinot, kaip tai atrodys sukompilinus Šypsena O del kompilerio ir proco kurimo, tai tu ne visai teisus. Pavyzdi buvau pateikes su AVR - tai tikras faktas, kad avr compileris buvo kuriamas lygegreciai su procu.

Matai, dar tas RISC, CISC ne viska pasako. o Harwardo ir Von-Newmeno architektura tai tik skiriasi adresu erdviu/ duomenu perdavimo sinu panaudojimas. Kaip zinia, Harwardo naudoja atskiras adresu erdves kodui ir duomenims, tuom paciu ir duomenu sinos atskiros kodui ir patiems domenims. Todel Harwardo architekturos procas per viena takta ir nauja instrukcija is programos atminties pasikrauna ir operandus jai atlikti.

Von Newmeno architekturos procuose yra ta pati adresu erdve ir kodui ir duomenims. Ir sina ta pati. Todel sekanciai instrukcijai ir operandams uzkrauti, reikia daugiau nei vieno takto.

Bet sie dalykai dar ne viska apsprendzia. Aisku, cia daug niuansu. Pvz DSP yra vien tik Harwardo architekturos, del uzduoties specifiskumo - paprastai ten instrukcija atliekama su konstanta, kuri kraunama is codo atminties ir duomenim is ramo…

O kalbant apie 51 architektura, tai cia isvis painu - isoreje pas ji tipiska Harwardo atminties erdviu struktura, bet jis per kelis ciklus tik uzkrauna duomenis ir instrukcijas… T.Y.

O kalbant appie RISC ir CISK, tai cia isvis ribos nusitryne jau… Kai pradejo kept 8051 atliekancius instukcija nebe per 12 taktu o per viena, tai kazkaip nebeapsivercia jo vadinti CISC’u. Bo RISC principas ir yra - skaidyti sudetingas instrukcijas uzimancias daug taktu i paprastesnes instrukcijas atliekamas per 1 takta. Tai dabar jei paimsi tradicini RISC ir naujobiska 51 dirbancius tuom paciu taktiniu dazniu, pamatysi, kad 51 praspjauna RISC’a beveik dvigubai…

Sorry… Pvz nepateiksiu - labai jau senai nagrinejaus pic’u asm ir lyginau su AVR. Po to palyginimo "nurasiau" pic’us ir ju nenaudojau Šypsena

[quote]5. nebutina gaminti pacia placiausia gama. Visada galima rasti alternatyva.
[/quote]

Jo. Tik kas bus, jei viena diena Microchipas nuspres nebegaminti PIC’u? Niekas ju daugiau negamina. Tas pats ir su AVR’u. O 51 gamina per 80 skirtingu firmu Šypsena Ir ju yra nuo 8 koju 1.5mmx1.5mm korpuse(buves Cygnal) iki monstru su spec DSP instrukcijomis (berods CoS gaminys).

[quote] Mano nuomone PIC ir AVR - tai du patys populiariausi, labai panashus mikrokontroleriai, orientuoti tam paciam rinkos segmentui. Turi labai panashias galimybes, panashu kieki (ty labai daug) kompileriu, visokiu toolsu ir tt. Lygiai kaip ir panashu MIPS greiti.

[/quote]

Na, cia nesigincysim - tavo akys vienaip rodo, mano kitaip Cha cha

Tik esi neteisus del populiarumo. 8051 lyderis 8 bitu rinkoje. Pabreziu, ne kazkuri 1 firma ji gaminanti, bet visos ju veisles sudetos i kruva, visu firmu.

dar ilgai zadate svaigti?cia ta visa informacija is knygu ar interneto?ar jus jau uzprogramuoti tokiam sh… gimete?

Man picas paprastesnem uzduotim. Bet kur reikia greito skaiciavimo su AVRu greiciau padarau vien del to kad 32 registrai kuriuose gali veiksmus atlikinet su dvibaiciais skaiciais, o pice vienas 8 bitu akumas Cha cha (bet gal jau ir picu tokiu yra? pavardinkit tokius, paziuresim) Bet koda rasyt AVRui sunkoka, del specifiniu dalyku. Tuo picas tikrai geresnis Cha cha

[quote]ir duomenu sinos atskiros kodui ir patiems domenims.
[/quote]
Gerai liezhuvis susipyne protingai berashant? Gerai na, Šypsena bet mintis aishki - supratom …

[quote]po kokio 10 bandymo ivesti savo standartinius nikus
[/quote]
Taip pazhiiistamas jausmas … shtai kaip gimsta kruti nick’ai Šypsena gal tau shiaip stverti schemotechnikos pagrindus … tas klausimas apie registra, zhinai, atrodo, kad nori suzhinoti trigeriu veikima … raktu, tranzu … tai jau gana toli nuo mikrokontrolerio, a ne?

Kaina - rimtas argumentas. PIC brangesni, tavo paminetu galimybiu.

O kas del komandu rinkinio, tai pvz PIC neturi daugybos. Bet tai nera trukumas. Kadangi tai realizuojama per sudeties ir postumio komandas. AVR irgi daugybos neatlieka per viena cikla. RISC esme ir yra minimalus rinkinys butinu komandu. Cia jau programuotojui paliekama laisve kokiu algoritmu jis realizuos viena ar kita uzduoti. Jei tai darys patyres programuotojas arba geras kompileris tai tas algoritmas greiciausiai veiks net greiciau nei realizuotas visiem gyvenimo atvejam pritaikytomis sudetingomis komandomis, kurios vykdomos ne viena (ir kartais net ne viena desimti) ciklu. Taigi cia AVR mano manymu neturi pranashumo.

su AVR’ais ir programavimu C yra pavyzdukai http://www.elektronika.lt del pic’u nezinau o seip tai visa kita datasheet’e
beje geras dar saitas http://www.avrfreaks.net ten irgi apie avr’us o seip rasai google pvz. at90s2313 ir ieskai kur zmones ka nors dare tai tiek

ps. as taip pradejau Šypsena