Разработать принципиальную схему и программное обеспечение модуля генератора специальных функций: треугольный сигнал. Для генерации сигналов используется внутренний ШИМ микроконтроллера. Частота сигнала задается через последовательный интерфейс RS-232. Полоса частот выходного треугольного сигнала: 10Гц - 1000Гц. Выходной сигнал - последовательность ШИМ-сигнала.
Протокол обмена данными. Пример запроса к разрабатываемому устройству: ":F<пробел>100", где 100' - частота сигнала, Гц. Пример ответа: "ОК". Данные передаются в символьном виде (ASCII). Скорость обмена данными 9600 бит/с.
Структурная схема устройства и пояснения к ней
Основой данного устройства является микроконтроллер D1. Он работает по программе, зашитой во внутреннюю память программ. Микросхема имеет внутренний тактовый генератор, работающий от внешнего кварцевого резонатора частотой 8 МГц. Сброс микроконтроллера происходит автоматически при включении питания.
Преобразователь уровня D2 предназначен для преобразования уровня TTL в уровни RS-232.
Фильтр низких частот (ФНЧ) необходим для подавления высокой частоты ШИМ-модулятора.
Описание работы принципиальной схемы
В качестве микроконтроллера используется микросхема AT90S2313. Она питается от стабилизированного источника питания напряжением +5В, поступающем на клемму +5V. Конденсаторы C4, C9 необходимы для подавления помех по питанию, возникающих из-за сопротивления проводников и источника питания либо приходящих из вне по питанию. При этом C4 гасит высокочастотные помехи, которые не может погасить C9.
Внешняя цепь тактового генератора состоит из элементов ZQ1, C1, C2. Конденсаторы предназначены для более стабильной работы генератора, а их номиналы выбраны исходя из документации по AT90S2313.
Сигнал TXD с выхода PD1 подается на микросхему D2 преобразователя уровня TTL<->RS-232. Аналогично сигнал RXD на вход PD0 подается с той же микросхемы. Данная микросхема имеет два встроенных преобразователя напряжения, необходимых для работы преобразователя чтобы получить сигнал ±10В. Внешняя обвязка С5-С8 предназначена для работы преобразователей. Номиналы C5-C8 выбраны исходя из рекомендации производителя микросхемы.
ФНЧ построен на элементах R1, C3. Частота среза для фильтра рассчитывается по формуле:
= 2π/RC
С одной стороны для формирования сигнала треугольной формы необходимо обеспечить как можно большую частоту среза. С другой стороны нужно полностью подавить частоту PWM, равную 8 МГц. Выберем fc равную 1 МГц. Получим RC = 6.3 мкс.
Выберем С = 0.01мкФ, R = 620 Ом.
Описание работы программного обеспечения
генератор сигнал резонатор частота
При включении питания происходит сброс микроконтроллера. При этом он начинает выполнять программу с адреса 0, в котором стоит команда перехода на код инициализации управляющих регистров. Вначале инициализируется стек, необходимый для работы прерываний. Потом устанавливается направление передачи портов PB и PD. Линии PB3(OC1) и PD1(TXD) программируются как выходы. Далее инициализируется таймер-счетчик 1 на работу в режиме 8-разрядного PWM с прямым выходом OC1 без предделителя. После установки Timer1 устанавливается Timer0 на работу без предделителя и генерацию прерывания по переполнению. Наконец, инициализируется UART на передачу со скоростью 9600 бод. Это достигается включением приемника и передатчика. Значение регистра скорости выбирается по таблице из фирменной документации к микроконтроллеру. Для тактовой частоты 8 МГц и скорости передачи 9600 бод оно составляет 51.
После инициализации управляющих регистров инициализируются внутренние переменные программы. Divide=79, что соответствует начальной частоте 1000 Гц. T_Dir=4 - увеличение программного счетчика Count по прерыванию от Timer0 на 4. Наконец, значение Divide записывается в Count=high(Divide) и Timer0=low(Divide).
Основная работа происходит в главном цикле программы. В начале каждого цикла считываются данные из UART и сравниваются с последовательностью символов ‘:F ‘. При не нахождении данной последовательности происходит вывод в UART строки ошибки ‘ERROR’ и цикл начинается заново. Если последовательность найдена происходит чтение числовой строки до <CR> из UART, преобразование ее в двоичное представление (16 бит) и запись в переменную Freq. При вводе строки осуществляется проверка корректности символов (должны быть цифры) и попадание значения в диапазон 100…1000. При невыполнении этих условий происходит вывод в UART строки ошибки ‘ERROR’ и цикл начинается заново. После выполнения проверки в UART выдается ‘OK’. В конце цикла вычисляется Divide=K/Freq, где K - коэффициент, значение которого вычислим ниже.
Зоновая РРЛ прямой видимости Мурманск–Кировск
Современная жизнь немыслима без передачи информации, которая
осуществляется с помощью систем связи. Радиорелейные линии заняли прочное место
в сети связи РФ. Они широко используются для передачи сигналов многоканальной
телефонии, телевидения, зв ...
Измерительный преобразователь для датчика температуры
Современная информационно-измерительная техника располагает
средствами измерения около двухсот различных физических величин -
электрических, магнитных, тепловых, акустических, механических и др.
Подавляющее большинство этих величин в процессе и ...