Компьютерная система оповещения абонентов телефонной сети » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки Написать нам
Опрос

Какими микроконтроллерами вы чаще всего пользуетесь


PIC10
PIC12
PIC16
PIC18
PIC24
PIC32
Другими


Последние материалы
  • Каршеринг в Москве - это Просто, Удобно и Недорого.
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Программирование на C микроконтроллеров PIC24
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Популярные материалы
    Случайная книга
    Программирование устройств на PIC микроконтроллерах » Схемотехника » Компьютер » Компьютерная система оповещения абонентов телефонной сети
    Компьютерная система оповещения абонентов телефонной сети
    Автор публикации: alex Просмотров: 4768 Добавлен: 20-08-2012, 22:37 Комментарии: 0

         Создание автоматизированной системы оповещения абонентов по телефону (например, об имеющейся у них задолженности), организация телефонной справочной службы или службы точного времени значительно облегчается, если встроить в компьютер описанный в статье блок из восьми речевых модулей. Каждый из модулей хранит набор записей звуковых фрагментов общей продолжительностью до 16 мин и может независимо от других по командам компьютера дозваниваться до абонентов и передавать им составленные из этих фрагментов речевые сообщения. Предусмотрена также возможность приема и декодирования посылок DTMF.
         Каждый из восьми используемых в системе речевых модулей построен на микросхеме ISD4004-16M — так называемом чипкордере [1—3] — и на управляющем его работой микроконтроллере PIC16F877A. Модули подключены к телефонным линиям Чтобы иметь возможность определить момент снятия трубки абонентом, линии должны быть "таксофонными", в которых это событие сопровождается переменой полярности постоянного линейного напряжения.

         Модуль принимает команды компьютера и дает на них ответы по интерфейсу RS-232, причем на каждом отрезке времени обмен информацией происходит только с одним модулем, выбранным соответствующей командой. Система команд модуля и порядок их подачи описаны в приложении к статье. Это дает возможность при необходимости разрабатывать собственные программы управления модулем.
         К статье прилагаются три программы для компьютера, к которому подключен блок из восьми модулей и соответственно, восемь телефонных линий. Программы разработаны с помощью среды программирования Visual C++ 6.0.
         Proz.exe — управляющий компьютер сообщает каждому речевому модулю номер телефона должника и сумму долга Модуль набирает номер (тональным способом) и, зафиксировав снятие трубки абонентом, передает ему сообщение о наличии задолженности и ее сумме Если линия абонента занята, звонок отменяется. Компьютер формирует списки оповещенных и неоповещенных должников. Окно программы — на рис. 1.
         lnform.exe — эта программа имеет два режима работы. В режиме автоинформатора по каждому входящему звонку в линию передается одно и то же предварительно записанное в чипкордер сообщение В режиме службы времени абоненту сообщается текущее время на двух языках. Компьютер собирает статистику звонков, с его помощью можно откорректировать передаваемое время. Окно программы — на рис. 2.
         DemoDTMF.exe — по входящему звонку модуль подключается к телефонной линии и принимает DTMF-коды, соответствующие нажимаемым абонентом на своем телефонном аппарате клавишам Эта программа — демонстрационная, ее окно показано на рис. 3.

         В программах предусмотрена возможность записи звуковых фрагментов из файлов, находящихся на диске С компьютера, в речевые модули и их контрольного прослушивания по телефонной линии. Порядок работы с программами описан в приложении к статье

         Схема речевого модуля изображена на рис. 4. Работу всех трех компьютерных программ обеспечивает одна и та же программа, загруженная в микроконтроллер DD1. Она разработана в среде MPLAB. Для декодирования DTMF использован алгоритм, подобный описанному в [4]. Приложенный к статье файл AVTINF2.HEX содержит все необходимое для программирования микроконтроллера: коды для записи в его FLASH-пaмять, в EEPROM и в ячейки конфигурации. Для их загрузки в микроконтроллер можно воспользоваться программой PonyProg.
    Компьютерная система оповещения абонентов телефонной сети

         Связь модуля с телефонной линией, подключаемой к разъему Х2, организована через развязывающий трансформатор Т1 Поступающие из линии сигналы "Занято" и посылки DTMF "оцифровывает" для дальнейшей обработки программой микроконтроллера компаратор напряжения DA1. Его порог срабатывания равен падению напряжения на резисторе R17, а выход соединен с входом RD7 микроконтроллера. Светодиод HL9 — стабилизатор напряжения постоянного смещения входов компаратора На транзисторе VT1 собран усилитель звуковых сигналов, поступающих с выхода чипкордера DA3. Для питания чипкордера напряжением +3 В предусмотрен интегральный стабилизатор DA2.
         Оптроны U1 и U2 предназначены для контроля направления протекающего в телефонной линии тока. Это необходимо для анализа состояния линии, обнаружения входящих звонков и факта снятия трубки абонентом. Поскольку излучающие диоды оптронов включены в линию разнополярно, то в зависимости от направления линейного тока открывается фототранзистор лишь одного оптрона и на входах RD2 и RD3 микроконтроллера устанавливаются соответствующие уровни.

         Реле К1 переключается сигналом, формируемым микроконтроллером на выходе RD6 и усиленным транзистором VT2. Светодиод НПО обеспечивает индикацию срабатывания реле — "снятия трубки" модулем. Конденсатор С6 замыкает телефонную линию по переменному току, когда трубка не снята. При сработавшем реле контакты К1 1 и К1.2 подключают к линии обмотку трансформатора Т1, в результате чего линия замыкается по постоянному току и аппаратура АТС фиксирует снятие трубки
         Для индикации работы модуля предназначены светодиоды HL1—HL8 Адрес (0—7), по которому к модулю обращается компьютер задают DlP-nepeключателем S1. Выход RA4, выполненный в микроконтроллере по схеме с открытым стоком, нагружен резистором R9 Низкий уровень на этом выходе свидетельствует о том. что модуль находится в режиме обмена информацией с компьютером по последовательному интерфейсу. При подаче на вход RA5 напряжения низкого логического уровня возможность установления связи компьютера с модулем блокируется. Он не реагирует на приходящие на вход RC7 (RX) команды и не дает ответов на них на выходе RC6 (ТХ) Пока связь заблокирована, выводы REO—RE2 микроконтроллера настроены как входы После снятия блокировки и активизации связи командой компьютера эти выводы переходят в режим выходов, на них выводится код адреса, заданный переключателем S1
         Модуль собран на двусторонней печатной плате, вид которой со стороны пайки изображен на рис. 5, со стороны установки элементов — на рис. 6, а расположение элементов на ней — на рис. 7. Плата изготовлена промышленным способом с металлизацией отверстий. Если металлизировать их нет возможности, во все переходные отверстия следует вставить и пропаять с двух сторон короткие отрезки медного провода Выводы деталей, печатные проводники к которым подходят на обеих сторонах платы, в этом случае также пропаивают с двух сторон.

         Обратите внимание, что вилка Х1 (ГРПМ1-45Ш) установлена с обратной показанной на рис. 7 стороны платы. С той же стороны установлен диод VD1 — он припаян к выводам обмотки реле К1 (HLS-4078-DC5V или другое с двумя группами контактов на переключение и рабочим напряжением обмотки 5 В) Для устранения помех в звуковых сигналах, формируемых чипкордером DA3, рекомендуется его выводы 11, 12 дополнительно соединить толстым изолированным проводом непосредственно с контактами А22, В22, В23 вилки Х1.
         Плата рассчитана на установку резисторов МЛТ-0,125. Оксидные конденсаторы — импортные, конденсатор С6 — К73-17, остальные — КМ-6 или К10-17. Трансформатор Т1 — РТ4738 с обмотками сопротивлением по 65 Ом. Вместо указанных на схеме транзисторов подойдут любые маломощные кремниевые структуры n-p-n.
         Розетка Х2 — стандартная телефонная RJ11. Но фактически на плате модуля установлена двухконтактная вилка WF-02, штыри которой припаяны к площадкам для контактов 1 и 3 розетки. Витой парой проводов эту вилку соединяют с розеткой RJ11, вынесенной на переднюю панель компьютера.

         Восемь описанных модулей объединяются в блок на кроссплате с розетками ГРПМ1-45Г для их вилок Х1. Большинство одноименных контактов этих розеток (за исключением А13 и В13 и тех, что согласно схеме модуля не используются) соединены параллельно витыми парами проводов, а контакты А18, В18 — экранированным проводом Вторые провода каждой пары и экранирующая оплетка соединены с общим проводом (контактами А17, А19, А22, В17, В19, В22, В23).
         На кроссплате также находятся узлы, изображенные на схеме рис. 8. Упомянутые выше розетки, имеющие позиционные обозначения от Х1 до Х8. здесь не показаны. Микросхема DA1 согласует уровни сигналов интерфейса RS-232 (розетка этого интерфейса Х10 должна быть соединена с вилкой одного из COM-портов компьютера) с уровнями сигналов, принимаемых и формируемых микроконтроллерами модулей.

         Ввиду ограниченной нагрузочной способности приемных преобразователей микросхемы DA1 их входы соединены параллельно, а выход каждого соединен с входами четырех модулей. Мультиплексор DD1 по поступающим на его входы 1, 2, 4 (выводы 9—11) от модулей адресным сигналам А0.—А2 соединяет с входом передающего преобразователя микросхемы DA1 выход ТХ соответствующего модуля. Таким образом, компьютер получает информацию только от модуля, активного в данный момент. Обратите внимание, что для правильного соединения с компьютером порядок установки модулей в розетки кроссплаты должен строго соответствовать их адресам, установленным DIP-переключателем S1: Х1 — 0, Х2 — 1 и т д. до Х8 — 7.
         Светодиод HL1 сигнализирует о наличии напряжения питания +5 В, которое получают от блока питания компьютера

         При записи звука в чипкордеры речевых модулей с помощью программ Proz.exe и Inform.ехе звуковые сигналы подают на разъем Х9 с выхода Audio OUT звуковой платы компьютера. Через делитель напряжения из резисторов R1 и R2 эти сигналы поступают на все модули одновременно. Звук можно записывать и с электретного микрофона, установленного непосредственно в модуле. Его подключают по схеме, показанной на рис. 9. Нумерация деталей продолжает здесь начатую на рис. 4. На печатной плате предусмотрено место для этих деталей, на рис. 7 они показаны штриховыми линиями, причем резистором R30 заменяют установленную вместо него проволочную перемычку.
         Микрофон достаточно установить в одном модуле, через контакты А17 и В17 разъема Х1 он окажется соединенным и с чипкордерами других модулей блока. Резисторы R1 и R2 на кроссплате в этом случае устанавливать не следует
         Общий вид компьютера с установленным в нем блоком речевых модулей показан на рис. 10. Розетки для подключения телефонных линий на снимке не видны, они находятся на передней панели компьютера.
    Алгоритм работы речевого модуля
         После включения питания модуля программа микроконтроллера конфигурирует его порты, устанавливает период генерации таймером TMR0 запросов прерывания равным 1,6 мс. Считывается и запоминается адрес модуля, установленный DIP-переключате-лем S1 Производится кратковременное "снятие трубки", в течение которого по сигналам оптронов U1 и U2 проверяется состояние телефонной линии. Если она подключена и исправна, низкий уровень будет установлен только на одном из входов RD2, RD3.
         Для проверки поочередно включаются светодиоды HL1—HL8. На контактах А3, В3 (цепь БлкВых.) устанавливается высокий уровень, свидетельствующий о пассивности модуля Выводы микроконтроллера, соединенные с контактами А7, В7 , А9, В9, А11, В11 (цепи А0— А2), переводятся в высокоимпедансное состояние (режим входа). По завершении инициализации светодиоды, подключенные к порту В микроконтроллера, начинают выполнять следующие функции:
    HL1 ("Готовность") — мигает с периодом 1 с;
    HL2 ("Команда") — включен во время исполнения команды компьютера;
    HL3 ("БлкВх") — отображает состояние входа RA5 микроконтроллера;
    HL4 ("БлкВых") — отображает состояние выхода RA4, установленное микроконтроллером;
    HL5 ("Оптрон 1") — отображает состояние оптрона U1;
    HL6 ("Оптрон 2") — отображает состояние оптрона U2;
    HL7 ("Старт") — включен, когда компьютерная программа запущена;
    HL8 ("Трубка") — включен при "снятой трубке" модуля.
         Обрабатывая запросы прерывания от таймера ТМР0, микроконтроллер принимает и анализирует поступающие от компьютера по интерфейсу RS-232 байты. Если на линии БлкВх установлен высокий уровень (блокировки нет), а принятый байт совпадает с адресом, заданным переключателем S1, микроконтроллер устанавливает и удерживает до завершения обмена информацией с компьютером низкий уровень в цепи БлкВых, сообщая остальным модулям о своей активности. На линии А0—А2 он выводит свой адрес, чем подключает к соответствующей линии интерфейса RS-232 выход своего передатчика. Остальные модули, обнаружив низкий уровень на линии БлкВх, соединенной на кроссплате с линией БлкВых, прекращают анализировать поступающие от компьютера байты, микроконтроллер просто удаляет их из регистра своего приемника.

         После паузы в 2 мс компьютер может начать обмен информацией с активизированным модулем. По завершении обмена по команде компьютера модуль устанавливает в цепи БлкВых высокий уровень, освобождая линию передачи для других модулей. Чтобы они восприняли снятие блокировки, необходимо выждать не менее 2 мс, после чего любой из них можно активизировать.
         На каждый байт, поступивший от компьютера, активный модуль обязательно посылает подтверждение. Скорость передачи должна быть установлена равной 9600 Бод при восьми информационных и одном стоповом разрядах без контроля четности. Однако компьютер должен вести передачу в темпе не более одного байта за 1,6 мс, поскольку именно с таким периодом речевой модуль "переходит на прием . Список команд компьютера, исполняемых речевым модулем, и примеры последовательностей посылаемых ему команд имеются в приложении.
    Материал взят из: Журнала Радио 2010 №2

    В архиве исходные коды и прошивка

    dvtinf.rar [95 Kb] (cкачиваний: 173)

    Комментарии