RTV forum PL | NewsGroups PL

Jak wygenerować kontroler pamięci SDRAM MT48LC4M16A2 dla Spartan XC3S200 w ISE 13.4?

FPGA ISE Xilinx

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak wygenerować kontroler pamięci SDRAM MT48LC4M16A2 dla Spartan XC3S200 w ISE 13.4?

Goto page Previous  1, 2

Grzegorz Kurczyk
Guest

Sun Oct 18, 2015 11:31 am   



W dniu 18.10.2015 o 09:44, Andrzej pisze:
Quote:
W dniu 2015-10-18 o 00:58, stchebel@gmail.com pisze:

W dniu sobota, 17 października 2015 21:22:52 UTC+2 użytkownik Andrzej
napisał:

Sam mieszacz cyfrowy to banał, bo
miesza się z 1-bitowym sygnałem heterodyny.

To nie ma prawa działać!! 1-bitowy sygnał z hetery?! To w zasadzie
brak sygnału, bądź szumy na poziomie Vo/(2^n). Vo - napięcie
referencyjne ADC, n - "bitowość" przetwornika. To nie ma sensu!! Można
jednak na odwrót : Heterę przetworzoną przez ADC na sygnał n-bitowy
możesz w kolejnych cyklach zegara negować. W sensie nie logicznym
(true/false), lecz arytmetycznym (+/-). Dlaczego tak?! Polecem:

http://www.amazon.com/Understanding-Digital-Signal-Processing-Edition/dp/0137027419


Jest też Polskie tłumaczenie, ale nie chce mi się szukać..

W moim dotychczasowym wykonaniu na mieszacz na kluczach FST3253
dołączony jest właśnie prostokątny sygnał heterodyny (a więc 1 bitowy) i
działa. Stąd domniemywam, że w mieszaczu cyfrowym też tak można.

Ale jak na wejściu masz przetwornik AD, to już sam fakt próbkowania
sygnału wejściowego z określoną częstotliwością daje Ci mieszacz z
heterodyną Smile A jak ADC ma na wejściu układ S/H no to już żywcem masz
odbiornik homodynowy z miaszaczem na kluczach analogowych ;-)

W sumie mieszacz diodowy to też klucz przepuszczający próbki sygnału
wejściowego do obciążenia z częstotliwością heterodyny.

--
Pozdrawiam
Grzegorz

Adam GĂłrski
Guest

Sun Oct 18, 2015 3:19 pm   



On 2015-10-16 22:45, Andrzej wrote:
Quote:
W dniu 2015-10-16 o 13:35, Grzegorz Kurczyk pisze:

Czy to nie przypadkiem moduł MMfpga12 z Propoxu ?

Przepraszam że się wcinam.
Możecie mi koledzy powiedzieć z jaką max. częstotliwością mogą pracować
w tym układzie moduły mnożące?

Nie ma podanej częstotliwości.

Podany jest tsetup , thold, tcko.
Z powyższego wnioskuje że do 200MHz spokojnie.
Dodając tcko mnożarki do tsetup CLB gdzie pewnie trzeba to będzie
zatrzasnąć.

Adam

Grzegorz Kurczyk
Guest

Sun Oct 18, 2015 10:18 pm   



W dniu 18.10.2015 o 22:41, Janko pisze:
Quote:

Dziwne!! Sprawdziłem u siebie (ISE v14.7) i też jajco!! Na uboższym układzie S3 > MIG działa, na średnim nie działa, na wypasionym działa. Ot, taka polityka
biznesowa firmy...

Dzięki za zainteresowanie,
mam pytanie czy ten sterownik, który dostarcza Propox to może jakiś standardowy kod? do którego istnieje jakiś opis.
Śledzę jak to działa ale póki co pisze proste rzeczy i trochę trudno mi się w tym połapać jak to dokładnie działa.
Gdyby istniał jakiś opis byłoby extra.

Pozdrawiam.


Co masz na myśli pisząc "standardowy kod" ? To jest PCB z układem FPGA
XC3S200, pamięcią konfiguracyjną XCF01S, kostką SDRAM 32Mbit, pamięcią
FLASH 4Mbit, stabilizatorami zasilania i garścią elementów RC. Sam w
sobie nie zawiera żadnego kodu i po włączeniu zasilania jest tylko kupą
niepołączonych bramek logicznych pobierających prąd zupełnie bez sensu ;-)

P.S. Chodź nie wykluczam, że w pamięci konfiguracyjnej (XCF01S) Propox
wgrał jakiś "kod", ale moduł który ja kupiłem był zupełnie "czysty".

--
Pozdrawiam
Grzegorz

Janko
Guest

Sun Oct 18, 2015 10:41 pm   



Quote:

Dziwne!! Sprawdziłem u siebie (ISE v14.7) i też jajco!! Na uboższym układzie S3 > MIG działa, na średnim nie działa, na wypasionym działa. Ot, taka polityka
biznesowa firmy...

Dzięki za zainteresowanie,
mam pytanie czy ten sterownik, który dostarcza Propox to może jakiś standardowy kod? do którego istnieje jakiś opis.
Śledzę jak to działa ale póki co pisze proste rzeczy i trochę trudno mi się w tym połapać jak to dokładnie działa.
Gdyby istniał jakiś opis byłoby extra.

Pozdrawiam.

Janko
Guest

Thu Oct 29, 2015 3:01 pm   



To wszystko to ja wiem.
Odniosłem się tylko do enigmatycznej (jak dla początkującego) odpowiedzi:

Quote:

Dziwne!! Sprawdziłem u siebie (ISE v14.7) i też jajco!! Na uboższym układzie S3 > MIG działa, na średnim nie działa, na wypasionym działa. Ot, taka polityka
biznesowa firmy...


Janko
Guest

Thu Oct 29, 2015 3:28 pm   



No, po kilku wieczorach walki sterownik pamięci zaskoczył i działa.
Aktualnie 16-to bitowe dane wyświetlam w celach dabugowania na linijce diodowej.
Czas to zmienić.
W tym celu zapodałem moduł UART i tu pytanie:
co trzeba zrobić z ośmio bitową daną ażeby posyłać ją jako kolejne kody liczby jaką reprezentuje a nie pojedyńczy kod znaku ASCII?
Jest na to jakieś gotowe, biblioteczne rozwiązanie?

Ponadto gdzieś kiedyś czytałem że jest jakieś narzędzie, które potrafi wskazać najmniejszy w zasoby układ do którego można wgrać ukończony projekt.
Zestaw ewaluacyjny to zawsze bardziej wypasiona (droga) platforma do testów.
Ktoś wie jak to się nazywa?

Pozdrawiam.

Piotr Wyderski
Guest

Thu Oct 29, 2015 3:44 pm   



Andrzej wrote:

Quote:
A to już mnożenie na
każde ogniwo filtru, więc ciekawe ile takich ogniw da się zrobić. Stąd
moje pytanie o szybkość.

Jednym z pomysłów jest CIC:

https://en.wikipedia.org/wiki/Cascaded_integrator%E2%80%93comb_filter

Pozdrawiam, Piotr

Guest

Thu Oct 29, 2015 4:36 pm   



W dniu czwartek, 29 października 2015 14:28:20 UTC+1 użytkownik Janko napisał:
Quote:
No, po kilku wieczorach walki sterownik pamięci zaskoczył i działa.
Aktualnie 16-to bitowe dane wyświetlam w celach dabugowania na linijce diodowej.
Czas to zmienić.
W tym celu zapodałem moduł UART i tu pytanie:
co trzeba zrobić z ośmio bitową daną ażeby posyłać ją jako kolejne kody liczby jaką reprezentuje a nie pojedyńczy kod znaku ASCII?
Jest na to jakieś gotowe, biblioteczne rozwiązanie?


Strasznie "pogmatwane" pytanie.. O ile dobrze rozumiem, chodzi Ci o przetworzenie y=f(x) - (x - ośmiobitowa dana). Jeżeli o to chodzi, to sprawa jest banalna. Zaimplementuj ROM wykorzystując IP generator.

Quote:
Ponadto gdzieś kiedyś czytałem że jest jakieś narzędzie, które potrafi wskazać najmniejszy w zasoby układ do którego można wgrać ukończony projekt.

iMPACT.

Quote:
Zestaw ewaluacyjny to zawsze bardziej wypasiona (droga) platforma do testów.

Nie zawsze, ale osobiście nie jestem zwolennikiem zestawów ewaluacyjnych. Dobre w celach edukacyjnych dla studentów, natomiast inżynierom polecam robić od razu po swojemu.

Quote:
Ktoś wie jak to się nazywa?


Co?

Janko
Guest

Fri Oct 30, 2015 11:34 am   



Quote:

Strasznie "pogmatwane" pytanie.. O ile dobrze rozumiem, chodzi Ci o przetworzenie y=f(x) - (x - ośmiobitowa dana). Jeżeli o to chodzi, to sprawa jest banalna. Zaimplementuj ROM wykorzystując IP generator.


Napiszę raz jeszcze w czym problem.
Mam daną odczytaną z ADC (16-to bitowy wektor).

Robię z niej inta:
integerResult <= to_integer(unsigned(inputVector));
No i teraz chciałbym przepchnąć tą liczbę UART-em do PC (taki mój debug systemu).

Gdybym to robił dla AVR-a to daną liczbę dzieliłbym w celu wyłuskania, tysięcy-setek-dziesiątek-jedności tyle razy ile to konieczne i wysyłał kolejne cyferki.
Nie wiem jak to zrealizować w VHDL-u.

Quote:
Ponadto gdzieś kiedyś czytałem że jest jakieś narzędzie, które potrafi wskazać najmniejszy w zasoby układ do którego można wgrać ukończony projekt.

iMPACT.

Możesz podpowiedzieć jaka to funkcja, komenda??


Pozdrawiam.

Grzegorz Kurczyk
Guest

Fri Oct 30, 2015 3:14 pm   



W dniu 30.10.2015 o 10:34, Janko pisze:
Quote:

Strasznie "pogmatwane" pytanie.. O ile dobrze rozumiem, chodzi Ci o przetworzenie y=f(x) - (x - ośmiobitowa dana). Jeżeli o to chodzi, to sprawa jest banalna. Zaimplementuj ROM wykorzystując IP generator.


Napiszę raz jeszcze w czym problem.
Mam daną odczytaną z ADC (16-to bitowy wektor).

Robię z niej inta:
integerResult <= to_integer(unsigned(inputVector));
No i teraz chciałbym przepchnąć tą liczbę UART-em do PC (taki mój debug systemu).

Gdybym to robił dla AVR-a to daną liczbę dzieliłbym w celu wyłuskania, tysięcy-setek-dziesiątek-jedności tyle razy ile to konieczne i wysyłał kolejne cyferki.
Nie wiem jak to zrealizować w VHDL-u.

A nie prościej wysłać te 16-bitów jako dwa bajty ?

Quote:

Ponadto gdzieś kiedyś czytałem że jest jakieś narzędzie, które potrafi wskazać najmniejszy w zasoby układ do którego można wgrać ukończony projekt.

iMPACT.

Możesz podpowiedzieć jaka to funkcja, komenda??



Cały czas mam wrażenie, że chcesz pisać program w VHDL-u
VHDL/Verilog to nie jest język programowania tylko opisu sprzętu.
Nie ma funkcji lub komendy do wysyłania bajtów przez UART. Trzeba sobie
"wystrugać" kawałek sprzętu, który to zrealizuje.
Myśl na takiej zasadzie: Mam wiadro TTL-i z całej serii i muszę za ich
pomocą wysłać szeregowo kilka 16-bitów w takiej formie coby pasowały do
RS232.
Czyli pewnie będzie potrzebny będzie jakiś rejestr równoległo-szeregowy
o długości 16-bitów + 2 bity startu + 2 bity stop. Jakiś licznik tych
bitów, dzielnik częstotliwości narzucający prędkość wysyłania bitów itd/itp.

W Verilogu mogę na prędce naskrobać taki moduł.

--
Pozdrawiam
Grzegorz

Guest

Sat Oct 31, 2015 2:18 am   



W dniu piątek, 30 października 2015 10:34:07 UTC+1 użytkownik Janko napisał:

Quote:

Napiszę raz jeszcze w czym problem.
Mam daną odczytaną z ADC (16-to bitowy wektor).

Robię z niej inta:
integerResult <= to_integer(unsigned(inputVector));
No i teraz chciałbym przepchnąć tą liczbę UART-em do PC (taki mój debug systemu).

Gdybym to robił dla AVR-a to daną liczbę dzieliłbym w celu wyłuskania, tysięcy-setek-dziesiątek-jedności tyle razy ile to konieczne i wysyłał kolejne cyferki.
Nie wiem jak to zrealizować w VHDL-u.

Zupełnie niepotrzebnie robisz z danych wejściowych inta. Ładuj dane z ADC od razu na rejestr posuwny i zabieraj do dalszej transmisji najstarszy, albo najmłopszy bit (jak Ci pasuje).

Quote:

Ponadto gdzieś kiedyś czytałem że jest jakieś narzędzie, które potrafi wskazać najmniejszy w zasoby układ do którego można wgrać ukończony projekt.

iMPACT.

Możesz podpowiedzieć jaka to funkcja, komenda??


To nie instrukcja/komenda tylko program w obrębie ISE do debagowania, programowania i takich tam...

Goto page Previous  1, 2

elektroda NewsGroups Forum Index - Elektronika Polska - Jak wygenerować kontroler pamięci SDRAM MT48LC4M16A2 dla Spartan XC3S200 w ISE 13.4?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map