Н. Абкаиров SDK для телефонии: Среда для быстрого создания устройств VoIP, обработки речи и передачи данныхВ статье рассматривается Пакет алгоритмов телефонии, разработанный фирмой SPIRIT Corp., содержащий библиотеку алгоритмов сигнализации (DTMF, CPTD, АОН), обработки речи (вокодеры, эхоподавители, VAD, CNG, АРУ), передачи данных и факсимильных изображений и объединяющую их среду (Framework). Также описывается специализированный телефонный процессор ЦОС TMS320C54CST, содержащий большую часть этого Пакета во внутреннем масочном ПЗУ. Описывается применение этого пакета в различных устройствах связи, телеметрии, VoIP и системах компьютерной телефонии. Введение С целью сокращения времени разработки и стоимости разрабатываемого устройства, инженеры вс╦ чаще стараются применить как можно более интегрированные решения. Описываемые в данной статье Пакет алгоритмов телефонии CST (Client Side Telephony - абонентская телефония) и специализированный телефонный DSP-процессор TMS320C54CST были разработаны как раз в свете этой тенденции, для облегчения создания различных устройств связи, VoIP и систем компьютерной телефонии. Пакет CST был разработан в Центре Цифровой Обработки Сигналов фирмы SPIRIT Corp. и состоит из библиотеки алгоритмов сигнализации (DTMF, CPTD, АОН), обработки речи (кодек ADPCM, вокодеры, линейный и акустический эхоподавитель, VAD, CNG, АРУ), передачи данных (модемы по Рекомендациям МСЭ-Т V.32bis/V.22bis), передачи факсимильных изображений и объединяющей их среды (Framework). Пакет существует полностью на языке С, а также перенес╦н на сигнальные процессоры серии TMS320C54x и TMS320C55x. Наибольший интерес представляет его использование на специализированном сигнальном процессоре фирмы Texas Instruments TMS320C54CST, во внутреннем масочном ПЗУ которого содержится большая часть этого пакета. Привлекательность данного сигнального процессора состоит в следующем:
Особенный интерес данная статья может представлять для инженеров, проектирующих мини-АТС со встроенной VoIP-функциональностью, а также удал╦нные или независимые устройства (различного рода датчики, сч╦тные аппараты, контрольно-кассовые терминалы, специализированные телефонные аппараты), в которые необходимо реализовать функции передачи данных по телефонному каналу, обработки речи (запись, воспроизведение, сжатие) и обработки различных сигналов телефонной сигнализации. Описание Пакета CST Пакет алгоритмов телефонии CST состоит из набора XDAIS-совместимых объектов (XDAIS - TMS320 DSP Algorithm Standard) и специальной среды (CST Framework), которая объединяет эти объекты и обеспечивает унифицированный доступ ко всем ним. В Пакет включены следующие компоненты:
Все эти компоненты объединены вместе с помощью специальной телефонной среды CST (CST Framework), которая состоит из следующих частей:
Телефонная среда состоит из нескольких управляющих уровней, как показано на рис. 1. Такая многоуровневая архитектура позволяет пользователю управлять CST на том уровне абстракции, которые наиболее удобен для него и в плане гибкости управления, и в плане скорости написания приложения:
Рисунок 1. Управляющие уровни в телефонной среде Среда также включает три компонента из специализированной среды RF3 фирмы Texas Instruments - ALGRF, LIO и CSL - и таким образом поддерживает самые последние стандарты на DSP-ориентированные среды. Вкратце, ALGRF - это среда для работы с XDAIS-объектами (их создание и удаление); LIO (Low-level I/O) - низкоуровневый интерфейс драйверов; и CSL (Chip Support Library) - библиотека макросов и определений для платформенно-независимого (внутри серии DSP С5000) управления периферией DSP. Более подробная информация об этих компонентах RF3 находится на сайте TI www.ti.com/rf5nf. Среда предоставляет пользователю возможность анализировать потоки событий и данных, проходящие между управляющими уровнями и драйверами. Пример такого CST-анализатора сделан в виде плагина для Code Composer Studio и показан на рис. 2. Плагин получает данные от CST-среды, работающей в DSP, в режиме реального времени по каналу RTDX (через JTAG). Рисунок 2. Визуализация потоков событий и данных в CST-среде Такая открытая телефонная среда позволяет существенно сократить время разработки телефонных приложений, построенных на е╦ основе, а также повышает их переносимость, потому что приложение пользователя управляет алгоритмами телефонии на достаточно высоком уровне абстракции, близким для разных DSP-платформ. Кроме этого, для процессора C54CST, у которого весь код среды находится уже во внутреннем ПЗУ, использование среды позволяет существенно сократить размер кода пользователя в ОЗУ. Реализация CST на процессоре TMS320C54CST Специализированный процессор DSP фирмы Texas Instruments TMS320C54CST представляет собой процессор серии C54x, на кристалле которого интегрированы асинхронный последовательный порт УАПП типа 16С550 и цифровая часть DAA, совместимая с микросхемой безтрансформаторной развязки фирмы Silicon Labs (рис. 3). Рисунок 3. Обзор процессора ЦОС с Пакетом CST Кроме 40 Кслов внутреннего ОЗУ, в н╦м также есть 128 Кслов внутреннего ПЗУ, в котором запрограммирована упрощ╦нная версия Пакета алгоритмов телефонии, разработанного фирмой Spirit Corp. (рис. 4). Рисунок 4. Обзор пакета CST Дополнительно, пут╦м загрузки очень небольшого по размеру добавочного кода в C54CST, на этом чипе можно эффективно использовать следующие алгоритмы:
Для реализации интерфейса с телефонной линией цифровая часть DAA, находящаяся внутри процессора CST, должна быть подключена к аналоговой части DAA - микросхеме Si3016 фирмы Silicon Labs. Такое включение обеспечивает для CST гальваническую развязку с телефонной линией. Со стороны интерфейса с внешним хост-контроллером, процессор CST подключается к ПК или к контроллеру на основе ЦПУ через последовательный асинхронный порт RS232 (рис. 5). Контроллер управляет процессором CST через набор АТ-команд как в режиме модема, так и в голосовом режиме. При этом процессор CST не нуждается во внешнем ОЗУ или других каких-либо внешних элементах, чтобы выполнять функции Пакета CST. Рисунок 5. Типовая схема использования процессора с Пакетом CST В то же время, у пользователя есть возможность загрузить свой программный код во внутреннее ОЗУ этого процессора и использовать CST-решение внутри TMS320C54CST через один из вышеописанных уровней интерфейса, при этом отпадает необходимость использовать внешний контроллер или ПК, что позволяет делать очень компактные решения на основе этого процессора для самостоятельных устройств. Процессор CST имеет два основных режима работы - Независимый (Chipset) и Программируемый (Flex). В Независимом режиме CST-решение полностью владеет процессором ЦОС и управляется только снаружи через последовательный порт посредством AT-команд. В этом режиме процессор CST можно использовать как обычный модем для передачи данных с голосовыми функциями, включая полнодуплексный режим (вся функциональность CST-решения доступна через АТ-команды). В Программируемом режиме программный код пользователя загружается внутрь процессора DSP и использует Пакет CST в ПЗУ через один из интерфейсных уровней, описанных выше. В этом режиме пользователь получает более гибкий доступ ко всей функциональности CST-решения и возможность создавать свои собственные приложения для телефонии, используя только процессор CST, без внешнего контроллера (код пользователя может загружаться, например, из внешнего ПЗУ). Применение Описываемый Пакет CST имеет следующие области применения:
Тот факт, что все компоненты этого решения имеют стандартизированный интерфейс и являются XDAIS-совместимыми, а также наличие специальной среды, объединяющей все компоненты и представляющей несколько уровней доступа к ним, существенно облегчает процесс интеграции и использования этих алгоритмов пользователем. Как уже было упомянуто выше, привлекательно использование Пакета CST на основе специализированного DSP TMS320C54CST, во внутреннем ПЗУ которого запрограммирована большая часть этого решения. При этом для создания полной рабочей системы необходимо минимальное количество внешних элементов, и если пользователю недостаточно функциональности, которая заложена во внутрикристальном ПЗУ, он может добавить недостающие части, загрузив свой программный код. Важно отметить два фактора, существенно уменьшающих стоимость разработки устройств на основе DSP-процессора TMS320C54CST:
Рассмотрим подробнее реализацию одного из наиболее популярных приложений на основе Пакета CST - VoIP-телефона с громкой связью и с возможностью удал╦нного подключения к сети по модему. Это приложение использует многие алгоритмы в CST, и при этом полностью помещается во внутреннем ОЗУ процессора C54CST (если сетевой стек TCP/IP и протокол SIP находятся на хосте). Структурная схема такого приложения показана на рис. 6. Рисунок 6. Структурная схема VoIP-телефона с громкой связью К процессору подключены следующие периферийные устройства:
Общая стоимость электронных компонентов для этого устройства не превышает $20, что очень хорошо для таких устройств. Подобное решение было также реализовано на других процессорах серии С54хх, в частности, на автономном контроллере ЦОС TORNADO - E5416 компании МикроЛАБ Системс (www.mlabsys.com), с использование дочернего модуля расширения T/SDAS-ATEL2 для аудио ввода/вывода. Платы TORNADO представляют собой "конструктор ЦОС", так как средства ввода/вывода сигналов и скан-эмуляции процессоров TMS320 конструктивно выполнены в виде дочерних модулей, которые устанавливаются на разъ╦мы интерфейсов расширения на этих платах. Такая модульная архитектура "конструктора ЦОС" позволяет оперативно менять или добавлять новые модули ввода/вывода сигналов, быстро менять системы TORNADO с различными процессорами ЦОС и легко переходить к автономной аппаратуре ЦОС. Для подключения к хосту в данном случае использовался универсальный контроллер ввода/вывода на автономном контроллере ЦОС TORNADO-E5416, настроенный на работу в режиме RS-232. Важно отметить, что для правильной работы акустического эхоподавителя крайне критично, чтобы аудиокодек обладал малым уровнем нелинейных искажений и высокой стабильностью частоты дискретизации, и кодек в дочернем модуле Микролаб обладает исключительно хорошими характеристиками в этом плане. Удобно также, что по одному каналу стереокодека дочерней платы может быть подключен микрофон и динамик, а по другому - телефонный канал через специальный адаптер, что как раз подходит для описываемого приложения. Заключение Описанный Пакет CST и среда CST дают инженеру готовый SDK для быстрой и эффективной по стоимости разработки телефонных приложений, особенно при использовании CST-среды и специализированного DSP телефонии TMS320C54CST. Средства разработки для этого пакета продолжают развиваться. В частности, ид╦т работа над созданием визуальной среды конфигурации этого пакета и перенос пакета на другие платформы. Подробнее о пакете алгоритмов телефонии можно узнать по адресу www.spiritcorp.com/CST. Список сокращений, использованных в статье:
|
Ваш комментарий к статье | ||||