Sari la conținut
ELFORUM - Forumul electronistilor

Cu ce v-ati mai jucat?


bogdanm

Postări Recomandate

Vad ca lumea nu prea se inghesuie pe subiectul "alte microcontrollere", asa ca incep eu :) Am inceput cu PIC, am continuat cu AVR, si intre timp m-am mai jucat cu cateva microcontrollere care merita mentionate aici. - Scenix (actual Ubicom) SX18AC/DP: un core de PIC care ruleaza la 50MHz/50MIPS. Exact, este un core de PIC de mare viteza la care ciclul masina are un singur ciclu de ceas (in loc de cele 4 cicluri de ceas ale PIC-ului standard). Daca ati avut momente in care viteza PIC-ului nu a fost suficienta, fara indoiala asta e alternativa. Am impresia ca intre timp l-au facut sa ruleze la 75MHz, intr-o vreme erau chiar versiuni de 100MHz.- Zilog eZ80: tatal nostalgiei. Un core de Z80 de la mama lui (Zilog) cu set extins de instructiuni (dar totusi compatibil cu Z80!) care ruleaza la 50MHz si te face sa-ti aduci aminte de vremurile in care scriai assembler pe calculatorul tau personal HC-85 facut de tata pe genunchi :) Bus extern de memorie pana la 16M, variantele mai noi au controller de Ethernet, IRDA si o groaza de alte periferice. Intentionam intr-o vreme sa-mi fac proiectul de diploma cu jucaria asta, iar cei de la Zilog au fost extrem de amabili si mi-au trimis un kit complet de dezvolatre (hard&soft, compilator de C inclus) pe de-a moaca. M-am jucat o groaza cu el. Placa de dezvoltare are o conexiune Ethernet, asa ca am portat o stiva TCP/IP simpla si cateva mici aplicatii pe langa. Una peste alta, a fost o placere sa lucrez cu el.- Cypress PSOC: o jucarie un pic aparte, care contine blocuri hardware/software care se pot conecta intre ele prin soft, rezultand o gramada de chestii pe care nu le poti face cu alte microcontrollere (filtre on-chip, numaratoare on-chip samd). Exista un reference design care implementeaza un modem complet intr-un singur PSOC. N-am apucat sa ma joc prea mult cu el, deoarece am incercat sa-i fac un programator, dar are de departe cel mai ciudat si mai nesuferit protocol de programare pe care l-am vazut vreodata. Core-ul ruleaza pe la 48Mhz parca, dar e destul de slab (instructiuni care tin 6-7 ciclii samd)- Texas Instruments MSP: inca destul de putin cunoscut, dar eu as lucra numai cu el daca nu as avea un STK500 pentru Atmel care imi oferta totul "de-a gata" pentru o aplicatie noua. Core foarte evoluat, optimizat pentru consum foarte mic, plin de periferice, compilator de C gratuit (msp-gcc), sample-uri primite chiar de la producator :) Programabil prin JTAG, se poate face si debugging prin JTAG direct cu programul din MSP folosind acelasi toolchain free (msp-gcc). - Atmel AT91M40800 (cred): cu totul alta mancare de peste. Arhitectura ARM, foarte raspandita in industrie, consum foarte mic de energie la o putere de procesare mai mult decat satisfacatoare. Daca ma intreaba cineva care e cea mai reusita arhitectura de microprocesor inventata vreodata o sa-i raspund fara nici o ezitare "ARM". Am facut o placuta cu o jucarie din asta pe baza unei scheme gasite pe net. E impresionant cate poti face cu el. Am reusit sa portez un libc cu cateva functii de intrare/iesire si sa ma juc cu compilatorul gcc pentru ARM (desigur, freeware). Mai am o groaza de facut cu placuta asta. Am compilator de C++ free, dar imi place la nebunie sa scriu cod in asamblare pentru el. Cunoscatorii stiu de ce ;)- FPGA-uri. Da, stiu, nu sunt microcontrollere, dar am zis sa nu deschid un topic nou :) Mi-am facut lucrarea de diploma pe jucariile astea, cu tema "compilarea algoritmilor in hardware". Sunt deosebite prin faptul ca pot deveni exact ce vrea utilizatorul: microprocesoare, contoare, controllere de memorie, codec-uri ... in principiu cam tot ce se poate face intr-o pastila de silicon se poate programa intr-un FPGA (ce-i drept la o viteza mai mica). Am lucrat cu ele in HandelC (un limbaj C-like ce permite compilarea programelor direct in cod sintetizabil Verilog sau VHDL) si VHDL. De departe cea mai puternica jucarie pe care am pus mana vreodata. Un singur FPGA mai maricel poate inlocui circuite intregi. Asa ... m-am descarcat :) Voi ce mai folositi?

Link spre comentariu
  • Răspunsuri 17
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • bogdanm

    4

  • ciocead4

    3

  • vasy_gsm

    2

  • masterpic77

    2

Top autori în acest subiect

Eu unul nu m-am jucat cu atatea microcontrolore ca tine, dar as vrea sa-mi pun ghearele pe cateva noutati:- ARM de la Atmel, nu de alta dar au anuntat ca au scos chip-ul de sub 3$ :P - ARM de la Philips: celebra familie LPC2xxx pare extrem de atragatoare, atat doar ca disponibilitatea chip-urilor (si bineinteles pretul) este un semn de intrebare. De aceea te intreb ce tool-uri freeware de ARM ai gasit: compilator C (stiu ca GCC are asa ceva), debugger (merge GDB-ul?), emulator (JTAG?)?Referitor la FPGA-uri, inca n-am pus mana pe niciunul, in schimb m-am jucat cu un CPLD de la Lattice pe care l-am programat in ABEL :oops: . Pe viitor insa intentionez sa trec la VHDL, pentru compatibilitate sporita cu sistemele comerciale. De aceea spune-ne mai multe detalii despre HandelC?

Link spre comentariu
Eu unul nu m-am jucat cu atatea microcontrolore ca tine, dar as vrea sa-mi pun ghearele pe cateva noutati:

- ARM de la Atmel, nu de alta dar au anuntat ca au scos chip-ul de sub 3$

AT91SAMxxxx ... si eu le astept cu nerabdare :) Au aparut deja versiuni inclusiv cu USB si CAN integrat. Numa bune de bricolat, mai ales ca unele sunt suficient de simple si nu au nici macar interfata de memorie externa.

- ARM de la Philips: celebra familie LPC2xxx pare extrem de atragatoare, atat doar ca disponibilitatea chip-urilor (si bineinteles pretul) este un semn de intrebare.

Corect de doua ori. Cu Philips-ul am avut cele mai multe probleme cand a fost vorba de facut rost de sample-uri sau chiar de cumparat chip-uri. Aici se gasesc greu, iar comunicatia lor cu mine a fost ... jalnica, nu are rost sa spun mai mult de atat. Aparent (si nu sunt singurul care o spune) Philips nu e prea interesat de piata din partea asta a Europei. Pacat, LPC-urile sunt chiar interesante.

De aceea te intreb ce tool-uri freeware de ARM ai gasit: compilator C (stiu ca GCC are asa ceva), debugger (merge GDB-ul?), emulator (JTAG?)?

Merge gcc-ul de stinge. Pentru un toolchain complet incearca gttp://gnude.sourceforge.net. GDB-ul merge cu o interfata JTAG pe care am bricolat-o pe genunchi dintr-un buffer CMOS si un manunchi de rezistente (celebrul Wiggler, care costa undeva peste 100$ si contine exact ce am scris mai sus :twisted:) Daca vrei caut schema si ti-o dau.

Referitor la FPGA-uri, inca n-am pus mana pe niciunul, in schimb m-am jucat cu un CPLD de la Lattice pe care l-am programat in ABEL :oops: . Pe viitor insa intentionez sa trec la VHDL, pentru compatibilitate sporita cu sistemele comerciale. De aceea spune-ne mai multe detalii despre HandelC?

ABEL nu stiu, dar ar trebui sa invat :) VHDL-ul e mult prea mult pentru un CPLD, merge un limbaj mai simplu. Eu personal prefer Verilog din cauza sintaxei, desi VHDL e ceva mai puternic. HandelC ... asta e o chestie geniala. Din pacate nu e free, si mai e si scump ca naiba. Eu l-am folosit in mediu universitar si a fost alta treaba. Inchipuie-ti ca scrii ceva de felul urmator:

 

// constructie paralela HandelC ce permite interschimbarea valorilor a doua variabile intr-un singur ciclu de ceas

par

{

a = b;

b = a;

}

 

E doar un exemplu pe care l-am folosit pentru a ilustra puterea limbajului: constructii paralele speciale, sincronizare, flexiblitate maxima. Pentru mai multe detalii: http://www.celoxica.com.

Link spre comentariu
Merge gcc-ul de stinge.

Yep, ma asteptam, pentru ca AVR GCC zbarnaie :d .

GDB-ul merge cu o interfata JTAG pe care am bricolat-o pe genunchi dintr-un buffer CMOS si un manunchi de rezistente (celebrul Wiggler, care costa undeva peste 100$ si contine exact ce am scris mai sus ) Daca vrei caut schema si ti-o dau.

Da, variatiuni pe aceeasi tema contin atat Wiglerele cat si Altera ByteBlaster, Lattice IspDownload Cable, etc. , dar imi trebuia o confirmare ca functioneaza OK debugging-ul prin JTAG pentru ARM. Daca totusi ai la indemana o schema trimite-ne-o (sau spune-ne un link de unde putem sa o luam). By the way, eu mi-am facut deja un astfel de adaptor pentru CPLD-urile de la Lattice, dar nu stiu daca merge si pentru ARM-uri (se spune ca pentru AVR-uri a fost testata si merge).

ABEL nu stiu, dar ar trebui sa invat VHDL-ul e mult prea mult pentru un CPLD, merge un limbaj mai simplu.

Din nefericire nu am invatat ABEL in scoala, dar VHDL a fost la un curs, de aceea speram sa-mi aduc aminte mai usor de VHDL decat sa invat alt limbaj de la capat.

Cat despre HandelC, daca nu exista ceva freeware, atunci pot sa uit, deoarece nu-mi place sa lucrez cu softuri fara licenta. In concluzie ma limitez la ABEL sau VHDL.

Link spre comentariu

Da, variatiuni pe aceeasi tema contin atat Wiglerele cat si Altera ByteBlaster, Lattice IspDownload Cable, etc. , dar imi trebuia o confirmare ca functioneaza OK debugging-ul prin JTAG pentru ARM. Daca totusi ai la indemana o schema trimite-ne-o (sau spune-ne un link de unde putem sa o luam). By the way, eu mi-am facut deja un astfel de adaptor pentru CPLD-urile de la Lattice, dar nu stiu daca merge si pentru ARM-uri (se spune ca pentru AVR-uri a fost testata si merge).

Mare confuzie si cu interfetele astea. Nu am chiar acum schema la indemana, dar uite o discutie pe tema asta (desi pana la urma cred ca nu am folosit nici unul din circuitele de acolo):http://www.edaboard.com/viewtopic.php?t ... highlight=Oricum, urmatoarea chestie mi se pare mult mai interesanta:http://www.graphord.com/books/OneDollarDongle.pdfUn fel de "universal dongle" care emuleaza printr-un CPLD o groaza de configuratii de dongle-uri standard.PS. GCC RULES :mrgreen:
Link spre comentariu

Oricum, urmatoarea chestie mi se pare mult mai interesanta: http://www.graphord.com/books/OneDollarDongle.pdf Un fel de "universal dongle" care emuleaza printr-un CPLD o groaza de configuratii de dongle-uri standard.

Foarte interesant document, mai ales ca l-am zarit printre autori pe Annti Lukats ("taticul" BOOTICE-ului) si pentru ca ideea folosirii unui CPLD este salvatoare printre atatea tipuri de interfete. Desi interfetele "glue logic" nu sunt greu de realizat, parca mai simplu este sa flash-uiesti alt firmware in CPLD si gata, ai alta interfata. Totusi un pas inainte ar fi o modalitate de pre-programare a CPLD-ului pentru mai multe tipuri de adaptoare si apoi utilizatorul sa aleaga target-ul printr-o modalitate sau alta (de exemplu folosind conectori header diferiti pe acelasi PCB).
Link spre comentariu
  • 3 luni mai târziu...
Vizitator microjean

Eu m-am 'plafonat' numai pe familia 8051... mi-e greu si nici n-am timp sa invat altceva. Poate o sa incep odata un DSP de la Texas Instruments.Am lucrat cu:- Atmel 8952 - telecomanda PC cu pornit-oprit calculator din WOL - soft Girder;- Philips 80c552 - vreo 2-3 amplificatoare comandate cu el, plus multe chestii pentru firma la care lucrez;- Siemens (actualmente Infineon) SAB80c517A - tot niste amplificatoare si o groaza de automatizari pt firma;Mai am niste COP-uri de la National Semiconductors - no time...

Link spre comentariu
  • 4 ani mai târziu...

Oricum, urmatoarea chestie mi se pare mult mai interesanta: http://www.graphord.com/books/OneDollarDongle.pdf Un fel de "universal dongle" care emuleaza printr-un CPLD o groaza de configuratii de dongle-uri standard.

Foarte interesant document, mai ales ca l-am zarit printre autori pe Annti Lukats ("taticul" BOOTICE-ului) si pentru ca ideea folosirii unui CPLD este salvatoare printre atatea tipuri de interfete. Desi interfetele "glue logic" nu sunt greu de realizat, parca mai simplu este sa flash-uiesti alt firmware in CPLD si gata, ai alta interfata. Totusi un pas inainte ar fi o modalitate de pre-programare a CPLD-ului pentru mai multe tipuri de adaptoare si apoi utilizatorul sa aleaga target-ul printr-o modalitate sau alta (de exemplu folosind conectori header diferiti pe acelasi PCB).
adresa aia e moart?, mai are cineva onedollardongle.pdf-ul ?i e dispus s?-l urce pe forum sau altundeva??? :jytuiyu
Link spre comentariu
  • 8 luni mai târziu...

Vad ca sunteti experti...... un sfat numai.... Ce i-mi recomandati pentru inceput,dar sa faca si treaba, deci as vrea sa fac debug la Procesoarele AMR 7,9,11,Cortex....pentru telefoanele Samsung in special.... as vrea sa pot sa si flashez aceste telefoane si in special la aceste device-uri la care ar trebui rescris zona de Boot.Stiu ca cel mai bun ar fi Trace32 pe urma OpenIce si ar mai fi inca multe dar cum nu am atatia bani inca as vrea o recomandare spre ceva FREE ca si asa inca nu as putea scoate bani imediat din asta.... Daca am fost inteles va multumesc,,,,, deci o interfata gen Wiggler si un soft bun pentru AMR... THX.

Link spre comentariu

Vad ca sunteti experti...... un sfat numai.... Ce i-mi recomandati pentru inceput,dar sa faca si treaba, deci as vrea sa fac debug la Procesoarele AMR 7,9,11,Cortex....pentru telefoanele Samsung in special.... as vrea sa pot sa si flashez aceste telefoane si in special la aceste device-uri la care ar trebui rescris zona de Boot.Stiu ca cel mai bun ar fi Trace32 pe urma OpenIce si ar mai fi inca multe dar cum nu am atatia bani inca as vrea o recomandare spre ceva FREE ca si asa inca nu as putea scoate bani imediat din asta.... Daca am fost inteles va multumesc,,,,, deci o interfata gen Wiggler si un soft bun pentru AMR... THX.

Din pacate nu prea exista tool-uri free prea reusite pentru operatia asta. Singura combinatie de care stiu eu este Insight+OpenOCD+un adaptor USB la JTAG (ceva gen http://www.olimex.com/dev/arm-usb-tiny.html). Dar sunt multe probleme in setup-ul asta, in principal pe partea de OpenOCD, care e greu de configurat si foarte putin documentat (exista unele documente, dar sintaxa fisierelor de configurare pare sa se schimbe rapid).
Link spre comentariu
  • 1 lună mai târziu...
Vizitator spider_ktx

o mica intrebare, are cineva idee daca pot sa citesc niste memorii flash connectate la un xilinx xc9536 prin interfata jtag a cpld ului? si daca poate cineva sa imi recomande un adaptor jtag de unde sa pot cumpara, stiu ca as putea sa imi faca unul ( am mai facut acum 4 ani) dar nu mai am timp pentru asa ceva. Multumesc

Link spre comentariu
  • 2 ani mai târziu...

Până acum,

Zilog: Z80, pe 8 biţi, microprocesor

Intel: 8080, pe 8 biţi, familia 8086

Microchip: PIC-uri, pe 8 biţi, microcontroller

Atmel: AVR-uri, tot pe 8 biţi microcontroller

Texas Instruments: MSP430, pe 16 biţi

Texas Instruments: C5000, DSP

 

Acum, tocmai îmi sparg creierii făcând reverse engineering la un panou de control de la o imprimantă HP multifuncţională. Are pe el aşa:

- FPGA Xilinx Spartan IIE, XC2S50E-6, 50 000 porţi, adică 768 slice-uri

- oscilator 50 MHz

- keypad numeric + alte câteva butoane (în total 20 push buttons)

- LCD alb/negru 256*64 (nu sunt sigur de rezoluţie)

- backlight alb pentru LCD

- controller LCD cu EPSON S1D13503

- 64K x 16 SRAM legat la controller-ul LCD-ului

- touch screen rezistiv

- controller (ADC) pentru touch screen, făcut cu ADS7846N

- senzor pentru temperatură şi pentru tensiunea de alimentare (incluse în ADS7846N)

- un canal ADC cu SAR la 125 KHz, rămas liber de la ADS7846N

- buzzer piezo cu volum control (2 biţi, PWM + ON/OFF)

- 4 LED-uri + 1 LED bicolor (roşu + verde)

- câteva conexiuni cu buffer-e legate la un conector, 3 in + 1 out, potrivite pentru o comunicaşie serială, sincronă sau asincronă

- PROM de configurare

- conector JTAG

Ca dotări, e numai bună de placă didactică cu FPGA, are pe ea mai mult decât suficient pentru dezvoltat aplicaţii în VHDL, Verilog sau alte HDL.

I-am încropit o sursă şi o interfaţă JTAG, iar de câteva zile, sunt ca un copil în magazinul de jucării. :a:

Am reuşit să scot schema de la mai toate perifericele. Cu unele chiar am vorbit. Am dat din LED-uri, am aprins/stins backlight-ul, am cântat din buzzer "Melc, melc, codobelc" folosind keypad-ul şi am reuşit să citesc touch screen-ul.

:yahoo:

Mai rămâne să scriu/citesc SRAM-ul, să folosesc LCD-ul şi să implementez o interfaţă serială pe pinii cu buffer, ca să pot comunica şi cu exteriorul.

 

Totul a fost absolut gratis şi provine din piese recuperate, care urmau să fie aruncate (panoul de imprimantă), o sursă de 24V (dintr-o fostă imprimantă), plus o mufă DB25 şi alte câteva mărunţişuri pe care le aveam prin casă (pentru programator şi alimentator - placa vrea şi 24V, şi 3.3V).

 

Mihai, un fost coleg şi prieten cu care am pierdut legătura, mi-a dat placa cu panoul de control al imprimantei. Urma să fie aruncată la gunoi. Până acum am ţinut-o câţiva ani nefolosită, iar de câteva zile mi-a căşunat pe ea.

 

Lumea FPGA-urile mi se pare de-a dreptul fascinantă,

Mulţumesc Mihai! :wav:

 

P.S.

NXP (fostul Philips), mi-a făcut şi mie numai figuri, aşa că acum, îi evit la orice proiect.

Link spre comentariu

LPC17xx de la NXP sunt Cortex M3 la 100 - 120MHz , lucrez cu ele de cateva luni si sunt foarte multumit , documentatia este de nota 10 , compilator free pana la 128k , le gaseti de cumparat la Farnell,TME...Gasesti de cumparat pe la 100 RON placuta de dezvoltare cu programator si debugger incorporate...

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări