การเชื่อมต่อคาสเซ็ตต์คอมพิวเตอร์สไตล์ 80 กับ FPGA


9

ฉันกำลังนำคอมพิวเตอร์ Microbee ของปี 1980 มาใช้ใน FPGA อีกครั้ง (ดูที่นี่ ) และพยายามหาวิธีการทำพอร์ตคาสเซ็ต นี่คือแผนงานสำหรับส่วนต่อประสาน Microbe Cassette ต้นฉบับ:

MicrobeeSchematic
(ที่มา: toptensoftware.com )

ฉันยังพบคำอธิบายของมันในคู่มือทางเทคนิค:

เอาต์พุตข้อมูลคาสเซ็ตประกอบด้วยเครือข่าย RC ที่รับสัญญาณจาก DB1, pin 28 ของ PIO สัญญาณถูกลดทอนแล้วแยกออกก่อนที่จะส่งไปยังอินพุต MIC ของเครื่องบันทึก สัญญาณนี้จะปรากฏที่ขา 3 ของซ็อกเก็ต DIN 5 พิน

วงจรอินพุตข้อมูลของคาสเซ็ตนั้นซับซ้อนกว่าเล็กน้อย อินพุตจากขา 5 ของซ็อกเก็ต DIN ผ่านไปยัง attentuator -decoupler ก่อน ต่อไปนี้คือ CA3140 op-amp เพื่อให้สามารถยกระดับอินพุตได้หลากหลายก่อนที่จะส่งสัญญาณไปยังขา 27 ของ PIO, DBO ไดโอดทั้งสองข้ามอินพุทอินเวอร์เตอร์และไม่อินเวอร์เตอร์ไปยังคลิปออปแอมป์สัญญาณอินพุตใด ๆ ที่สูงกว่าแรงดันไปข้างหน้าของไดโอดในทิศทางใดทิศทางหนึ่ง ตัวเก็บประจุ 47pF เป็นสิ่งจำเป็นสำหรับ CMOS op-amp สำหรับการชดเชยล่วงหน้า

คำถามของฉัน:

  1. อะไร"เดคู่"ในหมายถึงคำอธิบาย?
  2. วงจรเดียวกันจะทำงานได้หรือไม่หากเชื่อมต่อกับหมุด I / O สองตัวบน XGAX Spartan 6 FPGA (ผ่านขั้วต่อ PMod บน Nexys3) และถ้าไม่สามารถปรับให้ทำงานได้หรือไม่

ความพยายามครั้งแรกโดยยึดความเห็นเป็นคำตอบ แต่ตัวต้านทานเอาต์พุตไม่ควรอยู่ในอนุกรม

ฉันกำลังออกจากที่นี่เพื่อเหตุผลด้านบริบทและการเรียนการสอนโปรดดูแผนผังต่อไป

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

คำถามใหม่:

  1. ขั้วของตัวเปรียบเทียบถูกต้องหรือไม่?
  2. สำหรับMCP6546 Vss ไปที่กราวด์และ Vdd ถึง 3.3V หรือไม่
  3. ฉันไม่แน่ใจว่าจะทำอย่างไรกับตัวต้านทาน "จุดออก" ทั่วทั้งอินพุตเทปในวงจรดั้งเดิม

การรวมข้อเสนอแนะเกี่ยวกับผลลัพธ์ของเครื่องมือเปรียบเทียบที่เป็นแบบ open-drain:

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

ทางเลือกใดบ้างที่ฉันสามารถใช้กับ MCP6546 ซึ่งฉันไม่พบในร้านค้าปลีกที่นี่ในออสเตรเลีย ฉันสามารถรับ LM311 หรือ LM393 ซึ่งจากสิ่งที่ฉันสามารถบอกได้คล้ายกัน จะใช้งานได้เช่นกันหรือไม่

คำตอบ:


6
  1. ตัวเก็บประจุแบบแยกตัวเป็นที่รู้จักในอุปกรณ์จ่ายไฟของวงจรซึ่งจะทำหน้าที่รักษาความสะอาดของแหล่งจ่ายไฟให้สะอาด (ความถี่สูง) เสียง แต่ฉันมีความประทับใจที่นี่ลบเนื้อหา DC ของสัญญาณของคุณมีความหมายโดยตัวเก็บประจุแบบเช่น C24 ทำเพื่อการป้อนข้อมูล ซึ่งขึ้นอยู่กับมุมมองของคุณ (DC หรือ AC) สามารถเรียกว่าตัวเก็บประจุมีเพศสัมพันธ์ แต่ไม่มีตัวเก็บประจุที่ทำสิ่งนี้กับเอาต์พุตของคุณ ค่าของ C23 นั้นต่ำเช่นกัน ความถี่คัตออฟพร้อมตัวต้านทาน R23 และ R24 คือ 12 kHz ซึ่งไร้ประโยชน์เพราะนั่นจะเกี่ยวกับช่วงความถี่ของเทปคาสเซ็ต ฉันคาดหวังไว้ที่ 5 kHz ที่นี่ ข้อความพูดถึงอินพุต MIC แต่สำหรับระดับเอาต์พุตนั้นสูงเกินไป แผนผังกล่าวถึงอินพุตบรรทัด

  2. CA3140 ไม่ดี แรงดันไฟฟ้าขั้นต่ำของมันคือ 4 V และที่ 5 V ผลผลิตสูงไม่สูงกว่า 3 V ดังนั้นสำหรับ 4 V supply ที่อาจต่ำถึง 2 V และอาจไม่เพียงพอสำหรับ Spartan ใช้ opamp Rail-To-Rail แทนหรือเปรียบเทียบที่ดียิ่งขึ้น

แก้ไขคำถามใหม่ของคุณอีกครั้ง

  1. ขั้วก็โอเคเพราะมันไม่สำคัญ :-) คุณมีสัญญาณ AC ไปด้านบนและด้านล่างของพื้นดิน เช่นเดียวกับที่คุณวาดมันครึ่งรอบบวกจะทำให้เอาต์พุตไปที่ Vcc ซึ่งเป็นลบกับพื้น หากคุณสลับอินพุตคุณจะมีสัญญาณตรงกันข้าม แต่สัญญาณทั้งสองจะเหมือนกัน

  2. ใช่.

  3. ฉันจะไม่สนใจมัน ดูเหมือนว่าจะไม่มีฟังก์ชั่นอื่นนอกจากการโหลดผลลัพธ์และนอกจากนี้หากคุณเห็นว่าคุณกำลังขอให้เพิกเฉย :-)

สิ่งสำคัญเกี่ยวกับ R1: สิ่งนี้ควรไปที่ Vcc ซึ่งเป็น 3.3 V ของคุณไม่ใช่ในอนุกรมที่มีเอาต์พุต เอาท์พุทแบบ open-drain หมายความว่ามีเพียง FET ที่เปลี่ยนเอาต์พุตเป็นกราวด์ดังนั้นมันสามารถทำให้มันต่ำไม่สูง ตัวต้านทานแบบดึงขึ้นจะทำให้เอาต์พุตสูงเมื่อปิด FET


"การแยกสัญญาณปกติหมายถึงการลบเนื้อหา DC ของสัญญาณของคุณโดยใช้ตัวเก็บประจุแบบอนุกรม" - ตัวเก็บประจุแบบ coupling ไม่ใช่หรือไม่ ฝาครอบ Decoupling จะลบเนื้อหา AC
Kellenjb

@Kellen - โอ้ที่รัก ใช่คุณพูดถูกโดยเฉพาะถ้าคุณนึกถึงการแยกสายพาวเวอร์ซัพพลายออก ที่นี่ฉันกำลังคิดที่จะแยก DC ออกจากสัญญาณ :-)
stevenvh

@stevenvh ขอบคุณสำหรับการตอบสนองอย่างละเอียดแม้ว่าบางสิ่งที่คุณพูดจะไปที่หัวของฉัน ฉันมีความรู้ทางด้านอิเล็กทรอนิคส์ จำกัด แต่พยายามที่จะพัฒนามันดังนั้นฉันเพิ่งอ่านข้อมูลเกี่ยวกับวงจร RC, op-amps และ comparators ฉันควรจะโพสต์คำถามเหล่านี้แยกต่างหาก แต่: 1) คุณมาด้วย 12Hz อย่างไรและ 2) คุณสามารถแนะนำผู้เปรียบเทียบได้อย่างไร จริง ๆ แล้วฉันหวังว่าจะได้ขับ 3.3 โวลต์ที่มีอยู่ใน PMod ถ้าเป็นไปได้
แบรดโรบินสัน

นอกจากนี้คุณพูดถูก Microbee มีเอาต์พุตระดับบรรทัดไม่ใช่ระดับไมค์ ซึ่งทำให้ฉันอยากรู้อยากเห็น - คุณจะแก้ไขให้ทำงานในระดับไมโครโฟนได้อย่างไร (ฉันคิดว่าจะส่งสิ่งนี้ไปยัง iPhone เพื่อบันทึก)
แบรดโรบินสัน

@Brad - kHz! ไม่ใช่ Hz ความถี่ตัดยอด = 1 / (2 pi RC) โดยที่ R คือคู่ขนานของ R23 และ R24 ( คำตอบนี้อธิบายสาเหตุ) ดังนั้น f = 1 / (2 pi 1.3kΩ10nF) = 12.2kHz นี่คือเครื่องมือเปรียบเทียบที่เหมาะสม คุณจะต้องเพิ่มตัวต้านทานแบบดึงขึ้น 10k ลงในเอาต์พุต
stevenvh

3

โดยปกติแล้วตัวเก็บประจุแบบอนุกรมจะเรียกว่า 'ตัวเก็บประจุ' การเชื่อมต่อเนื่องจากพวกมันเชื่อมโยงส่วนประกอบ ac ของสัญญาณต้นทางไปยังปลายทาง ตัวเก็บประจุแบบแยกตัวเป็นตัวเก็บประจุแบบแยกซึ่งออกแบบมาเพื่อป้องกันการเชื่อมต่อสัญญาณ ac จากแหล่งกำเนิดไปสู่การตรวจจับ

ในบริบทนี้ C23 แยกส่วนประกอบความถี่สูงของ PIO ลงกราวด์เพื่อให้เอาต์พุตคลื่นสี่เหลี่ยมถูกปัดเศษคือประมาณไซน์ (บทความที่ยกมาของคุณอ้างถึง 'decoupling' ในการอธิบายเอาต์พุตไปยังพอร์ตเทปและต้องอ้างถึง C23)


นอกจากนี้ยังหมายถึง "attenuator-decoupler" ในอินพุตจากเทปบันทึกเสียงซึ่งเป็นสิ่งที่ทำให้ฉันสงสัยเกี่ยวกับพวกเขาใช้มันเพื่อหมายถึงสองสิ่งที่แตกต่างกัน
Oli Glaser

1

วงจรที่วาดไว้น่าจะใช้งานกับ FPGA ได้ถ้า IC35 ส่งสัญญาณ 0 ถึง 3.3 โวลต์ ข้อแม้เล็กน้อยอย่างหนึ่งคือเนื่องจากอินพุตของคาสเซ็ตไม่มี hysteresis ใด ๆ อาจเป็นไปได้ว่าสัญญาณที่ควรปรากฏเป็นขอบที่เพิ่มขึ้นหรือลดลงอาจปรากฏขึ้นเป็นลำดับที่รวดเร็วของการเพิ่มและลดลงของขอบซึ่งตกลงสูงหรือต่ำ . นั่นไม่น่าเป็นปัญหาหากคุณออกแบบ FPGA เพื่อให้ละเว้นการเปลี่ยนแปลงอินพุตที่น้อยกว่าเช่น 10 microseconds และละเว้นการเปลี่ยนแปลงอินพุตใด ๆ ที่เกิดขึ้นภายใน 20 microseconds ของการเปลี่ยนแปลงที่ตรวจพบ แต่ถ้าตรรกะของคุณพยายามวัดความยาว ของพัลส์อินพุตโดยไม่บังคับใช้ความยาวต่ำสุดที่อาจมีปัญหา


1
  1. "decoupled" ในสถานการณ์นี้อาจหมายถึงทั้งตัวเก็บประจุแบบอนุกรมที่บล็อก DC (C24) และส่วน C ของ RC (C23) ถึงแม้ว่ามันควรจะเป็น "coupling capacitor" สำหรับ C24 (decoupling ก็ใช้เพื่ออ้างถึง ฟังก์ชั่นการปิดกั้น DC แต่ฉันคิดว่ามันทำให้เกิดความสับสนด้วยวิธีนี้เพราะโดยปกติจะหมายถึง "การจัดเรียงอื่น" ที่สับเปลี่ยน AC ลงกราวด์) และ "decoupling" สำหรับ C23 (ถ้ามีอะไรเลย)
    หมวกสำหรับต่อพ่วง เพื่ออนุญาตให้อินพุตหนึ่งขั้นจะลำเอียงอิสระจากระดับก่อนหน้านี้ระดับเอาต์พุต DC

  2. ใช่ตราบใดที่คุณจ่าย opamp ด้วยแรงดันไฟฟ้าเดียวกันกับหมุด FPGA (เช่น 3.3V, 2.5V, ฯลฯ ) แทนที่จะแสดง 5V คุณควรจะสามารถใช้ opamp ใด ๆ ก็ได้สำหรับฟังก์ชั่นตัวเปรียบเทียบ (rail to rail นั้นดีกว่าที่จะทำให้สิ่งต่าง ๆ เป็นเรื่องง่ายอย่างที่สตีเว่นบอก แต่ไม่จำเป็นตราบใดที่คุณพบอินพุต FPGA ต่ำสุดสูงสุด)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.