paint-brush
Talking Box: CVSD 오디오 디지타이저 및 재생 장치~에 의해@bobnoxious
251 판독값

Talking Box: CVSD 오디오 디지타이저 및 재생 장치

~에 의해 Bob Wright31m2024/06/23
Read on Terminal Reader

너무 오래; 읽다

Radio-Electronics Magazine은 이 기사를 기사로 구입했고 실제로 그에 대한 꽤 많은 계약금을 지불했습니다. 제가 디자인하고, 만들고, 코딩하고, 글쓰기를 좋아하기 때문에 그것은 생계를 꾸릴 수 있는 좋은 방법처럼 보였습니다. 그러다가 1985년 4월에 잡지가 파산했고 기사는 인쇄되지 않았습니다.
featured image - Talking Box: CVSD 오디오 디지타이저 및 재생 장치
Bob Wright HackerNoon profile picture
0-item

CVSD 오디오 디지타이저 및 재생 장치

나는 외로웠고 대화할 사람이 필요했기 때문에 1985년에 이 회로를 설계했습니다. Talking Box는 내가 말한 대로 말해줍니다.


진지하게, 디지털 자동 응답기로 전화기에 연결했습니다. 저는 AT&T로부터 전화선 인터페이스인 DAA(데이터 액세스 계약)를 받았는데 정말 잘 작동했습니다. 나는 터치 톤을 가지고 연주하고 있었고 좋은 충실도가 필요했습니다. 그래서 카운티 가족 및 아동 서비스에서 실수로 일부 명함에 내 번호를 넣었습니다. 특히 외설적인 쓰레기 시를 답장 메시지로 쓰고 읽었기 때문에 전화가 정말 많이 왔습니다. 나 지금 하이파이 말하는 중이야 자기야! 나는 내가 얼마나 사랑받았는지에 대한 수많은 증거를 얻었다. 기본적으로 저는 1985년에 랩을 하기 전에 랩을 하고 있었습니다. “안녕하세요, 아이 서비스 받으려고 전화하셨나요?” 오늘은 아마도 받아들일 수 없는 인사일 것입니다.


장치 기능을 관리하기 위해 Z80 어셈블러에서 어셈블리 언어 프로그램을 작성했으며 나중에 IBM PC 호환 시스템의 직렬 I/O 장치 소켓에 연결되는 어댑터 보드를 만들고 비동기 UART 장치를 범용 동기/동기 버전으로 교체했습니다. Intel의 USART Intel 8251A입니다. 그런 다음 Tommy Cobb 또는 "The Cobbler"라는 친구가 내 Z80 코드를 PC용 8088 어셈블러로 변환했습니다. IBM PC 직렬 I/O 보드용 어댑터를 마지막으로 본 것이 언제인지 기억이 나지 않습니다. 내가 아는 문서가 없습니다. 그리고 내 프로토타입 Talking Box를 찾을 수 없는 것 같지만 그것은 의심할 바 없이 이 집 어딘가에 있을 것입니다. 그것은 사진을 잘 받는 장치이며 여기에 사진 몇 장을 포함하고 싶지만 아쉽습니다.


전화기에 연결하는 것 외에도 소프트웨어를 사용하면 오디오 저장 범위처럼 사용할 멋진 루프를 선택하고 재생할 수 있습니다. 음성을 들으려면 녹음을 거꾸로 재생하세요… 아, 신경쓰지 마세요. ☺


어쨌든 Radio Electronics 잡지는 이것을 기사로 구입했고 실제로 나에게 꽤 많은 계약금을 지불했습니다. 나는 실제로 좋은 인상을 받았고 확실히 동기를 부여 받았습니다. 최초의 북미 연속권. 제가 디자인하고, 만들고, 코딩하고, 글을 쓰는 것을 좋아하기 때문에 그것은 생계를 유지하는 정말 좋은 방법처럼 보였습니다. 이미 반복적으로 등장한 작가들이 몇몇 있어서 독창적인 아이디어는 아니었습니다. 그러다가 1985년 4월에 잡지가 부도나서 출판이 중단되었고 기사도 인쇄되지 않았습니다. 내 느낌은 메이커 인쇄 산업이 끝나는 순간, 취미로 만드는 빌드잇 청중이 증발했다는 것이었습니다. 이것은 인터넷 이전이었습니다. 그래서 기사를 그대로 부활시켰습니다. 노후화되더라도 즐기시기 바랍니다. 전기 장난감은 사용이 사라진 후에도 개념으로서의 유용성을 유지합니다.


저자는 K3GO의 John T. Smith에게도 특별한 감사의 말씀을 전하고 싶습니다. 기사에 입력된 페이지의 JPG 스캔을 OCR 킥을 사용하여 텍스트로 변환하는 작업에 대해 감사드립니다.



Talking Box는 사실상 모든 컴퓨터에 인간의 음성이나 유사한 오디오 주파수 아날로그 신호를 디지털 방식으로 인코딩하고 재현할 수 있는 방법을 제공할 수 있는 구성하기 쉽고 경제적인 프로젝트입니다. 간단한 작동을 제공하기 위해 프로젝트는 컴퓨터의 직렬 I/O 포트에 연결되도록 설계되었으며 마치 동기식 전화 모뎀인 것처럼 보입니다. 그 결과 수많은 애플리케이션에 대해 연결하기 쉬운 장치 인터페이스가 탄생했습니다. 프로젝트 회로는 연속 가변 기술을 사용합니다.

아날로그 신호를 이진 데이터로 인코딩한 다음 이 이진 데이터를 다시 아날로그 신호로 디코딩하는 기울기 델타 변조. 이러한 인코딩/디코딩 작업으로 인해 장치를 일반적으로 간단하게 코덱이라고 부릅니다.


초당 16킬로비트(kbps)의 직렬 데이터 속도로 Talking Box는 대부분의 전화 자동 응답기와 비슷한 수준으로 음성을 녹음하고 재생할 수 있습니다. 데이터 속도를 32kbps, 즉 재생되는 사운드의 매초마다 약 4KB의 저장된 데이터로 높이면 주파수 300~3000Hz 사이의 오디오 신호에 대한 왜곡이 5% 미만이 됩니다. 이를 통해 프로젝트를 컴퓨터와 함께 쉽게 사용하여 전화 터치톤 신호 등을 재현하고 인식할 수 있습니다. 이 기사의 주된 목적은 Talking Box 회로의 설계 및 구성과 이진 저장 및 오디오 또는 음성 신호 재생에 대한 사용을 설명하는 것이지만 코덱 장치는 통신, 산업 제어 및 계측 분야에서 다양한 다른 응용 분야를 가지고 있습니다. 프로젝트를 사용할 수 있는 방법에는 디지털 필터, 모터 원격 제어, 음성 신호 스크램블링, 저장 또는 표시를 위한 과도 신호 인코딩, 신호의 진폭 압축, 반향을 위한 디지털 지연선, 이음 추출 및 재생 등이 있습니다. 합성 음성 형성, 음향 모뎀용 신호 인코딩 또는 디코딩, 패킷화된 음성 데이터 메시지 및 이미지 처리 또는 분석.


델타 변조의 원리

대부분의 디지털 인코더는 연속적으로 변하는 신호의 진폭을 일정한 간격으로 샘플링한 다음 진폭과 극성을 나타내는 이진 단어로 이러한 샘플을 나타냅니다. 대조적으로, 델타 변조기는 입력 신호 자체의 값을 나타내기보다는 추적 신호에서 양자화된 오류 또는 "델타"(A)를 나타내는 값을 갖는 단일 비트 단어를 생성합니다. 기술적으로 델타 변조기는 현재 샘플링 중인 입력 신호와 이전 입력 신호의 양자화된 근사치 간의 차이를 극성이 나타내는 이진 출력을 생성하는 폐쇄 루프 샘플링 데이터 제어 시스템입니다. 이는 단순 제어 루프의 순방향 경로에 비교기를 배치하고 피드백 경로에 적분기를 배치함으로써 달성됩니다. 그림 1의 선형 델타 변조 시스템 블록 다이어그램에 표시된 것처럼 비교기에 대한 입력은 입력 신호와 적분기 또는 로컬 디코더의 출력입니다.


따라서 비교기 출력은 입력 신호와 적분기 출력 간의 차이의 부호를 반영합니다. 이 부호 비트는 다음에 적분기에 적용되는 전하의 극성을 제어하고 디지털 출력도 형성합니다. 비교기 출력은 일반적으로 동기식 대역 제한 직렬 디지털 비트 스트림을 제공하기 위해 클록됩니다. 필요한 회로의 단순성과 출력 데이터의 직렬 특성은 델타 변조기의 두 가지 기본 장점입니다. 결과적으로 클럭된 직렬 비트 스트림이 그림 1 에 표시된 것처럼 유사하게 구성된 수신 적분기로 전달되면 이 디코딩 적분기의 출력은 원래 전송 제어 루프 적분기 출력의 복사본이 됩니다. 동기식 직렬 데이터 스트림에는 프레이밍 정보가 포함되어 있지 않으며 인코더의 비트 스트림으로 표시되는 원래 입력의 복제는 이 데이터가 디코더에 입력되는 즉시 시작됩니다. 이 사본의 충실도는 송신 적분기가 원래 입력 신호를 추적하는 정도에 따라 가장 크게 달라집니다. 그림 2의 선형 델타 변조기 파형 다이어그램에 표시된 파형에서 볼 수 있듯이 인코더의 피드백 신호는 크기가 일정한 일련의 램프 단계로 입력 신호를 추적하려고 시도합니다. 로컬 디코더의 피드백 신호는 선형 네트워크에 의해 형성된 일정하거나 거의 일정한 크기의 단계로 구성되므로 이러한 유형의 델타 변조를 선형 델타 변조라고 합니다. 디코더 출력에 이러한 증분 단계가 있으면 세분화된 잡음이라고 하는 양자화 잡음 신호가 발생합니다. 비트 스트림의 클록 속도가 입력 신호의 대역폭보다 한 옥타브 이상 높을 경우 수신기 출력에서의 저역 통과 필터링은 이 잡음 신호의 대부분을 제거합니다. 이 잡음 신호 레벨의 추가 감소는 샘플링 주파수를 증가시키는 단계 크기를 줄이거나 둘 다를 수행함으로써 실현될 수 있습니다.


모든 선형 변조 시스템의 주요 단점은 이러한 단순하게 고안된 제어 루프가 광범위한 입력 신호 전력에 걸쳐 적절한 신호 대 잡음(s/n) 비율을 유지하는 것이 상대적으로 불가능하다는 것입니다. 즉 동적 범위가 제한되어 있습니다. 예를 들어, 음성 녹음에서는 다양한 개인의 음성 패턴에서 발생하는 다양한 전력 수준으로 인해 신호 대 잡음비(s/n ratio)가 크게 달라집니다.


델타 변조 인코더에서 입력 신호의 순간 기울기 또는 진폭 변화율에 대한 정보는 각 이진 또는 논리 출력 레벨의 순차적 발생 속도로 표시됩니다. 그림 2의 왼쪽에 표시된 것처럼 입력에 기울기가 0이고 진폭이 일정한 신호가 있는 경우 결과 추적 신호는 레벨은 동일하지만 극성은 반대인 일련의 램프 단계입니다. 이는 또한 입력 신호의 상대적 무음 기간 또는 일정한 진폭 레벨을 나타내거나 이에 대응하는 것으로 보일 수 있는 디지털 출력에서 교번하는 0-1 시퀀스를 초래합니다. 무음 기간 동안 원하는 결과에서 벗어나는 것을 유휴 채널 잡음이라고 하며, 당연히 관련 디코더에서 0이 아닌 신호가 출력됩니다.


설명된 바와 같이, 1과 0의 교번 시퀀스는 기울기가 0인 입력 신호를 적용한 결과로 출력됩니다. 그러나 입력 신호 기울기가 너무 빠르게 변하여 피드백 신호(즉, 엔코더의 적분기 출력)가 더 이상 들어오는 신호를 추적할 수 없다고 가정해 보겠습니다. 이 경우 일정한 극성의 비트 스트림이 출력에 나타납니다. 이 상태를 슬로프 과부하라고 하며, 이것이 발생하면 디코더의 출력이 원래 신호와 상당히 다를 수 있습니다. 원본 신호와 복제 신호 간의 차이 정도를 슬로프 과부하 노이즈라고 합니다. 경사 과부하 노이즈는 세부적 또는 양자화 노이즈보다 복제된 파형의 왜곡에 더 많은 영향을 미치므로 절대 파형 충실도에 더 큰 영향을 미칩니다. 그러나 인간 청취자는 재생된 음성 신호에서 세분화된 소음이 지각적으로 더 눈에 띄고 짜증나는 것을 발견합니다.


따라서 선형 엔코더의 신호 대 잡음비(s/n ratio)는 입력 신호 전력 레벨에 직접적인 영향을 받는다는 것을 알 수 있습니다. 낮은 입력 전력 레벨에서는 피드백 추적 신호가 상대적으로 작은 입력 신호에 대해 상당한 편위를 일으키고 상대적으로 큰 단계 크기로 인해 상당한 양의 세분화된 잡음이 발생하기 때문에 신호 추적이 좋지 않습니다. 입력 신호 전력 레벨이 증가함에 따라 양자화 잡음이 존재하는 전체 전력에서 점점 더 작은 부분이 되면서 신호 대 잡음비(s/n ratio)는 선형적으로 개선됩니다. 입력 신호를 추적하는 인코더의 기능은 인코더가 약간의 기울기 과부하가 될 때까지 점진적으로 향상됩니다. 이 시점에서 잡음 전력 함량이 신호 전력 함량보다 더 빠르게 증가함에 따라 신호 대 잡음비는 감소하기 시작합니다. 이러한 관계를 그래픽으로 표현한 것이 그림 3, 델타 변조기 시스템의 신호 전력 및 잡음 전력에 나와 있습니다.


* 엔코더에 대한 아날로그 입력 신호의 주파수 제한은 상단에 제한되어 있습니다. 나이퀴스트 샘플링 속도에 의해 결정되는 일부 클록 주파수는 입력 신호 대역폭보다 크고 단계 크기가 충분히 작은 경우 주어진 잡음 레벨에서 신호를 인코딩합니다. 그러나 입력 신호의 진폭 제한은 상한과 하한 모두에서 제한됩니다. 특정 입력 신호 레벨에 대해 최적의 신호 대 잡음비를 제공하는 관련 적분기 단계 크기가 있습니다. 안타깝게도 고정된 스텝 크기로 인해 선형 인코더에서 유용한 입력 신호 동적 범위에 대한 제한 값이 상대적으로 작아집니다.


이제 입력 신호의 기울기가 작을 때 추적 단계 크기를 작게 만들고 기울기가 가파를 때 크게 만들 수 있는 경우 발생하는 신호 대 잡음비의 개선을 고려하십시오. 이는 적분기의 이득을 조정하여 달성할 수 있습니다. 그러면 피드백 신호는 더 넓은 범위의 입력 전력 레벨에서 더 잘 추적됩니다. 양자화 잡음은 스텝 크기의 제곱에 비례하므로, 스텝 크기를 더 넓은 범위의 입력 신호에 적용할 수 있게 하면 잡음 전력이 선형 델타와 마찬가지로 입력 신호 전력에 독립적이지 않고 입력 신호 전력에 따라 달라지게 됩니다. 조정. 따라서 잡음 전력을 신호 전력에 비례하게 만들면 s/n 비율이 입력 신호 레벨과 관계없이 일정한 값을 갖게 됩니다. 이것이 적응형 델타 변조의 원리입니다. 주어진 클럭 속도와 입력 신호 대역폭에 대해 적분기 이득을 조정하는 접근 방식은 그림 3에 표시된 것처럼 유용한 동적 범위를 상당히 증가시킬 수 있습니다.


추적 적분기 단계 크기를 적응적으로 변경하기 위해 많은 알고리즘이 사용되었지만 Talking Box는 CVSD(연속 가변 기울기 델타) 변조라는 기술을 사용합니다. 음절 압축 델타 변조라고도 하며, 음성이나 동적 범위가 큰 기타 아날로그 신호를 인코딩 및 디코딩하는 데 선호되는 방법입니다. 앞서 표시된 선형 델타 변조기에 포함된 작동 요소 외부에는 델타 변조기의 현재 및 과거 몇 가지 디지털 출력을 모니터링한 다음 그에 따라 인코더 적분기의 이득을 조정하는 알고리즘이 구현되어 있습니다. CVSD 변조 시스템 블록 다이어그램(그림 4)에 표시된 것처럼 알고리즘의 모니터링 부분은 마지막 3개 또는 4개의 출력 비트를 저장하는 간단한 시프트 레지스터로 구현됩니다. 승인된 표준 알고리즘은 순차적으로 저장된 모든 비트가 동일한 논리 레벨일 때 표시, 즉 일치라고 불리는 조건을 제공합니다. 실제 일치 출력의 발생은 현재 적분기 이득이 아날로그 입력을 추적하기에는 너무 작다는 신호입니다. 일치 출력을 통해 더 큰 전류로 저역 통과 필터를 충전할 수 있으며, 이 필터의 전압 출력은 인코더 적분기 이득의 절대 크기를 조정하는 데 사용됩니다. 대부분의 애플리케이션은 약 5~10밀리초 범위의 고정된 일치 시간 상수를 갖는 간단한 단극 저역 통과 필터를 사용합니다. 이는 유성 음성의 일반적인 피치 주기와 동일하며 최대 약 100밀리초입니다. 전형적인 음절 음성 지속 시간. 따라서 이 필터는 음성 코덱 응용 프로그램에서 음절 필터라고도 합니다. 종종 시간 상수 값은 주관적인 선호에 따라 궁극적으로 선택됩니다.


논리 레벨 검출 알고리즘의 일치하는 시퀀스는 그 우아한 단순성과 시프트 레지스터를 사용하는 다른 많은 알고리즘이 덜 만족스러운 결과로 시도되었기 때문에 중요합니다. 허용된 알고리즘을 사용하면 일치 신호의 존재는 입력 신호의 엔벨로프 특성과 관련되므로 다른 시퀀스 감지에서 제공하는 입력 곡선의 기울기에 대한 보다 즉각적인 정보보다는 신호의 시간 평균 전력 레벨을 나타냅니다. 방법을 제공합니다. 알고리즘의 효과는 신호를 압축하여 실현 가능한 동적 범위를 증가시키는 것입니다.


알고리즘은 디코더에서 반복되므로 레벨 데이터는 수신 측에서 복구됩니다. CVSO 인코더 데이터 스트림이 선형 디코더에 입력되는 경우 인코더의 아날로그 입력 신호의 기본 모양은 복제되지만 모든 출력은 동일한 레벨을 갖습니다. 비트 스트림은 일정한 입력 레벨을 갖는 선형 인코더에서 나오는 것처럼 나타나므로 신호를 디컴팬딩하거나 확장하여 진폭 레벨 변화를 복원하려면 디코더 끝에 알고리즘이 필요합니다. 흥미로운 점은 알고리즘이 과거 직렬 데이터에만 작동하기 때문에 채널 비트율을 변경하지 않고 비트 스트림의 정보 내용을 늘리는 것과 사실상 동일하다는 점입니다.


따라서 CVSO 알고리즘과 결합된 델타 변조의 원리는 음성 주파수 아날로그 정보를 직렬 데이터 스트림으로 디지털화하는 구현하기 쉽고 효율적인 방법을 제공한다는 것을 알 수 있습니다.


토킹박스 회로 구현의 세부사항

Talking Box는 델타 변조기 기능을 수행하기 위해 Motorola MC3417 또는 MC3418 집적 회로(IC)를 사용하여 CVSD 인코더 및 디코더 전자 회로를 구현합니다. 이 IC는 회로 구현을 애플리케이션의 특정 요구 사항에 맞게 조정할 수 있는 범용 CVSO 빌딩 블록입니다. Motorola에 따르면 슬로프 극성 스위치의 전류 매칭은 MC3418 IC 제조 과정에서 레이저로 트리밍되어 5밀리볼트의 최소 단계 크기와 15마이크로암페어에서 3밀리암페어까지의 일반적인 1% 전류 매칭으로 유휴 채널 성능을 보장합니다. 이를 통해 300:1의 단계 크기 변화가 가능하며 이는 중요한 아날로그 신호 동적 범위에 대한 기능을 반영합니다.


Talking Box 회로 자체는 별도의 인코더와 디코더 경로로 구성되므로 송신 및 수신에 동시에 사용할 수 있어 전이중 작동이 가능합니다. 인코더와 디코더는 모두 동일한 가변 속도 TTL 클럭 생성기 회로에 의해 구동됩니다. 한 쌍의 전압 조정기와 RS232 인터페이스 레벨 변환기 IC로 구성된 지원 요소는 인쇄 회로 카드의 유일한 다른 부분입니다.


인코더 경로 전자 회로는 그림 5의 CVSD 코덱 음성 디지타이저(A/D) 개략도에 표시되어 있습니다. 그림에 표시된 대로 회로는 마이크 전치 증폭기 회로로 시작하여 자동 이득 제어(AGC) 증폭기, 음성 대역 통과 필터, 마지막으로 CVSD 변조기 회로 자체로 끝나는 네 가지 기능 영역으로 나뉩니다.

마이크 프리앰프는 변압기가 없는 전형적인 불균형 또는 단일 종단 입력 증폭기 회로입니다. 다이내믹 마이크와 같은 오디오 소스에서 예상되는 낮은 레벨 신호에 대한 최적의 소음 성능을 위해 설계에서는 비반전 구성을 사용합니다. 이 구현은 고임피던스 전계 효과 트랜지스터(FET) 입력을 갖춘 TL084 유형 쿼드 연산 증폭기(연산 증폭기) IC의 1/4에서 실현됩니다. 프리앰프에는 MIC GAIN이라고 표시된 피드백 저항으로 연결된 트림포트를 사용하여 변경할 수 있는 조정 가능한 게인이 있습니다. 또한 증폭기에는 저주파 롤오프, 즉 고역 통과 특성이 있으며, 이 특성의 코너 주파수는 연산 증폭기의 반전 입력에서 접지로 가는 직렬 저항/커패시터 조합의 값에 의해 설정됩니다. 이는 프리앰프의 주변 AC 장(보통 60Hz) 험 픽업 감도를 줄이고 입력 신호의 저주파 전력 함량을 줄이는 역할을 합니다. 마지막으로, 프리앰프에는 마이크 케이블에 존재할 수 있는 바람직하지 않은 고주파 잡음을 우회하는 역할을 하는 연산 증폭기의 비반전 또는 신호 입력에서 접지까지 배치된 작은 값의 커패시터도 있습니다. 일부 응용 분야에서는 직렬 입력 저항(100Ω)이 일반적으로 약 1μF의 커패시터로 대체될 수 있습니다.


마이크 프리앰프 다음에는 음성 필터 및 CVSD 코덱에 오디오 신호를 적용하기 전에 오디오 신호의 레벨 압축을 제공하는 A6C 증폭기 회로가 있습니다. 이 작업은 주파수 대역 통과 및 인코더 처리에 제출되기 전 신호 진폭의 동적 범위를 제한합니다. Talking Box에 사용된 AGO 회로는 Burr-Brown Research Corporation*의 Jerald Graeme이 설명한 회로입니다. 그 작동은 이 단계의 이득 범위와 출력 진폭을 결정하는 티 전압 분배기 네트워크에서 제어된 가변 저항 요소로 FET를 사용하는 것을 기반으로 합니다.

AGC 회로 동작은 이미 설명한 마이크 프리앰프에 부분적으로 사용된 동일한 쿼드 패키지의 FET와 두 개의 연산 증폭기를 통해 구현됩니다. 첫 번째 연산 증폭기는 이득 제어 반전 증폭기 역할을 하고, 두 번째 연산 증폭기는 피크 감지 증폭기 역할을 합니다. 출력 신호의 피크 포지티브 레벨이 AGC LEVEL 전위차계의 와이퍼 암에 설정된 전압 값을 초과하는 경우 감지 비교기의 출력이 포지티브로 스윙하여 FET의 게이트 전압을 높이고 그에 따라 dr-to-소스 저항을 낮춥니다. . 그러면 더 많은 입력 신호가 접지로 분류되어 궁극적으로 이 단계의 전체 회로 이득이 감소하게 됩니다. 출력 신호 진폭은 위에서 언급한 AGC LEVEL 제어 전위차계를 조정하여 0에서 이득 제어 증폭기의 포화 또는 클리핑 레벨 사이에서 설정할 수 있습니다.»


오디오 신호용 가변 저항 요소로 FET 개념을 사용하는 많은 구현에서 직면하는 어려움은 장치 자체의 저항이 장치에 가해진 신호에 의해 변조된다는 사실에 있습니다. FET 특성의 이러한 측면을 적절하게 보상하지 못하면 신호 레벨에 따른 이득 및 왜곡이 발생합니다. 그림 5에 표시된 회로는 이러한 신호 레벨 변조를 크게 줄이기 위해 새로운 수정 피드백 방법을 사용합니다. 볼 수 있듯이, FET의 드레인 리드에 나타나는 신호는 관련 AGC 증폭기의 출력에서 파생된 동일하지만 반대인 동위상 신호와 일치합니다. 회로에 사용되는 저항 값은 FET가 소신호 레벨에서 작동할 수 있도록 선택됩니다. 왜곡을 최소화하는 데에도 도움이 되는 상황입니다. 표시된 대로 AGC 단계의 출력은 인코더의 신호 경로에서 다음에 표시되는 음성 대역 통과 필터에 적용됩니다.


음성 대역 통과 필터 회로 단계는 명목상 300~3000Hz의 주파수 통과 대역 내의 입력 신호를 통과시키는 반면 이 범위를 벗어나는 입력 신호는 거부합니다. 대역통과 필터 구현 기술을 선택할 때 고려해야 할 주요 사항 중 하나는 정규화 또는 분수 대역폭이라고 하는 파생 매개변수의 값입니다. 수치적으로는 상위 -3dB 차단 주파수에서 하위 -3dB 또는 반전력 차단 주파수를 뺀 후 이 차이 값을 동일한 두 주파수의 기하 평균으로 나눈 결과입니다. 그만큼. 물론 기하 평균은 방금 계산한 차이 값의 제곱근입니다. 인코더 음성 필터의 지정된(높은 및 낮은) 차단 주파수로부터 계산된 부분 대역폭은 대략 3의 값을 가지며, 부분 대역폭에 대해 계산된 값이 약 0.8의 값을 통과하기 시작하고 1에 접근하거나 초과한다는 것을 알 수 있습니다( 또는 숫자 값 1) 아래에서 일반적으로 대역통과 필터 성능에 대한 더 나은 결과는 실제 대역통과 구현보다는 계단식 고역통과 및 저역통과 필터 섹션에서 실현됩니다. 이는 인코더 음성 필터 회로에서 사용되는 방법입니다.


고려해야 할 또 다른 영역은 음성 필터에 대한 우수한 주파수 및 과도 응답 특성이 필요하다는 것입니다. 버터워스 유형의 필터는 가장 평탄한 통과대역 진폭을 가지며 적당히 빠른 초기 감쇠 롤오프 속도를 제공합니다. 이러한 필터를 사용할 때 통과대역 전체에 걸쳐 주파수 변화에 따른 위상 변화가 있지만 이는 점진적이며 청각적으로 감지할 수 없습니다. 또한 이러한 종류의 필터는 오버슈트 양이 적고 허용 가능한 과도 응답을 갖습니다. 이러한 모든 요소가 결합되어 다양한 필터로 낮은 신호 왜곡을 제공합니다. 인코더에 사용하기 위해 선택된 고역 통과 필터 유형과 저역 통과 필터 유형은 코너 주파수를 넘어 옥타브당 -18dB의 날카로운 차단율과 전체 위상 편이의 점진적인 변화로 평탄한 전력 및 전압 주파수 응답을 나타내는 3차 능동 필터입니다. 밴드. 필터를 구현하는 데 사용된 특정 전자 회로는 무한 이득 다중 피드백 설계라고 하며 복잡성과 구성 요소 값 확산 및 감도 간의 적절한 절충안을 제공하기 때문에 선택되었습니다. 각 섹션은 LM353 듀얼 FET 입력 연산 증폭기 IC의 절반으로 구현됩니다. 이 장치는 매우 높은 입력 임피던스, 빠른 슬루율 및 용량성 부하에서 매우 안정적인 작동을 제공합니다. 필터에 2개의 반전 연산 증폭기가 계단식으로 연결되어 있으므로 최종 결과는 스테이지 전체에서 위상 변화가 0에 가깝습니다.


음성 대역 통과 필터의 출력 신호는 최종적으로 CVSD 변조기 회로에 적용됩니다. 기본적으로 이 단계의 모든 활성 기능은 IC 자체 내에 포함되어 있으며 개별 구성 요소는 장치 작동의 세 가지 영역에 대한 특정 매개 변수를 설정하는 역할을 합니다.


첫째, 두 개의 실리콘 다이오드가 IC의 핀 12에서 접지로 연결되어 TTL 논리 레벨과 함께 사용하기 위해 접지보다 약 1.4V(약 2개의 다이오드 드롭)에서 장치에 대한 논리 신호 입력에 대한 임계점을 설정합니다. 또는 RS232 인터페이스 ICS도 보드에 있습니다.


두 번째로 고려해야 할 영역은 추적 통합 필터 네트워크입니다. Talking Box 회로는 IC의 핀 6과 7 사이에 있는 로컬 디코더 통합 증폭기에 연결된 단극 통합 필터 네트워크를 사용합니다. 출력

핀 7에 나타나는 추적 적분기의 하나의 입력은 핀 2의 아날로그 신호 비교기 입력에도 연결됩니다. 이 필터에 2극 네트워크를 사용하면 단일 필터에 비해 신호 대 잡음비를 1~2dB 향상시킬 수 있습니다. 극 실현. 원하는 경우 인쇄 회로 카드 상단의 핀 2와 7을 연결하는 트레이스를 절단하고 도체 측면의 핀을 적절한 저항으로 점퍼한 다음 핀 2에서 접지로 커패시터를 추가하여 2극 네트워크를 구현할 수 있습니다. . 필요한 구성 요소 값의 도출은 Motorola 데이터 시트 2에 설명되어 있습니다.


그러나 표시되고 일반적으로 사용되는 단극 필터는 MC3417 장치를 사용하여 32kbps 데이터 속도의 TouchTone 재생에 완전히 적합한 것으로 입증되었습니다.


CVSD 변조기 작동의 마지막 영역은 음절 필터 네트워크와 IC 장치의 적분기 최소 단계 크기 및 루프 이득을 결정하는 것입니다. 음절 필터는 Rs 및 Rp로 표시된 두 개의 저항과 커패시터 Cs로 구성된 간단한 단극 저역 통과 회로입니다. 일반적으로 커패시터는 Rs와 Rp를 직렬로 통해 충전됩니다. 그러나 IC의 핀 11인 동시 출력이 사실이 되면 이는 Cs의 충전 경로에서 상위 저항 Rp를 효과적으로 제거하는 역할을 하여 충전 전류를 증가시키고 결과적으로 적분기 단계 크기를 증가시킵니다. 저항 Rm은 최소 적분기 단계 크기를 결정하는 역할을 하고, 저항 Rx 값은 간단한 선형 전류-전압 변환을 통해 루프 이득을 설정하는 역할을 합니다. 이 변환 관계를 수정하면 신호 대 잡음비가 크게 증가할 수 있지만 그에 따라 전자 회로 복잡성도 증가합니다. 예를 들어, 이 기능을 수행하기 위해 능동 회로 장치를 사용하면 32kbps 데이터 속도로 작동할 때 30dB s/n 비율로 50dB의 유용한 신호 진폭(동적) 범위를 쉽게 얻을 수 있습니다.


CVSD 인코더 IC의 작동과 관련된 세 가지 디지털 또는 논리 레벨 신호 경로가 있습니다. 이들 신호 중 첫 번째 신호는 핀 14에 대한 클록 입력이며 일반적으로 아래 설명된 클록 생성기 회로에 의해 제공됩니다. 두 번째 논리 신호는 핀 9에 나타나는 디지털 출력이며, 이는 변조기에서 나오는 실제 직렬 데이터 스트림입니다. 데이터 비트는 핀 14에서 IC에 대한 클록 입력의 하강 에지에서 장치 외부로 클록됩니다. 세 번째이자 마지막 논리 신호는 회로에 대한 강제 유휴 입력인 IC 핀 15입니다. 그림과 같이 핀 9의 디지털 출력이 IC의 핀 13에 연결되면 토글 플립플롭이 장치 내에 형성되고 강제 유휴 입력 핀을 활성화하면 유휴 채널 패턴이 IC에서 전송됩니다. 인코더 디지털 출력. 이 기능을 사용하면 데이터 링크 동기화를 쉽게 설정하거나 인코더에서 무음 패턴을 강제 적용할 수 있습니다.


Talking Box의 인코더 경로를 구성하는 회로의 세부 사항을 살펴보았으므로 이제 디코더 경로에 사용되는 회로 설계에 주목해 보겠습니다. 전체 디코더 경로에 대한 개략도는 CVSD 코덱 음성 생성기(D/A)인 그림 6에 나와 있습니다. 이 다이어그램에서 볼 수 있듯이 디코더 경로는 CVSD 복조기부터 시작하여 최종적으로 출력 증폭기를 구동하는 음성 대역 통과 필터의 세 가지 주요 작동 단계로 구성됩니다.

델타 변조의 원리에 대한 섹션에서 설명했듯이 디코더 기능은 인코더의 기능과 다소 보완적인 것으로 보고 이해될 수 있습니다. 그렇다면 놀랍지도 않게, 우리는 각각의 전자 회로와 구성 요소 값에서 유사성을 발견할 수 있습니다.


따라서 CVSD 복조기 단계의 회로도에서 커패시터 Cs와 함께 Rp 및 Rs로 표시된 저항기의 작동 함수 및 값은 인코더 경로 다이어그램인 그림 5에서 동일하게 레이블이 지정된 구성 요소의 작동 함수 및 값과 완전히 유사합니다. 회로. 마찬가지로, Rx 및 Rm으로 표시된 저항기는 인코더 구현에서 동일하게 표시된 보완 요소와 유사한 방식으로 작동합니다. 비슷한 방식으로 CVSD 복조기용 디코더 적분기 필터 네트워크를 형성하는 구성 요소도 변조기 회로에 있는 구성 요소와 유사합니다. 마지막으로 디코더 IC의 논리 임계값 레벨은 인코더 IC에서와 마찬가지로 실리콘 다이오드 쌍의 강하에 의해 설정됩니다.


그러나 디코더 경로에는 회로와 관련된 디지털 신호 경로가 두 개뿐입니다. 일반적으로 인코딩 기능에 사용되는 동일한 TTL 클럭 생성기 회로에 의해 구동되는 클럭 입력이 있습니다. 이 신호는 디코더 IC의 핀 14에 적용되고 데이터 비트를 클록한 후 IC의 디지털 입력 핀 13에 차례로 표시됩니다.


CVSD 복조기 단계의 출력은 물론 인코더 경로에 입력되었던 원본 아날로그 신호의 필터링되지 않은 복사본입니다. 그런 다음 앞서 설명한 세부적 또는 양자화 잡음을 제거하는 역할을 하는 디코더 경로 음성 대역 통과 필터에 적용됩니다. 하드웨어 구현은 고역 통과 및 저역 통과 회로의 계단식 순서가 반대라는 점을 제외하면 인코더 경로에 사용된 것과 기본적으로 동일합니다. 디코더 필터에서 첫 번째 목적은 양자화 잡음을 최대한 제거하는 것이므로 저역 통과 기능을 먼저 필터단의 입력에 가장 가깝게 배치하여(디코더 출력에도 마찬가지) 이를 최대화합니다. 감쇠.


디코더 신호 경로의 음성 필터 다음에는 세 번째이자 마지막 디코더 회로인 출력 증폭기가 표시됩니다. 이름에서 알 수 있듯이 이 단계에서는 음성 필터에서 출력되는 오디오 신호를 증폭합니다. 한 쌍의 무료 실리콘 바이폴라 트랜지스터는 이 회로에 사용되는 LF356 연산 증폭기 IC의 전력 출력 기능을 향상시키기 위해 버퍼 장치로 연결됩니다. 이득(또는 출력 레벨) 제어는 피드백 경로에서 트림포트 형태로 제공되지만 연산 증폭기 IC의 비반전 입력에서 접지로 가는 저항 값을 수정하여 출력 범위를 조정할 수도 있습니다. 수준. 궁극적으로 증폭된 신호는 큰 값의 전해 커패시터를 통해 출력 변압기의 1차측에 결합됩니다. 2차측을 통해 개발된 신호는 디코더 경로의 최종 출력이 되며, 이는 전자 회로의 이 부분에 대한 설명을 완성합니다.


이전에 언급한 바와 같이 방금 설명한 인코더 경로 및 디코더 경로 회로 외에도 Talking Box의 다른 주요 회로 요소는 이 처음 두 회로의 타이밍을 제어하는 데 사용되는 클럭 생성기입니다. 이 회로의 개략도는 그림 7의 선택 가능한 주파수 TTL 클록 생성기 회로에 나와 있습니다. 여기서 볼 수 있듯이 이 회로는 기본적으로 분할 계수가 관련 딥스위치에 설정된 값에 의해 결정되는 프로그래밍 가능한 분할기 체인을 구동하는 수정 제어 발진기로 구성됩니다. 따라서 프로그래밍 가능한 분배기는 광범위한 데이터 클록 속도에 대해 매우 쉽게 구성되며 실제로 유연성을 위해 이 클록 속도는 연결 인터페이스를 통해 관련 컴퓨터에 의해 선택 가능하도록 배열될 수 있습니다.


인쇄 회로 기판의 최종 전자 회로 구성 요소는 양극 및 음극 전압 조정기와 컴퓨터 인터페이스에서 사용되는 RS232 레벨 변환기 IC로 구성된 지원 요소입니다. 이러한 부분을 포함하는 회로도는 그림 B, RS232 인터페이스 회로 및 전압 조정기 다이어그램에 나와 있습니다.


델타 변조기가 일반적으로 작동하는 방식과 특히 이것이 어떻게 작동하는지 살펴보았으므로 이제 실제 하드웨어가 어떻게 구현되고 물리적으로 구성되는지 살펴보겠습니다.


토킹박스 프로젝트 물리적 구성

방금 설명한 전자 회로는 모두 단일 양면 인쇄 회로 기판에 포함되어 있습니다. 이 보드의 한 면은 주로 디지털 회로와 아날로그 회로를 긴밀하게 배치하고 혼합할 수 있는 접지면으로 사용됩니다. 그림 9, CVSD 코덱 인쇄 회로 기판 레이아웃에는 인쇄 배선 기판 양쪽의 회로 트레이스에 대한 긍정적인 이미지가 나와 있습니다. 카드가 양면이거나 보드의 앞면과 뒷면 모두에 전도성 경로가 있는 반면, 레이아웃은 양면을 연결하기 위해 도금 관통 또는 전도성 구멍을 사용할 필요가 없도록 되어 있습니다. 이는 물론 프로젝트에 사용하도록 제안된 회로 기판을 실험자가 쉽고 저렴하게 복제할 수 있도록 하기 위해 수행됩니다. 부품 목록에 표시된 대로 구멍을 통해 도금된 완성된 회로 기판과 예술 작품의 필름 사본을 사용할 수 있습니다.


정렬 대상은 전면 및 후면 회로 레이아웃 자체 측면의 주변 영역에 제공됩니다. 먼저, 이 작품을 각 면에 대한 필름 이미지(보통 네거티브)로 들어올려 각 경우에 이러한 대상을 포함하도록 합니다. 그런 다음 이러한 타겟을 사용하여 전면 및 후면 필름 이미지를 서로 정렬하고 서로 제자리에 부착합니다. 이제 둥근 종이 펀치를 사용하여 두 필름 시트를 동시에 3개의 개별 정합 구멍에 구멍을 뚫습니다. 회로 아트웍 영역 외부의 위치를 펀치할 때 주의하십시오. 이러한 정합 구멍의 존재는 노출될 회로 기판 재료 조각이 샌드위치처럼 그 사이에 배치되는 동안 이러한 구멍을 통해 배치된 적절한 핀에 의해 전면 및 후면 필름 시트가 서로 정렬되도록 하는 역할을 합니다. 패션을 통해 회로 카드의 양면을 앞뒤로 쉽게 등록할 수 있습니다. 이러한 정밀한 크기의 등록 핀은 인쇄 회로 공급업체에서 시중에서 구입할 수 있지만, 경험에 따르면 적절한 크기의 미리 형성된 막대와 같은 것을 사용할 수 없는 경우 크기에 맞게 깎은 연필이나 다월이 이 목적에 적합합니다. 68번 드릴 크기는 지지되는 대부분의 구멍, 즉 부품 리드가 통과하는 구멍에 적합합니다. 37번 레귤레이터 장착 구멍과 3/16인치 직경의 포노 커넥터 장착 구멍은 예외입니다.


인쇄 회로 기판의 부품 장착 및 조립 세부 사항을 표시하기 위해 두 개의 다이어그램이 사용됩니다. 이들 중 첫 번째인 CVSD 코덱 회로 기판 구성 요소 조립 다이어그램인 그림 10은 기판에 장착 및 납땜될 부품의 배치를 보여 주며 회로도에서 다양한 레이블이 지정된 지점의 위치도 보여줍니다. 이러한 레이블이 붙은 회로 위치는 테스트 지점으로 사용하기 위한 연결 역할을 하며 다른 위치는 다양한 구성 옵션을 연결하는 데 사용됩니다.


두 번째 다이어그램. 그림 11, CVSD 코덱 회로 기판 'Z Wire' 위치 다이어그램은 카드 상단 또는 구성 요소 측면에 납땜해야 하는 회로 기판 구멍의 위치를 자세히 설명합니다. 이 단계는 보드에 도금 관통 구멍이 없고 부품 목록에 표시된 보드에 그러한 구멍이 있는 경우에만 필요합니다. 이 구멍 위치에 구성 요소 리드가 있는 경우 보드 양쪽에 납땜합니다. 이 구멍을 통해 구성 요소 리드가 없으면 구멍과 클린치를 통해 와이어 리드를 통과시키고 양쪽 보드에 납땜합니다. 회로 기판의 한 면에서 다른 면으로 전도성 비아 또는 경로를 생성하는 이 방법은 해당 문자에 대한 점퍼의 거친 모양 때문에 그림 11의 제목과 같이 "Z 와이어"라고도 합니다. 따라서 회로 기판의 도체 측면에 납땜해야 하는 구멍은 막혀 있습니다. 즉, 장착된 구성 요소에 접근할 수 없습니다. 이를 통해 프로젝트 회로는 도금된 관통 구멍이 없고 점퍼가 거의 필요하지 않은 자체 제작 인쇄 기판으로 쉽게 조립될 수 있습니다.


RS232 커넥터 자체의 위쪽 행 핀(즉, 1번부터 13번까지)은 보드의 상단 또는 구성 요소 측면에 납땜되고 아래쪽 행(핀 12~25번)은 보드의 구성 요소 측면에 납땜됩니다. 보드 뒷면.


Talking Box 프로젝트를 위한 컴퓨터 인터페이스 운영

이제 CVSD 작동의 전자 원리와 프로젝트 회로 기판이 물리적으로 구성되는 방식을 살펴보았으므로 다음으로 살펴볼 영역은 장치를 관련 컴퓨터에 인터페이스하는 데 필요한 소프트웨어입니다.


서문에서 언급했듯이 Talking Box는 기본적으로 연결된 지원 컴퓨터에 대한 동기식 모뎀인 것처럼 보입니다. 우리는 지금까지 프로젝트 회로에 들어오고 나가는 5개의 디지털 신호 경로를 설명했습니다. 물론 이는 두 개의 데이터 경로였습니다. 하나는 디코더로, 다른 하나는 인코더로 전달되었습니다. 두 개의 연관된 클록 신호; 인코더에 대한 강제 유휴 입력입니다. 일부 다른 선택적 물리적 인터페이스 신호는 다음 섹션의 애플리케이션 예제에서 설명됩니다. 그러나 바로 다음 설명은 데이터 교환 작업 자체의 프로그래밍 측면에만 관련되어 있으므로 이제 이 5개의 신호 라인만 관련 컴퓨터의 직렬 I/O 포트에 연결되고 연결되는 것으로 가정됩니다. 이 상호 연결의 하드웨어 세부 사항은 그림 12, CVSD 보드 사용을 위한 SIO 장치 배선 회로도에 자세히 나와 있습니다.


다음 논의 과정에서 CVSD 드라이버 프로그램이라는 제목의 목록 1에 표시된 소프트웨어 루틴을 참조할 것입니다. 이 프로그램 목록에는 Intel 8251 호환 직렬 I/O 장치(예: USART)를 제어하는 데 필요한 루틴 모듈과 Zilog SIO 호환 직렬 I/O 장치를 제어하는 데 필요한 모듈이 모두 포함되어 있습니다. 드라이버 모듈을 적절하게 선택하면 이들 장치 중 하나를 Talking Box의 요구 사항에 적합한 동기 모드에서 쉽게 작동할 수 있습니다. 소스 코드는 전적으로 Intel 8080 어셈블리 언어로 작성되었으며 모듈 간의 사용 선택은 동일문에 의해 이루어집니다.


USART 및 SIO 소프트웨어 드라이버 모듈에는 각각 컴퓨터와 인코더/디코더의 데이터 교환과 직접적으로 관련된 4개의 주요 루틴 또는 진입점이 포함되어 있습니다. 이러한 4개의 진입점은 INUART 루틴, SERIN 및 SEROUT 루틴, GETSYNC 루틴입니다.


어느 방향으로든 데이터를 전송하기 위해 처음 사용하기 전에 사용자는 먼저 직렬 I/O 장치 자체를 동기 모드에서 작동하도록 초기화하거나 소프트웨어를 구성해야 합니다. 이는 INUART라는 루틴을 호출하여 수행됩니다. 어느 모듈에서나 이 명령 시퀀스는 본질적으로 I/O 장치의 제어 레지스터를 로드하여 패리티 비트가 추가되지 않은 8비트(바이트 폭) 데이터 문자에서 작동하도록 하고 문자 경계에서 동기화가 발생했다고 가정하기 위해 직렬 비트 스트림(종종 SYNC 문자라고 함) 내에서 일치할 패턴에 대한 템플릿으로 단일 문자를 사용합니다(동기 감지라고 함).

대부분의 동기 통신에는 비동기 또는 문자 지향 직렬 통신 프로토콜에 익숙한 시작 및 중지 비트와 같은 문자 프레이밍 비트가 없다는 점에 유의하십시오. 대신, 문자를 형성하는 각 비트는 별도의 신호 커넥터 경로에 제공되는 타이밍 신호에 의해 직렬 장치 안팎으로 차례로 전송되며, 문자 경계는 클록된 문자당 비트 수를 카운트하여 결정됩니다. 비트 스트림. 대부분의 "실제" 또는 동기식 전화 모뎀인 데이터 전송 응용 프로그램은 데이터 스트림의 주기적인 재동기화를 위해 전송 사이에 일시 중지가 있는 블록으로 데이터 문자를 보내고 받으며 각 블록의 내용에 대한 오류 검사와 같은 작업을 허용합니다. 따라서 동기식 방법을 메시지 지향 직렬 통신 프로토콜이라고 부르는 경우가 많습니다.


SIO 또는 USART 장치가 초기화되고 작동하도록 설정된 후에는 둘 다 소프트웨어에서 비교적 쉽게 제어할 수 있습니다. 두 경우 모두 SERIN(포트에서 문자 가져오기) 및 SEROUT(포트로 문자 출력) 루틴은 간단한 비동기 애플리케이션의 경우와 동일합니다. 따라서 문자 입력 및 출력 루틴에는 문자가 허용되거나 전달될 준비가 되었는지 확인하기 위해 I/O 장치에서 반복적으로 읽어오는 상태 바이트 내의 비트 수준에 대한 루핑 테스트만 포함됩니다. 이 테스트가 최종적으로 만족되면 루틴이 종료되고 호출자에게 반환되기 전에 실제로 문자 자체가 직렬 포트에서 읽혀지거나 직렬 포트에 기록됩니다.


나머지 드라이버 루틴은 GETSYNC라는 레이블이 붙은 것입니다. 다시 한 번 루틴은 선택한 I/O 장치에 대해 거의 동일한 기능을 수행합니다. 이 진입점은 일반적으로 인코더에서 오디오 데이터 입력을 실제로 시작하기 위해 녹음 주기가 시작될 때 호출됩니다. 이 작업에서 루틴은 먼저 인코더에 대한 강제 유휴 입력을 참으로 유지하여 직렬 I/O 장치가 문자열을 감지할 때까지 인코더가 침묵을 나타내는 동일한 교번 1-0 비트 시퀀스 출력을 생성하도록 합니다. 동기화 문자와 일치하는 비트입니다. 이 문자의 존재 여부에 대한 테스트가 만족되면 강제 유휴 신호 라인이 즉시 false로 반환되어 인코더가 오디오 데이터를 직렬 포트로 보내기 시작할 수 있으며 직렬 포트는 루틴이 최종적으로 종료되기 전에 이 데이터를 수신하도록 다음으로 설정됩니다. 일부 응용 프로그램의 경우 사용된 이 비트 패턴의 값, 즉 동기화 문자가 변경되어 예를 들어 신호 파형의 특정 위치에 해당하는 일치 시퀀스의 하드웨어 감지에서 오디오 녹음을 시작할 수 있습니다.


이 네 가지 하드웨어 드라이버 기본 루틴은 오디오 데이터를 컴퓨터 안팎으로 물리적으로 전송하는 작업을 수행하기 위해 응용 프로그램에 의해 호출됩니다. 다음 섹션에는 프로젝트 보드 및 지원 컴퓨터와 함께 이러한 루틴을 사용하는 애플리케이션의 몇 가지 예가 나와 있습니다.


일부 특정 응용 사례

저자가 사용하는 Talking Box 데모 프로그램은 방금 설명한 이러한 드라이버 루틴을 사용하며 그림 13에 표시된 명령 메뉴인 CVSD 코덱 회로 기판 데모 프로그램 명령 메뉴에서 작업을 선택적으로 실행할 수 있습니다. 이 프로그램은 CP/M 운영 체제에서 실행되며 8080(자작) 및 Z80 기반(Televideo TS802H) 마이크로컴퓨터 시스템 모두에서 테스트되었습니다. 이 프로그램의 어셈블리 소스 코드는 목록 2인 CVSD 코덱 회로 기판 데모 프로그램에 표시되어 있습니다. [-선택적 포함]


이 명령 표에서 볼 수 있듯이 프로그램은 운영자가 로컬 마이크와 스피커 쌍 또는 전화선에서 오디오를 녹음하고 재생할 수 있도록 설정되었습니다. 데모 프로그램과 Talking Box가 있는 컴퓨터를 교환 전화 네트워크에 연결하는 데 사용되는 상호 연결 배열은 데이터 액세스 배열(DAA)이라는 장치를 기반으로 합니다. 저자가 사용하는 특정 장치는 구형(1976년 빈티지) Bell Telephone Type 1001F 데이터 커플러이지만, DAA 기능을 복제하는 최신 FCC Part 68 등록 하이브리드 모듈을 Cermetek(CH1810)과 같은 회사에서 20달러 미만의 가격으로 구입할 수 있습니다. 직접 연결 보호 하이브리드(DCPH), 참고 자료 참조). 이 모듈은 동일한 기능의 연결을 제공하지만 크기가 훨씬 작고 사용 편의성이 훨씬 향상되어 별도의 인클로저에 벽에 걸지 않고 장치 내부에 장착하도록 고안되었습니다! DCPH 모듈은 CMOS 논리 레벨 신호 경로를 사용하는 반면 DAA에는 RS232 신호 레벨 요구 사항이 있습니다. DAA 또는 DCPH는 전화 벨이 울리고 있다는 표시를 제공하고 컴퓨터가 장치의 온훅/오프훅(또는 응답/전화 끊기) 상태를 제어하고 전화선과의 오디오 적용 또는 수신을 제어할 수 있도록 합니다. 두 가지 모두 소위 청구 지연 타이머, 신호 과부하 보호, 회선 격리 및 보호 기능을 제공하며 전화선을 포착하고 펄스를 다이얼하는 기능(예: 호출)을 제공합니다. DAA 또는 DPCH와 Talking Box를 호스트 컴퓨터에 연결하는 데 사용되는 물리적 배선은 그림 14, CVSD 보드 및 DAA와 컴퓨터 배선 다이어그램에 나와 있습니다.


컴퓨터가 로컬 및 전화를 통해 오디오를 녹음하고 재생할 수 있도록 하는 것 외에도 데모 프로그램은 오디오 신호를 나타내는 메모리 영역의 내용을 표시 및 변경하고 모든 사전 설정(SYNC) 문자를 지우는 루틴을 제공합니다. 값을 지정하고 호스트 컴퓨터 시스템 디스크 드라이브에서 이 오디오 메모리의 내용을 저장하거나 로드합니다. 또한 프로젝트에서 사용되는 직렬 I/O 포트를 초기화하고, SYNC 문자 값을 변경하고, 사용자 정의 제어 출력(플래그 비트라고 함) 신호를 높거나 낮게 설정할 수 있습니다. 이 출력 신호는 그림 7과 8에 표시된 대로 컴퓨터 제어 하에 한 쌍의 인코딩/디코딩 직렬 클록 속도 중에서 선택하는 데 사용될 수 있습니다. 마지막으로 프로그램은 각 재생 사이클이 시작될 때 출력되는 동기화 펄스 신호도 제공합니다. 오실로스코프 디스플레이 트리거와 같은 작업을 허용합니다.


분명히, 프로그램과 그 루틴 중 일부는 수많은 유용한 장치 응용 프로그램에 대한 핵심을 제공할 수 있습니다. 프로젝트 시스템이 즉시 수행할 수 있는 수많은 기능 중 일부에는 컴퓨터화된 전자 오디오 메시징 시스템 또는 자동 응답기로의 사용, 저장된 음성에서 일부 데이터 샘플로 이음(또는 화자에 따른 음소 예)을 추출하고 재생하는 데 사용, 분석을 위해 이러한 이음음이나 일시적인 오디오 주파수 신호와 같은 것을 저장하고 (오실로스코프에) 표시하는 데 사용되며 나중에 재생할 수 있도록 디스크에 전체 단어나 명령문을 저장하는 데 사용됩니다.


따라서 우리는 Talking Box가 컴퓨터로 음성이나 기타 오디오 신호를 디지털화하고 재생하기 위한 구축 및 사용이 쉬운 프로젝트임을 알 수 있습니다.


감사의 말

저자는 특히 이 프로젝트의 실현을 위한 귀중한 지원과 기여에 대해 Messrs. WH Kerr, EP Norwood 및 CP Quinn에게 감사의 말씀을 전하고 싶습니다.





이것으로 Radio Electronics 잡지에서 구입한 기사를 마칩니다. 다음은 Motorola의 CVSD 코덱 데이터 시트 사본입니다. 이 문서는 매우 흥미롭고 유익합니다.


결론

위에 제시된 우리의 규준대에서 약간의 유용성이나 관심을 발견하셨기를 바랍니다. ☺ 의견, 비판 및 제안은 항상 감사드립니다. 신의 축복이 있기를.