Autor Wątek: Zabawy z PSoC  (Przeczytany 19107 razy)

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Zabawy z PSoC
« dnia: 2016.02.08, 19:37:43 »
Leżał sobie taki kit w szufladzie i się kurzył... Na dysku leżała odłogiem procedura generowania synchronizacji... to co będą tak leżały, nie?
Po długiej walce z DMA pokazało się w końcu COŚ.
Po dorobieniu prostego lecz skutecznego obrazu kontrolnego COŚ zaczęło się wreszcie wyświetlać poprawnie. Jak na razie wciąż jeszcze z bufora liniowego.
Po dodaniu drugiego DMA, zaczęły się wyświetlać obrazy w formacie .SCR :)
Jak widać na razie działa sama 'grafika'.
Kolejny krok - dodanie kolorów (choć jak na razie bez atrybutu jasności...)

A, czy wspomniałem już, że obraz jest generowany całkowicie sprzętowo, a jedyną rolą CPU jest zainicjowanie całej zabawy?

W pstrykaniu fotek udział wzięli :
Kit CY8CKIT-059
Nudzący się cortex-m3
Dwa kanały DMA (w następnym odcinku - więcej kanałów!)
Duża garść verilogu
Stary monitor LCD.

Gościnie - kwarc i kilka rezystorów.
Machines should work. People should think.

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Zabawy z PSoC
« Odpowiedź #1 dnia: 2016.02.08, 20:04:42 »
Fajnie, mam nadzieję że projekt będzie się rozwijać!

nietoperz

  • ****
  • Wiadomości: 400
Odp: Zabawy z PSoC
« Odpowiedź #2 dnia: 2016.02.09, 20:35:59 »
Wrzucaj emu Z80 z XZ80 Iana Colliera i masz gotowe ZX Spectrum. I klawiature PS/2 podłącz.

Co się na PSOC-ach w HDL-u opisuje? Konfigurację bloków?

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #3 dnia: 2016.02.09, 21:08:32 »
Najpierw muszę mieć poprawny obraz. Na razie tylko sprowokowałem kanały DMA do tego, że się ze sobą pobiły  ;D
Oprócz rysowania schematów z gotowych bloków analogowych i cyfrowych, możesz tworzyć swoje klocki w Verilogu (wyłącznie). Jedyny minus - do/z pamięci można się dostać wyłącznie przez DMA lub odczyt do/z rejestrów przez CPU (do pinów dostęp z poziomu hdl jest bezpośredni)
Tu masz kilka słów na temat.
Symulacji brak, ISE i saleae twoim przyjacielem.
Oprócz PLD są jeszcze dostępne 'datapaths' czyli pokręcone, rekonfigurowalne zbitki rejestrów/FIFO/ALU które też potrafią dać kopa (jak już człowiek zrozumie co to do cholery jest ;) )
A emulatory Z80 to mam już przygotowane cztery (no, teraz już pięć, dzięki :) )
Machines should work. People should think.

nietoperz

  • ****
  • Wiadomości: 400
Odp: Zabawy z PSoC
« Odpowiedź #4 dnia: 2016.02.10, 00:40:01 »
Ciekawe, zawsze uważałem, że te cudaki Cypressa to tylko konfigurowalne bloki analogowe - a tu się okazuje, że cyfrowe też. Jak mi kit w ręce wpadnie to się pobawie.

Na M3 kiedyś Tetrisa z wyjściem TV zrobiłem, linia była wysyłana poprzez SPI plus timer do generowania synchronizacji. Na PSOC byłoby bardziej elegancko.

nietoperz

  • ****
  • Wiadomości: 400
Odp: Zabawy z PSoC
« Odpowiedź #5 dnia: 2016.02.15, 08:49:16 »
Jakieś opcje na debuggowanie CPU po SWD bez oryginalnego debuggera od Cypressa (miniprog) są?

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #6 dnia: 2016.02.15, 18:47:48 »
Może i tak, ale nie szukałem. Kit przychodzi z programatorem/debuggerem (kitprog) obsługującym  IIRC PSOCe z serii 3/4/5 więc po co się szarpać, zwłaszcza że kit kosztuje $10 (no, kupując u farnella ciut więcej... plus przesyłka. Ale i tak)
Kusiło mnie kiedyś żeby się podpiąć pod programator/debugger SWD z kitu ST i zobaczyć co będzie, ale odpuściłem :)
(btw, oprócz SWD można włączyć też JTAGa. Też nie próbowałem [bo nie mam] )
Machines should work. People should think.

nietoperz

  • ****
  • Wiadomości: 400
Odp: Zabawy z PSoC
« Odpowiedź #7 dnia: 2016.02.15, 20:31:59 »
Dobra jasne: rano patrzyłem na PSOC4 - i tam siedzi bootloader po uart. A tu mówimy o PSOC5. Na pierwszy rzut oka płytki wizualnie podobne :)

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #8 dnia: 2016.02.17, 14:29:03 »
Zadławiłem biednego scalaczka :)
W ramach odpoczynku od ugniatania schematu tak by zajmował jak najmniej zasobów, poprosiłem CPU by milisekundę po impulsie odchylania pionowego zapisał w pętli 1024 razy kolejną wartość do rejestru określającego border.
Wynik nic w zasadzie nie wnosi ale za to miło wygląda, więc chętnie się nim podzielę ;)
(zegar systemowy 71MHz, pixel clock 23.66MHz)
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #9 dnia: 2016.02.19, 17:45:29 »
Dużo symulacji i ściągania przebiegów później.
Co cieszy - atrybuty działają (choć na razie bez bitu jasności) i wszystko śmiga bez udziału CPU.
Co smuci - cztery kanały DMA i dwie ciężkie (po 768B :) ) tabele offsetów w pamięci flash.

Kolejny krok - pełna gama kolorów, lub wywalenie tabel i jednego DMA.
Trudna decyzja.
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #10 dnia: 2016.02.23, 14:25:20 »
Nie wiem co to są za diody, ale zdecydowanie się do tego zadania nie nadają (ciemne jest za jasne).
Trudno, na razie muszą wystarczyć...
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #11 dnia: 2016.02.24, 15:16:25 »
My, oh my...
Na razie jest tak :
  • nie działa atrybut flash (jakoś o nim zapomniałem :) )
  • jedynie spectrum 16 (bo nie wiedziałem ile zasobów mi pozostanie)
  • 'klawiatura' via serial port z terminala znakowego - której połowa gier nie czyta :>
  • dźwięk? jaki dźwięk... :)
Prędkość trochę poniżej oryginału, ale na rozruch wstawiłem tam kobylasty Z80free - może wielki ślimaczek, ale przynajmniej o sprawdzonym działaniu.
« Ostatnia zmiana: 2016.02.24, 16:00:00 wysłana przez steev »
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #12 dnia: 2016.02.25, 08:46:16 »
  • jedynie spectrum 16 (bo nie wiedziałem ile zasobów mi pozostanie)
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Zabawy z PSoC
« Odpowiedź #13 dnia: 2016.02.26, 10:36:18 »
Działa ładowanie z karty snapów w formacie Z80 (na razie tylko w wersji pierwszej).
No to teraz trzeba pomyśleć o jakiejś rozsądnej klawiaturze ( niestety nie mam żadnej na PS/2 :) ) i co najważniejsze - szybszym emulatorze proca.
I o ile pierwsze to pikuś (Pan Pikuś) to drugie stanowi już nieco większy schodek...
Machines should work. People should think.

pear

  • *****
  • Wiadomości: 5511
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: Zabawy z PSoC
« Odpowiedź #14 dnia: 2016.02.26, 10:40:15 »
Jak to "łatwo" zrobić dziś komputer ...  ::)
ZX/Enterprise/CPC/Robotron/C128D