Я разработал эту схему в 1985 году, потому что мне было одиноко и мне нужно было с кем-то поговорить. «Говорящий ящик» сказал бы все, что я ему сказал.
Серьезно, я подключил его к телефону как цифровой автоответчик. У меня было устройство доступа к данным (DAA) от AT&T, которое представляло собой интерфейс телефонной линии, и оно работало очень хорошо. Я играл с сенсорными тонами и нуждался в хорошей точности. Тогда окружная служба по делам семьи и детей по ошибке поместила мой номер на своих визитных карточках. Мне звонили много-много, особенно потому, что я писал и читал свои непристойные стихи в качестве ответа. Я говорю о Hi-Fi, детка! Я получил многочисленные свидетельства о том, как сильно меня любили. По сути, до рэпа в 1985 году я занимался рэпом. «Здравствуйте, вы звоните, чтобы починить вашего ребенка?» сегодня, вероятно, было бы неприемлемым приветствием.
Я написал программу на языке ассемблера на ассемблере Z80 для управления функциями устройства, а позже я построил плату адаптера, которая подключалась к разъему устройства последовательного ввода-вывода IBM PC-совместимой машины и заменила асинхронное устройство UART универсальной синхронной/синхронной версией. от Intel — USART Intel 8251A. Затем друг, парень по имени Томми Кобб или «Сапожник», преобразовал мой код Z80 в ассемблер 8088 для ПК. Я не могу вспомнить, когда я в последний раз видел свой адаптер для плат последовательного ввода-вывода IBM PC. Никаких документов, о которых я знаю. И я, кажется, не могу найти свой прототип Talking Box, но он, без сомнения, где-то в этом доме. Это фотогеничный аппарат, и мне хотелось бы разместить здесь несколько фотографий, но, увы.
Помимо подключения к телефону, программное обеспечение позволило мне выбрать и воспроизвести несколько хороших циклов, которые можно было использовать в качестве хранилища для аудио. Проигрывайте записи задом наперед, чтобы услышать голос… ах, неважно. ☺
Так или иначе, журнал «Радиоэлектроника» купил это как статью и фактически заплатил мне за нее неплохой аванс. На самом деле я был приятно впечатлен и, конечно же, мотивирован. Первые североамериканские серийные права. Казалось, это действительно хороший способ заработать на жизнь, поскольку мне нравится проектировать, создавать, программировать и писать. Было несколько авторов, которые уже неоднократно выступали, так что это не была оригинальная идея. Затем в апреле 1985 года журнал обанкротился и прекратил выходить, а статья так и не была напечатана. У меня было ощущение, что в тот момент индустрия печатной печати пришла в упадок, а аудитория любителей, занимающихся созданием, испарилась. Это было до появления Интернета. Так вот статья как бы воскресла. Надеюсь, он вам понравится, даже несмотря на его моральное устаревание. Электрические игрушки сохраняют свою полезность как концепции даже после того, как их использование прекратилось.
Автор также хотел бы выразить особую благодарность Джону Т. Смиту, K3GO. за его работу по преобразованию JPG-сканов напечатанных страниц статьи в текст с помощью оптического распознавания символов.
Talking Box — это простой в изготовлении и экономичный проект, который может предоставить практически любому компьютеру возможность цифрового кодирования и последующего воспроизведения человеческой речи или аналогичных аналоговых сигналов звуковой частоты. Чтобы обеспечить простоту работы, проект был разработан так, чтобы подключаться к последовательному порту ввода-вывода компьютера и выглядеть почти так, как если бы это был просто синхронный телефонный модем. В результате получается простой в подключении интерфейс устройства для большого количества приложений. В схемотехнике проекта используется метод бесступенчатого регулирования.
дельта-модуляция наклона для выполнения кодирования аналоговых сигналов в двоичные данные, а затем также для декодирования этих двоичных данных обратно в аналоговый сигнал. Из-за этого действия кодирования/декодирования устройство обычно называют просто кодеком.
При скорости последовательной передачи данных шестнадцати килобит в секунду (кбит/с) Talking Box может записывать и воспроизводить речь с точностью, сравнимой с точностью большинства телефонных автоответчиков. Увеличение скорости передачи данных до 32 кбит/с, или примерно четырех килобайт хранимых данных на каждую секунду воспроизводимого звука, приводит к искажению менее пяти процентов аудиосигнала с частотой от 300 до 3000 Гц. Это позволяет легко использовать проект с компьютером, например, для воспроизведения и распознавания тональных сигналов телефона. Хотя основной целью этой статьи является описание конструкции и конструкции схемы Talking Box и ее использования для двоичного хранения и воспроизведения аудио или речевых сигналов, устройство-кодек имеет множество других применений в области связи, промышленного контроля и приборостроения. Некоторые из возможных способов использования проекта включают цифровые фильтры, дистанционное управление двигателями, скремблирование речевых сигналов, кодирование переходных сигналов для хранения или отображения, амплитудное сжатие сигнала, цифровые линии задержки для реверберации, извлечение и воспроизведение аллофонов. для формирования синтетической речи, кодирования или декодирования сигналов для акустических модемов, пакетирования речевых сообщений, обработки или анализа изображений.
Большинство цифровых кодеров измеряют амплитуду непрерывно меняющегося сигнала через равные промежутки времени, а затем представляют эти выборки в виде двоичных слов, указывающих их амплитуду и полярность. Напротив, дельта-модулятор генерирует однобитовые слова, значение которых представляет собой квантованную ошибку, или «дельту» (A), в сигнале отслеживания, а не представляет значение самого входного сигнала. Технически, дельта-модулятор представляет собой систему управления выборочными данными с замкнутым контуром, которая выдает двоичный выходной сигнал, полярность которого представляет собой разницу между входным сигналом, дискретизируемым в данный момент, и квантованным приближением предыдущего входного сигнала. Это достигается путем размещения компаратора на прямом пути и интегратора на пути обратной связи простого контура управления. Как показано на блок-схеме системы линейной дельта-модуляции на рисунке 1, входными сигналами компаратора являются входной сигнал и выходной сигнал интегратора или локального декодера.
Таким образом, выходной сигнал компаратора отражает знак разницы между входным сигналом и выходным сигналом интегратора. Этот знаковый бит управляет полярностью заряда, который затем подается на интегратор, а также формирует цифровой выходной сигнал. Выход компаратора обычно тактируется, чтобы обеспечить синхронный последовательный цифровой поток битов с ограниченной полосой пропускания. Простота необходимой схемы и последовательный характер выходных данных являются двумя фундаментальными преимуществами дельта-модулятора. Если результирующий синхронизированный последовательный битовый поток затем доставляется в принимающий интегратор аналогичной конструкции, как показано на рисунке 1 , выходной сигнал этого интегратора декодирования будет копией исходного выходного сигнала интегратора передающего контура управления. В потоке синхронных последовательных данных не содержится никакой информации о кадрировании, и репликация исходного ввода, представленного битовым потоком от кодера, начинается сразу после того, как эти данные вводятся в декодер. Точность этой копии будет зависеть в наибольшей мере от того, насколько передающий интегратор отслеживает исходный входной сигнал. Как можно видеть из сигналов, показанных на рисунке 2 (диаграмма сигналов линейного дельта-модулятора), сигнал обратной связи энкодера пытается отслеживать входной сигнал в виде серии постепенно изменяющихся шагов, размер которых является постоянным. Поскольку сигнал обратной связи от локального декодера состоит из шагов постоянного или почти постоянного размера, сформированных линейной сетью, этот тип дельта-модуляции называется линейной дельта-модуляцией. Наличие этих дополнительных шагов на выходе декодера приводит к появлению сигнала квантования шума, называемого гранулярным шумом. Фильтрация нижних частот на выходе приемника устранит большую часть этого шумового сигнала, если тактовая частота битового потока на октаву или более превышает полосу пропускания входного сигнала. Дальнейшее снижение уровня этого шумового сигнала может быть реализовано либо за счет уменьшения размера шага, увеличивая частоту дискретизации, либо за счет того и другого.
Основным недостатком любой системы линейной модуляции является относительная неспособность таких просто изобретенных контуров управления поддерживать адекватное соотношение сигнал/шум (s/n) в широком диапазоне мощности входного сигнала, т.е. они имеют ограниченный динамический диапазон. Например, при записи речи различные уровни мощности, встречающиеся в речевых шаблонах разных людей, приводят к значительно разным отношениям сигнал/шум.
В кодере с дельта-модуляцией информация о мгновенном наклоне или скорости изменения амплитуды входного сигнала обозначается последовательной скоростью появления каждого из двоичных или логических выходных уровней. При наличии на входе сигнала с нулевым наклоном и постоянной амплитудой, как показано в левой части рисунка 2, результирующий сигнал отслеживания представляет собой серию линейно изменяющихся ступеней, каждый из которых равен по уровню, но противоположной полярности. Это дополнительно приводит к чередующейся последовательности нуль-единица на цифровом выходе, которая, таким образом, может рассматриваться как указывающая или соответствующая периодам относительной тишины или постоянному уровню амплитуды во входном сигнале. Любое отклонение от этого желаемого результата в периоды молчания называется шумом незанятого канала и, конечно же, приводит к выводу ненулевого сигнала из соответствующего декодера.
Как объяснялось, чередующаяся последовательность единиц и нулей будет выведена в результате подачи входного сигнала с нулевым наклоном. Но предположим, что крутизна входного сигнала должна измениться так быстро, что сигнал обратной связи (т. е. выходной сигнал интегратора энкодера) больше не сможет отслеживать входящий сигнал. В этом случае на выходе получится поток бит постоянной полярности. Это состояние называется перегрузкой наклона, и когда оно возникает, выходной сигнал декодера может сильно отличаться от исходного сигнала. Степень различия между исходным сигналом и его копией называется шумом перегрузки наклона. Наклонный шум перегрузки вносит больший вклад в искажение реплицируемой формы сигнала, чем гранулированный шум или шум квантования, и поэтому оказывает большее влияние на абсолютную точность формы сигнала. Однако слушатели-люди считают, что зернистый шум воспринимается более заметным и раздражающим в воспроизводимых речевых сигналах.
Таким образом, мы видим, что на соотношение сигнал/шум для линейного энкодера напрямую влияет уровень мощности входного сигнала. При низком уровне входной мощности отслеживание сигнала плохое, поскольку сигнал отслеживания обратной связи существенно отклоняется от относительно небольшого входного сигнала, и поэтому сравнительно большой размер шага генерирует значительное количество зернистого шума. По мере увеличения уровня мощности входного сигнала отношение сигнал/шум улучшается линейно, поскольку шум квантования становится все меньшей частью общей присутствующей мощности. Способность кодера отслеживать входной сигнал постепенно улучшается, пока кодер не станет слегка перегружен по наклону. В этот момент отношение сигнал/шум начинает уменьшаться, поскольку мощность шума увеличивается быстрее, чем мощность сигнала. Графическое представление этих взаимосвязей показано на рисунке 3 «Мощность сигнала и мощность шума в системах дельта-модуляторов».
Пределы частоты аналогового входного сигнала на*кодер ограничены по верхнему краю. Существует некоторая тактовая частота, определяемая частотой дискретизации Найквиста, которая превышает полосу пропускания входного сигнала и которая будет кодировать сигнал с заданным уровнем шума, при условии, что у нас достаточно малый размер шага. Однако пределы амплитуды входного сигнала ограничены как сверху, так и снизу. Для каждого конкретного уровня входного сигнала существует соответствующий размер шага интегратора, который обеспечит оптимальное соотношение сигнал/шум. К сожалению, фиксированный размер шага приводит к относительно небольшому значению ограничения динамического диапазона полезного входного сигнала в линейном энкодере.
Рассмотрим теперь улучшение отношения сигнал/шум, которое произошло бы, если бы размер шага отслеживания каким-то образом можно было сделать небольшим, когда наклон входного сигнала мал, а затем большим, когда наклон становится крутым. Этого можно добиться, регулируя коэффициент усиления интегратора. Очевидно, что сигнал обратной связи будет лучше отслеживаться в более широком диапазоне уровней входной мощности. Поскольку шум квантования пропорционален квадрату размера шага, адаптация размера шага к более широкому диапазону входных сигналов приведет к тому, что мощность шума будет меняться в зависимости от мощности входного сигнала, а не быть независимой от нее, как в случае с линейной дельтой. модуляция. Таким образом, если сделать мощность шума пропорциональной мощности сигнала, отношение сигнал/шум будет иметь постоянное значение, независимое от уровня входного сигнала. Это принцип адаптивной дельта-модуляции. Для заданной тактовой частоты и полосы пропускания входного сигнала подход с регулировкой коэффициента усиления интегратора может обеспечить значительное увеличение полезного динамического диапазона, как показано на рисунке 3.
Для адаптивного изменения размера шага интегратора отслеживания использовалось множество алгоритмов, но Talking Box использует метод, известный как модуляция с плавно регулируемым наклоном дельты (CVSD). Также называемая слоговой дельта-модуляцией, это предпочтительный метод кодирования и декодирования речи или других аналоговых сигналов, имеющих большой динамический диапазон. Внешним по отношению к рабочим элементам, содержащимся в показанном ранее линейном дельта-модуляторе, является реализация алгоритма, который контролирует текущие и прошлые несколько цифровых выходов дельта-модулятора, а затем соответствующим образом регулирует коэффициент усиления интегратора энкодера. Как показано на блок-схеме системы модуляции CVSD (рис. 4), часть алгоритма мониторинга реализована с помощью простого сдвигового регистра, в котором хранятся последние три или четыре выходных бита. Принятый стандартный алгоритм обеспечивает индикацию того, что все эти последовательно сохраненные биты имеют один и тот же логический уровень, и это состояние называется совпадением. Появление истинного совпадения на выходе сигнализирует о том, что текущий коэффициент усиления интегратора, вероятно, слишком мал для отслеживания аналогового входа. Выход совпадения позволяет использовать больший ток для зарядки фильтра нижних частот, а выходное напряжение этого фильтра затем используется для регулировки абсолютной величины усиления интегратора энкодера. В большинстве приложений используется простой однополюсный фильтр нижних частот с фиксированной постоянной времени совпадения в диапазоне примерно от пяти до десяти миллисекунд, что эквивалентно периоду основного тона, типичному для вокализованной речи, до примерно ста миллисекунд, что эквивалентно периоду основного тона, типичному для вокализованной речи. типичная слоговая длительность речи. Следовательно, этот фильтр часто называют слоговым фильтром в приложениях речевых кодеков. Часто значение постоянной времени в конечном итоге выбирается исходя из субъективных предпочтений.
Этот алгоритм обнаружения совпадающей последовательности логических уровней важен как из-за своей элегантной простоты, так и потому, что многие другие алгоритмы, использующие сдвиговый регистр, были опробованы с менее удовлетворительными результатами. В принятом алгоритме наличие сигнала совпадения связано с характером огибающей входного сигнала и поэтому указывает на усредненный по времени уровень мощности сигнала, а не на более мгновенную информацию о наклоне входной кривой, чем другие методы обнаружения последовательности. методы обеспечивают. Эффект алгоритма заключается в компандировании сигнала и тем самым в увеличении реализуемого динамического диапазона.
Алгоритм повторяется в декодере, поэтому данные уровня восстанавливаются на приемной стороне. Если бы поток данных кодера CVSO был введен в линейный декодер, основная форма аналогового входного сигнала кодера была бы воспроизведена, но весь выходной сигнал имел бы одинаковые уровни. Битовый поток выглядит так, как если бы он исходил от линейного кодера с постоянным входным уровнем, поэтому на стороне декодера требуется алгоритм для восстановления изменений уровня амплитуды путем декомпандирования или расширения сигнала. Интересно отметить, что, поскольку алгоритм работает только с прошлыми последовательными данными, он фактически эквивалентен увеличению информационного содержания битового потока без изменения скорости передачи данных в канале.
Итак, мы видим, что принцип дельта-модуляции в сочетании с алгоритмом CVSO обеспечивает простой в реализации и эффективный метод оцифровки аналоговой информации тональной частоты в поток последовательных данных.
Talking Box реализует электронные схемы кодера и декодера CVSD с использованием интегральной схемы (IC) Motorola MC3417 или MC3418 для выполнения функций дельта-модулятора. Эти микросхемы представляют собой стандартные блоки CVSO общего назначения, которые позволяют адаптировать реализацию схемы к конкретным требованиям приложения. По данным Motorola, согласование тока для переключателя наклонной полярности регулируется лазером во время изготовления микросхемы MC3418, чтобы гарантировать работу канала в режиме ожидания с минимальным размером шага в пять милливольт и типичным однопроцентным согласованием тока от пятнадцати микроампер до трех миллиампер. Это позволяет изменять размер шага от трехсот к одному, что отражает возможность значительного динамического диапазона аналогового сигнала.
Поскольку схема Talking Box сама по себе состоит из отдельных путей кодирования и декодера, это позволяет их одновременное использование как для отправки, так и для приема, обеспечивая полнодуплексную работу. И кодер, и декодер управляются одной и той же схемой генератора тактовых импульсов TTL с переменной частотой. Опорные элементы, состоящие из пары стабилизаторов напряжения и микросхем преобразователя уровня интерфейса RS232, являются единственными остальными частями печатной платы.
Электронная схема тракта кодера показана на принципиальной схеме на рисунке 5, цифровом преобразователе речи (АЦП) кодека CVSD. Как показано на рисунке, схема разделена на четыре функциональные области, начиная со схемы микрофонного предусилителя, за которым следует усилитель автоматической регулировки усиления (АРУ), речевой полосовой фильтр и, наконец, заканчивая самой схемой модулятора CVSD.
Микрофонный предусилитель представляет собой классическую бестрансформаторную несимметричную или несимметричную схему входного усилителя. Для достижения оптимальных шумовых характеристик с сигналами низкого уровня, ожидаемыми от источника звука, такого как динамический микрофон, в конструкции используется неинвертирующая конфигурация. Эта реализация реализована в четверти микросхемы счетверенного операционного усилителя (ОУ) типа TL084 с входами полевых транзисторов (FET) с высоким импедансом. Предварительный усилитель имеет регулируемый коэффициент усиления, который можно изменять с помощью подстроечного потенциометра, подключенного как резистор обратной связи, с надписью MIC GAIN. Усилитель также имеет низкочастотный спад, т.е. характеристику верхних частот, угловая частота которой определяется значениями последовательной комбинации резистор/конденсатор, идущей от инвертирующего входа операционного усилителя к земле. Это служит для уменьшения чувствительности предусилителя к фоновому полю переменного тока окружающей среды (обычно 60 Гц) и уменьшения низкочастотной мощности входного сигнала. Наконец, предусилитель также имеет конденсатор небольшой емкости, расположенный между неинвертирующим или сигнальным входом операционного усилителя и землей, который служит для обхода нежелательного высокочастотного шума, который может присутствовать в микрофонном кабеле. Обратите внимание, что для некоторых приложений последовательный входной резистор (100 Ом) может быть заменен конденсатором, обычно емкостью около одной микрофарад.
За микрофонным предусилителем находится схема усилителя A6C, которая служит для обеспечения сжатия аудиосигнала перед его подачей на речевой фильтр и кодек CVSD. Это действие ограничивает динамический диапазон амплитуды сигнала перед его подачей на полосовую обработку и обработку кодировщиком. Схема AGO, используемая в Talking Box, описана Джеральдом Грэмом из Burr-Brown Research Corporation*. Его работа основана на использовании полевого транзистора в качестве управляемого элемента переменного сопротивления в сети делителя напряжения, определяющего диапазон усиления и выходную амплитуду этого каскада.
Действие схемы АРУ реализовано с помощью полевого транзистора и двух операционных усилителей из того же четырехъядерного блока, частично используемого для уже описанного микрофонного предусилителя. Первый операционный усилитель служит инвертирующим усилителем с регулируемым коэффициентом усиления, а второй — усилителем с чувствительностью к пиковым значениям. Если пиковый положительный уровень выходного сигнала превышает значение напряжения, установленное на рычаге потенциометра AGC LEVEL, то выходной сигнал чувствительного компаратора станет положительным, увеличивая напряжение затвора полевого транзистора и, таким образом, снижая его сопротивление вход-исток. . Это, в свою очередь, приведет к тому, что большая часть входного сигнала будет шунтироваться на землю, что в конечном итоге приведет к снижению общего коэффициента усиления схемы для этого каскада. Амплитуда выходного сигнала может быть установлена в диапазоне от нуля до уровня насыщения или ограничения усилителя с регулируемым усилением путем регулировки потенциометра управления AGC LEVEL, упомянутого выше».
Трудность, возникающая во многих реализациях, использующих концепцию полевого транзистора как элемента переменного сопротивления для аудиосигналов, связана с тем фактом, что сопротивление самого устройства модулируется сигналом, проходящим через него. Неспособность адекватно компенсировать этот аспект характеристик полевого транзистора приведет к зависимому от уровня сигнала усилению и искажениям. Схема, показанная на рисунке 5, использует новый метод корректирующей обратной связи, позволяющий значительно уменьшить модуляцию уровня сигнала. Как можно видеть, сигнал, появляющийся на выводе стока полевого транзистора, соответствует равному, но противоположному синфазному сигналу, полученному с выхода соответствующего усилителя АРУ. Значения сопротивления, используемые в схеме, выбраны таким образом, чтобы позволить полевому транзистору работать при уровнях слабого сигнала; обстоятельство, которое также способствует минимизации искажений. Как показано, выходной сигнал каскада АРУ затем подается на речевой полосовой фильтр, который затем появляется на пути прохождения сигнала кодера.
Каскад схемы речевого полосового фильтра номинально пропускает входные сигналы в полосе пропускания частот от 300 до 3000 Гц, отклоняя при этом те, которые лежат за пределами этого диапазона. Одним из основных соображений при выборе метода реализации полосовых фильтров является значение производного параметра, называемого нормализованной или дробной полосой пропускания. В численном отношении это результат, полученный путем вычитания нижней частоты среза -3 дБ или половины мощности из верхней частоты среза -3 дБ и дальнейшего деления этого значения разности на среднее геометрическое этих же двух частот. . Среднее геометрическое, конечно, является квадратным корнем только что вычисленного значения разницы. Дробная полоса пропускания, рассчитанная таким образом на основе заданных (высокой и низкой) частот среза речевого фильтра кодера, имеет значение примерно три, мы обнаруживаем, что, когда это вычисленное значение дробной полосы пропускания начинает достигать значения около 0,8 и приближается или превышает единицу ( или числовое значение, равное единице) снизу, как правило, лучшие результаты по характеристикам полосового фильтра достигаются при использовании каскадных секций фильтра верхних и нижних частот, а не при использовании настоящей реализации полосового фильтра. Этот метод используется в схеме речевого фильтра кодера.
Другой областью рассмотрения является необходимость хороших частотных и переходных характеристик речевого фильтра. Фильтр Баттерворта имеет самую плоскую амплитуду в полосе пропускания, обеспечивая при этом умеренно высокую начальную скорость спада затухания. Хотя при использовании этих фильтров и происходит фазовый сдвиг с изменением частоты по всей полосе пропускания, он постепенный и не ощутим на слух. Кроме того, этот тип фильтра имеет низкую величину перерегулирования и приемлемую переходную характеристику. Все эти факторы в совокупности обеспечивают низкий уровень искажений сигнала при использовании фильтров такого типа. Типы фильтров верхних и нижних частот, выбранные для использования в кодере, представляют собой активные фильтры третьего порядка, которые демонстрируют резкую скорость среза -18 дБ на октаву за пределами угловой частоты и плоскую частотную характеристику мощности и напряжения с постепенным изменением фазового сдвига поперек группа. Конкретная электронная схема, используемая для реализации фильтров, называется схемой с бесконечным усилением и множественной обратной связью и была выбрана потому, что она предлагает хороший компромисс между сложностью, разбросом значений компонентов и чувствительностью. Каждая секция реализована на половине микросхемы операционного усилителя с двойным входом на полевых транзисторах LM353. Эти устройства имеют очень высокий входной импеданс, высокую скорость нарастания напряжения и чрезвычайно стабильную работу с емкостными нагрузками. Поскольку в фильтр включены два инвертирующих операционных усилителя, конечный результат приближается к нулевому изменению фазы на каскаде.
Выходной сигнал речевого полосового фильтра затем подается на схему модулятора CVSD. По сути, весь активный функционал этого этапа содержится внутри самой ИС, а дискретные компоненты служат для установления конкретных параметров трех областей работы устройства.
Во-первых, мы обнаруживаем, что два кремниевых диода подключены к выводу 12 микросхемы к земле, что устанавливает пороговую точку для входных логических сигналов устройства при напряжении примерно 1,4 В (около двух падений на диоде) над землей для использования с логическими уровнями ТТЛ. или интерфейс RS232 ICS также имеется на плате.
Вторая область рассмотрения — сеть фильтров интегратора слежения. В схеме Talking Box используется однополюсная сеть интегрирующих фильтров, подключенная к усилителю-интегратору локального декодера между контактами 6 и 7 микросхемы. Выход
следящего интегратора, появляющегося на выводе 7, также подключается к одному входу компаратора аналогового сигнала на выводе 2. Использование двухполюсной схемы для этого фильтра может улучшить отношение сигнал/шум на один или два дБ по сравнению с однополюсным. реализация полюса. При желании можно реализовать двухполюсную сеть, обрезав дорожку, соединяющую контакты 2 и 7 в верхней части печатной платы, и перемкнув контакты на стороне проводника подходящим резистором, а затем добавив конденсатор от контакта 2 к земле. . Получение необходимых значений компонентов объясняется в техническом паспорте Motorola 2.
Однако обратите внимание, что показанный и обычно используемый однополюсный фильтр полностью подходит для воспроизведения TouchTone со скоростью передачи данных 32 кбит/с с помощью устройства MC3417.
Последней областью работы модулятора CVSD является сеть слоговых фильтров и определение минимального размера шага интегратора и коэффициента усиления контура для устройства IC. Слоговой фильтр представляет собой простую однополюсную схему нижних частот, состоящую из двух резисторов, обозначенных Rs и Rp, и конденсатора Cs. Обычно конденсатор заряжается последовательно через Rs и Rp. Но когда выходной сигнал совпадения, вывод 11 микросхемы, становится истинным, это эффективно удаляет верхний резистор Rp из пути заряда Cs и, таким образом, увеличивает ток заряда и, в конечном итоге, размер шага интегратора. Резистор Rm служит для определения минимального размера шага интегратора, а значение резистора Rx служит для установления коэффициента усиления контура путем простого линейного преобразования тока в напряжение. Изменение этого соотношения преобразования может привести к значительному увеличению отношения сигнал/шум, но с сопутствующим увеличением сложности электронной схемы. Например, использование устройств с активной схемой для выполнения этой функции может легко привести к получению полезного амплитудного (динамического) диапазона сигнала 50 дБ с соотношением сигнал/шум 30 дБ при работе со скоростью передачи данных 32 кбит/с.
Существует три пути прохождения цифровых сигналов или сигналов логического уровня, связанных с работой микросхемы кодера CVSD. Первый из этих сигналов — это тактовый вход на контакт 14, который обычно обеспечивается схемой тактового генератора, описанной ниже. Второй логический сигнал — это цифровой выход, появляющийся на контакте 9, который представляет собой фактический поток последовательных данных, поступающий от модулятора. Биты данных выводятся из устройства по заднему фронту тактового сигнала, поступающего на вывод 14 микросхемы. Третий и последний логический сигнал — это вход принудительного ожидания (вывод 15 микросхемы) в схему. Когда цифровой выход контакта 9 подключен к контакту 13 микросхемы, как показано, внутри устройства формируется триггер-переключатель, и активация принудительного входного контакта простоя приводит к передаче шаблона незанятого канала из цифровой выход энкодера. Эта функция позволяет легко установить синхронизацию канала передачи данных или вызвать шаблон молчания от кодера.
Итак, изучив детали схемы, составляющей тракт кодера Talking Box, давайте теперь обратим внимание на схему, используемую в тракте декодера. Принципиальная схема всего пути декодера показана на рисунке 6: генератор речи (D/A) кодека CVSD. Как видно из этой диаграммы, путь декодера состоит из трех основных этапов работы: начиная с демодулятора CVSD, за которым следует речевой полосовой фильтр, выходной сигнал которого, наконец, приводит в действие выходной усилитель.
Как было объяснено в разделе о принципах дельта-модуляции, функцию декодера можно рассматривать и понимать как в некоторой степени дополняющую функцию кодера. Неудивительно, что мы можем отметить зеркальное сходство в их соответствующих электронных схемах и значениях компонентов.
Таким образом, в схеме каскада демодулятора CVSD рабочая функция и значение резисторов, обозначенных Rp и Rs, вместе с конденсатором Cs полностью аналогичны рабочей функции и значению тех же маркированных компонентов на рисунке 5, схеме цепи энкодера. схема. Аналогично, резисторы с маркировкой Rx и Rm действуют аналогично тому, как их аналогичные маркированные дополнения в реализации энкодера. Аналогичным образом, даже компоненты, образующие сеть фильтров интегратора декодера для демодулятора CVSD, аналогичны компонентам, находящимся в схеме модулятора. Наконец, логические пороговые уровни для ИС декодера также устанавливаются путем падения напряжения на паре кремниевых диодов, как это делается в ИС кодера.
Однако в тракте декодера есть только два канала цифровых сигналов, связанных со схемой. Имеется тактовый вход, который обычно управляется той же схемой тактового генератора TTL, которая используется для функции кодирования. Этот сигнал подается на вывод 14 микросхемы декодера и синхронизирует биты данных, которые затем по очереди появляются на цифровом входе (вывод 13) в микросхему.
Выходной сигнал каскада демодулятора CVSD, конечно, представляет собой нефильтрованную копию исходного аналогового сигнала, который когда-то был введен в тракт кодера. Затем он применяется к речевому полосовому фильтру тракта декодера, который служит для удаления гранулированного или квантовающего шума, описанного ранее. Аппаратная реализация по существу идентична той, которая используется в тракте кодера, за исключением того, что порядок каскадирования цепей верхних и нижних частот поменялся местами. В фильтре декодера первая цель состоит в том, чтобы максимально удалить шум квантования, поэтому функция нижних частот размещается первой и ближе всего ко входу каскада фильтра (а значит, и к выходу декодера), чтобы максимизировать это. затухание.
После речевого фильтра на пути прохождения сигнала декодера показана третья и последняя схема декодера — выходной усилитель. Как следует из названия, этот каскад усиливает аудиосигнал, выходящий из речевого фильтра. Пара дополнительных кремниевых биполярных транзисторов подключена в качестве буферных устройств для улучшения выходной мощности микросхемы операционного усилителя LF356, используемой в этой схеме. Регулятор усиления (или ВЫХОДНОГО УРОВНЯ) предусмотрен в виде подстроечного потенциометра в цепи обратной связи, но значение резистора, идущего от неинвертирующего входа микросхемы операционного усилителя к земле, также может быть изменено для регулировки диапазона выходного сигнала. уровень. В конечном итоге усиленный сигнал подается через электролитический конденсатор большой емкости на первичную обмотку выходного трансформатора. Сигнал, вырабатываемый во вторичной обмотке, становится конечным выходом тракта декодера, что завершает описание этой части электронных схем.
Как упоминалось ранее, в дополнение к только что описанным схемам тракта кодера и декодера, другим основным элементом схемы Talking Box является тактовый генератор, используемый для управления синхронизацией этих первых двух. Принципиальная схема этой схемы показана на рисунке 7: Схема тактового генератора TTL с выбираемой частотой. Как можно видеть, эта схема по существу состоит из кварцевого генератора, управляющего программируемой цепочкой делителя, модуль деления которого определяется значением, установленным на соответствующем DIP-переключателе. Таким образом, программируемый делитель очень легко конфигурируется для широкого диапазона тактовых частот данных, и фактически, для обеспечения гибкости, эта тактовая частота может быть организована таким образом, чтобы ее можно было выбирать соответствующим компьютером через соединительный интерфейс.
Последними компонентами электронной схемы на печатной плате являются опорные элементы, состоящие из стабилизаторов положительного и отрицательного напряжения и микросхем преобразователя уровня RS232, используемых компьютерным интерфейсом. Схематический рисунок, включающий эти части, показан на рисунке B, схеме схем интерфейса RS232 и регуляторов напряжения.
Итак, увидев, как работают дельта-модуляторы в целом, а затем, как работает этот модулятор в частности, давайте теперь посмотрим, как реальное оборудование реализовано и физически сконструировано.
Только что описанная электронная схема размещена на одной двусторонней печатной плате. Одна сторона этой платы в основном используется в качестве заземления, что позволяет размещать и смешивать цифровые и аналоговые схемы. Позитивное изображение дорожек схемы на обеих сторонах печатной платы показано на рисунке 9, схема печатной платы кодека CVSD. Обратите внимание, что хотя карта является двусторонней или имеет проводящие пути как на передней, так и на задней стороне платы, ее компоновка такова, что не требуется использование сквозных или проводящих отверстий для соединения двух сторон. Разумеется, это сделано для того, чтобы экспериментатор мог легко и недорого дублировать печатную плату, предложенную для использования в проекте. Готовые печатные платы с металлизированными сквозными отверстиями и кинокопии иллюстраций доступны, как показано в списке деталей.
Обратите внимание, что цели выравнивания предусмотрены на периферийных участках по бокам как передней, так и задней схемы схемы. Во-первых, поднимите это изображение как изображение на пленке для каждой стороны (обычно в виде негатива), обязательно включив эти цели в каждом случае. Затем, используя эти мишени, совместите переднее и заднее изображения пленки друг с другом и прикрепите их друг к другу. Теперь пробейте три отдельных регистрационных отверстия в обоих листах пленки одновременно с помощью круглого дырокола для бумаги. Будьте осторожны, пробивая место за пределами графического изображения схемы. Наличие этих регистрационных отверстий позволит затем совместить передний и задний листы пленки друг с другом с помощью подходящих штифтов, вставленных через эти отверстия, в то время как обнажаемый кусок материала печатной платы помещается между ними в виде сэндвича, например способом, тем самым обеспечивая легкую регистрацию двух сторон печатной платы спереди назад. Такие регистрационные штифты точного размера коммерчески доступны в фирмах по производству печатных плат, но опыт показывает, что для этой цели хорошо подойдет карандаш или дюбель, вырезанный по размеру, если что-то вроде предварительно отформованного стержня подходящего размера недоступно. Размер сверла № 68 достаточен для большинства поддерживаемых отверстий, т. е. тех, через которые проходит вывод компонента. Исключением являются монтажные отверстия регулятора под номером 37 и монтажные отверстия разъема фонокорректора диаметром 3/16 дюйма.
На двух схемах показаны детали монтажа и сборки печатной платы. Первый из них, рисунок 10, схема сборки компонентов печатной платы кодека CVSD, показывает расположение деталей при их установке и пайке на плате, а также показывает расположение различных отмеченных точек на схемах, некоторые из них эти помеченные места цепей служат соединениями для использования в качестве контрольных точек, в то время как другие позволяют подключать различные варианты конфигурации.
Вторая диаграмма. На рис. 11, схема расположения Z-проводов на печатной плате кодека CVSD, подробно показано расположение отверстий на печатной плате, которые необходимо припаять на верхней стороне карты или на стороне компонента. Обратите внимание, что этот шаг необходим только в том случае, если на плате нет сквозных отверстий и плата, показанная в списке деталей, имеет такие отверстия. Если в этом месте отверстия находится вывод компонента, припаяйте его с обеих сторон платы. Если через это отверстие нет вывода компонента, пропустите провод через отверстие и зажим и припаяйте его к плате с обеих сторон. Этот метод создания проводящего переходного отверстия или пути от одной стороны печатной платы к другой часто называют «Z-проводом» из-за грубого внешнего вида перемычки для этой буквы, отсюда и название рисунка 11. Обратите внимание, что ни один из отверстия, которые, таким образом, должны быть припаяны на стороне проводника печатной платы, являются глухими, т.е. недоступными при установленных компонентах. Это позволяет легко собрать схему проекта с помощью самодельной печатной платы, не требующей сквозных металлизированных отверстий и очень небольшого количества перемычек.
Сам разъем RS232 должен иметь верхний ряд контактов, то есть номера с первого по тринадцатый, припаянный на верхней стороне платы, а нижний ряд, контакты с двенадцатого по двадцать пятый, должен быть припаян к обратная сторона платы.
Теперь, когда мы рассмотрели электронные принципы работы CVSD и то, как физически устроена печатная плата проекта, следующая область, которую мы рассмотрим, — это программное обеспечение, необходимое для сопряжения устройства с соответствующим компьютером.
Как упоминалось во введении, Talking Box по сути выглядит как модем, синхронизирующийся с подключенным поддерживающим компьютером. На данный момент мы описали пять путей цифровых сигналов в схему проекта и из нее. Разумеется, это были два пути данных: один к декодеру, другой от кодера; два связанных тактовых сигнала; и вход принудительного холостого хода в кодер. Некоторые другие дополнительные сигналы физического интерфейса описаны в следующем разделе примеров приложений. Однако, поскольку последующие пояснения касаются только программных аспектов самой операции обмена данными, предполагается, что только эти пять сигнальных линий подключены к последовательному порту ввода-вывода на соответствующем компьютере и от него. Аппаратные особенности этого соединения подробно показаны на рисунке 12 «Схема подключения устройства SIO для использования платы CVSD».
В ходе последующего обсуждения мы будем обращаться к программным процедурам, показанным в листинге 1 и озаглавленным «Программа драйвера CVSD». Этот список программ содержит как модуль подпрограмм, необходимых для управления устройством последовательного ввода-вывода, совместимым с Intel 8251, т. е. USART, так и модуль, необходимый для управления устройством последовательного ввода-вывода, совместимым с Zilog SIO. При соответствующем выборе модуля драйвера любое из этих устройств может легко работать в синхронном режиме, соответствующем требованиям Talking Box. Исходный код полностью написан на языке ассемблера Intel 8080, а выбор использования модулей осуществляется с помощью операторов равенства.
Модули драйверов программного обеспечения USART и SIO содержат по четыре основные процедуры или точки входа, которые напрямую связаны с обменом данными компьютера с кодером/декодером. Этими четырьмя точками входа являются процедура INUART, процедуры SERIN и SEROUT и процедура GETSYNC.
Перед первым использованием для передачи данных в любом направлении пользователь должен сначала инициализировать или программно настроить само устройство последовательного ввода-вывода для работы в синхронном режиме. Это достигается вызовом подпрограммы, помеченной как INUART. В любом модуле эта последовательность команд по существу служит для загрузки регистров управления устройства ввода-вывода, чтобы мы заставили его работать с восьмибитными (байтовыми) символами данных без добавления бита четности и чтобы оно использовало один символ в качестве шаблона для шаблона, который должен соответствовать последовательному битовому потоку (часто называемый символом SYNC), чтобы предположить, что произошла синхронизация на границе символа (так называемое обнаружение синхронизации).
Обратите внимание, что в большинстве синхронных коммуникаций отсутствуют биты кадрирования символов, такие как стартовые и стоповые биты, знакомые для асинхронных или символьно-ориентированных протоколов последовательной связи. вместо этого каждый бит, образующий символ, в свою очередь передается в последовательное устройство или из него с помощью сигнала синхронизации, представленного на отдельном канале сигнального соединителя, а границы символа определяются путем отсчета соответствующим образом определенного количества битов на символ от тактового входного сигнала. битовый поток. Большинство «настоящих» или синхронных телефонных модемов приложений передачи данных отправляют и получают символы данных блоками с паузами между этими передачами для периодической ресинхронизации потока данных и для обеспечения таких вещей, как проверка ошибок содержимого каждого блока. По очевидным причинам синхронные методы часто называют протоколами последовательной связи, ориентированными на сообщения.
После инициализации и ввода в эксплуатацию устройства SIO или USART ими обоими по-прежнему относительно легко управлять с помощью программного обеспечения. В обоих случаях процедуры SERIN (получение символа из порта) и SEROUT (вывод символа в порт) такие же, как и в простом асинхронном приложении. Таким образом, процедуры ввода и вывода символов включают только циклическую проверку уровня битов в байте состояния, который неоднократно считывается из устройства ввода-вывода, чтобы определить, готов ли символ к принятию или доставке. Когда этот тест наконец удовлетворен, сам символ фактически считывается или записывается в последовательный порт, прежде чем процедура завершается с возвратом к вызывающей стороне.
Оставшаяся процедура драйвера помечена как GETSYNC. И снова процедура выполняет практически одну и ту же функцию для любого выбора устройства ввода-вывода. Эта точка входа обычно вызывается в начале цикла записи, чтобы фактически начать ввод аудиоданных из кодера. В этой задаче процедура сначала служит для поддержания истинного входного сигнала принудительного простоя, подаваемого на кодер, тем самым заставляя кодер генерировать ту же самую выходную последовательность чередующихся битов из одного нуля, которая представляет тишину, до тех пор, пока устройство последовательного ввода-вывода не обнаружит строку такие биты соответствуют синхронизирующему символу. Когда проверка на наличие этого символа удовлетворена, линия сигнала принудительного простоя немедленно возвращает значение «ложь», позволяя кодировщику начать отправку аудиоданных в последовательный порт, который затем настраивается на прием этих данных, прежде чем процедура будет окончательно завершена. Обратите внимание, что для некоторых приложений значение этого используемого битового шаблона, то есть символ синхронизации, может быть изменено, чтобы затем разрешить начало записи звука, например, при аппаратном обнаружении совпадающей последовательности, соответствующей определенному месту в форме сигнала.
Эти четыре примитивные процедуры драйвера оборудования вызываются прикладной программой для выполнения задачи физической передачи аудиоданных в компьютер и из него. В следующем разделе приведены некоторые примеры приложений, использующих эти процедуры с помощью проектной платы и вспомогательного компьютера.
Демонстрационная программа Talking Box, используемая автором, использует эти только что описанные процедуры драйвера и позволяет выборочно выполнять задачи из меню команд, показанного на рисунке 13, меню команд демонстрационной программы печатной платы кодека CVSD. Программа работает под управлением операционной системы CP/M и была протестирована как на микрокомпьютерной системе 8080 (доморощенная), так и на базе Z80 (Televideo TS802H). Исходный код ассемблера для этой программы показан в листинге 2 — демонстрационная программа печатной платы кодека CVSD. [-необязательное включение]
Как видно из этой таблицы команд, программа настроена так, чтобы позволить оператору записывать и воспроизводить звук либо с локальной пары микрофона и динамика, либо с телефонной линии. Схема межсоединения, используемая для подключения демонстрационной программы и компьютера с Talking Box к коммутируемой телефонной сети, основана на устройстве, называемом устройством доступа к данным или DAA. Конкретное устройство, используемое автором, представляет собой более старый (1976 года выпуска) соединитель данных Bell Telephone Type 1001F, хотя более новые зарегистрированные в соответствии с FCC Part 68 гибридные модули, которые дублируют его функцию DAA, можно приобрести менее чем за двадцать долларов у таких фирм, как Cermetek (CH1810). Защитный гибрид с прямым подключением или DCPH, см. ссылки). Эти модули обеспечивают идентичные функциональные соединения, но они значительно меньше по размеру и значительно улучшены в удобстве использования, поскольку предназначены для установки внутри устройства, а не висят на стене в отдельном корпусе! Обратите внимание, что модули DCPH используют пути прохождения сигналов логического уровня CMOS, тогда как DAA предъявляет требования к уровню сигнала RS232. Либо DAA, либо DCPH могут указывать на то, что телефон звонит, и позволять компьютеру контролировать состояние положенной/снятой трубки устройства (или ответа/повесить трубку), а также управлять его применением или приемом звука на телефонную линию и обратно. Оба обеспечивают так называемый таймер задержки биллинга, защиту от перегрузки сигнала, изоляцию линии, а также защиту и возможность захвата и импульсного набора телефонной линии, т.е. совершения вызова. Физическая проводка, используемая для подключения DAA или DPCH и Talking Box к главному компьютеру, показана на рис. 14. Схема подключения платы CVSD и DAA к компьютеру.
В дополнение к тому, что компьютер позволяет записывать и воспроизводить звук как локально, так и с телефона, демонстрационная программа предоставляет процедуры для отображения и изменения содержимого области памяти, которая представляет аудиосигнал, чтобы очистить все это до некоторого предустановленного (SYNC) символа. значение, а также сохранять или загружать содержимое этой аудиопамяти с системных дисков хост-компьютера. Это также позволяет инициализировать последовательный порт ввода-вывода, используемый проектом, изменить значение символа SYNC и установить высокий или низкий уровень определяемого пользователем выходного сигнала управления (называемого битом флага). Этот выходной сигнал может использоваться для выбора из пары последовательных тактовых частот кодирования/декодирования под управлением компьютера, как показано на рисунках 7 и 8. Наконец, программа также обеспечивает синхронизирующий импульсный сигнал, который выводится в начале каждого цикла воспроизведения. чтобы учесть такие вещи, как запуск дисплея осциллографа.
Очевидно, что программа и некоторые ее подпрограммы могут стать основой для ряда полезных приложений устройства. Некоторые из многочисленных функций, которые система проекта может выполнять немедленно, включают ее использование в качестве компьютеризированной электронной системы передачи аудиосообщений или автоответчика, ее использование для извлечения и воспроизведения аллофонов (или примеров фонем, зависящих от говорящего) в качестве выборки данных из сохраненной речи, а также его использование для хранения и последующего отображения (на осциллографе) таких вещей, как аллофоны или переходные сигналы звуковой частоты, для анализа, а также его использование для хранения целых слов или утверждений на диске для последующего воспроизведения.
Таким образом, мы видим, что Talking Box — это простой в создании и использовании проект для оцифровки и воспроизведения речи или других аудиосигналов с помощью компьютера.
Автору особенно хотелось бы поблагодарить господ У.Х. Керра, Е.П. Норвуда и К.П. Куинна за их неоценимую поддержку и вклад в реализацию этого проекта.
На этом завершается статья, купленная журналом «Радиоэлектроника». Ниже приведена копия таблицы данных кодека CVSD от Motorola. Этот документ очень интересен и информативен.
Надеюсь, вы нашли какую-то полезность или интерес в нашей таблице, представленной выше. ☺ Серьезно, комментарии, критика и предложения всегда приветствуются. Да благословит всех Бог.