2.2.3. Модем
Модем предназначен для преобразования последовательного цифрового кода в частотно-манипулированный сигнал (и обратно), пригодный для передачи по физическому каналу на значительное расстояние. Модем работает над преобразованием последовательного цифрового кода в частотно-манипулированный сигнал или частотно-манипулированного сигнала в последовательный цифровой код в зависимости от того, в какую сторону идут данные. Если данные приходят в модем из физической линии, то идет процесс преобразования частотно-манипулированного сигнала в последовательный цифровой код, т.е. демодуляция. Если модем сам передает данные в линию, то идет процесс преобразования последовательного цифрового кода в частотно-манипулированный сигнал, т.е. модуляция.
Модемы подразделяются по скорости модуляции-демодуляции. Современные модемы способны передавать и принимать данные со скоростью 56,6 Кб/сек [6].
В данном проекте такая высокая скорость не нужна, т.к. передается относительно малый объем информации, к тому же стоимость высокоскоростных модемов велика, поэтому используется модем со скоростью обмена данными 2400 байт/сек.
2.3. Структурные решения по программному обеспечению периферийного устройства
Периферийное устройство (контроллер) содержит в себе однокристальную ЭВМ, которая имеет свой внутренний язык ассемблер. На этом языке реализовано программное обеспечение для контроллера. Это программное обеспечение позволяет по сигналу из диспетчерского пункта считывать данные с тепловычислителя и направлять их на модем, который генерирует импульсы и посылает их на радиостанцию. В случае пожара, взлома или затопления пункта учета тепловой энергии, контроллер получает соответствующий сигнал и производит соединение с диспетчерским пунктом, и сообщает об аварии.
На диспетчерском пункте находится компьютер, через который производится слежение за параметрами на пунктах учета тепловой энергии. На компьютере есть программа написанная на языке высокого уровня, которая обеспечивает оператору интерактивный интерфейс с периферийным устройством и позволяет посылать контроллеру различные команды. Программа содержит в себе математический аппарат для расчета, учета, архивирования и хранения необходимых параметров.
3. Разработка периферийного устройства
3.1. Выбор элементной базы
В настоящее время стремительно развивается микроэлектроника и микропроцессорные системы. В этих областях, как ни в каких других, находят свое широкое применение высокие технологии, быстрее всего внедряются новые технические решения, новые технологии, растет мощность вычислительных элементов с одновременным уменьшением их размеров. Для данного проекта было выбрано одно из таких решений - микроконтроллер AT90S1200, фирмы Atmel. Ниже я постараюсь привести доказательства правильности своего выбора.
Логотип фирмы Atmel в настоящее время уже достаточно хорошо известен российским техническим специалистам в области микроэлектроники. Основанная в 1984 году, фирма Atmel Corp., США, определила сферы приложений для своей продукции как телекоммуникации и сети, вычислительную технику и компьютеры, встраиваемые системы контроля и управления, бытовую технику и автомобилестроение. Atmel сегодня - это прогрессивная компания, выпускающая сложные изделия современной микроэлектроники; это один из признанных мировых лидеров в производстве широкого спектра устройств энергонезависимой памяти высокого быстродействия и минимального удельного энергопотребления, микроконтроллеров общего назначения и микросхем программируемой логики от простейших устройств PAL и GAL до микросхем СБИС CPLD и FPGA. Достаточно сказать, что практически все базовые кристаллы промышленного стандарта MCS51 фирмы Intel успешно заменены прямыми аналогами семейства AT89 фирмы Atmel. Эти скоростные, полностью статические 8-разрядные КМОП микроконтроллеры с многократно модифицируемой Flash-памятью программ, низким энергопотреблением и широким диапазоном допустимых напряжений питания, аппаратно и программно совместимы с соответствующими микроконтроллерами Intel и пользуются заслуженной популярностью у разработчиков и производителей электронной аппаратуры.
Однако, хочется подробнее познакомиться с еще одним крайне интересным направлением современной микроэлектроники, активно развиваемым фирмой Atmel. Это новое семейство высокопроизводительных 8-разрядных RISC (Reduced Instruction Set Computers) микроконтроллеров общего назначения, объединенных общей маркой AVR [7].
Замысел создания AVR родился в исследовательском центре Atmel в Норвегии. Группа разработчиков (инициалы некоторых из них, кстати, и сформировали марку "AVR": Alf Bogen / Vergard Wollan / Risc architecture) предложила ряд идей, которые легли в основу концепции AVR - микроконтроллеров:
1) использовать новейшую, наиболее скоростную и экономичную КМОП технологию фирмы Atmel в сочетании с RISC архитектурой для разработки и производства быстрых 8- разрядных микроконтроллеров, сравнимых с 16-разрядными микропроцессорами и микроконтроллерами по производительности и превосходящих микросхемы стандартной КМОП логики по скорости. Ожидаемая производительность - до 20 MIPS на частоте 20 МГц, что всего на 30% меньше, чем у Intel KU80386EXTC-25 при операциях типа "регистр - регистр". Время выполнения короткой команды на такой тактовой частоте составляет 50 нс;
2) разрабатывать архитектуру и систему команд AVR в теснейшем согласии с принципами языка Си так, чтобы аппаратная часть нового микроконтроллера и его система команд были неотъемлемыми частями одного целого и использовались с максимальным к.п.д. Хорошо известно, что в 1990-е годы языки программирования высокого уровня стали стандартным инструментом при создании программного обеспечения для встраиваемых микроконтроллеров. Существенно сокращается время разработки проектов и, соответственно, снижается их стоимость, а также облегчается создание универсальных средств поддержки разработок. Недалеким от истины будет и утверждение, что язык Си является наиболее популярным и эффективным средством для программирования микроконтроллеров. Система команд AVR разрабатывалась при непосредственном участии экспертов по языку Си и учитывает все основные особенности стандарта ANSI C. Результат налицо: компиляция исходных текстов, написанных на Си, осуществляется быстро и дает компактный, эффективный код. Конечно, можно работать и на Ассемблере для еще большего выигрыша в плотности упаковки конечного программного кода, но теперь у разработчика есть разумная альтернатива;
3) функционально расширить микроконтроллер возможностью программирования в системе (ISP) путем объединения Flash-технологии фирмы Atmel со стандартным скоростным последовательным интерфейсом (SPI). Это позволяет многократно модифицировать программу не только с помощью обычного программатора, но и непосредственно в системе, в конечном устройстве пользователя. При этом не требуется вводить никаких дополнительных аппаратных узлов и вспомогательных источников питания.
Результатом явилось появление нового, очень дешевого, скоростного, легкого в освоении и использовании семейства AT90S 8-разрядных микроконтроллеров марки AVR. Они представляют собой мощный инструмент, базу для создания современных высокопроизводительных и экономичных контроллеров многоцелевого назначения. Так, например, AVR используются в изделиях класса Smart Card для персональных компьютеров, в спутниковых навигационных системах для определения местоположения автомобилей на трассе, в миниатюрных автомобильных пультах дистанционного управления, в сетевых картах и на материнских платах компьютеров, в сотовых телефонах нового поколения и т.д.
Что же представляет собой микроконтроллер AT90S1200? Как он устроен и какова его архитектура? Начнем знакомство с аппаратных возможностей:
– диапазон напряжений питания, В - 2,7 - 6,0;
– тактовая частота, МГц - 0-16;
– количество линий ввода/вывода (max) - 15;
– количество инструкций - 89;
– объем Flash ROM, байт - 1К;
– объем EEPROM, байт - 64;
– количество таймеров/счетчиков - 1;
– аналоговый компаратор - есть;
– SPI (загрузка ROM и EEPROM) - есть;
– сторожевой таймер - есть;
– количество битов защиты - 2;
– число режимов энергосбережения - 2;
– число источников прерывания: внутренних/внешних - 2/1;
– тип корпуса - DIP28, SOIC28, SSOP28.
AT90S1200 имеют Flash-память программ ROM объемом 1K, которая может быть загружена как с помощью обычного программатора, так и посредством SPI интерфейса. Число циклов перезаписи ROM - не менее 1000. Два программируемых бита секретности позволяют защитить память программ от несанкционированного считывания. AT90S1200 имеют также блок энергонезависимой электрически стираемой памяти данных EEPROM объемом 64 байта. Этот тип памяти, доступный программе микроконтроллера непосредственно в ходе ее выполнения, удобен для хранения промежуточных данных, различных констант, таблиц перекодировок, калибровочных коэффициентов и т.п. EEPROM может быть загружена извне как через SPI интерфейс, так и с помощью обычного программатора. Число циклов перезаписи - не менее 100000.
Перечислим периферийные устройства AVR:
– таймер/счетчик, разрядность 8 бит;
– скоростной последовательный интерфейс SPI;
– встроенная система сброса микроконтроллера;
– асинхронный дуплексный последовательный порт UART;
– контроллер прерываний;
– внутренний тактовый генератор;
– сторожевой (WATCHDOG) таймер.
Внутренний тактовый генератор может запускаться от внешнего источника опорной частоты, от внешнего кварцевого резонатора или от внутренней RC-цепочки. Поскольку все AVR полностью статические, минимальная допустимая частота ничем не ограничена (вплоть до пошагового режима). Максимальная рабочая частота определяется конкретным типом микроконтроллера. Ограничения верхней границы частотного диапазона связаны с технологическими проблемами при производстве микросхем и будут устранены в последующих версиях кристаллов. В настоящее время контроллер AT90S1200 версии "F" может работать на частоте 16 МГц при комнатной температуре, а ограничение 12 МГц действует во всем температурном диапазоне [7].
Если времязадающим элементом для тактового генератора AVR является внутренняя RC-цепочка, то частота, на которой работает микроконтроллер, фиксирована и составляет 1 МГц. Это значение приближенное и изменяется в зависимости от величины напряжения питания и температуры корпуса. Выбор источника тактовой частоты (внутренний/внешний) программируется, правда только с помощью внешнего программатора. Как правило, AVR поставляются с фабрики уже "испеченными" для работы от внешнего источника опорной частоты, но можно заказать и другие. При этом в аббревиатуре микроконтроллера появляется литера "A", указывающая на то, что тактовый генератор данного кристалла функционирует от встроенной RC-цепочки, например, AT90S1200A-12PC. Запрограммировать микроконтроллер AT90S1200 на работу от внутреннего RC-генератора через последовательный порт SPI невозможно.
Сторожевой таймер предназначен для защиты микроконтроллера от сбоев в процессе работы. Он имеет свой собственный RC-генератор, работающий на частоте 1 МГц. Как и для основного внутреннего RC-генератора, значение 1 МГц является приближенным и зависит прежде всего от величины напряжения питания микроконтроллера и от температуры.
Порты ввода/вывода AVR имеют число независимых линий "Вход/Выход" от 5 до 32. Каждый разряд любого порта может быть запрограммирован на ввод или на вывод информации. Мощные выходные драйверы обеспечивают типовую токовую нагрузочную способность 20 мА на линию порта (втекающий ток) при максимальном значении 40 мА, что позволяет, например, непосредственно подключать к микроконтроллеру светодиоды и биполярные транзисторы. Общая токовая нагрузка на все линии одного порта не должна превышать 80 мА. Все значения приведены для напряжения питания 5В.
AVR работают в широком диапазоне питающих напряжений от 2,7 В до 6,0 В. Ток потребления в активном режиме зависит от величины напряжения питания и частоты, на которой работает микроконтроллер, и составляет менее 1 мА для 500 кГц, 5...6 мА для 5МГц и 8...9 мА для частоты 12 МГц. AVR также могут быть переведены программным путем в один из двух режимов пониженного энергопотребления. Первый - режим холостого хода (IDLE), когда прекращает работу только процессор и фиксируется содержимое памяти данных, а внутренний генератор синхросигналов, таймеры, система прерываний и сторожевой таймер продолжают функционировать. Ток потребления здесь не превышает 2,5 мА на частоте 12 МГц. Второй - режим микропотребления (SLEEP), когда сохраняется содержимое регистрового файла, но останавливается внутренний генератор синхросигналов. Выход из режима SLEEP возможен либо по сигналу сброса, либо от внешнего источника прерывания. При включенном сторожевом таймере ток потребления в этом режиме составляет около 80 мкА, а при выключенном - менее 1мкА. (Все вышеприведенные значения справедливы для напряжения питания 5 В).
Температурные диапазоны работы микроконтроллеров AVR - коммерческий (0...70С) и индустриальный (-40...+85С).
С точки зрения программиста AVR представляет собой 8-разрядный RISC микроконтроллер, имеющий быстрый Гарвардский процессор, память программ, память данных, порты ввода/вывода и интерфейсные схемы.
Гарвардская архитектура AVR реализует полное логическое и физическое разделение не только адресных пространств, но и информационных шин для обращения к памяти программ и к памяти данных. Способы адресации и доступа к ним также различны. Такое построение уже ближе к структуре скоростных цифровых сигнальных процессоров и обеспечивает существенное повышение производительности за счет:
а) одновременной работы центрального процессора как с памятью программ, так и с памятью данных;
б) расширения до 16 бит разрядной сетки шины данных памяти программ. Следующим шагом на пути увеличения быстродействия AVR является использование технологии конвейеризации, вследствие чего цикл "выборка - исполнение" команды может быть заметно сокращен, повышая тем самым производительность процессора. Например, у микроконтроллеров семейства MCS51 короткая команда выполняется за 12 тактов генератора (1 машинный цикл), в течение которого процессор последовательно считывает код операции и исполняет ее. В PIC-контроллерах фирмы Microchip уже реализована конвейерная обработка. Короткая команда выполняется у них в течение 8 периодов тактовой частоты (2 машинных цикла). За это время последовательно дешифрируется и считывается код операции, исполняется команда, фиксируется результат и одновременно считывается код следующей операции (конвейер). Поэтому одна короткая команда в общем потоке реализуется за 4 периода тактовой частоты или за один машинный цикл. В микроконтроллерах AVR тоже используется одноуровневый конвейер при обращении к памяти программ и короткая команда в общем потоке выполняется, как и в PIC-контроллерах, за один машинный цикл. Главное же отличие состоит в том, что этот цикл у AVR длится всего один период тактовой частоты по сравнению с четырьмя у PIC.
Следующая отличительная черта архитектуры микроконтроллеров AVR -регистровый файл быстрого доступа. Каждый из 32-х регистров общего назначения длиной 1 байт непосредственно соединен с арифметико-логическим устройством (ALU) процессора. Это означает, что в AVR существует 32 регистра-аккумулятора. Это позволяет в сочетании с конвейерной обработкой выполнять одну операцию в ALU за один машинный цикл. Например, два операнда извлекаются из регистрового файла, выполняется команда и результат записывается обратно в регистровый файл в течение только одного машинного цикла!
Шесть из 32-х регистров файла могут использоваться как три 16-разрядных указателя адреса при косвенной адресации данных. Один из этих указателей применяется также для доступа к таблицам перекодировок, записанных в памяти программ микроконтроллера. Использование трех 16-битных указателей существенно повышает скорость пересылки данных при работе прикладной программы.
Во время переходов к выполнению процедур обработки прерываний или подпрограмм текущее состояние программного счетчика сохраняется в стеке. Только у AT90S1200 стек реализован аппаратно с глубиной вложений, равной 3. Во всех остальных типах AVR микроконтроллеров стек формируется программно и располагается в общем адресном пространстве оперативной памяти данных. 16-разрядный указатель стека находится в общем адресном пространстве оперативной памяти и доступен для чтения и записи.
Система команд AVR весьма развита и насчитывает 89 различных инструкций. Почти все команды имеют фиксированную длину в одно слово (16 бит), что позволяет в большинстве случаев объединять в одной команде и код операции, и операнд(ы). Различают пять групп команд AVR: условного ветвления, безусловного ветвления, арифметические и логические операции, команды пересылки данных, команды работы с битами. По разнообразию и количеству реализованных инструкций AVR больше похожи на CISC, чем на RISC процессоры. Например, у PIC-контроллеров система команд насчитывает от 33 до 58 различных инструкций, а у MCS51 она составляет 111.
В целом, архитектура AVR в сочетании с регистровым файлом и расширенной системой команд позволяет в короткие сроки создавать программы с очень эффективным кодом как по скорости его выполнения, так и по компактности.
Наше краткое знакомство с новым микроконтроллерным семейством было бы неполным, если не упомянуть о имеющихся средствах поддержки разработок для AVR. Программные и аппаратные средства для новой платформы разрабатывались параллельно с самими микроконтроллерами и включают в себя компиляторы, внутрисхемные эмуляторы, отладчики, программаторы, простейшие отладочные платы-конструкторы практически на любой вкус.
Подводя итог всему вышесказанному, хочется верить, что я как разработчик привел убедительные доводы в пользу выбранной мной элементной базы. Многие отечественные специалисты уже по достоинству оценили высокую скорость работы и мощную систему команд AVR, наличие двух типов энергонезависимой памяти на одном кристалле и развивающуюся периферию. Немаловажную роль в этом сыграла и открытая политика Atmel в вопросе развития разнообразных, доступных средств поддержки разработок. Это позволяет разработчикам и производителям электронной техники надеяться на сохранение полноценной поддержки для перспективной линии AVR и в будущем, закладывая микроконтроллеры семейства AT90S в свои новые изделия. В сочетании со всеми аппаратными и программными достоинствами низкая цена на микроконтроллер явилась решающим фактором в выборе оного.
... менее 10 м вод. ст. Для ЦТП принимается располагаемый напор 25 м, при непосредственном присоединении систем отопления ≥ 5 м. Строится линия потерь давления в подающей магистрали. В закрытых системах теплоснабжения она является зеркальным отображением пьезометрической линии обратной магистрали. В открытых системах потери давления в подающей линии больше потерь давления в обратной линии из-за ...
... у абонента, который всегда может быть сдросселирован. 2.2 Тепловой расчет толщины изоляционного материала Одним из способов повышения эффективности работы системы теплоснабжения промышленного предприятия является снижение потерь тепла при транспортировке теплоносителя к потребителям. В современных условиях эксплуатации потери тепла в сетях составляют до 20.. 25% годового отпуска тепла. При ...
... схема подогревателей ГВС с независимым подключением системы отопления Таблица 2.1 – Обозначение к Рис.2.1,Рис.2.2 2.1 Тепловой и гидравлический расчет пластинчатых водонагревателей Схема подключения водонагревателей горячего водоснабжения в закрытых системах теплоснабжения выбирается в зависимости от соотношения максимального теплового потока на горячее водоснабжение и максимального ...
... 18 62,77 8 211 41,15 9 32,15 9 Туалет 29,99 6 23,99 10 Всего 426,06 105 321,06 Финансовый анализ показал, что проведение энергосберегающих мероприятий позволяет сократить величину денежных затрат на использование тепловой энергии в системе теплоснабжения исследуемых помещений. Если рассчитывать по пропорции, что 426,06 грн. можно сэкономить за весь отопительный сезон (152 дня), ...
0 комментариев