Современный автоответчик на базе ARM
Наступило время автоответчиков нового поколения. Не будет больше ни трудноузнаваемых голосов, ни проблем с нехваткой памяти. Новая разработка Бернара Деббаша с выходом в Интернет является идеальным решением для дома и офиса. Она основана на микроконтроллере LPC2138 производства NXP Semiconductors.
Некоторое время назад я купил телефонный автоответчик последней модели. Несмотря на то, что это была привлекательная известная марка, сразу же после его подключения я столкнулся с рядом проблем. Во-первых, для экономии памяти сообщений в аппарате использовался такой сильный алгоритм сжатия, что качество записанного сообщения было отвратительным. Во-вторых, в аппарате в качестве интерфейса пользователя было использовано громоздкое голосовое меню. Я мог прослушивать сообщения удаленно, но мне приходилось разбираться с жуткими голосовыми приветствиями. В-третьих, конфигурация аппарата сохранялась только при питании от свежей 9-вольтовой батареи. И в заключение, я обнаружил, что объем памяти автоответчика чрезмерно мал.
Для решения всех этих проблем я сконструировал ТАМТАМ — телефонный автоответчик «Открытый дом». Я не стал заменять неудачный интерфейс исходного автоответчика на лучший. Я
решил проблему в целом, отредактировав файл конфигурации в компьютере, описывающий программы работы с экраном, клавиатурой и текстом. Этот файл хранится в карте флэш-памяти, в которую к тому же записываются входящие сообщения. Система запускает небольшой веб-сервер, который выводит список непро-слушанных сообщений. Я могу прослушивать сообщения через Интернет.
В этой статье я объясню, как построить подобную систему автоответа на микроконтроллере NXP Semiconductors LPC2138. Прежде чем описывать схемотехнику, давайте рассмотрим основные режимы работы системы.
РЕЖИМЫ РАБОТЫ
Я изготовил систему ТАМТАМ, показанную на рис. 1, для семьи Смит. Имея только четыре основных режима работы, разработать систему можно было бы довольно легко.
В режиме ожидания система ждет телефонный звонок. Программа определения сигналов звонка достаточно усовершенствована, чтобы отклонять короткие сигналы и тоны другой частоты. Все параметры извлекаются из ядра программы. Неизвестные номера игнорируются программой.
При обнаружении первого импульса вызова система переходит в режим Интеллектуального Автоответчика (см. рис. 2). В начале активируется программа определения номера звонящего абонента. Программа обработки прерываний (ISR) управляет процессом демодуляции сигнала, программой ра-
боты с универсальным асинхронным приемопередатчиком (UART) и подсчетом контрольной суммы. Фоновая задача ожидает завершения процесса детектирования. Блокировка по превышению лимита времени позволяет прервать операцию в случае неудачного детектирования или несовпадения контрольной суммы. После предварительно запрограммированного количества звонков система снимает трубку. Еще один важный этап касается правильного подсчета звонков. Звонки от одного або-
Первый приемопередатчик FlexRay
Компания NXP, бывшая Philips Semiconductors, объявила о начале серийного производства первого в мире приемопередатчика стандарта FlexRay, TJA1080. Данная микросхема вместе с отказоустойчивой системой NXP используется сейчас в BMW Х5, первом серийно производимом автомобиле, оснащенном системой FlexRay.
TJA1080 совместим с широкой номенклатурой микроконтроллеров, включая семейство NXP SJA25xx, что обеспечивает интегрированное решение для FlexRay-приложений. В настоящий момент NXP — единс-твенныфй поставщик полупроводников, который может предложить законченное системное решение для FlexRay-приложений, состоящее из микроконтроллеров и приемопередатчиков.
TJA1080 может быть сконфигурирован как узловой приемопередатчик или как приемопередатчик схемы «активная звезда». В результате появилась возможность простой и быстрой разработки полной FlexRay-сети с устойчивой связью без электромагнитных помех, с функцией диагностики ошибок и механизмами защиты. Разработка приемопередатчика TJA1080 — результат сотрудничества NXP с ключевыми участниками консорциума FlexRay. Основателями консорциума и разработчиками спецификации стандарта стали NXP и корпорация BMW.
нента, раздавшиеся сначала в понедельник, а затем — во вторник, считаются за два звонка!
После снятия трубки автоответчик воспроизводит первый звуковой WAV-файл: «Привет, это семья Смит. Пожалуйста, нажмите 1, если вам нужен Джим, 2 — для Джулии, 3 — для детей, 0 — для общего сообщения». Эта фраза предлагает звонящему послать тональный сигнал, чтобы направить сообщение соответствующему виртуальному автоответчику. Если тональная посылка не определена, то через некоторое запрограммированное время воспроизводится общее сообщение. В противном случае может быть вызвано спе-
циальное сообщение. Если абонент нажимает кнопку 2, система воспроизводит запись Джулии: « Привет, это Джулия. Сейчас я в гостях у мамы. Пожалуйста, оставьте сообщение».
|