Микропроцессоры и микроконтроллеры
Лекция №1
“Аналоговые и цифровые методы обработки информации. Их сопоставление. Достоинства и недостатки. Области применения. Современное состояние вопроса. История развития микропроцессоров и их роль в современной преобразовательной технике”.
Практически любое инженерное устройство имеет целью своего функционирования то или иное преобразование энергии или преобразование информации. Задачей любой системы управления в самом общем смысле является обработка информации о текущем режиме работы управляемого объекта и выработка на основе этого управляющих сигналов с целью приближения текущего режима работы объекта к заданному. Под обработкой информации в данном случае подразумевается решение тем или иным способом уравнений состояния системы.
В электронных устройствах существуют два основных способа обработки информации: аналоговый и цифровой.
При аналоговом способе обработки информации каждой переменной величине в системе ставится в соответствие один из плавно меняющихся параметров определенного участка электрической цепи (ток, напряжение, частота и т.д.). Функциональные зависимости между различными переменными в системе реализуются путем построения соответствующих электрических цепей. Простейшие функциональные зависимости можно реализовать на основе законов функционирования элементарных пассивных элементах электрической цепи:
- для резистора ;
- для конденсатора ;
- для индуктивности .
Принципиальной особенностью аналогового способа обработки информации является возможность плавного в известных пределах) изменения величин электрических сигналов, соответствующих переменным системы. Все преобразования осуществляются практически мгновенно.
При цифровом способе обработки информации каждой переменной величине в системе ставится в соответствие ее цифровой код. Функциональные зависимости в системе реализуются путем непосредственного решения уравнений системы теми или иными численными методами по заранее заложенной программе. Устройство, реализующее это решение называется процессором.
Первый процессор, как программно функционирующее устройство, способное выполнять арифметические и логические операции, а так же осуществлять ветвление алгоритма своего функционирования в зависимости от результата предыдущих вычислений, был создан в 40-е годы нашего столетия в США специалистами фирмы IBM. Он представлял собой устройство на электо-механических реле, занимал несколько этажей здания, имел крайне низкое быстродействие и надежность, и был пригоден лишь для очень узкого класса специфических вычислений. По мере прогресса электронной техники усовершенствовалась и элементная база для построения процессоров. Появлялись процессоры на электронных лампах, транзисторах, дискретных логических микросхемах малой степени интеграции. По мере совершенствования процессоры имели все меньшие габаритные размеры, потребляли все меньше энергии, обладали все большей производительностью и надежностью. Однако они все еще были мало пригодны для выполнения операций управления в реальном масштабе времени, а по тому использовались в основном только для определенного класса вычислительных задач.
Настоящая революция в вычислительной технике произошла после появления первого т.н. “микропроцессора”, т.е. процессора, выполненного в виде одной микросхемы большой степени интеграции. Это был 4-разрядный микропроцессор 4004 фирмы INTEL (1971 г.). В 1973 г. фирма INTEL выпускает 8-разрядный микропроцессор 8080, а в 19978 г. - 16-разрядный микропроцессор 8086, имеющий 29 тысяч транзисторов на кристалле и начальную стоимость 360$. Эволюция микропроцессоров имела все ускоряющиеся темпы и появившийся на рынке в 1993 г. микропроцессор INTEL PENTIUM имел уже 3.2. млн. транзисторов на кристалле и начальную стоимость 878$. Основными направлениями эволюции микропроцессоров являлись (и являются) увеличение разрядности одновременно производимых вычислений и уменьшение времени выполнения вычислений.
Микропроцессор - программно-управляемое устройство, предназначенное для обработки цифровой информации и управления процессом этой обработки, выполненное в виде одной (или нескольких) интегральной схемы с высокой степенью интеграции электронных элементов.
Уменьшение стоимости, потребляемой мощности и габаритных размеров, повышение надежности и производительности микропроцессоров способствовали значительному расширению сферы их использования. Наряду с традиционными вычислительными системами они все чаще стали использоваться в задачах управления. При этом перед микропроцессором ставились задачи программного управления различными периферийными объектами в реальном масштабе времени.
Упрощенная структурная схема микропроцессорной системы управления имеет вид.
На процессор возлагается задача выполнения всех программных действий, необходимых в соответствии с алгоритмом работы устройства. В блоке памяти хранятся команды программы функционирования процессора, а также значения констант и переменных величин, участвующих в вычислениях. Блок ввода-вывода выполняет функцию сопряжения микропроцессорной системы с объектом управления.
Широкое использование микропроцессорной техники именно для задач управления привело к появлению на рынке специализированных микропроцессорных устройств, ориентированных на подобного рода применения. Особенностью этих микросхем является то, что помимо собственно процессора, на этом же кристалле расположена и система ввода-вывода, что позволяет снизить функциональную сложность и габаритные размеры микропроцессорной системы управления. Подобные устройства называются микроконтроллерами.
Микроконтроллер - вычислительно-управляющее устройство, предназначенное для выполнения функций логического контроля и управления периферийным оборудованием, выполненное в виде одной БИС и сочетающее в себе микропроцессорное ядро и набор встроенных устройств ввода-вывода.
Первыми микроконтроллерами явились микросхемы семейства MCS-48 фирмы INTEL, выпущенные в 1976 году. В 1981 году фирма INTEL выпустило новое семейство 8-разрядных микроконтроллеров MCS-51, которые получили огромное распространение во всем мире и дали толчок бурному развитию микроконтроллеров. вслед за фирмой INTEL микроконтроллеры начинают выпускать и другие ведущие производители микропроцессорной техники. Фирма MOTOROLA выпустила самый популярный в мире 8-разрядный микроконтроллер M68HC05. Эволюция микроконтроллеров соответствовала общему прогрессу микропроцессорной техники. Увеличивалась разрядность микроконтроллеров, их быстродействие, усовершенствовалась встроенная система ввода-вывода. Появились 16-разрядные (MCS-96 фирмы INTEL, M68HC12, M68HC16 фирмы MOTOROLA и др.), а затем и 32-разрядные (M68HC32 фирмы MOTOROLA ) микроконтроллеры. С 1984 года начало развиваться направление т.н. RISC ( Reduced Instruction Set Computer) микроконтроллеров, обладающих повышенным быстродействием. Представителями подобных устройств являются семейства SAB 80C166 фирмы SIEMENS, MPC500 (на базе PowerPC ядра) фирмы MOTOROLA и др. Дальнейшая интеграция позволила объединить на одном кристалле м процессором не только систему ввода-вывода, но и блок памяти, что дало возможность реализовывать подлинно однокристальные варианты систем управления.
Отличительной особенностью цифровых систем управления является дискретизация сигнала по уровню, величина которой определяется разрядностью производимых вычислений. Так, в случае 8-разрядной системы, весь диапазон изменения значения сигнала делится на 256 участков и цифровой код, соответствующий этому сигналу может принимать лишь одно из 256 значений. Это, очевидно, накладывает ограничение на точность цифровой системы управления. Вследствие этого, долгое время в прецизионных системах продолжали (и в ряде случаев продолжают) использовать аналоговые методы обработки информации. Проведем сравнительный анализ. Пусть в аналоговой системе некоторый сигнал, в амплитуде которого заложена информация, может изменяться в пределах от 0 до 10 В. Уровень шума при этом не превышает 1 мВ. Для достоверной передачи информации, исключающей влияние шумов, минимальное приращение сигнала должно составлять как минимум 1 мВ. Т.о., с помощью подобного сигнала можно передать единиц информации.
Для передачи такого же количества информации в цифровом коде необходимо иметь разрядность как минимум 14 двоичных разрядов. Следовательно, цифровые системы с меньшей разрядностью будут уступать по точности описанной аналоговой системе. Однако, при наличии разрядности, большей чем 14 бит цифровая система может не только не уступать, но и превосходить по точности аналоговую поскольку ее параметры не изменяются с течением времени и не таких внешних факторов как температура, влажность и т.п., что в большой степени присуще практически всем аналоговым системам.
Второй отличительной особенностью микропроцессорных систем является последовательное во времени выполнение команд процессором. Все команды, каждая из которых имеет конечное время выполнения, исполняются последовательно, одна за другой. Следовательно, от момента начала выполнения алгоритма до получения конечного результата проходит некоторый интервал времени. Это отрицательно сказывается на быстродействии цифровых систем, и , в частности, на области устойчивости и полосе пропускания цифровых систем управления. Однако, процесс повышения быстродействия микропроцессорных устройств идет неуклонно вперед и в настоящее время существуют микропроцессоры, минимальное время выполнения команды у которых достигает 5 нс. С помощью современных микропроцессоров уже сегодня возможно создавать системы управления с полосой пропускания в десятки и даже сотни Кгц. В свою очередь, аналоговые системы несмотря на практически мгновенное протекание сигналов также обладают конечным быстродействием из-за не идеальности компонентов и наличия паразитных реактивных связей в системе. Временные параметры цифровых систем, в отличие от аналоговых, не изменяются с течением времени и не зависят от внешних факторов.
Т.о., в настоящее время, благодаря всему вышеперечисленному идет полномасштабное внедрение микропроцессорной техники практически во все сферы деятельности, где еще вчера господствовали аналоговые методы обработки информации.
В современной преобразовательной технике микроконтроллеры выполняют не только роль непосредственного управления полупроводниковым преобразователем за счет встроенных специализированных периферийных устройств, но и роль цифрового регулятора, системы защиты и диагностики, а также системы связи с технологической сетью высшего уровня.
В последнее время появился ряд микроконтроллеров, специализированных для задач управления полупроводниковыми преобразователями. Их вычислительное ядро, построенное, как правило, на базе т.н. “процессоров цифровой обработки сигналов”, адаптировано на выполнение рекуррентных полиномиальных алгоритмов цифрового регулирования. Встроенные периферийные устройства включают в себя многоканальные генераторы ШИМ-сигналов, аналого-цифровые преобразователи, блоки векторных преобразований координат, таймеры-счетчики, Watcdog-таймеры и т.д. Примерами таких устройств могут служить микроконтроллеры ADMC330 фирмы Analog Devices, TMS320C240 фирмы Texas Instruments, 56800 фирмы Motorola, векторный сопроцессор ADMC200 фирмы Analog Devices.
Лекция № 2
“Цифровые методы представления информации. Цифровые коды. Двоичная и шестнадцатеричная системы счисления. Перевод чисел из одной системы счисления в другую. Двоичная арифметика. Формы представления чисел с фиксированной и плавающей точкой”.
Двоичная система счисления (система счисления с основанием 2) является позиционной системой, аналогичной десятичной системе счисления, в которой положение разряда определяется степенью основания, используемого в качестве множителя данного разряда.
В общем любое число можно представить в виде выражения
где m и n - пределы изменения показателя. m определяет точность представления числа, n определяет максимальный диапазон представляемых чисел.
В случае двоичной системы счисления число представляется в виде
Пример: 28=1*2 +1*2 +1*2 +0*2 +0*2
Будем называть каждую цифру в представлении числа разрядом.
С помощью n-разрядного двоичного кода можно представить последовательных чисел с дискретностью .
Для преобразования числа из десятичной системы счисления в двоичную необходимо последовательно делить заданное число на 2 и формировать результат из остатков деления начиная с младшего разряда.
Пример: (125) = 125 / 2 = 62 + 1
62 / 2 = 31 + 0
31 / 2 = 15 + 1
15 / 2 = 7 + 1
7 / 2 = 3 + 1
3 / 2 = 1 + 1
1 / 2 = 0 + 1
= (1111101)
Для преобразования числа из двоичной системы счисления в десятичную необходимо сложить десятичные веса всех ненулевых разрядов числа.
Правило двоичного сложения.
0+0=0
0+1=1
1+0=1
1+1=0 плюс перенос в следующий старший разряд
Пример: (13) (00001101)
+(10) +(00001010)
Правило двоичного вычитания.
0 - 0 = 0
1 - 0 = 1
1 -1 = 0
0 - 1 = 1 заем 1 из следующего старшего разряда
Самостоятельно изучить двоичное умножение и деление.
Для представления как положительных, так и отрицательных чисел вводится дополнительный знаковый разряд, который является старшим разрядом числа. У положительных чисел он равен 0, а у отрицательных - 1. Число нуль имеет в прямом коде два представления: 00..0 и 10..0.
Прямой код используется для умножения чисел, так как для этого необходимо перемножить модули чисел сомножителей и вычислить знак произведения исходя из знаков сомножителей.
Обратный код (или дополнение до 1) двоичного числа получают заменой всех его единиц на нули, а нулей на единицы.
Пример: X = (11010010)(2) - прямой код;
= (00101101)(2) - обратный код.
Пусть требуется выполнить вычитание двух целых положительных n-разрядных чисел X= и Y= . Разность S можно вычислить как
S= X - Y = X + (-Y) = X - + ( - Y) = X - + W; где W = - Y.
W= - Y = ( + 1) - Y = - + 1 = + 1 = + 1 = + 1.
Число W = - Y называется дополнением числа Y до . Таким образом нахождение разности сводится к сложению с дополнением вычитаемого. Аналогичным образом получим:
S = X - +W = (0* + X) + (1* + W) - .
Код 0* + X = 0* + называется дополнительным кодом положительного числа X. Как видно, он совпадает с прямым кодом.
Код 1* + W = + 1 называется дополнительным кодом отрицательного числа -Y. Он образуется сложением 1 с обратным кодом числа Y и добавлением старшего единичного знакового разряда.
Пример: (5) = (00000101) (-5) = (11111011)
Дополнения двоичных чисел просто получаются посредством схем инвертирования.
Сложение двоичных чисел X и Y, представленных в дополнительном коде, основывается на теореме: Дополнительный код арифметической суммы S двух чисел X и Y любых знаков равен арифметической сумме дополнительных кодов чисел. При этом при сложении чисел одинакового знака должно выполняться условие , т.е. разрядная сетка не должна переполняться. Если X > 0 и Y > 0 и , то происходит потеря значения + и изменение знака остатка суммы на противоположный. Если же X < 0 и Y < 0, то потеря значения - и изменение знака остатка суммы на противоположный происходит при .
Использование дополнительного кода позволяет создавать схемы, выполняющие сложение , вычитание, умножение и деление посредством обычного сложения.
Пример: (16) (00010000) (00010000)
- (10) - (00001010) =+(11110110)
В дополнительном коде старший разряд кода является знаковым.
Смещенный код применяется в блоках АЦП и ЦАП.
Двоично-десятичный код применяется в системах индикации и т.п.
Каждый десятичный разряд кодируется группой из 4 двоичных разрядов.
Пример:
Существуют алгоритмы двоично-десятичной арифметики, аналогичные алгоритмам двоичной арифметики. Для упрощения алгоритмов арифметических операций в двоично-десятичном коде используются “код с избытком 3” и код “4221”, в которых каждая десятичная цифра также записывается в виде 4 двоичных разрядов.