80 년대 컴퓨터 카세트를 FPGA에 연결


9

FPGA에서 1980 년대 Microbee 컴퓨터를 다시 구현하고 ( 여기 참조 ) 카세트 포트를 수행하는 방법을 알아 내려고 노력하고 있습니다. 원래 Microbee 카세트 인터페이스의 회로도는 다음과 같습니다.

MicrobeeSchematic
(출처 : toptensoftware.com )

또한 기술 설명서에서이 설명을 찾았습니다.

카세트 데이터 출력은 PIO의 핀 28 인 DB1의 신호를 수신하는 RC 네트워크로만 구성됩니다. 신호는 카세트 레코더 MIC 입력으로 보내기 전에 감쇠 된 후 분리됩니다. 이 신호는 5 핀 DIN 소켓의 3 번 핀에 나타납니다.

카세트 데이터 입력 회로가 약간 더 복잡합니다. DIN 소켓의 핀 5의 입력은 먼저 감쇠기-디 커플러로 전달됩니다. 다음으로 CA3140 op-amp는 신호가 PIO, DBO의 핀 27에 전달되기 전에 광범위한 입력 레벨을 제곱 할 수 있도록합니다. 연산 증폭기에 대한 반전 및 비 반전 입력을 가로 지르는 두 개의 다이오드는 어느 방향 으로든 다이오드의 순방향 전압보다 큰 입력 신호를 클리핑합니다. 47pF 커패시터는 사전 보상을 위해 CMOS 연산 증폭기에 필요합니다.

내 질문 :

  1. 설명에서 "결합 해제" 란 무엇을 의미합니까?
  2. Xilinx Spartan 6 FPGA에서 Nexys3의 PMod 커넥터를 통해 두 개의 I / O 핀에 연결된 경우 동일한 회로가 작동합니까? 그렇지 않으면 작동하도록 조정할 수 있습니까?

첫 번째 시도는 답변의 주석을 기반으로하지만 출력 저항은 직렬화되어서는 안됩니다.

나는 문맥과 교육상의 이유로 여기에 남겨두고 있습니다. 다음 회로도를 참조하십시오

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

새로운 질문 :

  1. 비교기의 극성이 정확합니까?
  2. 위해 MCP6546 , Vss에는 3.3V로 지상과 Vdd에 가야합니까?
  3. 원래 회로의 테이프 입력에서 "점으로 구분 된"저항으로 무엇을 만들어야하는지 잘 모르겠습니다.

오픈 드레인 인 비교기의 출력에 대한 피드백 통합 :

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

호주의 소매점에서는 찾을 수 없었던 MCP6546에 어떤 대안을 사용할 수 있습니까? 내가 말할 수있는 것과 비슷한 LM311 또는 LM393을 얻을 수 있습니다. 이것들도 잘 작동합니까?

답변:


6
  1. 디커플링 커패시터는 회로의 전원 공급 장치에서 알려져 있으며, 여기에서 전원 전압을 (고주파) 노이즈로 깨끗하게 유지합니다. 그러나 여기서 신호의 DC 함량을 제거한다는 것은 C24가 입력을 수행하는 것처럼 직렬 커패시터를 사용한다는 의미입니다. 관점 (DC 또는 AC)에 따라 커플 링 커패시터라고 할 수 있습니다. 그러나 출력에 이것을 수행하는 커패시터는 없습니다. C23의 가치 또한 의심 스럽습니다. 저항 R23 및 R24가있는 차단 주파수는 12kHz이며, 이는 카세트의 주파수 범위에 해당하기 때문에 쓸모가 없습니다. 차라리 5kHz를 기대합니다. 또한 텍스트는 MIC 입력을 말하지만 출력 레벨이 너무 높습니다. 회로도는 라인 입력을 언급합니다.

  2. CA3140은 좋지 않습니다. 최소 작동 전압은 4V이고 5V에서는 출력 최고 값이 3V보다 높지 않으므로 4V 공급의 경우 2V만큼 낮을 수 있으며 스파르타에는 충분하지 않을 수 있습니다. 대신 Rail-To-Rail opamp를 사용하거나 더 나은 비교기를 사용하십시오.

새 질문을 다시 편집

  1. :-) 중요하지 않기 때문에 극성은 괜찮습니다. 지면 위와 아래에 AC 신호가 있습니다. 당신이 그것을 그리는 것처럼 양의 반주기는 출력을 Vcc로, 음의 접지로 만듭니다. 입력을 전환하면 반대로 작동하지만 두 신호는 동일하게 보입니다.

  2. 예.

  3. 나는 그것을 무시할 것입니다. 출력을로드하는 것 이외의 기능이없는 것 같으며, 점을 찍으면 무시 될 것을 요구합니다 :-).

R1의 중요한 점 : 이것은 출력과 직렬이 아닌 3.3V 인 Vcc로 가야합니다. 오픈 드레인 출력은 출력을 접지로 전환하는 FET 만 있다는 것을 의미하므로, 높지 않고 낮게 만들 수 있습니다. 풀업 저항은 FET가 꺼져있을 때 출력을 높게 만든다.


"디커플링은 일반적으로 직렬 커패시터를 사용하여 신호의 DC 내용을 제거하는 것을 의미합니다."-직렬 커패시터가 커플 링 커패시터가 아닙니까? 디커플링 캡은 AC 내용물을 제거합니다.
Kellenjb

@Kellen-오, 맙소사. 그렇습니다. 특히 전원 공급 라인을 분리하려는 경우에 그렇습니다. 여기서 나는 신호에서 DC를 분리하는 것을 생각하고있었습니다 :-).
stevenvh

@stevenvh 자세한 답변을 주셔서 감사합니다. 귀하가하는 말 중 일부는 내 머리 위로 넘어갑니다. 나는 전자 지식이 제한되어 있지만, 그것을 키우려고 노력하기 때문에 RC 회로, 연산 증폭기 및 비교기를 읽었습니다. 아마도 이것들을 별도의 질문으로 게시해야하지만 1) 12Hz를 어떻게 생각해 냈습니까? 2) 비교기를 추천 할 수 있습니까? 실제로 가능한 경우 PMod에서 사용 가능한 3.3V에서이를 제거하기를 희망합니다.
브래드 로빈슨

또한 Microbee는 마이크 레벨이 아닌 라인 레벨 출력을 가졌습니다. 궁금한 점이 있습니다. 마이크 수준에서 작동하도록 수정하려면 어떻게해야합니까 (녹음을 위해 iPhone으로 보내는 생각입니다).
브래드 로빈슨

Ω

3

직렬 커패시터는 소스 신호의 AC 성분을 대상에 연결하기 때문에 일반적으로 '커플 링'커패시터라고합니다. 디커플링 커패시터는 소스에서 디테 네이션으로 AC 신호의 커플 링을 방지하도록 설계된 션트 커패시터입니다.

이러한 맥락에서 C23은 구형파 출력이 둥글게되도록 PIO의 고주파 성분을 접지로 분리합니다 (예 : 인용 된 기사는 테이프 포트에 대한 출력을 설명 할 때 '디커플링'을 의미하므로 참조해야 함 C23).


또한 테이프 레코더의 입력에서 "감쇠기 분리기"를 언급하는데,이를 사용하여 두 가지 다른 것을 의미하는 것에 대해 궁금해했습니다.
Oli Glaser

1

IC35가 0에서 3.3V 신호를 출력하는 경우 그려진 회로는 아마도 FPGA와 함께 작동해야합니다. 하나의 약간의 경고는 카세트 입력에 히스테리시스가 없기 때문에 단일 상승 또는 하강 에지로 나타나는 신호가 빠른 상승 및 하강 에지 시퀀스로 나타날 수 있으며, 그 후 몇 마이크로 초 후에 높거나 낮게 정착 할 수 있습니다 . FPGA를 설계하여 예를 들어 10 마이크로 초 미만의 입력 변경을 무시하고 감지 된 변경의 20 마이크로 초 내에 발생하는 입력 변경을 무시하지만 로직이 길이를 측정하려고 시도하는 경우에는 문제가되지 않습니다. 최소 길이를 적용하지 않고 입력 펄스의 수는 문제가 될 수 있습니다.


1
  1. 이 시나리오에서 "디커플링 된"은 DC (C24)를 차단하는 직렬 커패시터와 RC (C23)의 C 부분 (C24의 경우 "커플 링 커패시터"여야 함)을 모두 의미합니다 (디커플링은 DC 차단 기능이지만, 일반적으로 AC를 접지로 분류하는 "다른 종류"와 C23의 "디커플링"을 의미하기 때문에 이러한 방식으로 혼란스러워집니다
    . 커플 링 캡은 오디오 증폭기 회로에 일반적으로 사용됩니다 한 스테이지 입력을 이전 스테이지 DC 출력 레벨에서 독립적으로 바이어스 할 수 있습니다.

  2. 예, 표시된 5V가 아닌 FPGA 핀과 같은 전압 (예 : 3.3V, 2.5V 등)을 opamp에 공급하는 한 가능합니다. 비교기 기능에는 거의 모든 연산 증폭기를 사용할 수 있어야한다 (Steven이 말한 것처럼 레일 투 레일 (rail to rail)을 선호하는 것이 바람직하지만 FPGA 입력 최소-최대 최대-저를 충족하는 한 필수는 아님)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.