Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Podłączenie PIC do monitora - nie typowy problem :)

26 Paź 2004 15:25 2855 24

  • Poziom 18  
    Mam pic16f877. Chcę podłączyć pod niego B&W monitor/tv. Problemem jest wyświetlenie obrazu. Może jest jakiś bajer, który przez łatwe podłączenie można sterować monitorem/tv? Wiem, że temat był poruszany, ale nie znalazłem odpowiednio taniego urządzonka, bądź się pogubiłem w temacie (nie wiedziałem, czy dalej gadacie o elektronice :)). Aha! Bezpośrednie sterowanie obrazem nie wchodzi w grę - za trudne i za czaso żerne
  • Pomocny dla użytkowników
    A co chcesz wyświetlać na tym monitorku: tekst, grafikę ?

  • Poziom 18  
    Text. Oczywiście super by było jeżeli mógłbym grafę, ale text mi narazie wystarczy :)
  • Poziom 42  
    mikmas napisał:
    Text. Oczywiście super by było jeżeli mógłbym grafę, ale text mi narazie wystarczy :)
    Chyba w tamtym wątku było napisane jak to się robi, a przynajmniej dyskusja doszła do momentu że są poważne problemy z odpowiednimi układami.

  • Poziom 18  
    Nie wiem, o czym mówisz, tak więc wytłumaczę od początku. Wysterowanie monitora/tv jest dość (a nawet bardzo) trudne. Dlatego potrzebuję układ, który można łatwo obsłużyć, jest w miare szybki i (!) tani!
  • VIP Zasłużony dla elektroda
    Można poszperać za jakimś układem od wysłuzonego 8-bitowca np C64 czy Atari...
    mikmas napisał:
    Bezpośrednie sterowanie obrazem nie wchodzi w grę - za trudne i za czaso żerne

    Inaczej jeszcze to można 2 procesory zaangażować, jeden bezpośrednio zaangażowany (timingi, etc.) coś "pluje na ekran", a drugi mu macha pinami, co takiego ma pluć :)
    -------------------------------------
    Nothing comes quick and easy, altrough death and taxes...
    "Meet Joe Black"
  • VIP Zasłużony dla elektroda
    mikmas napisał:
    Nie wiem, o czym mówisz, tak więc wytłumaczę od początku. Wysterowanie monitora/tv jest dość (a nawet bardzo) trudne. Dlatego potrzebuję układ, który można łatwo obsłużyć, jest w miare szybki i (!) tani!



    Nie tak do końca trudne. Mam schematy wraz z programami do 2 gier TV (Tetris i Pong), zegara na TV, generatora do TV (ten ostatni daje kolorowy obraz, jednak potrzebny jest koder PAL np. MC1377).

    Wszystko na PIC16F84 - generator PAL zrobiłem i działa super.

    Schematów nie zamieszczam bo są na elektrodzie.
  • Poziom 22  
    Poszukaj dokładnie na elektrodzie. Jest tu kilka postów na ten temat. Od układów CPLD, przez układy z ZX Spectrum, do staregoo 6845.

  • Poziom 18  
    Hmm... czyżby http://www.rickard.gunee.com/projects/video/pic/pong.php :]? Jednak ja potrzebuję szybko wyświetlić coś na TV i żeby mikrokontroler zajął się resztą. Poza tym: co będzie jeżeli mikokontroler będzie długo myśleć? - czarny ekran. Podłączenie drugiego pica... hmm... pomysł dobry, też nad nim myślałem, ale niestety za trudne dla mnie
  • Specjalista PLD
    Osobiscie robilbym to na jakims prostym CPLD.
    Trzebaby dolaczyc do niego kilka kilo RAM ladowanego przez uC i przemiatac to z odpowiednia czestotliwoscia, oraz generowac sygnaly Hsync i Vsync. Rzecz raczej prosta a daje mozliwosc latwego przerobienia na grafike ( nawet kolorowa).
    Jednak jesli nie chcesz sie bawic w cpld, proponuje uzyc stara kostke 8275. jest to kompletny uklad wyswietlacza z buforem wyswietlacza i generatorem znakow oraz atrybutow takich jak highlight, blink, kursor i cos tam jeszcze. Na Allegro pewnie ktos ma taka kostke.
    Gdzies w ComponentDataCatalog intela mam jej dane i jakas przykladowa aplikacje.
  • Poziom 24  
    Postów odnośnie sterowania TV było dużo i to wcale nie jest takie trudne.

    Jest wiele układów OSD i podobnych, swego czas w EP był projekt generatora napisów, dochodzą jeszcze stare karty graficzne, układy z telegazety, nie mówiąc o układach programowalnych i procesorkach. Możliwości jest więc dużo.

    Przyznam jednak, że najbardziej pociąga mnie zrobienie czegoś takiego na procku, sama pamięć w najprostszym C51 po odliczeniu stosu itp. da nam przynajmniej 600-800 bitów, co wystarczy spokojnie na jakąś malutką mapkę bitową. Po przerobieniu systemu na literowy i zapisaniu wyglądu liter w pamięci byłby też całkiem ładny wyświetlacz.

    Ja wysiadłem głównie przez kłopoty z generatorem i problem z przesłaniem danych do procesora - trzeba by było je przesyłać np. w czasie impulsów synchronizacji i zagwarantować dobrą przepustowość przy małej liczbie linii... Ale jeszcze do tego projektu wróce :wink:

    zobacz to:
    http://www.riccibitti.com/dvm.htm
    można przerobić, by wyświetlał cyfry odebrane z drugiego mikrokontrolera :D
  • Poziom 29  
    Etedio 800 bitów powiadasz czyli grafika 28*28 pixeli, mało trochę, ale tekstu mamy już 10*10 znaków (powiedzmy 80 pixeli w poziomie) wątpię czy nawet AVR będzie w stanie podołać temu zadaniu, może coś z Cygnala.
    Najprostsze 51 bez wspomagania nie zrobi zbyt wiele, na moje oko to 28*28 na całym ekranie to będzie wszystko co da się uzyskać i będzie to dobry wynik (myślę że raczej 14*57).
    Mikmas znasz PIC’a? To zbuduj sobie „koprocesor graficzny”, sterowany szeregowo czy równolegle jak radzili wcześniej LightHouser i Etedio.

  • Poziom 18  
    Też myślałem nad podłączeniem uC, ale problem jest z przetrzymaniem obrazu. Chcę, aby wyświetlał 60x40 znaków. Niestety nie upchnę tego w żadnej zmiennej :| - niestarcza pamięci, a podłączenie pamięci dodatkowej: trudne w podłączeniu, trudne w obsłudze, wolne.

    Yego666: możesz powiedzieć coś więcej o 8275?
  • Pomocny dla użytkowników
    A zastosować jakąś starą kartę graficzną ze złączem ISA (jakiś stary Hercules - daje tekst i grafikę 720x348) albo CGA,EGA,VGA - wszyscy o nich zapomnieli w nawale super hiper akceleratorów graficznych - a one miały dość prosty interfejs i odwalały całę sterowanie ekranem.

  • Poziom 18  
    No tak, ale mogę dać kompa, że trudno taką kartę obsłużyć :|. Choć z chęcią bym którąś wykorzystał - mam pare
  • Poziom 19  
    Jeśli PIC nie będzie zbytnio obciążony to można procedurę generowania znaków na ekranie TV wrzucić do niego. Warunek jest jeden by procesor był w stanie wykonywać procedurę generacji półobrazów TV z częstotliwością 50Hz. Należy zauważyć że im więcej linii pionowych będzie generowanych na ekranie tym mniej czasu na inne czynności. Jeśli poprzestać na generacji tekstu/grafiki na 1/8 obrazu to pozostanie wystarczająco dużo czasu by obsłużyć inne zdażenia w systemie.
    Szybkość mikrokontrolera determinuje możliwą do uzyskania wysokość i szerokość pikseli - rozdzielczość w pionie i poziomie.

    Jeśli mikrokontroler będzie zbyt obciążony innymi zadaniami trzeba posiłkować się specjalizowanym układem.
    Rozwiązań jest co najmniej kilka, począwszy od starych kart VGA na złączu ISA, poprzez wykorzystanie układów z komputerów 8-bitowych (Commodore, Atari, ZX Spectrum) które czasem za darmo można pozyskać, a skończywszy na procesorach OSD (np. NEC - µPD6450, µPD6464A, µPD6465, Philips - PCA8510).
    W przypadku układów z 8-bitowców należy liczyć się ze stosunkowo dużym poborem mocy oraz koniecznością zastosowania dodatkowej pamięci RAM dla obrazu, generatora znaków i ew. kolorów. Schemat C64 http://www.funet.fi/pub/cbm/schematics/computers/c64/250469-rev.B-right.gif - patrz układ oznaczony VIC.

    Dobrym rozwiązaniem wydaje się zastosowanie specjalizowanego generatora grafiki OSD lub oprogramowanie drugiego uC do obsługi grafiki TV.

    A może zamiast PICa wykorzystać stary 8-bitowy komputer?
    Jest tam wszystko czego potrzeba tylko napisać program w asemblerze, załadować do kartridża i już...
  • Specjalista PLD
    Mam wrazenie , ze zaczynamy juz tu w pietke gonic.
    Temat byl w lipcu walkowany z niemal identycznymi sugestiami i rozwiazaniami, tylko bylo pare ciekawych linkow.
    Zerknijcie na stary temat: https://www.elektroda.pl/rtvforum/viewtopic.php?t=148130&postdays=0&postorder=asc&highlight=8275&start=0.
    Szkoda to samo pisac kilka razy.

    Gdy znajde troche czasu, to postaram sie cos napisac o 8275, jesli wciaz temat bedzie sie toczyl i jesli dokopie sie do moich starych katalogow Intela.
    Pozdrawiam, yego
  • Poziom 25  
    yego666 napisał:

    Gdy znajde troche czasu, to postaram się cos napisac o 8275, jesli wciaz temat bedzie się toczyl i jesli dokopie się do moich starych katalogow Intela.


    Należy zaznaczyć, że układ ten nie jest bardzo łatwo dostępny w kraju.
    Mozna go jednak czasami znaleźć w starych płytach od kompów jeszcze z prockami np '86, '66 nie przypominam sobie jednak żeby siadziały w płytach z 80c188 i nowszych.
  • Poziom 19  
    yego666 napisał:
    Mam wrazenie , ze zaczynamy juz tu w pietke gonic.
    Temat byl w lipcu walkowany z niemal identycznymi sugestiami i rozwiazaniami, tylko bylo pare ciekawych linkow.
    Zerknijcie na stary temat: https://www.elektroda.pl/rtvforum/viewtopic.php?t=148130&postdays=0&postorder=asc&highlight=8275&start=0.
    Szkoda to samo pisac kilka razy.
    ...
    Pozdrawiam, yego


    OK, ja nie szukałem tylko starałem się coś podpowiedzieć.
    Dobrze że ktoś jednak czuwa... :idea:

  • Poziom 18  
    Z tamtego tematu niestety nic nie zrozumiałem :(. A na temat http://www.funet.fi/pub/cbm/schematics/computers/c64/250469-rev.B-right.gif - interesujący układ. Skąd go załatwić? Event skąd załatwić commodore? Może ktoś miał jakąś na widoku :). Aha! Pobór prądu nie jest ważny! Pomysł z dodatkowym mikrokontrolerem jest zły, ponieważ dużo zachodu no i trudne jest zrobienie komunikacji z TV i głównym uC mając 1024b flashu :| (PIC16F84A)
  • Poziom 19  
    W kwestii pozyskania VIC II (bo taki układ chodzi w C64) oznaczenie 8565 prod. bodaj "MOS Technology" to pozostaje wyłącznie demontaż bo firma Commodore upadła w 1994 a te układy nie są już produkowane.
    Aby zdobyć C64 popytaj znajomych. Swego czasu wiele osób miało C64, C64C lub C64VGS (sprzedano bodaj 12 milionów egzemplarzy C64), a wielu jeszcze ma pochowane po piwnicach bo szkoda wyrzucać takie cacko. To najpewniejsze i najtańsze rozwiązanie.
    (Sam mam C64, ale nie oddam :twisted: )
    Ewentualnie udaj się na giełdę elektroniczną. Tam za "grosze" można cos kupić. Oczywicie z giełdą jest ryzyko, ale jesli kupisz za parę złotych to nie będzie bardzo żal. Samego C64 (bez zasilacza i magnetofonu) za 5-15zł można bez problemu kupić.
    A C64 to taże inne atrakcje dla elektronika... Oprócz VIC-a polecam zainteresowanie się SID-em (układem dźwiękowym - 3 kanały + filtr audio + 2 przetworniki C/A - był w stanie syntezować mowę, również polską, kod syntezatora na procesor C64 jest dostępny) i 2*CIA (układ we/wy).
    Opisy tych układów scalonych bez problemu można znaleźć w sieci przy okazji opisu hardware C64.

    1kB na kod w uC to faktycznie mało, a nawet za mało. Chociaż pisząc tylko w asemblerze można sporo wdusić.

  • Poziom 18  
    Commodory nikt nie ma
    Męka z drugim mikro to masochizm

    1)A czy może da się jakoś wykorzystać Pegazusa?
    2)Czy da się w łatwy sposób podłączyć kartę graf.?
  • Poziom 19  
    Wykorzystanie karty graficznej.
    Tak. To możliwe, ale musi być to karta na ISA bo obsługi PCI nie da się zrobić prosto. Karta grafiki nie generuje obrazu w standardzie TV (mowa tu o starych kartach na ISA, a nie PCI, AGP lub PCI Express które mają wyjście TV).

    Wykorzystanie Pegazusa.
    Nie wiem. Możliwe jeśli jest tam zastosowany oddzielny układ wideo.
    Jednak z tego co się orientuję, to w prostych konsolach gier TV są stosowane specjalizowane układy scalone integrujące w sobie 99% konsoli (procesor, dźwięk, wizja, obługa joy) przez co do takiego układu scalonego nie można wprowadzać danych jakie ma wyświetlać na TV.

    A może jednak scalaki OSD:
    - z f-my NEC np. µPD6450GT,
    - z f-my Maxim - MAX4455.

  • Poziom 18  
    Niezłe! Noc spędzona nad datasheet i może coś wydłubę. Tylko teraz:
    µPD6450GT/MAX4455 - wiesz gdzie można kupić jedną sztukę (1000 nie jest mi potrzebne)
  • Poziom 19  
    MAX4455 - jak ładnie poprosisz to dostaniesz w firmie Maxim za darmo jako sampla (apropos zobacz cenę za 1szt.). Tu mała uwaga. Przed zamówieniem sampla sprawdź noty katalogowe i aplikacje bo możesz potrzebować jeszcze jakiegoś układu z Maxima, który przypadkiem można dostać jako próbkę.

    A co do układu z NECa to nie wiem. Niby mają program próbkowy i te scale są w nim ujęte, ale nie zostało sprawdzone czy NEC wysyła sample do Polski.