80 tarzı bilgisayar kasetini FPGA'ya bağlama


9

1980'lerin Microbee bilgisayarını bir FPGA üzerinde yeniden uyguluyorum ( buraya bakın ) ve kaset bağlantı noktasının nasıl yapılacağını anlamaya çalışıyorum. Orijinal Microbee kaset arayüzü için şemalar:

MicrobeeSchematic
(kaynak: toptensoftware.com )

Ayrıca bu açıklamayı bir teknik el kitabında buldum:

Kaset veri çıkışı, sadece PIO'nun DB1, pin 28'inden bir sinyali kabul eden bir RC ağından oluşur. Sinyal, kaset kaydedici MIC girişine gönderilmeden önce zayıflatılır ve sonra ayrıştırılır. Bu sinyal 5 pimli DIN soketinin pim 3'ünde görünür.

Kaset veri giriş devresi biraz daha karmaşıktır. DIN soketinin pim 5'inden gelen giriş ilk önce bir ilgilenen - decoupler'a geçer. Bunu takiben, sinyal PIO DBO'nun 27 pinine geçirilmeden önce çok çeşitli giriş seviyelerinin karesi alınmasına izin vermek için bir CA3140 op-amp'dir. Op-amp klipsine eviren ve evirmeyen girişler boyunca iki diyot, her iki yönde de diyotların ileri voltajından daha büyük giriş sinyalleri sağlar. 47pF kapasitör, ön dengeleme için CMOS op-amp tarafından gereklidir.

Sorularım:

  1. Açıklamasındaki "ayrıştırılmış" ne demektir?
  2. Bir Xilinx Spartan 6 FPGA (bir Nexys3'teki PMod konektörü aracılığıyla) üzerindeki G / Ç pimlerinden ikisine bağlanırsa aynı devre çalışır mı ve yoksa, çalışacak şekilde uyarlanabilir mi?

İlk denemede, cevaplardaki yorumlara dayanarak, ancak çıkış direnci seri olmamalıdır.

Bunu bağlam ve öğretici nedenlerle burada bırakıyorum, lütfen bir sonraki şemaya bakın

MicrobeeSchematic2 http://www.toptensoftware.com/fpgabee/MicrobeeCassettePortSchematic2.png

Yeni sorular:

  1. Karşılaştırıcının polaritesi doğru mu?
  2. MCP6546 için Vss yere, Vdd 3.3V'a mı gidiyor?
  3. Orijinal devrede teyp girişleri arasında "noktalı" direncin ne yapacağından emin değilim.

Açık drenajlı karşılaştırıcının çıkışı ile ilgili geri bildirimlerin dahil edilmesi:

MicrobeeSchematic3 http://www.toptensoftware.com/fpgabee/MicrobeeCassettePortSchematic3.png

Avustralya'daki perakende mağazalarında bulamadığım MCP6546 için hangi alternatifleri kullanabilirim. Anlatabildiğim kadarıyla benzer olan LM311 veya LM393'ü alabilirim. Bunlar da işe yarayacak mı?

Yanıtlar:


6
  1. Ayırma kapasitörleri, besleme voltajını (yüksek frekans) gürültüyü temiz tutmaya hizmet ettikleri devrelerin güç kaynaklarında bilinir. Ama burada sinyalin DC içeriğini kaldırmanın, C24'ün giriş için yaptığı gibi bir seri kapasitör aracılığıyla kastedildiği izlenimine sahibim. Hangi bakış açınıza bağlı olarak (DC veya AC) bir kaplin kondansatörü denilebilir. Ama bunu çıkışınızda yapan bir kapasitör yok. C23'ün değeri de şüpheli olarak düşüktür. R23 ve R24 dirençleri ile kesme frekansı 12 kHz'dir, bu işe yaramaz, çünkü bu yine de kasetin frekans aralığı hakkında olacaktır. Burada 5 kHz bekliyorum. Ayrıca metin MIC girişinden bahseder, ancak bunun için çıkış seviyesi çok yüksektir. Şematik hat girişinden bahseder.

  2. CA3140 iyi değil. Minimum çalışma voltajı 4 V'dir ve 5 V'de yüksek çıkış 3 V'tan yüksek değildir, bu nedenle 2 V kadar düşük olabilecek ve Spartan için yeterli olmayabilecek 4 V besleme için. Bunun yerine bir Raydan Demiryoluna opamp veya daha iyi bir karşılaştırıcı kullanın.

yeni sorularınızı yeniden düzenleyin

  1. Polarite tamam, çünkü önemli değil :-). Yerin üstüne ve altına giden bir AC sinyaliniz var. Çektiğiniz gibi, pozitif yarım çevrimler çıktının toprağa negatif olan Vcc'ye gitmesini sağlayacaktır. Girişleri değiştirirseniz bunun tersi olur, ancak her iki sinyal de aynı görünür.

  2. Evet.

  3. Görmezden gelirdim. Çıktıyı yüklemekten başka bir işleve sahip gibi görünmüyor ve ayrıca, eğer onu işaretlerseniz, görmezden gelinmesini istersiniz :-).

R1 hakkında önemli bir şey: bu, çıkışla seri halde değil, 3.3 V'niz olan Vcc'ye gitmelidir. Açık tahliye çıkışı, çıkışı toprağa çeviren sadece bir FET olduğu anlamına gelir, böylece sadece düşük, yüksek değil. Çekme direnci FET kapalıyken çıkışı yüksek yapacaktır.


"Dekuplaj normalde sinyalin DC içeriğini bir seri kapasitör vasıtasıyla kaldırmak anlamına gelir" - seri bir kaplin kapasitör değil mi? Bir Ayırma başlığı AC içeriğini kaldırır.
Kellenjb

@Kellen - Ah canım. Evet, haklısınız, özellikle güç besleme hatlarını ayırmayı düşünüyorsanız. Burada DC'yi sinyalden ayırmayı düşünüyordum :-).
stevenvh

@stevenvh Söylediklerinizden bazıları başımdan geçse de ayrıntılı yanıt için teşekkürler. Elektronik bilgim sınırlı, ancak büyümeye çalışıyorum, bu yüzden RC devreleri, op-amp ve karşılaştırıcıları okudum. Muhtemelen bunları ayrı sorular olarak göndermeliyim, ancak: 1) 12Hz ile nasıl karşılaştınız ve 2) bir karşılaştırıcı önerebilir misiniz? Aslında bu mümkünse PMod 3.3V kullanılabilir sürücü umuyoruz.
Brad Robinson

Ayrıca, haklısınız, Microbee'nin mikrofon seviyesi değil, hat seviyesi çıkışı vardı. Bu beni meraklandırıyor - bunu mikrofon düzeyinde çalışmak için nasıl değiştirebilirsin (bunu kayıt için bir iPhone'a göndermeyi düşünüyorum).
Brad Robinson

@Brad - kHz! Hz. Kesme frekansı = 1 / (2 pi RC), burada R, R23 ve R24'e paraleldir ( bu cevap nedenini açıklar). Yani f = 1 / (2 pi 1.3k 10nF) = 12.2kHz. Bu uygun bir karşılaştırıcıdır. Çıkışına 10k çekme direnci eklemeniz gerekir. Ω
stevenvh

3

Seri kapasitörlere normalde kaynak bağlantısının ac bileşenini hedefe bağladıkları için normalde 'kuplaj' kondansatörleri denir. Ayırma kapasitörleri, AC sinyallerinin kaynaktan tespitine bağlanmasını önlemek için tasarlanmış şönt kapasitörleridir.

Bu bağlamda, C23, PIO'nun yüksek frekanslı bileşenlerini toprağa ayrıştırır, böylece kare dalga çıktısı yuvarlanır, yani yaklaşık sinüzoidal (alıntılanan makaleniz, bant bağlantı noktasına çıkışı tanımlarken 'ayırmayı' ifade eder ve bu nedenle C23).


Ayrıca, kaset kaydedicinin girdisinde bir "zayıflatıcı-dekupler" anlamına gelir, bu da onları iki farklı şey için kullanmak için kullanmalarını merak etti.
Oli Glaser

1

IC35 0 ila 3,3 voltluk bir sinyal verirse, çizildiği gibi devre muhtemelen bir FPGA ile çalışmalıdır. Hafif bir uyarı, kaset girişinde herhangi bir histerezis bulunmadığından, tek bir yükselen veya düşen kenar olarak görünmesi gereken bir sinyalin, yükselen ve düşen kenarların hızlı bir sekansı olarak görünmesi ve daha sonra birkaç mikrosaniye sonra yüksek veya düşük olarak yerleşmesi mümkündür. . FPGA'nızı, örneğin 10 mikrosaniyeden daha az süren giriş değişikliklerini yoksayar ve algılanan bir değişikliğin 20 mikrosaniyesi içinde meydana gelen giriş değişikliklerini yoksayarsanız, ancak mantığınız uzunlukları ölçmeye çalışırsa, bu sorun olmamalıdır. giriş darbelerinin minimum uzunluğunu uygulamadan problemleri olabilir.


1
  1. Bu senaryodaki "ayrıştırılmış" muhtemelen hem DC'yi (C24) engelleyen seri kapasitöre hem de RC'nin (C23) C kısmına (C24) "bağlantı kapasitörü" olmasına rağmen (ayırma ayrıca DC engelleme işlevi, ancak bence bu şekilde kafa karıştırıcı oluyor, çünkü genellikle AC'yi toprağa çeviren "diğer tür" ve C23 için "ayırma" (herhangi bir şey varsa)
    Kaplin kapağı ses yükseltici devrelerinde yaygın olarak kullanılır bir kademe girişinin önceki kademe DC çıkış seviyesinden bağımsız bir şekilde sapmasına izin vermek için.

  2. Evet, opamp'a gösterilen 5V yerine FPGA pinleri (ör. 3.3V, 2.5V, vb.) İle aynı voltaj sağladığınız sürece. Karşılaştırma işlevi için hemen hemen tüm opamp'ları kullanabilmeniz gerekir (Steven'ın söylediği gibi, işleri kolaylaştırmak için raydan raya tercih edilir, ancak FPGA girişi min-high max-low ile karşılaştığınız sürece gerekli değildir)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.