Микропроцессоры и микроконтроллеры

 
 
 
«Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.»
Brian W. Kernighan.
Русский | Українська


Микропроцессоры и микроконтроллеры :: Статьи :: Современный автоответчик на базе ARM

Современный автоответчик на базе 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, система воспроизводит запись Джулии: « Привет, это Джулия. Сейчас я в гостях у мамы. Пожалуйста, оставьте сообщение».