УДК 004.382:004.9
устройство ввода информации в персональный компьютер
т. А. Попов, в. в. родин
В статье рассматривается устройство ввода аналоговой информации в персональный компьютер; приводится блок-схема программы микроконтроллера для преобразования данных; описывается принципиальная электрическая схема устройства ввода информации.
Ключевые слова: устройство, информация, компьютер, схема, преобразование.
INPUT DEVICES FOR PERSONAL COMPUTERS
T. A. Popov, V. V. Rodin
We consider an input analog data into a personal computer. Block diagram of the program the microcontroller to convert the data is provided. A circuit diagram of input devices is described.
Keywords: device, information, computer, scheme, conversion.
Ввод аналоговой информации в персональный компьютер на сегодняшний день является актуальной проблемой. Решение этой задачи осуществляется специализированными платами сбора информации, подключаемыми к портам расширения компьютера [2, с. 10]. Они используются совместно с программными комплексами, созданными на высокоуровневых объектно-ориентированных языках [5, с. 67].
В качестве устройства ввода данных предлагается использовать канал преобразования аналоговой информации в цифровой код на основе микроконтроллера (МК) ATmega16 фирмы Atmel [1, с. 15]. Он имеет встроенный АЦП последовательного приближения, дифференциальный усилитель с программно выбираемым коэффициентом усиления, универсальный синхронный и асинхронный приемо-передатчик (УСАПП). Входы АЦП могут объединяться попарно для формирования каналов передачи информации. Имеется возможность предварительного усиления аналогового
сигнала. В качестве источника опорного напряжения АЦП используется напряжение питания МК или внутренний (внешний) источник опорного напряжения. На входе АЦП установлен 8-канальный аналоговый мультиплексор.
Работа АЦП МК определяется заданием битов регистров ADCSRA, SFIOR и ADMUX. Для включения АЦП логическая 1 записывается в бит ADEN регистра ADCSRA, а для выключения - в бит, соответственно, записывается логический 0. Запуск каждого преобразования в режиме одиночного преобразования, а также запуск первого преобразования в режиме непрерывного преобразования осуществляется установкой логической 1 в бит ADSC регистра ADCSRA. Запуск преобразования по прерыванию осуществляется установкой 1 в флаге необходимого прерывания. При этом бит ADSC регистра ADCSRA аппаратно устанавливается в 1. Запуск преобразования в этих режимах может быть также осуществлен установкой логической 1 в бит ADSC регистра ADCSRA.
© Попов Т. А., Родин В. В., 2014
В режимах одиночного и непрерывного преобразований цикл обработки аналогового сигнала начинается по первому фронту тактового сигнала после установки бита ADSC. При использовании запуска по прерыванию цикл преобразования начинается по первому фронту тактового сигнала после установки соответствующего флага прерывания. В момент его установки происходит сброс предделителя модуля АЦП, обеспечивая фиксированную задержку между генерацией запроса на прерывание и началом цикла преобразования. Преобразование запускается при установке необходимого флага, даже если прерывание запрещено. Длительность цикла преобразования составляют 13 тактов при использовании несимметричного входа и 14 тактов - при дифференциальном входе (определяется работой схемы синхронизации). Выборка и запоминание аналогового сигнала осуществляются за 1,5 и 2,5 такта соответственно. После окончания преобразования бит ADSC сбрасывается в 0 (при одиночном преобразовании). Полученный цифровой код сохраняется в регистре данных АЦП, который физически состоит из двух регистров ввода/вывода ADCH:ADCL. После включения МК в них содержится нулевое значение. Результат преобразования может доопределяться выравниванием вправо (старшим 6 битам регистра ADCH присваиваются нулевые значения) или влево (младшим 6 битам регистра ADCL присваиваются нулевые значения). Управление выравниванием результата преобразования осуществляет бит ADLAR регистра ADMUX. Если он установлен в 1, то результат преобразования выравнивается по левой границе 16-битного слова, если сброшен в 0, то по правой границе. Считывание данных регистров ADCH и ADCL для получения результата преобразования выполняется в определенной последовательности. Первым считывается регистр ADCL, а затем ADCH.
После преобразования устанавливается флаг прерывания ADIF регистра
ADCSR и генерируется запрос на прерывание. Флаг ADlF сбрасывается при запуске подпрограммы обработки прерывания аппаратно от АЦП или программно. Разрешение прерывания осуществляется установкой в логическую единицу бита ADIE регистра ADCSR при установленном флаге I регистра SREG.
В режиме непрерывного преобразования новый цикл начнется после записи результата в регистр АЦП. В режиме одиночного преобразования новое преобразование может быть запущено после сброса бита ADSC. Реально цикл преобразования начинается только через один такт после окончания текущего преобразования.
Величина частоты дискретизации преобразования аналогового определяется с помощью предделителя частоты АЦП, коэффициент деления которого определяется состоянием битов ADPS2, ADPS1, ADPS0 регистра ADCSRA/ ADCSR. Наибольшая точность преобразования достигается при тактовой частоте модуля АЦП в диапазоне от 50 Гц до 200 кГц.
Номера выводов МК, подключаемых через мультиплексор к входу АЦП, определяются состоянием битов MUX3, MUX4 регистра ADMUX. Для каналов с дифференциальным входом указанные биты определяют также коэффициент предварительного усиления входного сигнала.
Предварительный усилитель, используемый каналами с дифференциальным входом, имеет встроенную схему коррекции напряжения смещения. Оставшаяся после коррекции величина смещения может быть устранена программно. Для этого входы дифференциального усилителя подключаются к одному и тому же выводу МК. Полученная величина синфазного сигнала вычитается из результата полученных преобразований аналогового сигнала. Ошибка смещения может быть снижена до величины, меньшей 1 младшего значащего разряда АЦП [3, с. 69].
Программа работы МК создана в среде AVR-Studio на языке программи-
рования Assembler. Блок-схема алгоритма программы МК приведена на рис. 1.
После подачи питания на МК происходит его инициализация. Настраиваются стек МК, таблица прерываний, производится предварительная настройка АЦП (определение скорости преобразования, выбор источника опорного напряжения). Затем происходит конфигурирование модуля УСАПП. Выбираются скорость ра-
боты и формат кадра (количество битов данных в кадре, количество стоп-битов, настройка бита четности). Далее в программе реализуется цикл ожидания приема режима работы устройства. В случае получения кода режима регистратора устройство переходит в режим регистратора. В случае получения кода осциллографа выполняется подпрограмма работы устройства в режиме осциллографа.
Р и с . 1. Блок-схема алгоритма программы МК
Подпрограмма режима регистратора начинается с цикла ожидания приема номера канала, на котором необходимо произвести измерения. После получения номера канала осуществляется конфигурирование АЦП (выбирается режим одиночного преобразования, устанавливается выбранный канал мультиплексора). После завершения конфигурирования АЦП-программа выполняет одно холостое преобразование. Это действие необходимо для повышения точности преобразования. Затем программа выполняет первое корректное преобразование и отправляет данные в персональный компьютер.
Подпрограмма режима осциллографа начинается с цикла ожидания настроек. После получения настроек выполняется конфигурирование АЦП (устанавливаются дифференциальный, или несимметричный, режим, коэффициент усиления предусилителя, номер канала, режим непрерывного преобразования). Далее программа запускает АЦП, отправляет данные в ПЭВМ и осуществляет проверку сигнала «стоп», в случае получения последнего программа переведет устройство в режим ожидания следующей операции. Если сигнал «стоп» не принят, то цикл измерения и отправки данных повторяется.
На рис. 2 представлена принципиальная электрическая схема устройства ввода аналоговой информации [4, с. 434]. Основой предлагаемого устройства служит МК ATmega16 со встроенным АЦП и интерфейсом УСАПП. Питание МК осуществляется от стабилизатора напряжения на микросхеме DA1 (КР142ЕН5А). Она формируется напряжением 5 В, которое используется для питания всех элементов схемы и в качестве опорного напряжения АЦП. Конденсаторы С1, С2, С3 и С5 используются для лучшей стабилизации напряжения питания.
Тактовая частота МК задается конденсаторами C6, C7 и кварцевым резонатором Z1 номиналом 12 МГц. Емкость С6 и С7 должна составлять от 12 до 22 пФ в соответствии с описанием МК. Частота кварцевого резонатора обеспечивает высокую производительность МК и скорость передачи данных 115 200 бит/с с минимальным количеством ошибок.
Данные на персональный компьютер передаются по интерфейсу RS232. Интерфейс RS232 использует диапазон напряжения от -12 до +12 В. Логическому нулю соответствует диапазон напряжений от +3 до +12 В, логической единице - от -3 до -12 В. Интерфейс УСАПП МК использует уровни напряжения ТТл, где логическому нулю соответствует диапазон напряжений от 0,0 до +0,4 В, а логической единице - от +2,4 до +5,0 В. Преобразователь уровней RS232-TLH реализован на транзисторах VT1-KT3107, VT2-KT3102, резисторах R1-R4 номиналом 4,7 кОм, диодах VD1, VD2 -1N4148 и конденсаторе C4 номиналом 10 мкФ.
Выводы МК MOSI, MISO, SCK и RESET используются для записи в контроллер микропрограммы. Код микропрограммы может быть изменен без отключения МК от схемы.
Устройство может измерять напряжение в диапазоне от 0 до 5 В с частотой в диапазоне от 25 до 2000 Гц. Погрешность измерения напряжения не превышает 2,0 %, погрешность измерения частоты не превышает 0,1 %, в диапазоне температур от 0 до 40 °С. В режиме регистратора реализована возможность измерять одновременно до 8 сигналов. Минимальный интервал измерений в режиме регистратора составляет 1 с. Исследуемый сигнал подключается к одному из выводов МК ADC0-ADC7. Питание схемы осуществляется от любого источника постоянного тока с напряжением от 7 до 15 В и мощностью не менее 1 Вт.
Рис. 2. Принципиальная электрическая схема
Разработанное устройство пред- многоканальных точных измере-полагается использовать в учебном ний в заводских и лабораторных процессе, а также при проведении условиях.
библиографический список
1. Евстифеев, А. в. Микроконтроллеры AVR семейства Mega : Руководство пользователя / А. В. Ев-стифеев. - Москва : Додэка -XXI, 2007. - 587 с.
2. Пей, Ан. Сопряжение ПК с внешними устройствами / Ан Пей. - Москва : ДМК-Пресс, 2001. - 320 с.
3. Попов, т. а. Устройство ввода аналоговой информации в ПЭВМ / Т. А. Попов, В. В. Родин // Учебный эксперимент в высшей школе. - 2009. - № 1. - С. 67-76.
4. Попов, т. А. Устройство ввода информации в ПЭВМ / Т. А. Попов, В. В. Родин // Проблемы и перспективы развития отечественной светотехники, электротехники и энергетики : сборник научных трудов XI Международной научно-технической конференции в рамках II Всероссийского светотехнического форума с международным участием (г. Саранск, 3-4 дек. 2013 г). - Саранск : Афанасьев В. С., 2013. - С. 433-435.
5. родин, в. в. Канал ввода информации в ПЭВМ / В. В. Родин, О. Б. Шекера, В. Н. Ширчков // Учебный эксперимент в высшей школе. - 2005. - № 1. - С. 66-73.
Поступила 19.12.2013 г.
Об авторах:
Попов тимофей Андреевич, инженер, Администрация Главы Республики Мордовия (г. Саранск, Россия), popovta@yandex.ru
родин вячеслав викторович, кандидат технических наук, доцент кафедры метрологии, стандартизации и сертификации ФГБОУ ВПО «Мордовский государственный университет имени Н. П. Огарева» (г. Саранск, Россия), clava30@rambler.ru
Для цитирования: Попов, Т. А. Устройство ввода информации в персональный компьютер / Т. А. Попов, В. В. Родин // Вестник Мордовского университета. - 2014. - № 1. - С. 113-118.
REFERENCES
1. Evstifeev A. V. MikrokontroUery AVR semejstva Mega. Rukovodstvo pol'zovatelja [AVR microcontrollers, Mega family. User Guide]. Moscow, Dodeka-XXI Publ., 2007, 587 p.
2. An Pei. Soprjazhenie PK s vneshnimi ustrojstvami [PC interfacing with external devices]. Moscow, DMK Press Publ., 2001, 320 p.
3. Popov T. A., Rodin V. V. Ustrojstvo vvoda analogovoj informacii v PZVM [Analog information input device for PC]. Uchebnyjjeksperiment v vysshejshkole - Educational experiment in higher education. 2009, no. 1, pp. 67 - 76.
4. Popov T. A., Rodin V. V. Ustrojstvo vvoda informacii v PJeVM [Input device information to PC]. Problemy i perspektivy razvitija otechestvennoj svetotehniki, jelektrotehniki i jenergetiki: sb. nauch. tr. XI Mezhdunar. nauch.-tehn. konf. v ramkah II Vserossijskogo svetotehnicheskogo foruma s mezhdunar. uchastiem (g. Saransk, 3-4 dekabrja 2013 g.) - Problems and prospects of development of domestic lighting, electrical engineering and energy: Proceedings of XI International Conference under the II All-Russian lighting forum with international participation (Saransk, December 3-4, 2013), Saransk, 2013, pp. 433 - 435.
5. Rodin V. V., Shekera O. B., Shirchkov V. N. Kanal vvoda informacii v PJeVM [Information input channel for PC]. Uchebnyj jeksperiment v vysshej shkole - Educational experiment in higher education. 2005, no. 1, pp. 66 - 73.
About the authors:
Popov Timofej Andreevich, engineer of Head of Mordovian Republic Administration (Saransk, Russia), popovta@yandex.ru
Rodin Vjacheslav Viktorovich, associate professor (docent), chair of Methodology, Standardization and Sertification of Light Engineering Department of Ogarev Mordovia State University (Saransk, Russia), Kandidat Nauk (PhD) degree holder in Technical sciences, clava30@rambler.ru
For citation: Popov T. A., Rodin V. V. Ustrojstvo vvoda informacii v personal'nyj komp'juter [Input devices for personal computers]. Vestnik Mordovskogo Universiteta - Mordovia University Bulletin. 2014, no. 1, pp. 113 - 118.