Автор работы: Пользователь скрыл имя, 21 Декабря 2013 в 23:13, реферат
Целью курсового проектирования является разработка микропроцессорного блока автоматического измерения параметров активированной пайки. Информационно-измерительные системы (ИИС), входящие в состав АСК, автоматически обрабатывают полученную количественную информацию непосредственно от технологического оборудования путем процедур измерения и контроля, математической обработки данных и представления их в виде совокупности чисел, графиков и т.д. В ИИС объединяются технические средства, начиная от датчиков и кончая устройствами выдачи информации, а также программное обеспечение, необходимое для управления работой системы и позволяющее решать измерительные и вычислительные задачи.
1 Анализ автоматических систем контроля параметров активированной пайки 8
2 Применение микроконтроллеров в системах АСК 11
3 Обзор современного рынка микроконтроллеров, анализ 12
4 Выбор контроллера и его обоснование 25
5 Разработка АСК на микропроцессоре 39
6 Инструкция по автоматическому измерению параметров активированной пайки 43
Заключение 47
СПИСОК ЛИТЕРАТУРЫ 48
Вся Flash-память микроконтроллеров MSP430 работает во всём диапазоне рабочих частот, питающих напряжений и токов потребления, присущих данным устройствам. В семействе MSP430F2xx применена улучшенная Flash-технология со следующими новыми особенностями:
Минимальное напряжение программирования/стирания понижено с 2.7В до 2.2В – это изменение на 0.5В имеет важное значение в тех случаях, когда прибор питается от двух алкалиновых (alkaline) батарей. Питающее напряжение в этом случае имеет диапазон от 3.3В до 1.8В. С учётом того, что кривая разряда таких батарей имеет характер, близкий к линейному, понижение напряжения программирования с 2.7В до 2.2В увеличивает почти на 50% время, в течение которого можно использовать ISP.
Время программирования снижено до 17 мкс на байт, время полного стирания – до 20 мс. Ускоренный процесс записи/стирания вкупе с уменьшенным до 64 байт размером сектора и прерываемым алгоритмом ISP позволяют в большинстве случаев отказаться от использования внешней EEPROM. При этом снижается цена устройства и его размер.
Улучшенная защита программной памяти
Программатор на основе загрузочного сектора (BSL) даёт возможность доступа к ресурсам MSP430 с использованием стандартного протокола УАПП (UART). В основном он используется для программирования Flash-памяти. Доступ через BSL защищён с помощью 256-битного пароля, значением которого является содержимое шестнадцати 16-битных векторов прерываний. В незапрограммированном чипе это значение известно и равно 0xFFFF, но в этом случае устройство не содержит никакой полезной информации. После программирования кристалла, только программист знает содержание векторов прерываний, а, следовательно, и сам 256-битный пароль к загрузчику BSL. В серии MSP430F2xx защита программной памяти улучшена благодаря повышению противовзломности алгоритма BSL, обладающего следующими новыми особенностями:
Для уменьшения вероятности взлома, загрузчик BSL в серии MSP430F2xx производит полное стирание чипа после однократного приёма неверного 256-битного пароля. В более ранних версиях BSL в данном случае просто запрещался доступ.
Рисунок 4.1.1 – Карта памяти микроконтроллера
Для снижения вероятности случайного вызова программатора BSL из-за ошибки в программе, стирание и программирование средствами BSL возможно только при подаче корректной стартовой последовательности, после которой будет обнулён бит LOCK в контрольном регистре. Это делает случайное стирание программы посредством вызова программатора BSL практически невозможным, т.к. flash-память может быть стёрта или запрограммирована только в том случае, когда BSL был запущен в результате подачи корректной последовательности, и после этого была подана правильная команда.
Улучшения, касающиеся сторожевого (Watchdog) таймера
Основной функцией существующего в предыдущих сериях семейства MSP430 сторожевого таймера (watchdog) является генерация системного сброса в случае превышения определённого временного интервала, в течение которого отсутствует требуемая программная обработка. Улучшенный сторожевой таймер (WDT+) в серии MSP430F2xx был впервые представлен в микросхеме электросчётчика MSP430FE42x. Он позволяет обработать большее количество программных проблем. Ниже приведен список улучшений, добавленных в модуль WDT+ для повышения надёжности системы:
Добавлена
функция устойчивого к сбоям
тактирования, которая запрещает
остановку источника
Невозможно программное отключить активный источник тактирования модуля WDT+. Преимущество такого решения видно на примере обработчика прерываний (ISR), в котором в стек сохраняется содержимое статусного регистра (SR). В том случае, если программа случайно нарушит содержимое сохранённого в стеке SR таким образом, что все источники тактирования будут запрещены, по возврату из прерывания сторожевой таймер будет навсегда остановлен. Модуль WDT+ исключает подобные ситуации.
Запрещено выполнение программы с адреса периферийного модуля. Являясь представителем Фон-Неймановской архитектуры, MSP430 имеет общее адресное пространство для программной памяти и периферийных модулей. Несмотря на это, переход программы по адресам, зарезервированным за периферийными модулями (от 0x0000 до 0x01FF) не имеет никакого смысла. В случае случайного возникновения такой ситуации, сторожевой таймер WDT+ осуществит программный сброс.
Дополнительные возможности
Семейство MSP430F2xx также обладает рядом дополнительных возможностей. Выводы портов 1 и 2 теперь имеют возможность включения встроенных подтягивающих резисторов (pull up/down). Использование таких резисторов позволяет обойтись без дополнительных внешних элементов, уменьшая цену и размер прибора, что особенно важно для портативных устройств. Микроконтроллер MSP430F21x1 в 24-выводном корпусе QFN занимает на плате площадь 4x4 мм, т.е. примерно столько же, сколько всего 2 резистора тип номинала 1206. Таким образом, во многих случаях площадь, занимаемая внешними компонентами, значительно превышает площадь, занимаемую самим МК. В 20/28-выводных устройствах серии MSP430F2xx выводы кварцевого генератора XIN/XOUT теперь совмещены с выводами порта P2.6 и P2.7, которые прежде были недоступны. Следовательно, в устройствах, не требующих внешнего кварцевого резонатора, становятся доступными два дополнительных вывода. Модуль компаратора в семействе MSP430F2xx теперь снабжён входным мультиплексором, позволяющим расширить число измеряемых аналоговых сигналов.
4.2 Архитектура ядра MSP430
Обладая рядом новых дополнительных возможностей, семейство MSP430F2xx сохраняет совместимость с предыдущими устройствами серии MSP430 и использует такое же мощное 16-битное RISC-подобное ядро. Ядро MSP430 было спроектировано с учётом самых современных требований программирования. Разработчики стремились сделать его прозрачным – в том смысле, что даже максимально сложный код создаётся без значительных затрат времени на создание программных функций. Эффективность использования языка C на данный момент является ключевым требованием, т.к. всё большее количество разработчиков предпочитают использовать в работе только этот язык для обеспечения переносимости кода.
Почему такое внимание уделяется эффективности программы? Современное ядро, такое, как MSP430 является довольно компактным и занимает около 4 тысяч логических вентилей – это приблизительно эквивалентно 4-м килобайтам встроенной Flash-памяти. Таким образом, если встроенная память занимает 32КБ и выше, что диктуется требованиями обслуживания возросшей сложности программы, то размер кристалла и его цена будут в основной мере определяться именно памятью.
Учитывая это обстоятельство, архитектура, обеспечивающая максимальную плотность кода (т.е. использующая минимальный объём программной памяти для конкретной функции) даёт в результате максимальное снижение стоимости чипа.
Так как семейство MSP430 в основном предназначено для низкопотребляющих устройств, архитектура, обеспечивающая эффективность программы также позволяет дополнительно снизить потребление энергии благодаря уменьшению числа тактов, затрачиваемых на определённую функцию. Семейство MSP430 обеспечивает наивысшую плотность кода благодаря двустороннему подходу – интеллектуальным периферийным модулям и современному RISC-подобному ядру.
Интеллектуальные
периферийные модули – все модули,
входящие в состав MSP430 разработаны
с учётом минимального программного
обслуживания. Например, АЦП имеют
автоматическое сканирование входов,
аппаратный запуск преобразования и, зачастую,
механизмы прямого доступа к
памяти DMA. Такой набор аппаратных
возможностей предоставляет ЦПУ
возможность перенаправить
Современное RISC-подобное ядро, обладающее максимальной плотностью кода благодаря своим особенностям (которые будут рассмотрены ниже)
Для рассмотрения задачи получения максимальной эффективности кода на языке C, попробуем взглянуть на проблему со стороны компилятора. Итак, что же «любит» компилятор? Очевидно, это ортогональность команд и большое количество идентичных регистров, не имеющих ограничений на хранимые ресурсы. Также ему требуется стек для передачи параметров и хранения временных переменных. Архитектура MSP430 была разработана с учётом этих пожеланий и выглядит следующим образом:
Полностью
ортогональный набор команд –
несмотря на то, что архитектура MSP430
содержит всего 27 инструкций, каждая из
них может быть использована с
любым типом адресации в
Большое
число регистров – кроме
Отсутствие разбиения на страницы - 16-битная архитектура семейства MSP430 допускает непосредственную адресацию любой ячейки всего 64-килобайтного адресного пространства. В том числе, это касается доступа к встроенным периферийным модулям, таким, например, как 16-битные преобразователи данных. Эта особенность упрощает разработку программного обеспечения.
Использование
стека – указатель стека
Использование переходов – анализ среднестатистической программы показывает, что около 10% кода составляют условные переходы. Для облегчения их реализации ядро поддерживает восемь однословных условных переходов с максимальной «дальностью» 512.
Примерно 20% среднестатистической программы обычно составляет простая операция чтение – модернизация - последующая запись операнда. В классической RISC-архитектуре это приводит к низкой плотности кода, т.к. операнд в этом случае обязательно проходит через регистр ЦПУ, используемый же регистр требуется сохранять и восстанавливать. Таким образом, использование трёх способов адресации (непосредственная, относительная и косвенная) обеспечивает минимизацию затрат на операции типа «память <> память» при сохранении полного набора инструкций. Наличие таких методов адресации позволяет существенно сократить размер кода и повысить производительность.
Рисунок 4.2.1 – Структура ядра MSP430
Работа с байтами и словами – любая инструкция может использовать как 16-битные, так и 8-битные данные. Это особенно удобно для обработки таблиц, т.к. позволяет использовать наиболее удобный в каждом конкретном случае формат данных.
Генератор констант – одним из факторов, влияющих на высокую эффективность программ для MSP430, является генератор констант, который аппаратно генерирует 6 наиболее часто используемых констант. Для этой цели автоматически используется один из регистров ЦПУ. Благодаря тому, что константы генерируются непосредственно в ядре, при этом не требуется чтение операнда из памяти, что экономит программную память и повышает скорость выполнения программы. Функция генератора констант является полностью автоматической и «прозрачной» для пользователя.
4.3 Ресурсы для отладки
Процесс разработки с использованием устройств семейства MSP430F2xx полностью совместим с ныне существующим семейством MSP430F1xx. Отладчик аппаратно включен в устройства, доступ к нему осуществляется при помощи стандартного интерфейса IEEE 1149 JTAG. Возможности встроенного отладчика MSP430 включают в себя полноскоростной и пошаговый режимы, аппаратные точки останова и контроль системы тактирования. При этом все эти функции осуществляет встроенная аппаратная логика, никаких дополнительных ресурсов не требуется. Тот факт, что отладка ведётся непосредственно на самом устройстве, встроенном в реальную систему исключает развитие событий по нежелательному сценарию.
Рисунок 4.3.1 – Сравнение размеров кода для различных МК
Встроенный эмулятор является особенно важным в малогабаритных и «аналогово-насыщенных» приборах, где использование внешнего эмулятора, подключенного длинными кабелями, способно полностью исказить картину. Программирование по интерфейсу JTAG используется не только в процессе разработки, но и при программировании в процессе производства, а также может быть использовано для последующих программных апгрейдов.
5 Разработка АСК на микропроцессоре
Для АСК был выбран КМОП микроконтроллер фирмы TI – MSP430G2553, реализованный по архитектуре Фон-Неймана. Выполняя команды за один тактовый цикл, контроллер обеспечивает производительность, 16 MIPS/МГц. Шесть из 32-х регистров общего назначения могут использоваться как три 16-разрядных регистра-указателя при косвенной адресации пространства памяти. Выполнение косвенных переходов и команд вызова реализуется с прямой адресацией всех 16К адресного пространства программ. Архитектура микроконтроллера (рис. 4) позволяет эффективно поддерживать как Ассемблер, так и языки высокого уровня.
Микроконтроллер имеет четыре источника сброса: по включению питания; по внешнему сигналу; от сторожевого таймера и при снижении напряжения питания (Brown-Out reset) и 4 режима. У микроконтроллера большое количество векторов прерываний.
АЦП микроконтроллера MSP430G2553 построен по принципу последовательного приближения, что позволило получить хорошие метрологические характеристики. Он может работать как в режиме циклического, так и в режиме одиночного преобразования когда цикл запускается программно. На входе АЦП имеет 8-канальный мультиплексор.
Информация о работе Микроконтроллерное управление процессом активированной пайки