Prototyp :-)

Próba budowy prostego roszrzenia na clockport - podejście trzecie

  • Opis

Tym razem przynajmniej wydaje mi się, że wiem co robię.

zamieścił: strim

data: 2013.01.08 00:54

kategoria: Sprzęt / strim

rozdzielczość: 1200x1600

odsłon: 167

komentarzy: 10

Ocena użytkowników: 5 (oceniających: 8)
Zaloguj się by zagłosować.
  • Obrazki w kategorii Sprzęt / strim

A1200
A1200
Amiga + demo + piwo
Amiga + demo + piwo
Czas na mały upgrade A1200...
Czas na mały upgrade A1200...
FastATA 4000 MkV
FastATA 4000 MkV
FastATA 4000 MkV w A3000
FastATA 4000 MkV w A3000
Mogę powiedzieć wiele złego o nowych TV LCD...
Mogę powiedzieć wiele złego o nowych TV LCD...
A1200T
A1200T
Klasyki!
Klasyki!
Sam460ex box
Sam460ex box
Sam460ex
Sam460ex
Prototyp :-)
Prototyp :-)
Próba budowy prostego roszrzenia na clockport - podejście trzecie
Próba budowy prostego roszrzenia na clockport - podejście trzecie
[#1] Próba budowy prostego roszrzenia na clockport - podejście trzecie
Cokolwiek to jest to trzymam kciuki za powodzenie tego projektu!
[#2] Próba budowy prostego roszrzenia na clockport - podejście trzecie
Póki co to tylko jest płytka z CPLD, z zaimplementowanymi kilkoma rejestrami, którymi mogę sterować po USB z kompa z Linuxem. Teraz pracuję nad podłączeniem tego "z drugiej strony" do clockportu (poprzez dwa widoczne na zdjęciu konwertery poziomów logicznych - Amiga ma 5V, płytka CPLD na portach GPIO 3.3V).
[#3] Próba budowy prostego roszrzenia na clockport - podejście trzecie
Radek, ale to jest chyba MPU a nie CPLD :)
[#4] Próba budowy prostego roszrzenia na clockport - podejście trzecie
To jest CPLD (CoolRunner II), bo to jest podejście trzecie do tematu :D
[#5] Próba budowy prostego roszrzenia na clockport - podejście trzecie
A co masz ochotę wykonać w tym CPLD? To ma być interfejs do tego PICa, czy jakiś kontroler? Nie śledziłem poprzednich podejść.
[#6] Próba budowy prostego roszrzenia na clockport - podejście trzecie
Podejście drugie to był PIC, więc je znasz . Niestety okazało się nieco zbyt skomplikowane jak na moje umiejętności programowania niskopoziomowego. Właściwie problemem była synchronizacja wbuowanego ethernetu z clockportem, więc na obecną chwilę mam ochotę zaimplementować w CPLD (VHDL) bardzo prosty interfejs komunikacji USB-Amiga. Jak napisałem wyżej, komunikację USB-CPLD mam w zasadzie opanowaną. Tzn. potrafię sterować już wbudowanymi w płytkę prototypową elementami, oraz tworzyć własne rejestry dostępne po USB. Teraz kwestia sprzęgnięcia tego z clockportem. Póki co próbowałem zaimplementować prosty model behavioral który by zczytywał bity z szyny adresowej clockportu i wyświetlał ostatni użyty rejestr na wyświetlaczu 7-segmentowym. Póki co mam dziwne problemy z timinagami, które pewnie wynikają z mojej niewiedzy w temacie.
[#7] Próba budowy prostego roszrzenia na clockport - podejście trzecie
W jaki sposób komunikujesz się przez USB z CPLD? Jest tam jakiś transceiver i przykładowy kod w VHDL? Ile makroceli pochłania taka prosta implementacja testowa?
[#8] Próba budowy prostego roszrzenia na clockport - podejście trzecie
Na płytce jest mikrokontroler, jest dostępna biblioteka do komunikacji z nimi (na stronie producenta płytki). Kontroler jest podłączony prostą 8-bitową szyną do CPLD. Więc właściwie ja nie musiałem implementować nic związanego z USB, a jedynie komunikację z tym mikokontrolerem, który działa jako urządzenie USB podłączane do komputera.
[#9] Próba budowy prostego roszrzenia na clockport - podejście trzecie
Taka implementacja zajęła 84 macrocelle (33% z tego Xilinxa). Ale jest możliwe, a nawet prawdopodobne, że mój kod jest nieoptymalny :P.

Ostatnia aktualizacja: 09.01.2013 20:39:11 przez strim
[#10] Próba budowy prostego roszrzenia na clockport - podejście trzecie
Różne wersje ISE będą generować różną konfigurację, czasami mogą to być jednak różnice jednej makroceli lub żadne, stopień optymalizacji kompilacji pod kątem szybkości lub zasobów też może mieć znaczenie. Sam specjelnie kodu nie zoptymalizujesz, możesz się posłużyć jakimś poradnikiem np. http://www.xilinx.com/support/documentation/application_notes/xapp444.pdf, ale nie zawsze idzie cokolwiek zoptymalizować. Ilość wykorzystanych makroceli zależy od konstrukcji PLD, taka makrocela ma np jakąś określoną ilość wejśc i np jedno wyjście (więc może realizować tylko jeden cel , tak zdaje się jest w xilinxie w typowym PLD), użycie np jednego bitu na rejestr może więc skutkować zużyciem jednej makroceli. Niektóre nowsze PLD mają strukturę podobną do FPGA i tam to już jest troszkę inaczej.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem