-
21. Data: 2009-12-05 14:33:22
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: Konop <k...@g...pl>
> ponieważ z CPLD dopiero zaczynam trudno mi jest ocenic co wejdzie do takeigo
> układu a co nie
> czy jego sasoby pozwolą na stworzenie to o czym my tu piszemy czy nie ?
Co do CPLD - polecam poeksperymentować :)... ale tak "z góry" oszacować
wymagania też się da. Podstawowy problem to ilość makrocel, a co za tym
idzie też przerzutników... Musisz ocenić ile stanów ma obsługiwać
urządzenie... jeśli robisz licznik - no to potrzebujesz tyle makrocel
ile bitów ma licznik. Pamiętaj też o preskalerach częstotliwości (jeśli
byś do czegoś potrzebował ;P) - to też są liczniki. Jeśli potrzebujesz
buforować stan licznika - to podobnie znów drugie tyle bitów leci...
jakieś sterowanie - powiedzmy SPI, jeśli typowe - to 8 bitów zużywasz na
zapamiętanie sygnałów wejściowych/wyjściowych plus 3 bity, żeby policzyć
do 8 ;)... to takie minimum... więc dla licznika 32 bity z buforowaniem
i dostępem przez SPI potrzebujesz 75 makrocele... Lub więcej ;) Wszystko
zależy na ile masz zaawansowaną logikę... w większości przypadków
wystarczy logika "podpięta" do danej makroceli... Wówczas nie ma
problemu. Gorzej, gdy któraś funkcja "rośnie"... i jest zależna od dużej
liczby sygnałów... wtedy logika podłączona do innej makroceli zostaje
wykorzystana do jakiegoś sygnału "wewnętrznego", albo połączona z logiką
"sąsiednią" - i wtedy jakby maleje Ci liczba makrocel, którymi
dysponujesz...
Tak więc określasz minimum które potrzebujesz i pozostawiasz zapas.
Warto także wybrać takie układy, które mają swoje większe odpowiedniki
;)... Ja się tak kiedyś wkopałem, wziąłem CPLD 64 makrocele w PLC44, nie
starczyło miejsca i psikus, wersji 128 makrocel nie można było dostać w
tej obudowie ;)... Warto projekt (prototyp) zrobić w większym układzie,
gdy przejdzie testy, można śmiało w programie eksperymentować w który
układ kod się wciśnie, a w który nie i później stosować już mniejszy
(tańszy) układ...
Pozdrawiam
Konop
PS Oczywiście makrocele to nie wszystko... miałem projekt, który
"wchodził" w ukłąd XCR3064 (64 makrocel), a nie wchodził w układ
XC9072XL (72 makrocele)... ale nie będę Cię zamęczać szczegółami ;)...
-
22. Data: 2009-12-05 16:29:53
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: "Szumek" <k...@i...pl>
Użytkownik "Konop" <k...@g...pl> napisał w wiadomości
news:hfdqvf$kev$1@inews.gazeta.pl...
>> ponieważ z CPLD dopiero zaczynam trudno mi jest ocenic co wejdzie do
>> takeigo układu a co nie
>> czy jego sasoby pozwolą na stworzenie to o czym my tu piszemy czy nie ?
>
> Co do CPLD - polecam poeksperymentować :)... ale tak "z góry" oszacować
> wymagania też się da. Podstawowy problem to ilość makrocel, a co za tym
> idzie też przerzutników... Musisz ocenić ile stanów ma obsługiwać
> urządzenie... jeśli robisz licznik - no to potrzebujesz tyle makrocel ile
> bitów ma licznik. Pamiętaj też o preskalerach częstotliwości (jeśli byś do
> czegoś potrzebował ;P) - to też są liczniki. Jeśli potrzebujesz buforować
> stan licznika - to podobnie znów drugie tyle bitów leci... jakieś
> sterowanie - powiedzmy SPI, jeśli typowe - to 8 bitów zużywasz na
> zapamiętanie sygnałów wejściowych/wyjściowych plus 3 bity, żeby policzyć
> do 8 ;)... to takie minimum... więc dla licznika 32 bity z buforowaniem i
> dostępem przez SPI potrzebujesz 75 makrocele... Lub więcej ;) Wszystko
> zależy na ile masz zaawansowaną logikę... w większości przypadków
> wystarczy logika "podpięta" do danej makroceli... Wówczas nie ma problemu.
> Gorzej, gdy któraś funkcja "rośnie"... i jest zależna od dużej liczby
> sygnałów... wtedy logika podłączona do innej makroceli zostaje
> wykorzystana do jakiegoś sygnału "wewnętrznego", albo połączona z logiką
> "sąsiednią" - i wtedy jakby maleje Ci liczba makrocel, którymi
> dysponujesz...
> Tak więc określasz minimum które potrzebujesz i pozostawiasz zapas. Warto
> także wybrać takie układy, które mają swoje większe odpowiedniki ;)... Ja
> się tak kiedyś wkopałem, wziąłem CPLD 64 makrocele w PLC44, nie starczyło
> miejsca i psikus, wersji 128 makrocel nie można było dostać w tej obudowie
> ;)... Warto projekt (prototyp) zrobić w większym układzie, gdy przejdzie
> testy, można śmiało w programie eksperymentować w który układ kod się
> wciśnie, a w który nie i później stosować już mniejszy (tańszy) układ...
>
> Pozdrawiam
> Konop
>
> PS Oczywiście makrocele to nie wszystko... miałem projekt, który
> "wchodził" w ukłąd XCR3064 (64 makrocel), a nie wchodził w układ XC9072XL
> (72 makrocele)... ale nie będę Cię zamęczać szczegółami ;)...
uC ze sprzętowym dekoderem kwadraurowym już widziałem wcześniej
jednak narazie nie czuję się na siłach żeby walczyć z nimi, może później
po drugie pewnie cena i dostępność w polsce pozostawia wiele do życzenia
(choć zaraz poszukam i się spróbuje przekonać ...)
a zasoby do upchnięcia do CPLD to jak pisałem wcześniej :
"czyli dekoder kwadraturowy, licznik , sumator" i proponowany bufor kolegi
-
23. Data: 2009-12-05 17:57:31
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: J.F. <j...@p...onet.pl>
On Sat, 5 Dec 2009 14:43:05 +0100, Szumek wrote:
>już mi się sprawa dzięki wam naświetla
>narazie wezmę mniejsze servo ze słabszym enkoderem i podziałam na avr z tym
>co mam dopuki nie wymyslę jak sterowac tamtymi
Uzycie CPLD/FPGA moze nie byc takie glupie - jest mniejsza szansa ze
zgubi impulsy, wiec przynajmniej dekoder i licznik bym tam wsadzil.
J.
-
24. Data: 2009-12-06 00:05:07
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: Jerry1111 <j...@w...pl.pl.wp>
J.F. wrote:
> On Sat, 5 Dec 2009 14:43:05 +0100, Szumek wrote:
>> już mi się sprawa dzięki wam naświetla
>> narazie wezmę mniejsze servo ze słabszym enkoderem i podziałam na avr z tym
>> co mam dopuki nie wymyslę jak sterowac tamtymi
>
> Uzycie CPLD/FPGA moze nie byc takie glupie - jest mniejsza szansa ze
> zgubi impulsy, wiec przynajmniej dekoder i licznik bym tam wsadzil.
Aha, ta ;-)
Zwlaszcza jak nie odkloci zboczy i wsadzi je na licznik rewersyjny jako
asynchroniczne do zegara ;-)
Zwlaszcza te drugie powoduje ciekawe efekty uboczne.
--
Jerry1111
-
25. Data: 2009-12-06 00:15:05
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: J.F. <j...@p...onet.pl>
On Sun, 06 Dec 2009 00:05:07 +0000, Jerry1111 wrote:
>J.F. wrote:
>> Uzycie CPLD/FPGA moze nie byc takie glupie - jest mniejsza szansa ze
>> zgubi impulsy, wiec przynajmniej dekoder i licznik bym tam wsadzil.
>
>Aha, ta ;-)
>Zwlaszcza jak nie odkloci zboczy i wsadzi je na licznik rewersyjny jako
>asynchroniczne do zegara ;-)
>Zwlaszcza te drugie powoduje ciekawe efekty uboczne.
Bo to jakis zly projekt jest :-)
J.
-
26. Data: 2009-12-06 13:11:14
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: Konop <k...@g...pl>
> Zwlaszcza jak nie odkloci zboczy i wsadzi je na licznik rewersyjny jako
> asynchroniczne do zegara ;-)
> Zwlaszcza te drugie powoduje ciekawe efekty uboczne.
A jakie są przeciwskazania do podłączenia tego sygnału jako zegarowy??
Popularne CPLD mają raczej minimum 3 linie zegarowe, można coś
przeznaczyć na wejście z enkodera ;)... oczywiście odkłócić trzeba, ale
problem z asynchronicznością względem zegara odpada...
Pozdrawiam
Konop
-
27. Data: 2009-12-06 20:16:16
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: Jerry1111 <j...@w...pl.pl.wp>
Konop wrote:
>> Zwlaszcza jak nie odkloci zboczy i wsadzi je na licznik rewersyjny
>> jako asynchroniczne do zegara ;-)
>> Zwlaszcza te drugie powoduje ciekawe efekty uboczne.
>
> A jakie są przeciwskazania do podłączenia tego sygnału jako zegarowy??
Tylko po co? Bedziesz i tak musial przejsc do domeny zegarowej ukladu,
wiec zegar lokalny dla enkodera nie ma sensu. Z enkodera masz 2
asynchroniczne sygnaly, z nich generujesz + i -, ktore dalej sa
asynchroniczne. W ktoryms miejscu przechodzisz do doemny zegarowej
ukladu - jak nie wiesz jak to zrobic, to sie beda dzialy cuda.
Najlepiej dac na kazdy pin po 2 DFFy szeregowo zaraz na pinach - wtedy
cala reszta jest synchroniczna.
--
Jerry1111
-
28. Data: 2009-12-09 21:48:58
Temat: Re: Czy można zrealizować prosty algorytm PID w prostym CPLD np:XC9572
Od: Konop <k...@g...pl>
> Tylko po co? Bedziesz i tak musial przejsc do domeny zegarowej ukladu,
> wiec zegar lokalny dla enkodera nie ma sensu. Z enkodera masz 2
> asynchroniczne sygnaly, z nich generujesz + i -, ktore dalej sa
> asynchroniczne. W ktoryms miejscu przechodzisz do doemny zegarowej
> ukladu - jak nie wiesz jak to zrobic, to sie beda dzialy cuda.
Nie no, o problemie słyszałem, o radzeniu sobie z nim - niby także...
choć w praktyce jeszcze nie przerabiałem ;P... zapomniałem o tym, że
później i tak trzeba zmienić domenę zegara i dlatego kombinowałem "jak
to obejść" ;)...
Pozdrawiam
Konop