Elektronik Tasarım:Kasamızın tasarımı yaptıktan sonra şimdi sıra elektronik tasarımına geldi. Tabii önce bu proje için ihtiyacımız olan elektronik yapıyı kısaca anlatayım.
Bir oyun konsolunun bir supergun'dan en önemli farkı her tür görüntü veren cihaza bağlanabilir olmasıdır. Bundan kastettiğim, tamam RGB görüntü elde edebileceğimiz en net görüntü biçimi ama bildiğiniz üzere düşük çözünürlükte çalışan bu tür arcade boardlar 15Khz görüntü verir (VGA-SCART projemde bunun detaylarını anlatmıştım).
15Khz'lik bir RGB görüntüsünü ancak eski bir CRT TV veya eski bir VGA monitör gösterebilir (örn. Commodore 1084). Yani evinizin salonundaki LCD TV'ye RGB bağlantı yapsanız da modern TV'niz muhtemelen bu düşük sinyale sync olamayacaktır.Not: forum üyelerinden @tolga abacı'nın belirttiği gibi LCD TV'ler (LCD modern monitörler değil) sonuçta TV sinyallerini göstermek üzere tasarlandığından 15Khz'lik RGB sinyallerini de gösterebiliyormuş. Benim evimde Philips LCD TV'de SCART'tan verdiğim arcade görüntüde rahatsız edici bir görüntü bozulması vardı. Belki sadece benim TV'me has bir sorundur. (İlerleyen bölümlerde resimlerle göstereceğim sırası geldiğinde)
Peki çözüm nedir? Görüntüyü standart bir TV sinyaline (PAL/NTSC) "encode" etmek...
Bunun için ya bir encoder alacaktım (ya arcade sitelerde meşhur olmuş JROK veya NeoBitz ya da DX'den ucuzundan dandik bir RGB->S-Video/Composite dönüştürücü) ya da biraz araştırma yapıp sıfırdan tasarlamam gerekiyordu. Ben tabii ki ikinci yolu seçtim.
Video Encoder:Tabi araştırınca bir çok farklı devre şeması buldum internette. Hedefim bir retro konsol yapmak olduğundan önce eski konsollarda kullanılan video encoder çiplerini araştırdım. Sonunda Sony CXA1645 çipinde karar kıldım. Bu çip playstation'da ve bir çok ev konsolunda kullanılmış. Ayrıca meşhur JROK encoder'ı da bu çipi kullanıyormuş. Yerli elektronik piyasasında da araştırdım bulunan bir çip. SOnunda bu çipe dayalı ve farklı çeşitli bir çok encoder şemasını ve bu çipin datasheet'ini inceleyerek ortaya şöyle bir tasarım çıkartabildim.
Temelde devremiz JAMMA dan gelen RGB sinyallerini CXA1645'in RGB girişine gönderiyor. JAMMA'nın Composite Sync sinyalini LM1881 ile "temizliyerek" composit sync sinyalini oluşturuyorum. 74LS04 (hex inverter) ile de NTSC veya PAL için "Subcarier - SC - frekansı" nı oluşturuyorum ki encoder çipimiz ham RGB sinyalini bu SC frekansı ile "encode" edebilsin.
Ayrıca internetteki bir çok şemada atlanan bir başka detay konu olan "Luma Trap" olayını CXA1645'in ve AD725 (bir başka video encoder) datasheet'lerinde tavsiye edildiği gibi bir kondansatör ve bobin kullanarak ekledim.
Luma trap olayını basitçe şöyle anlatayım; Bir defa sadece Composite çıkış için gerekli olan bir detay. Olmasa da olur. İşin teorisi, Composite sinyal oluşturmak için Croma (renk) ve Luma (aydınlık karanlık) sinyalleri bildiğiniz üst üste getirip toplanır. Bu toplamayı dümdüz yaparsanız büyük bir bant genişliğine sahip Luma (aydınlık/karanlık) sinyalinin bir kısmı Croma sinyalinin bir kısmına "bulaşır" ve ortaya aslında olmayan renkler çıkar. Buna cross-color interferance (renklerin birbirine geçmesi) denir ve özellikle arcade/konsol görüntülerinde sprite'ların sınırlarındaki renklerin bozulması/kayması/parlaması olarak karşımıza çıkar. Eğer Luma sinyalini Chroma ile toplamadan önce biraz "traşlarsak" (filtrelersek) bu renk bozulmasının önüne geçilebilir. İsimden de anlaşılacağı gibi buna "Luma Trap" (Luma tuzağı) diyoruz ve basit bir kondansatör+bobin filtresi ile olayı hallediyoruz...
Neyse, konumuza dönersek, bu devre daha önce sizlerle paylaştığım VGA-SCART devresinden biraz daha karmaşık. Bu yüzden elle delikli plaket üzerine monte etmek biraz zahmetli olacağını ve fazla yer kaplayacağını anladım. Özellikle de konsol kasasının boyutunun limon kasası kadar olmasını istemiyorsam bu iş için bir PCB (baskılı devre) tasarlamam gerektiğini anladım.
PCB tasarlamak için internette bulduğum en pratik, öğrenmesi en kolay ve en ucuz (bedava) yazılım "Express PCB". Bu gereçleri kullanmayı öğrenmem de 1-2 günümü aldı.
Express PCB'yi şu linkten indirebilirsiniz:
http://www.expresspcb.com/Paketin içinden ayrıca devre şeması da tasarlayabilmenize yarayn bir başka yazılım da çıkıyor (yukarıdaki şemayı bu yazılım ile yaptım). Bu sayede şemayı tasarladığınız dosyayı Express PCB'ye "link" leyince devre elemanlarını koyduğunuzda bakır hatların bağlantılarının doğru olup olmadığını da test edebiliyorsunuz. Yani hata olasılığını en aza indiriyor. Bir devre şeması ile PCB bakır hatları temelde birebir aynı bağlantılara sahip olsa da parçaları belli bir alana sığdırabilmek için yerleşimleri şemadan çok farklı olabiliyor. Bu yüzden bakır hatları yanlış birleştirme olasılığınız var. Bu "link" olayı bunun önüne geçmek için çok avantajlı.
Neyse, 3D tasarımıma göre kasanın arkasında bulunacak olan video encoder devresinin ancak 14.5 cm x 3.5 cm boyutlarında olması gerekiyordu. Ortaya bu arapsaçı PCB tasarımı çıktı;
Bu da encoder için parça listesi;
C1 100nF
C2 100nF
C3 100nF
C4 100nF
C5 33pF
C6 33pF
C7 100nF
C8 100nF
C9 100nF
C10 10nF
C11 10pF
C12 47pF
C13 10pF
C14 10pF
C15 100nF
C16 47uF
C17 10nF
C18 47uF
C19 10nF
C20 0.1uF
C21 10uF
C22 18pF
C23 220uF
C24 220uF
C25 220uF
C26 220uF
C27 220uF
C28 220uF
L1 68uH
R1 390 ohm
R2 1K
R3 1K
R4 1K
R5 75 ohm
R6 75 ohm
R7 75 ohm
R8 75 ohm
R9 4.7M
R10 680K
R11 2.2K
R12 2.2K
R13 47K
R14 16K 1%
R15 75 ohm
R16 75 ohm
R17 75 ohm
R18 75 ohm
R19 75 ohm
R20 75 ohm
R21 100 ohm
U1 74LS04
U2 LM1881
U3 CXA1645
XTL1 4.433619MHz
Yazımın sonunda tüm tasarım dosyalarını paylaşacağım, acaba sitede upload edilecek bir yerler var mı bu tarz paylaşımlar için?