OSD, STV5730 és AVR-el

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
gerry
Chipgyilok
Hozzászólások: 252
Csatlakozott: 2005. október 11. kedd, 6:00

OSD, STV5730 és AVR-el

Hozzászólás Szerző: gerry »

Sziasztok!

Az egyik ismerősöm feltette azt a kérdést, hogy mi lenne, videójelet generálnék egy AVR chippel és azt kivezetve egy Lcd monitorra, az autójában tudna visszajelzést kapni a hifi müködéséről, DVD lejátszó állapotáról, ablakmosó tartály vízszintjéről. :D

Na,m ost azt az infót kaptam, hogy eléggé bonyolúlt basic-ben videójelet generálni. Assembliben meg nem tudok progizni, (igaz basicben se sokat), de egy két projectet elkövettem már. Igaz nem veszik fel a versenyt a versenymunkákkal.

A lényeg a következő: Van egy Avr chip, minél nagyobb memóriával és van egy Osd generátor ic, ami I2c buszon vezérelhető. A mikrokontroller egyik 8 bites portja végzi az adat gyüjtést és vezérli az Osd ic-t. Az osd ic-n keresztül megy az autó eredeti ICS computer videójele és mellette kijelzi az avr-be előre felprogizott szöveget.

Röviden ennyi.
Az érdekelne, hogy vezérelhető i2c buszon keresztül ez az osd ic. mint karaktergenerátor. A programot megírom én, csak a protokoll érdekelne, ami vezérli az ic-t

Itt egy link az OSD ic-ről
www.batc.org.uk/software/STV5730.pdf

köszönöm a figyelmeteket
gerry
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Jo a chip....


Kérdés: Hol kapható?+Ár?

Ami nem világos az adatlapból:
Külső VideoIn nélkül is megy?



A folyamatábrák ott vannak a katalóguslapban, valamint a kódok. Ha minta kell én a LM75 adatlapot+az oldalon levő intakódot ajánlom elsőnek a Bascom részen. Ezzel lehet meglesni hogy az adatlapban a grafikon és Bascomban az I2C kezelés hogyan működik. (ez egy sima hőmérőIC).
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Elolvastam figyelmesebben. A vezérlés nem I2C hanem SPI busz alapon megy. Ehhez (még) nem tudok hozzászólni. A bascomban van mintaprogi hozzá.


A kocsi belső monitorja Videójelet (kompozit) fogad?
Avatar
gerry
Chipgyilok
Hozzászólások: 252
Csatlakozott: 2005. október 11. kedd, 6:00

Hozzászólás Szerző: gerry »

Robert írta:Elolvastam figyelmesebben. A vezérlés nem I2C hanem SPI busz alapon megy. Ehhez (még) nem tudok hozzászólni. A bascomban van mintaprogi hozzá.


A kocsi belső monitorja Videójelet (kompozit) fogad?
Üdv! (igy reggel, most kelltem)

Az ic müködik videó jel nélkül is, ekkor kék háttérben látod a betüket, legalábbis az egyik weblapon igy láttam, olyan mint egy TV-n lévő lcd kijelző :D

Az autó monitora RGB jelet fogad + kell neki a kompozit is mert innen veszi a szinkron jeleket. Anno csináltam egy TDA8362-5-el egy kompozit RGB átalakítót, ami most is üzemel az autóban. Winyós multimédia player van rákötve.

itt egy link pic-es megoldással
http://www.pi6tv.net

gerry

Az ic: 2900+fa a HQvideonál
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Az IC ára baráti....
Mondjuk TVből videómegjeleítőt használni:) Meg mérési eredményeket, pl. voltmérőt:)).

A PICest meglesem otthon. Abból nem hámozható ki a SPI parancsrutinok?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Lásd milyen vagyok:)

http://www.ulrichradig.de/site/atmel/av ... eotext.htm
Igaz ASM, de mindennel együtt ott van ami még kellhet. Már hogyha még aktuális....

Ez pl. ATTiny2313-l van megoldva és soros a bemenet.
Rajz, minden ott van.


Viszont az IC-t sehol nem lehet kapni, kifutott típus:(
Avatar
gerry
Chipgyilok
Hozzászólások: 252
Csatlakozott: 2005. október 11. kedd, 6:00

Hozzászólás Szerző: gerry »

Robert írta:Lásd milyen vagyok:)

http://www.ulrichradig.de/site/atmel/av ... eotext.htm
Igaz ASM, de mindennel együtt ott van ami még kellhet. Már hogyha még aktuális....

Ez pl. ATTiny2313-l van megoldva és soros a bemenet.
Rajz, minden ott van.


Viszont az IC-t sehol nem lehet kapni, kifutott típus:(
Köszi a linket!

A HQvideonál még mindig lehet kapni :wink:

üdv
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Hozzászólás Szerző: nobody_hun »

Ha érdekel valakit a téma:
STV5730A-t hivatalosan már nem gyártják (sajnos), Győrben találtam 1 céget, akik 8600+áfáért árulják :arrow: fel sem hívtam őket.

Keresgéltem kicsit, a Sanyo gyárt még OSD IC-ket. Mind SPI buszos (szoftveres SPI-vel nem megy, csak hardveressel, erre én is csak a végén jöttem rá).

Én az LC74783-at választottam, ára nettó 1970,- HUF. Ez elég baráti szerintem, mindjárt jó párat felvásároltam, most van utánrendelés alatt náluk. :lol:

De hogy ne csak a számat jártassam, itt az eredmény:
Kép
A képet a Képfeltöltés.hu tárolja. http://www.kepfeltoltes.hu

Kép
A képet a Képfeltöltés.hu tárolja. http://www.kepfeltoltes.hu
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Poén:).
Macerás a kezelés SPIn keresztül?
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Hozzászólás Szerző: nobody_hun »

Így utólag? Á, könnyű... Csak hát a kezdők problémái... :lol:

Kód: Egész kijelölése

$regfile = "m16def.dat"                                     ' specify the used micro
$crystal = 4000000                                          ' used crystal frequency
$baud = 9600                                                ' use baud rate
$hwstack = 32                                               ' default use 32 for the hardware stack
$swstack = 10                                               ' default use 10 for the SW stack
$framesize = 40                                             ' default use 40 for the frame space


Config Portb = Output
Ddrb = &B11111111

Cs Alias Portb.4

Config Spi = Hard , Data Order = Lsb , Master = Yes , Polarity = Low , Phase = 0 , Noss = 1

Dim Kiiro As String * 16 , T As Byte , Q As Byte , P As Byte , Z As String * 1
Dim Outstring As String * 24

Dim Global_osdclk As Byte
Dim Global_videoin As Byte
Dim Global_bgcolor As Byte
Dim Global_cborder As Byte

'OSD órajele
'Command2 data
'64=4fsc (PAL=17,734475MHz)
'0=2fsc (PAL=8,867239MHz)
Global_osdclk = 64

'Video bemenet
'Command5 command
'1=Nincs videojel (külső szinkron)
'0=Van videojel (belső szinkron)
Global_videoin = 0

'Háttérszín, ha nincs videobemenet. A színek csak 4fsc=17,734475MHz kvarc esetén érvényesek
'Command5 data
'0=cián
'1=sárga
'2=piros
'3=kék
'4=cián kék
'5=zöld
'6=narancs
'7=magenta
Global_bgcolor = 7

'Karakter keretezés
'Command4 data
'32 = Van A Karakternek 1 Pixeles Kerete
'0 = Nincs Keret
Global_cborder = 32

Declare Sub Init_osd

Waitms 1

Spiinit

Call Init_osd

'Command0 beállítjuk az első sor első karakter pozícióját
Reset Cs
T = &B10000000
Spiout T , 1
T = &B00000000
Spiout T , 1
Set Cs
Waitms 1
'-------------------------------------------------------------------------------
'Command1
Reset Cs
T = &B10010000
Spiout T , 1
Waitms 1

For Q = 0 To 11
   Outstring = Lookupstr(q , Kepernyo)
   For P = 1 To 24
      Z = Mid(outstring , P , 1)
      T = Asc(z)
      Spiout T , 1
      Waitms 1
   Next
Next
Set Cs
Waitms 1
Rem - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

'OSD-t bekapcsoljuk
Reset Cs
T = &B11000000
Spiout T , 1
T = &B00000001
T = T + Global_cborder
Spiout T , 1
Set Cs

End

'------------------------------------------------------------------------------
Sub Init_osd:
'System reset
Reset Cs
T = &B11000001
Spiout T , 1
T = &B00000000
Spiout T , 1
Set Cs
Waitms 1
'----------------------------------
Reset Cs
T = &B11000000
Spiout T , 1
T = &B00000000
Spiout T , 1
Set Cs
Waitms 1
'System reset vége
'----------------------------------
'Video RAM törlése
Reset Cs
T = &B11000010
Spiout T , 1
T = &B00000000
Spiout T , 1
Waitus 500
Set Cs
Waitms 1
'----------------------------------
Reset Cs
T = &B11000000
Spiout T , 1
T = &B00000000
Spiout T , 1
Set Cs
Waitms 1
'Video RAM törlés vége
'----------------------------------
'Command2
Reset Cs
T = &B10100000
Spiout T , 1
T = &B00001111
T = T + Global_osdclk
Spiout T , 1
Set Cs
Waitms 1
'----------------------------------
'Command3
Reset Cs
T = &B10110000
Spiout T , 1
T = &B01011111
Spiout T , 1
Set Cs
Waitms 1
'----------------------------------
'Command5
Reset Cs
T = &B11011010
T = T + Global_videoin
Spiout T , 1
T = &B00000000
T = T + Global_bgcolor
Spiout T , 1
Set Cs
Waitms 1
'----------------------------------
'Command6
'Reset Cs
T = &B11010001
Spiout T , 1
T = &B00000000
Spiout T , 1
'Set Cs
Waitms 1
'----------------------------------
'Command7
'Reset Cs
T = &B11100000
Spiout T , 1
T = &B00000000
Spiout T , 1
'Set Cs
Waitms 1
'----------------------------------
End Sub Init_osd
'------------------------------------------------------------------------------

Kepernyo:
Data " ON SCREEN DATA DISPLAY "
Data "   WITH SANYO LC74783   "
Data " CONTROLLED BY AN ATMEL "
Data "ATMEGA 16 ADVANCED RISC "
Data "     MICROPROCESSOR     "

Data "                        "
Data "   PROGRAM WRITTEN IN   "
Data " BASIC WITH BASCOM AVR  "
Data "                        "
Data " (C) NOBODY        2006 "

Data "   THANX TO ROBERT AT   "
Data "      AVR.TAVIR.HU      "
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Köszi:). Tök egyszerű így (készen) a kód :P ....
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Hozzászólás Szerző: nobody_hun »

No igen...
A buktatók:
Szoftveres SPI-nél nem lehet állítani:
-Adat sorrend (LSB vagy MSB kerüljön ki először)
-Az órajel fázisát (lefutó vagy felfutó élnél van az érvényes adat)
-Az órajel polaritását (mikor inaktív az órajel: alacsony vagy magas szinten)
-Az órajel sebességét (vannak eszközök, amelyek csak 1MHz körüli órajelet viselnek el)
-SS láb aktív/inaktív tartása (vannak olyan eszközök, amelyeknél ha egy pillanatra is felemeled a CS lábat, már nem veszi figyelembe a következő byte-ot)
Avatar
MarekM
Újonc
Újonc
Hozzászólások: 1
Csatlakozott: 2008. május 1. csütörtök, 6:00

Hozzászólás Szerző: MarekM »

Hello,
did you have schematic of this application? (AVR+LC74781/2/3/4)
or link to pages with info about connecting LC with ATMega?
Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00

Hozzászólás Szerző: herc1234 »

nobody_hun írta:Így utólag? Á, könnyű... Csak hát a kezdők
Ez a séma rajz engem is érdekelne.....
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Hozzászólás Szerző: nobody_hun »

Kapcsolási rajz:
Kép
Kép

Program pedig fenntebb.

Tervezésnél figyelni, mert az IC 2mm-es raszterű! :)
Válasz küldése