Aktywne Wpisy
blargotron +205
Zostałem oszukany. Zawsze mnie uczyli, czy to w szkole, czy w domu, że należy oszczędzać pieniądze. Oszczędnością i praca ludzie się bogacą, takie pamiętam motto. Ale to nie prawda.
Prawda jest taka, że oszczędzanie to frajerstwo. Należy brać kredyty i raty na wszystko. Wszystko jest zbudowane na długu. Ludzie doszli do takiego poziomu, że biorą kilka pożyczek, a potem pożyczkę na spłatę tamtych pożyczek (kredyt konsolidacyjny).
Większość ludzi kupujących mieszkania robi to
Prawda jest taka, że oszczędzanie to frajerstwo. Należy brać kredyty i raty na wszystko. Wszystko jest zbudowane na długu. Ludzie doszli do takiego poziomu, że biorą kilka pożyczek, a potem pożyczkę na spłatę tamtych pożyczek (kredyt konsolidacyjny).
Większość ludzi kupujących mieszkania robi to
AndrzejTrapper +1635
Trochę to trwało, bo wyszedł dodatek do Wiedźmina, ale pomimo tego udało mi się zrobić to co chciałem. Po kolei:
1) Nauczyłem się obsługiwać wbudowaną pamięć RAM w układach MAX10. Z dostępnych 378 kb (kilo BITÓW) pamięci utworzyłem bufor na 8-kolorowy obraz 320 x 240 px. Mało, ale daje to sporo czasu na renderowanie. Przy 60 FPS 1024x786 (taki mam monitor, wyświetlam na nim tylko fragment 320 x 240), po wyrenderowaniu pierwszych 240 linii, zostaje mi czas 546 linii. Jedna linia trwa 0.021 ms, czyli mam 11.46 ms na wyrenderowanie obrazu. Póki co renderowanie realizuję przy pomocy bardzo prostej architektury procesora, który maksymalnie (bez błędów zapisu do pamięci) daje się taktować zegarem 260 MHz - całkiem miło :)
Zegar 260 MHz to okres 3.84 ns, czyli mam 2 984 375 taktów w tym czasie ( ͡° ͜ʖ ͡°) Można szaleć z obliczeniami, albo zwiększyć rozdzielczość, albo zmniejszyć ilość kolorów i dać więcej pamięci na próbki z ADC.
2) Dopasowałem czasowo timingi VGA i RAM'u. To mi zajęło najwięcej - miałem problem z symulacją i musiałem testować na hardware.
3) Odpaliłem ADC i powiązałem go z kolejnym modułem RAMu, niezależnym od poprzedniego. Tutaj zaczęła się zabawa z qsys w Quartusie Prime, nie jest to takie pisanie niskopoziomowe, tylko konfigurowanie protokołów Altery, czyli ten cały Avalon. Niby fajne bo szybko można ze sobą połączyć mnóstwo rzeczy, ale też dużo czytania i patrzenia po PDFach. Czasem jednak to fajniej samemu napisać kod i tak też zrobiłem w celu zapisywania próbek z ADC w pamięci RAM. Nie udało mi się za pomocą qsysa i Avalonu tak połączyć wszystkiego, aby przesyłanie danych działo się automatycznie, niemal bez kodu.
4) Dodanie renderowania kropek według próbek to już prościzna, w przyszłości będę implementował rysowanie linii ofc.
Jakie plany na dalej? Interfejs oscyloskopu, renderowanie tekstu. Jak to zbiorę w kupę to pomyślę co dalej.. Nie wiem jak bardzo chcę wchodzić w ten projekt, myślę sobie że mógł bym zrobić z tego pracę inżynierską, a pomysł jest taki: Oscyloskop/przystawka oscyloskopowa ok. 200-500 MSPS na FPGA z pamięcią DDR3 (wcale nie musi być to DDR3) i interfejsem USB 3.0 oraz HDMI/VGA. Część roboty byłaby wykonywana na FPGA, a możliwe byłoby szybkie przesłanie sygnału do komputera i tam dalsza jego analiza/obróbka. Program na komputerze byłby mocno dopieszczony, ładny interfejs z możliwością szybkiego "przeglądania" sygnału, ze swobodą i bez toporności z jaką się obecnie spotyka w większości oscyloskopów (np. ograniczone skalowanie w pionie - napięcie na działkę i poziomie - czas na działkę) itd.
Zdaję sobie sprawę z pewnych problemów które tutaj wystąpią, dzięki rozmowie z @0xFE dowiedziałem się że np. prowadzenie ścieżek pod DDR3 wymaga około 6 warstw, a dla dobrego szybkiego ADC - 4 warstwy. Na obecny moment wydaje się to poza moimi umiejętnościami, no ale przecież o to chodzi żeby je powiększać ( ͡° ͜ʖ ͡°)
Tak samo zdaję sobie sprawę z tego, że komputer nie będzie w stanie wyrobić z przetwarzaniem takiej ilości informacji. W końcu, przy 500 MSPS 8-bit, jest to 500 MB danych do przetworzenia na sekundę. USB nie ma DMA z tego co kojarzę, a w ogóle to 500 MB/s to absolutny max dla USB 3.0 - którego zapewne nie uda mi się uzyskać.
To czy pójdę w tym lub innym kierunku to kwestia bardzo rozwojowa. Ważna będzie dla mnie też opinia doświadczonych użytkowników narzędzi warsztatowych, a także firm branżowych, czy taki produkt zainteresował by inwestorów/kupców - niekoniecznie musi opadać im kopara, ale mógł by to być fajny zgrabny oscyloskop do domowego warsztatu, gdzie choćby 200 MSPS mogło by wystarczyć do pracy z szybszymi mikrokontrolerami. Nie powinno to też kosztować dużych pieniędzy, układ FPGA to 100-300 zł, szybkie ADC 150-300 zł (300 za 500 MSPS), scalak na USB 3.0 od FTDI to 50 zł.. I samo PCB pewnie z 100-200 zł.
Spamlista (wołajcie jak chcecie): @syn_admina, @printf
#visherdev przede wszystkim - zapraszam
#vga #monitory #fpga #synteza #maximator #vhdl #altera #elektronika
Komentarz usunięty przez autora