Введение.
Развитие микроэлектроники и широкое ее применение в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно технического прогресса.
Использование микроэлектронных средств в изделиях промышленного и культурно-бытового назначения не только приводит к повышению технико-экономических показателей изделий (стоимости, надежности, потребляемой мощности, габаритных размеров ) и позволяет много кратно сократить сроки разработки и отодвинуть строки "морального старения" изделий, но и придет им принципиально новые потребительские качества (расширенные функциональные возможности, модифицируемость, адаптивность и т.д.).
В микроэлектронике бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров, которые предназначены для "интелектуализации" оборудования различного назначения. Однокристальные микроконтроллеры представляют собой приборы, конструктивно выполненные в виде БИС и включающие в себя все составные части "голой" микроЭВМ: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что микроконтроллерам, видимо, нет разумной альтернативной элементной базы для построения управляющих и регулирующих систем, и в будущем микроконтроллеры будут находить все большее применение.
В связи с этим встает вопрос об подготовки специалистов, которые работали в данном направлении микроэлектроники.
Часто в публикациях микроконтроллеры называют однокристальными микроЭВМ. Но для этих приборов, в большей степени, подходит название МИКРОКОНТРОЛЛЕР, так как незначительная емкость памяти, физическое и логическое разделение памяти программ (ПЗУ) и памяти данных (ОЗУ), упрощенная и ориентированная на задачи управления система команд, примитивные методы адресации команд и данных, а также специфическая организация ввода/ вывода информации предопределяют область их использования в качестве специализированных вычислителей, включенных в контур управления объектом или процессом. Структурная организация, набор команд и аппаратурно-программные средства ввода/вывода информации микроконтроллеров лучше всего приспособлены для решения задач управления и регулирования в приборах, устройствах и системах автоматики, а не для решения задач обработки данных. Микроконтроллеры не являются машинами классического "фон-неймановского" типа, так как физическая и логическая разделенность памяти программ и памяти данных исключает возможность модификации и/или замены (перегрузки) прикладных программ микроконтроллеров во время работы, что сильно затрудняет их использование в качестве универсальных средств обработки данных. Исходя из этих соображений, мы полагаем, что для всех приборов, отличающихся перечисленными признаками, наиболее точным является наименование МИКРОКОНТРОЛЛЕР (МК).
В настоящей работе необходимо спроектировать цифровой термометр на базе микроконтроллера. Система проектируется исходя из следующих исходных данных:
- микроконтроллер семейства MCS-51;
- термодатчик DS1722.
1. Обзор литературы.
Классификация МК и наиболее известные их производители.
Номенклатура предлагаемых сегодня на мировом рынке МК чрезвычайно обширна и в своем составе содержит определенное множество семейств или крупных групп МК, выпускаемых различными производителями. Главными отличиями между семействами являются: архитектура процессорного ядра, набор интегрируемых на кристалл МК модулей памяти и периферийных устройств, разрядность обрабатываемых данных (4, 8, 16, 32, 64 бит), быстродействие, тип и размер внутренней памяти программ, «возраст» разработки, энергопотребление и ряд других характеристик. В пределах семейства, как правило, МК подразделяются на подгруппы или серии. Различие между МК, входящими в состав подгруппы заключается, главным образом, в вариациях строенной памяти. Серии же между собой различаются составом и параметрами встроенных периферийных устройств, определяющих специфику применения МК. В число периферийных устройств обычно входят: параллельные порты ввода/вывода, каналы последовательного интерфейса, таймеры и таймеры/счетчики, контроллер прерываний. Кроме этого, многие МК содержат дополнительные запоминающие устройства, многофункциональные таймерные модули, многоканальные АЦП и ЦАП, ШИМ, цифровые компараторы, устройства для подключения ЖКИ и электролюминесцентных индикаторов и другие устройства.
Наиболее крупными и известными на мировом рынке производителями МК являются такие фирмы, как Intel, Мotorola, Мicrochip, Atmel, Zilog, АМD, Philips, Dallas Semiconductor, Texas Instruments, Hitachi и ряд других американских, европейских, южно-азиатских и японских фирм. Напомним, что отечественная промышленность выпускала весьма ограниченный спектр МК, большая часть которых относилась к Intel-совместимым (серии К1816, К1830, К1835 – аналоги семейств МСS-48 и МСS-51). Развитие дистрибуции качественно изменило ситуацию на российском рынке. Вследствие этого в последнее время стали доступны компоненты практически любой известной фирмы. Также, благодаря Internet, значительно улучшилось информационное обеспечение разработчиков, от которых в настоящее время требуется, в первую очередь, владение современной элементной базой в сочетании с передовыми технологиями проведения разработки и, кроме того, наличие соответствующей квалификации и профессионального опыта. Статистика утверждает, что сейчас в области встраиваемых систем управления наибольшую долю рынка занимают 8-разрядные МК. Но, вместе с тем, для решения многих современных задач вычислительной мощности 8-разрядных МК часто оказывается недостаточно, поэтому в настоящее время начинает активно развиваться рынок 16- и 32-разрядных МК.
Выбор микроконтроллера.
От правильного выбора микроконтроллера (МК, МСU) зависит успех или провал всего проекта. При выборе МК существуют количественные критерии. Объединив свои собственные знания и требования с информацией, представленной в данной курсовой работе, читатель сможет оценить все в целом, чтобы принять правильное решение.
Материалы статьи основаны на рекомендациях компании Motorola по выбору МК – ведущего мирового производителя МК. Данное обстоятельство существенно повышает практическую значимость материала .
НАЗНАЧЕНИЕ
Основная цель – выбор наименее дорогого микроконтроллера (для снижения общей стоимости изделия), но в то же время удовлетворяющего системной спецификации, т.е. требованиям по производительности, надежности, условиям применения. Общая стоимость изделия включает: инженерные исследования и проработки, разработку, производство (комплектующие и труд), гарантийный ремонт, обновление, обслуживание, совместимость, простоту в обращении т.д.
ПРОЦЕСС ВЫБОРА
Приступая к выбору МК, разработчик должен первоначально задаться вопросом: «Что должен делать микроконтроллер в моей системе?». Ответ определяет необходимые в конкретной системе характеристики МК и, таким образом, является решающим фактором в процессе выбора. Второй шаг – проведение поиска МК, которые удовлетворяют всем системным требованиям. Обычно этот этап включает подбор литературы, т.е. технических описаний желаемого МК, и демонстрационные консультации. Самым оперативным источником получения информации о новейших МК являются коммерческие журналы и Интернет. Хорошо, если вам идеально подошел однокристальный МК, кроме того, предпочтительный по критериям цены и надежности, в противном случае придется продолжить выбор. Повторный поиск может касаться МК, которые имели бы минимальную избыточность и при этом наилучшим образом удовлетворяли предъявляемым требованиям: имели минимум вешних электрических цепей и подходили по стоимости и габаритам. Выбор МК значительно сужается, если политика компании или вопросы преемственности разработок и программной совместимости диктуют применение МК конкретного производителя. Последняя стадия выбора состоит из нескольких этапов, цель которых – сузить список приемлемых МК до одного. Эти этапы включают в себя: анализ цены, доступности и средств разработки, поддержку производителя, стабильность поставок и наличие других производителей. Чтобы прийти к оптимальному решению возможно, весь процесс придется повторить несколько раз.
КРИТЕРИИ ВЫБОРА
Основные критерии выбора МК в порядке значимости представлены ниже. Более детально они будут рассмотрены в дальнейшем.
- Пригодность для прикладной системы. Возможность создания подобной системы на однокристальном МК или для максимального соответствия спецификации требуется несколько дополнительных микросхем:
- Имеет ли МК необходимое количество контактов/портов ввода/вывода (в случае их недостатка решение поставленных задач становится невозможным, в случае избытка – цена может оказаться слишком высокой).
- Имеются ли в наличии требуемые периферийные устройства (такие, как последовательные порты ввода/вывода, RАМ, RОМ, А/D, D/А).
- Удовлетворяет ли производительность ядра СРU (вычислительная мощность, позволяющая обрабатывать системные запросы с учетом программирования на выбранном прикладном языке) предъявляемым требованиям.
- Правильно ли сделан экономический расчет бюджета и достаточно ли средств для применения МК именно этого производителя, т.к. за частую вопрос цены является определяющим.
- Доступность:
- Наличие необходимого количества данных устройств.
- Состояние производства вы бранного МК на данный момент (серийное, опытные образцы, снят с производства).
- Прогноз на будущее.
- Поддержка разработчика:
- Ассемблеры, компиляторы, средства отладки, отладочные мониторы, внутрисхемные эмуляторы.
- Утилиты, в том числе «бесплатные» ассемблеры.
- Отладчики программ в исходных текстах. Оценочный модуль (ЕVМ).
- Насадки для логических анализаторов.
- Исполнительная система реального времени. Примеры применения, сообщения об ошибках.
- Интернет.
- Образцы исходных текстов.
- Поддержка применений:
- Наличие специальной группы, которая занимается только поддержкой применений.
- Персонал компании: инженеры, техники или продавцы.
- Компетентность и квалификация поддерживающего персонала.
- История производителя:
- Компетентность, подтвержденная разработками.
- Надежность микросхем (качество продукции).
- Срок и надежность поставок.
- Продолжительность работы в данной области.
- Финансовый отчет.
СИСТЕМНЫЕ ТРЕБОВАНИЯ
Проведение системного анализа вашего проекта позволит определить и требования к микроконтроллеру. Какие требуются периферийные устройства? Применяются ли битовые операции или только числовые? Сколько требуется манипуляций для обработки данных? Должна ли система управляться по прерываниям, по готовности, требуется ли синхронная обработка по таймерам? Каким количеством устройств необходимо управлять? Какие устройства из числа возможных типов I/O-устройств должны контролироваться/управляться: RS-232С-терминалы, выключатели, реле, клавиши, сенсоры (температура, свет, напряжение), звуковые устройства, визуальные индикаторы (LCD-дисплеи, LED), аналого-цифровые (А/D) или цифроаналоговые (D/А) преобразователи? Одно или несколько напряжений питания требуется для системы? Насколько требователен МК к качеству источника питания, т.е. каковы диапазон допустимых уровней напряжения и допустимые пульсации напряжения питания? Изделие должно работать от сети или от батарей? Во втором случае необходимо определить тип батарей и их технические характеристики. Существуют ли ограничения по размеру, весу и дизайну? Существуют ли какие-либо специфические требования к условиям окружающей среды температура, влажность, взрывоопасная атмосфера, давление/высота)? Будут ли использоваться в системе диски или только Flash или RОМ? Будет ли система применяться для решения задач в реальном масштабе времени, и если да – собираетесь ли вы создать или приобрести специальное операционное ядро реального времени или, возможно, будет достаточно простейшего доступного и широко используемого системного программного обеспечения? Достаточно ли персонала и времени для разработки вашего собственного операционного ядра и оправданы ли экономически затраты на такую разработку? Как будут оплачиваться авторские права и программное обеспечение? Для решения задач реального времени требуется большая исследовательская работа.
ОСНОВНЫЕ ОСОБЕННОСТИ МК
Микроконтроллеры в целом можно разделить на группы 8-, 16- и 32-разрядных по размеру их арифметических и индексных регистров. Впрочем, некоторые разработчики считают, что 8/16/32-разрядную архитектуру определяет разрядность шины. Тем не менее, требования к МК остаются прежними. Способен ли дешевый МК удовлетворить требованиям системы или требуется дорогой 16-или 32-разрядный? Возможна ли программная эмуляция особенностей 16/32-разрядного МК на недорогом 8-разрядном МК, жертвуя размером исполняемого кода и скоростью? Например, может ли 8-разрядный МК быть использован с программным макросом, чтобы эмулировать 16-разрядный аккумулятор и операции индексирования? Выбор прикладного языка (высокого уровня вместо Ассемблера) может сильно повлиять на производительность системы, которая затем может диктовать выбор 8-/16-/ 32-разрядной архитектуры, но ограничение по цене может отвергнуть этот выбор.
Тактовая частота МК и скорость передачи данных по шине определяет, сколько вычислений может быть выполнено за единицу времени. Некоторые МК имеют узкий диапазон возможной тактовой частоты, в то время как другие могут работать вплоть до нулевой частоты. Иногда выбирается специфическая тактовая частота, чтобы сгенерировать другую тактовую частоту, требуемую в системе, например для задания скоростей последовательной передачи. В основном вычислительная мощность, потребляемая мощность и стоимость системы увеличиваются с повышением тактовой частоты. При повышении частоты цена системы увеличивается не только по причине стоимости МК, но и требующихся дополнительных микросхем, таких как RАМ, RОМ, PLD и контроллеры шины. Рассмотрим также технологию, с использованием которой изготовлен микропроцессор: NMOS (N-канальный металл-окисел-полупроводник ) в сравнении с НСМОS (комплиментарным МОS высокой плотности интеграции). В отличие от ранних NМОS-процессоров, в НСМОS сигналы изменяются в диапазоне от 0 до значения напряжения питания. Так как это обстоятельство может значительно влиять на уровень помех в схеме, обычно предпочтение отдается НСМОS-процессорам. Кроме того, НСМОS потребляют меньшую мощность и, таким образом, меньше нагреваются. Габаритные размеры элементов в НСМОS меньше, что позволяет иметь более плотные схемы и работать при более высоких скоростях. Более плотный дизайн также уменьшает стоимость, т.к. на кремниевой пластине того же размера можно произвести большее количество чипов. По этим причинам сегодня большинство МК изготавливаются с использованием НСМОS-технологии.
ВОЗМОЖНОСТИ МК
Чтобы достичь более высокого уровня интеграции и надежности при более низкой цене, все МК имеют встроенные дополнительные устройства. Эти устройства под управлением микропроцессорного ядра МК выполняют определенные функции. Встроенные устройства повышают надежность системы, потому что они не требуют никаких внешних электрических цепей. Они предварительно тестируются производителем и освобождают место на плате, так как все соединительные электрические цепи выполнены на кристалле в МК. Наиболее популярные среди внутрисхемных устройств – устройства памяти, таймеры, системные часы/генератор и порты ввода/вывода (I/О). Устройства памяти включают оперативную память (RАМ), постоянные запоминающие устройства (RОМ), перепрограммируемую RОМ (ЕРRОМ), электрически перепрограммируемую RОМ (ЕЕРRОМ) и электрически стираемую память (ЕЕМ). Термин ЕЕМ на самом деле относится к инженерно развиваемой версии МК, где ЕЕРRОМ заменяет RОМ, чтобы снизить время разработки. Таймеры представляют собой часы реального времени и таймеры периодического прерывания. Следует принимать во внимание диапазон и разрешение таймера, так же, как и другие подфункции (сравнение таймера и/или входных линий измерения длительности сигнала). I/О-устройства включают последовательные порты связи, параллельные порты (I/О линии), аналого-цифровые (А/D) и цифроаналоговые преобразователи (D/А), драйверы жидкокристаллического экрана (LСD) и драйверы вакуумного флуоресцентного экрана (VFD). Другими, реже используемыми встроенными ресурсами являются внутренняя/внешняя шина, таймер слежения за нормальным функционированием системы (СОР), сторожевая схема (WatchDog), система обнаружения отказов тактового генератора, выбираемая конфигурация памяти и системный интеграционный модуль (SIМ). SIМ обычно заменяет внешнюю логику, необходимую для взаимодействия с внешними устройствами через выбранные контакты микросхемы. В большинство МК с внутрисхемными ресурсами включается блок конфигурационных регистров для управления этими ресурсами. Иногда этот блок размещается в различных местах карты памяти. Имеется пользовательский и/или фабричный тестовый регистр, наличие или отсутствие которого косвенно говорит о том, какое значение производитель придает качеству. Наличие конфигурационных регистров приводит к проблеме случайного изменения конфигурации системы «блуждающим» кодом. Для предотвращения этого используется механизм «замка» (до того как конфигурационный регистр может быть изменен, изменены в определенной последовательности). Впрочем, сложность конфигурационных регистров не должна пугать – благодаря гибкости при низкой стоимости они крайне ценны, так что одному МК можно найти различные применения.
НАБОР КОМАНД МК
Необходимо внимательно изучить набор команд и регистров каждого МК, так как они играют важнейшую роль в определении возможностей системы в целом. Отдельная задача для программистов: изучение возможностей режимов адресации для целей вашей системы. Особое внимание обратить на наличие: специальных команд, которые будут использоваться в вашей системе (умножение, деление и табличное интерполирование); мало потребляющих режимов для экономии батарейного питания (остановка, остановка с низким потреблением мощности и/или ожидание); команд битовых манипуляций (установка, очистка, тест и изменение бита, команды перехода по установленному/очищенному биту), облегчающих применение МК или команд манипуляции с битовыми полями. Реальным критерием производительности является количество тактовых циклов, требуемое для выполнения задачи, а не количество исполненных команд. Для справедливого сравнения лучше закодировать одинаковую программу и сравнить полное число выполненных тактовых циклов использованных байтов. Есть ли в карте операционных кодов нереализованные инструкции и что получится, если они случайно выполнятся? Обработает ли система подобную ситуацию корректно обработчиком «исключительных» событий или это приведет к выходу системы из строя?
ПРЕРЫВАНИЯ МК
Проверка структуры прерываний необходима всегда, когда создается система реального времени. Сколько линий или уровней прерывания имеется и сколько их требуется для вашей системы? Имеется ли маска уровней прерывания? Когда уровень прерывания подтвержден, есть ли индивидуальные векторы для программы обработчика прерывания, или должны опрашиваться все возможные источники прерывания, чтобы определить источник? В критических по скорости применениях, таких как управление принтером, критерием выбора подходящего МК может быть время реакции на прерывание, т.е. время от начала прерывания (в худшем случае, фазированного относительно тактового генератора МК) до выполнения первой команды соответствующего обработчика прерывания.
ПОДДЕРЖКА ПРОИЗВОДИТЕЛЯ
Прямая поддержка производителя включает маркетинг/продажи и прикладную инженерную поддержку (FАЕ). Определите наличие FАЕ рядом с вами? Оцените сервис и качество телефонной связи со специалистами, а также наличие электронной почты и web-сайта. Количество и доступность телефонных линий, а также система «Voice Mail» определяют возможность оперативного получения нужной информации. «Voice Mail», сложная компьютерная система, в которой каждый пользователь имеет свой собственный автоответчик, защищенный паролем, с расширенными возможностями (например, переадресация сообщений). Обратите внимание на график работы персонала поддержки. Имеют ли они другие обязанности? Каков количественный состав специалистов по обслуживанию? Возможно ли получение консультации у специалистов-производственников: по готовой продукции, по производству, по качеству, электронщиков, программистов? Каким образом организуется взаимодействие заводских инженеров и персонала поддержки? Возможно ли получение технических консультаций и поддержки через web-сайты в сети Internet? Какую информацию можно получить на web-сайте производителя (прикладные программы, новости о продуктах, свежие программы, исходные тексты, сообщения об ошибках, электронную почту, проведение конференций)? Насколько вас удовлетворяет работа с данным сайтом (низкая скорость передачи данных, неудобный интерфейс, плохая поисковая система)? Существует ли у производителя специальная служба технической поддержки, и какие мероприятия проводятся с целью повышения уровня обслуживания клиентов.
ЛИТЕРАТУРНАЯ ПОДДЕРЖКА
Литература охватывает широкий набор печатных материалов, которые могут помочь вам сделать правильный выбор. Это – различные буклеты производителя (технические описания и рекомендации по применению), а также технические издания, доступные в местном книжном магазине и/или библиотеке. Специализированные журналы не только указывают на популярность производителя МК, но и публикуют беспристрастные мнения независимых экспертов.
В ЗАКЛЮЧЕНИЕ
Окончательный выбор подходящего МК для вашего проекта – нелегкое решение. С тех пор как были добавлены внутрисхемные ресурсы, МК стали более сложными устройствами. Процесс движется в сторону все большей внутрисхемной интеграции внешних ресурсов для понижения стоимости системы. Данная информация не навязывает разработчику какой-либо выбор, ее цель – указать все возможные критерии выбора, которые должны быть приняты во внимание в процессе принятия решения.