Tworzenie i programowanie układów scalonych

0

Witam
Chciałbym się nauczyć tworzyć ukłądy scalone, i programować je, tak abym mógł stworzyć proste "komputerki" typu wyświetlające godzinę, czy bardziej zaawansowane typu http://www.allegro.pl/item559112361_komputer_pokladowy_paliwa_do_kazdego_auta.html Od czego zacząć? Jakiego języka się chwytać? Czytałem o BASCOM'ie, ale dobre to?? Jak się towrzy takie płyty?? Możecie podrzucić jakiś kurs??

//pozdrawiam

0

Jechać po kolei:

  • algebra Bool'a
  • technika cyfrowa (podstawy), TTL, MOS
  • bramki (OR, AND, NAND, NOR, NOT )
  • układy kombinacyjne, multipleksery, minimalizacja, kodery, dekodery
  • zatrzaski, przerzutniki JK, D, S-R, M-S
  • układy sekwencyjne
  • rejestry, liczniki, - szeregowe, równoległe
  • pamięci, procesory, układy programowalne
0

E znaczy tak prosto to se ne da.
To wszystko jest dział mikroinformatyka. Najpierw trzeba wiedzieć coś o bramkach logicznych, ttl i cmos (głównie ttl raczej), potem trzeba wiedzieć jak to się łączy do kupy. potem trzeba się dowiedzieć czegoś o ukłądach scalonych już konkretnych, wyświetlaczach, mikroprocesorach i mikrokontrolerach, pamięciach statycznych i dynamicznych, ukłądach wejścia wyjścia i tak dalej. Jak już wiesz jak one działają, to musisz się nauczyć jak je jeszcze łączyć ze sobą, biorąc pod uwagę zakłócenia, ich ograniczanie, no i trochę takich ogółów jak robić, żeby było dobrze.
Języki? proste programy spokojnie można kodować w asm, taki zegarek czy coś takiego nie powinny sprawić najmniejszych problemów a będą małe i wydajne ;) większe można pisać na przykład w c czy nawet c++, jeśli się nie mylę. Z bascoma nigdy nie korzystałem, ale z tgo co się orientuję jest dosyć popularny.

Ogólnie dziedzina dosyć szeroka, ale do podstawowych zastosowań na włąsny użytek całkiem fajna. Aktualnie na przykłąd mam na zajęcia zrobić projekt jakiś i robię chronograf, czyli urządzonko do mierzenia prędkości wystrzeliwanego pocisku. Ciekawa zabawa się zapowiada :)

A jak się robi płytki drukowane? Projektuje się je i trawi odpowiednio. Projektuje się zazwyczaj w jakimś CADzie czy czymś, darmowy jest na przykład EAGLE, w którym robi się schemat, a program sam projektuje płytkę drukowaną. Trawienie to juz ciekawsza zabawa, tu słyszałem jak można to chałupniczo robić, ale nie podejmę się wyjaśnienia. A jak nie to do firmy która wytrawi, cena podobno to okło 40zł za 1dm2.

E:
za długo pisałem :P

0
pako1337 napisał(a)

większe można pisać na przykład w c czy nawet c++, jeśli się nie mylę.

Raczej wątpię, żeby w C++ można było programować mikrokontrolery. Mam znajomych elektroników i wszyscy piszą w C. W końcu to walka o każdy herc i bajt pamięci ;)

0

Heh, pojechaliście chłopakowi z tymi bramkami, że się zaraz zniechęci :) Potworze z bagien, zaproponuje, żebyś zapoznał się z procesorami AVR. Za pare groszy kupisz procesor, dorzucisz następnych kilka - kupisz płytkę a jak jeszcze Ci zostanie pare groszy, to również prosty wyświetlacz.

0

Graf, jasne, ale żeby coś z tego do kupy poskładać to nie raz i nie dwa trzeba jednak bramki uŻyć, muxa czy dmuxa wrzucić, wszystko jakoś do kupy pospinać, żęby nie odpadło i dlatego trzeba podstawy znać.

Zaś co do C++ to zaznaczyłem, że pewien nie jestem, ale coś mi się kiedyś o uszy obiło że możliwość jednak jest, ba! ktoś kiedyś mi przebąknął o możliwości pisania w c# na mikrokontrolery któreś, ale to już raczej sam między bajki wkładam, albo przynajmniej między zastosowania skrajnie graniczne ;)

0
graf.zero napisał(a)

Heh, pojechaliście chłopakowi z tymi bramkami, że się zaraz zniechęci :) Potworze z bagien, zaproponuje, żebyś zapoznał się z procesorami AVR. Za pare groszy kupisz procesor, dorzucisz następnych kilka - kupisz płytkę a jak jeszcze Ci zostanie pare groszy, to również prosty wyświetlacz.

A masz jakieś kursy do tego??

0

To ja moze inaczej podpowiem: w domowych warunkach nie tworzy sie ukladow scalonych. Na ogol kupuje sie scalaki programowalne (mikrokomputery, czy to rodziny AVR, czy na przyklad klony Atmel 8051). Czasem wymagaja one jeszcze zewnetrznego programatora.

Na pececie piszesz program (na jakims symulatorze mozesz go sobie tez przetestowac) - zaleznie od wybranego ukladu, bedziesz mial zapewne do dyspozycji jezyk C, czasem Pascal, na pewno dedykowany assembler (nie boj sie go, jest naprawde prosty i daje doskonaly wglad do tego, jak dziala mikrokomputer); wszystko zalezy od tego, jaki kompilator dla danego scalaka udostepnia producent (lub hobbysci). Potem albo za pomoca wbudowanego, albo tez zewnetrznego programatora, wypelniasz [zwykle wbudowana, choc nierzadko dolaczona zewnetrznie] pamiec programu takiego scalaka skompilowana binarka. Na ogol po zresetowaniu zasilania uklad zaczyna od konkretnego adresu czytac rozkazy i je wykonywac.

Po co bramki, przerzutniki, rejestry i inne elementy elektroniczne, albo wrecz elementy RLC (rezystor, cewka, kondensator)? ...a no po to, bys takiemu scalakowi podal odpowiednie napiecie zasilania, zabezpieczyl uklady wejsciowe (jakies przyciski czy porty transmisyjne) przed drganiem stykow czy innymi zjawiskami niepozadnymi (np.: zjawiskiem hazardu), czy po prostu podpial ta zewnetrzna pamiec, kupiona w postaci kostki z wystajacymi nozkami.

To co sie robi w domu, to taki gotowy scalak i inne elementy ukladu komponuje w plytke drukowana, wytrawia tak plytke, lutuje elementy, programuje scalak i zamyka w fajnej obudowie z wyswietlaczem, diodka i przyciskiem :)

0

oo, Szczawik, dzięki za wyjaśnienie, błędy w nazewnictwie. Właśnie chodzi mi o takie płytki :) A słyszałeś o języku Bascom?? Jaki on jest względem np Assamblera? i Od czego zacząć? Jakie kupić rzeczy?? Jakiś kurs by się przydał.

A może C?

0

Nie patrz na jezyk - go mozesz opanowac w 30 minut, jak znasz budowe scalaka. Patrz na to, jaki scalak potrzebujesz; co ma miec w srodku, a co udostepniac na zewnatrz.

Typowo interesuje Cie:

  • pamiec programu (ogolnie pamiec ROM),
  • pamiec RAM,
  • dostepne taktowanie (i czy uklad ma wewnetrzny zegar, czy wymaga dodatkowego ukladu z oscylatora kwarcowego),
  • dostepne porty szeregowe (SPI, RS232, USB), rownolegle (nie mowimy o LPT, ale o normalnym cyfrowym zlaczu rownoleglym bez konkretnego protokolu transmisji), moze jakis Ethernet,
  • dostepne wewnatrz jednostki wykonawcze (przetworniki A/C, liczniki, rejestry, watchdog, linie przerwan),
  • zakres zasilania.

Od czego zaczac? Od google:
http://www.google.com/search?q=trawienie+plytek+drukowanych
http://www.google.com/search?q=programowanie+AVR

Moze i przejrzenia jakiegos opisu scalaka (Data Sheet) - nie koniecznie musisz wybrac ten, ale dowiedz sie, jakich opisow sie spodziewac i jakiej wiedzy Ci brakuje:
http://www.tekmos.com/Documents/TK80C51FA.html

Mozesz tez odwiedzic ksiegarnie w poszukiwaniu lektur z elektroniki i programowania ukladow cyfrowych.

0

Ja mam jeszcze taką propozycję: http://www.elektroda.pl/ - tam jest chyba więcej ekspertów w tej dziedzinie niż tu :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1