Hazır devreyi bir arkadaşımız Atilla Meriç,
https://atillameric.wordpress.com/tag/casduino/adresinde tarif etmiş. Bu tasarımda bir amfi kullanılıyor. Hatta 7–8 sene önce, blogunda paylaştığı haliyle bu projeyi bir toplantıda kullanma fırsatım da oldu. O dönemde herhangi bir sorun yaşanmadığı için devrenin şemasını daha anlaşılır hâle getirip birebir denedim ve yüklemede bir problem yaşamadım.
Ancak yükleme sırasında sesin fazlasıyla yüksek olduğunu fark ettim. Bu sesi nasıl azaltabileceğimi araştırırken, çıkış voltajının 5–13 V aralığında gezindiğini gördüm. Asıl mesele burada başladı. İnternetteki projelerde bu hassasiyetin neredeyse hiç dikkate alınmadığını fark ettim. Evet, D9 çıkışını doğrudan EAR-TIP’e bağlayarak da yükleme yapılabiliyor; buna itirazım yok. Benim derdim, ULA çipinin kendi koruma sınırlarını zorlamadan, uygun voltaj ve akımı sağlayan sinyalle optimum yükleme seviyesini yakalamak. Bunu fark etmişken kolaya kaçmak içime sinmedi.
Burada aslında kimse tamamen yanlış söylemiyor; sadece aynı konuya farklı soyutlama seviyelerinden bakılıyor. Kafa karışıklığı da buradan doğuyor.
ZX Spectrum EAR girişi analog, AC karakterli bir sinyal bekler. Walkman veya kasetçalar çıkışı DC içermeyen, yumuşak kenarlı bir sinyaldir ve yüksek empedanslı olduğu için Spectrum’u zorlamaz. Buna zaten bir itirazım yok. Ancak TZXDuino / Arduino tabanlı çözümler böyle değil. Arduino pini DC referanslı, keskin kenarlı bir dijital çıkış üretir ve bu haliyle şekillendirilmeden kullanılması doğru değildir.
Bu nedenle Arduino’nun ürettiği dijital darbeyi, ZX Spectrum’un analog beklentisine yaklaştırmak bana en mantıklı yaklaşım gibi göründü.
Eski teyp ve walkman’lerin doğrudan bağlanabilmesinin sebebi de budur. Arduino tabanlı bir devreyi aynı şekilde doğrudan bağlamak ise riskli olabilir. Bu yüzden teyplerde sıkça kullanılan kondansatörlü AC-coupling çözümü yerine, direnç ve diyot kullanarak pozitif clamp ile voltajı ~1.5 V civarına sınırlamak, bana daha kontrollü ve mühendislik açısından daha tutarlı bir çözüm gibi geldi. Araştırmalarımda ayrıca ZX Spectrum 48K’nın EAR girişinin negatif yönde zaten dahili olarak korunduğunu da öğrendim.
Son durumda, D9 çıkışına seri bağlı 2 diyot ve 1.5 kΩ direnç ile, 1.7 V’u aşmayan pozitif clamp uygulanmış bir sinyalle yüklemeleri hem çok daha sessiz, hem de ULA’yı koruyarak gerçekleştirmeye başladım.