małego projektu?

Aug 21, 2010 15 Replies

Witam.



Zadanie: układ który z jednej strony ma podalczony RAM szeregowy (ISP), z drugiej wyprowadza dane na magistralę 8 bitów a z trzeciej ma wejście ISP do prostej komunikacji. Główny algorytm polega na wypychaniu odczytywanych komórek pamięci z ISP w kółko na magistralę równoległą i czasami komunikacji przez ISP ze światem zewnętrznym na zasadzie np. aktualizacji bajtu pamięci RAM. Dodatkowo przy inicjacji musze wyslać kilka bajtów do RAM i na magistralę równoległą.



Wymagam niewielkich szybkości, powiedzmy że ISP max. ~1MHz. Wystawianie danych na magistralę rownoległą powiedzmy około 100kHz.



Nie chcę tego robić na uC ponieważ traktuje to jako projekcik w sam raz do nauki hdl.



a) jaką technologię _tanią_ powinienem wybrać? FPGA ? CPLD? Coś innego?



b) tak naprawdę potrzebuje kilkanascie I/O. Scalaki mające ich setki są bez sensu.



c) żadnych kombinacji zasilaniem - jedno zasilanie 3.3V było by ideałem.



d) jak oszacowac ilośc przerzutników w takim projekcie? Muszę trzymac kilkakaście bajtow inicjujących urzadzenie po włączeniu, nie wiem gdzie mozna je trzymac i czy nie używaja przerzutników właśnie.



e) ideał byłby w DIP do prototypów.



Ogolnie chciałbym wystartowac możlwie małym kosztem z mozliwie małym projektem. Co powinienem obejrzeć, czym się zainteresować?


Zobacz to:

formatting link
Na tym wystartujesz, wytestujesz, nauczysz się i będziesz wiedział ile LE potrzebujesz i taką kostkę sobie kupisz do finalnego projektu.

Chyba sie nie rozumiemy. Ocenić mogę choćby syntezując projekt i software mi to oceni. Problem w tym, że nie wiem z grubsza jakimi scalakami mam się interesować i *jakim* software w związku z tym. To co mi pokazaleś to armata na muchy. Ja potrzebuje coś malutkiego, ba, najlepiej w DIP z 20 nogami. Pewno nie ma, ale obrazuje to moją potrzebę. Bawić sie płytkami ewouacyjnymi to ja mogę, ale na końcu musze to wlutowac malym kosztem w płytkę. Najlepiej kosztem kilku $.

jesli te bajty za jakos zmienne, w sensie ze co pewien czasz wysylasz do swojego PLD inny zestaw i one tam sa pamietane do wylaczenia zasilania - to niestety kazdy bit to w typowym CPLD przerzutnik. Kilkanascie bajtow to kolo setki przerzutnikow, co cie lokuje w sporych rozmiarach kosciach.

FPGA miewaja [w zaleznosci od typu] pamieci RAM, co zmniejsza zapotrzebowanie na inne zasoby.

Jesli jednak ma to byc na stale zaszyte "w programie" i po wlaczeniu zasilania ma zostac wygenerowana odpowiednia sekwencja - to zapotrzebowanie na przerzutniki spadnie, bo to zwykla sekwencja o kilkunastu-kilkuset stanach, a przerzutnikow log2.

A moze da sie ta sekwencje wpisac w pamiec szeregowa, nawet jesli ma to byc dodatkowa kostka eeprom ?

Tak czy inaczej - bedziesz potrzebowal kilku licznikow, sterowanie, razem znow blizej setki przerzutnikow, i znow jest to duze CPLD.

Musisz jednak bardziej sprecyzowac co masz osiagnac, sprobowac przemyslec jak to bedzie wygladalo w konkretnej architekturze CPLD - ale wydaje mi sie ze raczej powinienes myslec o malym FPGA.

J.

W dniu 2010-08-21 18:37, Sebastian Biały pisze:

CPLD.

Obudowy zaczynają się od QFN32

tu nie powinno być problemu.

Przełączanie pamięci do złącza SPI zrobisz na multiplekserze (zero przerzutników). Automat adresujący RAM SPI powinien zmieścić się w kilkunastu stanach (4..5 przerzutników), rejestr przesuwny - 8 przerzutników, licznik adresu w RAMie - kilkanaście przerzutników. Zgaduję, że coś co ma 64 przerzutniki/makrocele powinno wystarczyć.

Humorysta.

Jak chcesz dłubać pod linuksem to i tak masz mały wybór - xilinx. Kiedyś w fajnej cenie (~100zł) był zestaw:

formatting link
teraz ceny są jakieś chore. Najtaniej będzie samemu wlutować coś (XC9572XL?) w płytkę uniwersalną.

??

Quartus Altery nie występuje w wersji linuksowej/uniksowej?? Zdaje się, że występuje. Nawet wersja windowsiana pracuje pod cygwinem!

W dniu 2010-08-22 17:50, Pszemol pisze:

Występuje, tylko kiedyś nie było wersji Web (darmowej) pod linuksa. Sprawdziłem teraz na stronie altery i okazuje się, że jest.

Przyznaje, że wersja linuxowa mi pasuje. Ideałem było by coś bez gui, kompilowane z palca, pisane w vhdl albo verilogu.

Tak swoja droga to popatrzylem sobie na produkty Altery .. jaka jest roznica miedzy CPLD a FPGA ? Nigdy nie byla precyzyjnie zdefiniowana, a teraz jeszcze MaxII altery, niby CPLD, a architektura taka jak w ichg FPGA. CPLD ma pamiec kongifuracji na pokladzie a FPGA w szeregowym EPROM ?

Wbrew pozorom moze to nie byc takie proste jak sie wydaje, bo kolega juz cos pisal o wymogach dodatkowych.

Skorzystac z rady Pszemola - moze nie kupowac tej plytki, ale zainstalowac Quartusa, zaprojektowac, zobaczyc ile wyszlo ..

J.

MaxII z Altery. Uwaga - nie wszystkoe wersje maja stabilizator 1.8V na pokladzie.

Uhu. Inne czestotliwosci, mniej dowolnosci 'w srodku' w prowadzeniu sygnalow, ale za to opoznienia zegara dosc dobrze zdefiniowane.

Aaa, znaczy Terasic to firma sprzedajaca plytki z Alterami. A juz myslalem ze Pszemol cos nowego wynalazl ;-)

Pszemol nie robi wynalazków tylko kombinuje jak tu sobie w czasie wyjazdu do Polski na 2 tygodnie jeszcze przy okazji zanurkować w Egipcie w Red Sea :-)

DIP to nie, ale rodzina MAX7000A Altery (3V3) występuje w obudowie PLCC do której jest mnóstwo adapterów wchodzących w 300 milsowe płytki uniwersalne.

formatting link
do wyboru takie CPLD jak 44 pinowy EPM7064AELC44 albo 84 pinowy EPM7128AELC84. Ale to małe kostki i może być problem ze zmieszczeniem układu - warto jednak pamiętać że występują one w PLCC.

Ostatnio widziałem też informacje ze Actel udostępnia darmowe oprogramowanie na linuksa. Małe kości maja w obudowach lutowalnych ręcznie.

j.

Mi się bardziej podobają ich większe kostki SmartFusion... Masz CPU na pokładzie plus FPGA plus analogówka! :-) Nie mogę się już doczekać aż w firmie trafi się jakiś projekt który będzie pasował do takiego chipa bo chcę się nim pobawić :-)

Też o nich czytałem. Ale obudowę mają paskudna (przynajmniej do konstrukcji "domowych") :/

j.

fine pitch bga. Grrrrpfffffff, zgiń, przepadnij maro!!

Waldek

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required