Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лекция 8. Основы микропроцессорной техники



8.1 Системы счисления

В цифровой и вычислительной технике сигналы и информация представляются в дискретной форме. Для удобства последующего преобразования дискретный сигнал подвергается кодированию. Большинство кодов основано на системах счисления, причем использующих позиционный принцип образования числа, при котором значение каждой цифры зависит от ее положения (позиции, веса) в числе.

Примером позиционной формы записи чисел является та, которой мы пользуемся (так называемая арабская форма чисел). Так, в числах 123 и 321 значения цифры 3, например, определяются ее положением в числе: в первом случае она обозначает три единицы (т.е. просто три), а во втором – три сотни (т.е. триста).

В современной информатике используются в основном три системы счисления (все – позиционные): двоичная, шестнадцатеричная и десятичная.

Двоичная система счисления используется для кодирования дискретного сигнала, потребителем которого является вычислительная техника. Такое положение дел сложилось исторически, поскольку двоичный сигнал проще представлять на аппаратном уровне. В этой системе счисления для представления числа применяются два знака – 0 и 1.

Шестнадцатеричная система счисления используется для кодирования дискретного сигнала, потребителем которого является хорошо подготовленный пользователь – специалист в области информатики. В такой форме представляется содержимое любого файла, затребованное через интегрированные оболочки операционной системы, например, средствами Norton Commander в случае MS DOS. Используемые знаки для представления числа – десятичные цифры от 0 до 9 и буквы латинского алфавита – A, B, C, D, E, F.

Десятичная система счисления используется для кодирования дискретного сигнала, потребителем которого является так называемый конечный пользователь – неспециалист в области информатики (очевидно, что и любой человек может выступать в роли такого потребителя). Используемые знаки для представления числа – цифры от 0 до 9.

В любой позиционной системе счисления число можно представить в виде полинома вида

N = a n-1 b n-1 + a n-2 b n-2 +…. + + a 0 b 0 , a m b m + a m-1 b m -1 + a m-i b m –I, (8.1)

где n – количество разрядов целой части числа,

где m – количество разрядов дробной части числа,

b – основание системы счисления,

ai – множитель, принимающий любые целочисленные значения от 0 до b-1, и соответствующий цифре i-го порядка числа.

Двоичная система счисления - число представляется совокупностью цифр 0 и 1, которые называются битами (binary digits – двоичные цифры). Основание системы счисления b = 2.

Шестнадцатеричная система счисления – для записи чисел используют цифры от 0 до 9 и буквы латинского алфавита A (10), B (11), C (12), D (13), E (14), F (15).

 

Перевод из десятичной системы счисления в двоичную и шестнадцатеричную:

Для перевода чисел из одной системы счисления в другую используют метод деления (целая часть числа) – умножения (дробная часть числа) на основание системы счисления.

Перевод целой части числа:

а) исходное целое число делится на основание системы счисления, в которую переводится (на 2 - при переводе в двоичную систему счисления или на 16 - при переводе в шестнадцатеричную); получается частное и остаток;

б) если полученное частное меньше основания системы счисления, в которую выполняется перевод, процесс деления прекращается, переходят к шагу в). Иначе над частным выполняют действия, описанные в шаге а);

в) все полученные остатки и последнее частное преобразуются в соответствии с таблицей перевода в цифры той системы счисления, в которую выполняется перевод;

 

г) формируется результирующее число: его старший разряд (бит) – полученный последний остаток; каждый последующий младший разряд образуется из полученных предыдущих остатков от деления. Таким образом, младший разряд полученного числа – первый остаток от деления, а старший – последний остаток от деления.

Выполнить перевод числа 19 в двоичную систему счисления:

  частное остаток
19: 2 = 1 -младший бит
9: 2 =
4: 2 =
2: 2 =
1: 2 = 1 -старший бит
     

 

Выполнить перевод числа 173 в шестнадцатеричную систему счисления:

  частное остаток
173: 16= D (13)-младший бит
10: 16 = A (10) -старший бит

 

Перевод дробной части числа из десятичной системы в любую другую позиционную систему счисления.

При переводе правильной десятичной дроби в систему счисления с основанием b необходимо сначала саму дробь, а затем дробные части всех последующих произведений последовательно умножать на b, отделяя после каждого умножения целую часть произведения. Число в новой системе счисления записывается как последовательность полученных целых частей произведения. Умножение производится до тех поp, пока дробная часть произведения не станет равной нулю. Это значит, что сделан точный перевод. В противном случае перевод осуществляется до заданной точности. Достаточно того количества цифр в результате, которое поместится в ячейку.

 

Пример. Выполнить перевод числа 0, 847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой.

Имеем:

 

Пример. Выполнить перевод числа 0, 847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.

Для различения систем счисления, в которых представлены числа, в обозначение двоичных и шестнадцатеричных чисел вводят дополнительные реквизиты:

для двоичных чисел – нижний индекс справа от числа в виде цифры 2 либо знак B или b (binary – двоичный), справа от числа. Например, 1010002 = 101000B = 101000b;

для шестнадцатеричных чисел - нижний индекс справа от числа в виде числа 16 либо знак H или h (hexadecimal – шестнадцатеричный), справа от числа. Например, 3AB16 = 3ABH = 3ABh.

Перевод из двоичной или шестнадцатеричной систем счисления в десятичную выполняется по соотношению (8.1).

Группа из 8 битов информации называется байтом. Если бит — минимальная единица информации, то байт ее основная единица. Существуют производные единицы информации: килобайт (кбайт, кб), мегабайт (Мбайт, Мб) и гигабайт (Гбайт, Гб).

 

1 кб =1024 байта.

 

1 Мб = 1024 кбайта = 1024 x 1024 байтов.

 

1 Гб = 1024 Мбайта = 1024х1024 х 1024 байтов.

 

Эти единицы чаще всего используют для указания объема памяти ЭВМ.

8.2. Счетчики импульсов

Счетчик – это последовательная схема, в основе которой лежит регистр (последовательное соединение триггеров). Поскольку любая последовательная схема имеет конечное число состояний, то счетная последовательность счетчика либо завершается неким определенным состоянием (счетчики с конечным состоянием или счетчики с насыщением), либо циклически повторяется – счетчики по модулю (mod). Термин модуль используется для обозначения числа различных состояний счетной последовательности. Например, в счетчике по mod = 6 после прихода на вход шестого импульса счетчик обнуляется и процесс счета повторяется снова. Если в счетчике n триггеров, то число возможных состояний счетчика равно 2n и следовательно его модуль равен mod = 2n.

Счетчики строятся на базе синхронных триггеров (D, T). В зависимости от способа соединения синхронизирующих входов триггеров, двоичные счетчики подразделяются на синхронные и асинхронные.

В зависимости от модуля они подразделяются на десятичные (декадные), у которых

mod = 10 и двоичные с mod = 2n.

В зависимости от направления счета они подразделяются на суммирующие, вычитающие или реверсивные (направление счета можно менять).

Синхронные счетчики. Функциональная схема синхронного двоичного счетчика на базе Т-триггеров и временная диаграмма его работы представлены на рис. 8.1.

       
 
 
   
 

 


Так как в счетчике общая синхронизация, то состояние триггеров меняется синхронно, т. е. те триггеры, которые должны изменить своё состояние по синхроимпульсу, делают это синхронно. В частности, если в момент времени t0 все триггеры исходно обнулены, то после подачи на линию «разрешение счета» сигнала Т = 1 в единичном состоянии будет только первый триггер (Q0 =1) после прихода импульса синхронизации. Все остальные – в нулевом, так как через схемы И их входы Т блокированы нулевым потенциалом. С приходом второго тактового импульса к изменению своего состояния на единичное будет подготовлен второй триггер и по заднему фронту второго импульса синхронизации триггеры примут новое состояние: Q0 = 0, Q1 = 1, Q2 = 0.

Число импульсов, пришедших на вход счетчика, можно определить по соотношению:

N = Q0 20 + Q1 21 + Q2 22 + … + Qn -1 2n -1 (8.2).

Описанный выше способ формирования сигналов на Т входов триггеров используется в счетчиках с последовательным переносом. Применение вентилей И для формирования сигналов на входах Т приводит к снижению скорости счета, так как после прохождения синхроимпульса следующий нельзя подавать до тех пор, пока не определятся все значения на входах Т. Для n-разрядного счетчика требуется время tзад = τ в (n – 1), где τ в – время задержки распространения сигнала через один вентиль.

Этот недостаток устраняется в счетчиках со сквозным переносом за счет усложнения схемы подачи сигналов на Т входы триггеров.

Асинхронные счетчики.

В асинхронных счетчиках входы синхронизации триггеров, кроме первого, соединены с выходами предыдущих триггеров (рис. 8.2), а входы Т объединены в общую линию «разрешение счета», поэтому состояние триггера меняется в ответ на изменение состояния предыдущего.

 

 
 

DD3
а
Если на линию «разрешение счета» подана логическая 1, то каждое «отрицательное» изменение состояния каждого левого триггера (задний фронт импульса) вызовет изменение состояния последующего и т.д. В асинхронных счетчиках возможен сбой в процессе передачи информации от триггера к триггеру. Они находят широкое применение в качестве делителей частоты на любую степень двойки fвых = fвх / 2n .

Все рассмотренные счетчики являются суммирующими двоичными счетчиками. Они легко могут быть перестроены в вычитающие. Для этого, например, в схеме рис. 8.1 достаточно переключить входы вентилей И с выходов Q на инверсные .

 

8.3. Микроконтроллеры.

8.3.1. Принципы организации микроконтроллеров; архитектура микропроцессоров и их функционирование, структура микроконтроллеров.

В современной технике микроконтроллеры находят очень широкое применение. На их основе строятся датчики измерения физических параметров с линейными характеристиками, регуляторы параметров технологических процессов, системы сбора и передачи данных, информационные системы и системы автоматического управления различного класса. Современное понятие микроконтроллер возникло в связи с мощным развитием и совершенствованием микроэлектроники и является естественным развитием более старых понятий, таких как ЭВМ, микро-ЭВМ, употреблявшихся в 70 – 80 годы прошлого столетия. Однако основные, базовые принципы организации функционирования вычислительных систем остаются.

По определению ЭВМ – это искусственная, инженерная система, предназначенная для выполнения вычислений на основе алгоритмов. Принципы ее построения определяются с одной стороны, назначением ЭВМ, а с другой – элементной базой. Совершенствование элементной базы и привело к появлению в конце 20 века такого понятия как микроконтроллер. Современная вычислительная техника строится на одном из важных принципов – принципе программного управления, предложенного Дж. Фон Нейманом в 1945 г. Эти принципы следующие:

1. Информация кодируется в двоичной форме и разделяется на единицы информации, называемые словами.

2. Разнотипные слова информации различаются по способу использования, но не способом кодирования. Все слова, представляющие числа, команды и т.д. выглядят в ЭВМ совершенно одинаково и сами по себе неразличимы. Только порядок использования слов в программе вносит различия в слова. Благодаря этому возможно использовать одни и те же операции для обработки и чисел и команд.

3. Слова информации размещаются в ячейках памяти и идентифицируются номерами ячеек, называемых адресами слов.

4. Алгоритм представляется в форме последовательности управляющих слов, которые определяют наименование операции и слова информации, участвующие в операции, и называются командами.

5. Выполнение вычислений, предписанных алгоритмом, сводится к последовательному выполнению команд в порядке, определяемом программой.

Принцип программного управления предполагает, что алгоритм в ЭВМ представляется в виде упорядоченной последовательности команд вида

b0 b1 ...bl b0 b1 ...bm … b0 b1 ...bn,

 
 

 


где b – двоичная переменная. Определенное число первых разрядов команды характеризует код операции (КОП) – характер выполняемых действий (+, -, *, и т.д.). Последуюшие наборы двоичных переменных (А1 …Аn ) определяют адреса операндов (аргументов и результатов), заданных кодом КОП. Процесс вычислений, выполняемый по заданной программе, состоит в последовательном выполнении команд. Первой выполняется команда, заданная пусковым адресом программы. Обычно это адрес первой команды программы.

В состав современного микроконтроллера входят: ядро (микропроцессор); память данных (оперативное запоминающее устройство - ОЗУ (RAM)); память программ (постоянное запоминающее устройство – ПЗУ (ROM) или Flash-память); периферийные устройства: контроллеры прерываний, порты ввода-вывода, ШИМ- генераторы, таймеры, АЦП, ЦАП, порты для последовательной передачи данных – USART, I2C, SPI и т.д. Все эти устройства выполняются, как правило, на одном кристалле и помещаются в одном корпусе.

8.3.2. Архитектура микропроцессоров и их функционирование.

Основным элементом микроконтроллера является микропроцессор (МП). Первый коммерческий микропроцессор Intel -8080 был разработан фирмой Intel в 1975 г. Микропроцессор – это функциональный блок, предназначенный для логической и арифметической обработки информации на основе принципа программного управления. Современные микропроцессоры выполняются, как правило, по КМОП технологии и содержат десятки и сотни тысяч элементов, имеют высокое быстродействие – от 10Mips (миллионов операций в секунду) и более, 8, 16 или 32 –разрядную шину данных, 18, 24-разрядную и более шину адреса (речь идет о микропроцессорах для промышленного применения).

В настоящее время основными являются две архитектуры микропроцессоров - неймановская, основанная на принципах, сформулированных фон Нейманом и Гарвардская архитектура. Неймановская архитектура предполагает, что память в системе линейна, т. е. безразлично, в каких областях располагается ОЗУ и ПЗУ. Гарвардская архитектура предлагает жесткое разделение информации на команды и данные и поэтому в архитектуре предусмотрено хранение команд в памяти команд, а операндов – памяти данных.

Из-за сложности схемы, пользователю программно-доступны только основные регистры управления микропроцессором. Рассмотрим архитектуру неймановского процессора с позиций, предоставленных пользователю (рис.8.3).

 
 

 


С периферийными устройствами МП связан с помощью системы шин: External Data Bus -двунаправленная n-разрядная внешняя шина данных; External Address Bus - однонаправленная m-разрядная внешняя шина адреса; Control Bus однонаправленная k-разрядная шина управления (одни разряды шины работают только на ввод, другие – только на вывод). Все шины с тремя состояниями.

Основными устройствами МП являются:

1. АЛУ – арифметико логическое устройство; предназначено для выполнения арифметических (+, -, *, / ) и логических операций (И, ИЛИ, НЕ, Исключающее ИЛИ, операции сдвига). В состав АЛУ входят n-разрядные сумматоры, аппаратные умножители и схемы деления. АЛУ связано с регистром признаковFR (Flags Register).

2. В регистре признаков фиксируются результаты операций (при выполнении того или иного условия автоматически взводится определенный бит регистра):

Z (Zero) –нулевой результат операции; устанавливается, если результатом выполнения последней операции в АЛУ является ноль;

S (Sing) или N (Negative) –флаг отрицательного знака при выполнении операции (устанавливается если при выполнении операции в АЛУ получается отрицательное число);

C (Carry) –флаг переноса; устанавливается, если при выполнении операции в АЛУ был установлен бит переноса;

V –флаг переполнения; устанавливается, если при выполнении операции в АЛУ имело место переполнение.

3. GPR (General Pupas Registers) –регистры общего назначения. Предназначены для временного хранения информации, располагаются, как правило, во внутреннем ОЗУ процессора и имеют минимальное время доступа.

SP (Stack Pointer) – указатель стека; это регистр, который содержит адрес ячейки памяти, являющейся вершиной стековой памяти. Стековая память, как правило, создается в оперативной памяти и предназначена для временного хранения информации, в частности при выполнении некоторых команд, например, вызова подпрограмм, возврата из подпрограмм, обработки прерывании и т.д.

PC (Program counter) –программный счетчик, счетчик команд; содержит адрес ячейки памяти, из которой выбирается следующая команда. Во время выборки команды содержимое счетчика передается в регистр адреса RAи из него через буферную схему поступает на внешнюю шину адреса. С помощью схемы приращения СхПсодержимое счетчика команд увеличивается на 1 или 2 в зависимости от длины слова, с которым обменивается процессор (один или два байта) для указания адреса следующей команды.

IR (Instruction Register)– первое слово команды, выбранное из программной памяти, передается через буфер данных и внутреннюю шину данных в IR, выход которого связан с дешифратором команд и формирователем машинных циклов DC и ФМЦ, который по КОП в команде определяет тип выполняемой операции.

Устройство управления и синхронизации (УУС) –вырабатывает управляющие и синхронизирующие сигналы, необходимые для выполнения принятой и дешифрированной команды, подключая необходимые устройства процессора. С помощью k-внешних линий управления (Control Bus) реализуется интерфейс процессора с другими модулями микроконтроллера. Некоторые из этих сигналов:

FCLK- тактовая частота процессора; синхронизирует работу всех устройств и определяет время выполнения команд (быстродействие МП).

RESET– выходной сигнал сброса; обнуляет все основные регистры процессора, в том числе программного счетчика РС, указывая при старте на ячейку памяти 0000h, из которой должна быть считана первая команда программы.

WR (Write) –запись в память, внешнее устройство;

RD (Read) – чтение из памяти, из внешнего устройства.

Современные процессоры выполняются по RISC (Reduce Instruction Set Computering) архитектуре (выполнение вычислений по минимизированным командам). Это обеспечивает выполнение большинства команд за очень малое время даже при относительно не высоких тактовых частотах процессора. Например, МП SAB80C167 фирмы Siemens при тактовой частоте 20 МГц выполняет большинство команд за 100 нс.

 

8.3.3. Структура микроконтроллеров

В качестве примера ниже дано краткое описание промышленного микроконтроллера М167-2.

Промышленный контроллер М167-2, структурная схема которого приведена на рис.8.4., разработан на базе микроконтроллера Siemens 80С167, ядром которого является 16-разрядный RISC процессор SAB80C167 [1]. В основу работы процессора положена конвейерная организация выполнения команд, благодаря чему для выполнения большин­ства из них требуется 100 наносекунд при тактовой частоте процессора 20 МГц.

Центральное процессорное устройство имеет фон-Неймановскую архитектуру, что обеспечивает доступ к исполняемому коду в пределах единого линейного адресного пространства. Максимальный размер адресуемой памяти составляет 16 Мбайт, которая разделена на 256 сегментов (Code Segment) по 64 Кбайт в каждом. Каждый сегмент со­стоит из четырех страниц данных (Data Page) размером по 16 Кбайт.

Процессор имеет внутреннее ОЗУ объемом 2 Кбайт (1Кх16), расположенное в третьей странице данных нулевого сегмента (00.F000h – 00.FFFFh).Во внутреннем ОЗУ размещены регистры общего (GPR) и специального (SFR и ESFR) назначения.

Система обработки прерываний контроллера обрабатывает более 56 независимых каналов прерываний. Текущее состояние программы (IP, PSW, CSP) сохраняется во внут­реннем системном стеке. Шестнадцати уровневая система приоритетов с четырех уровне­вым (групповым) приоритетом второго уровня позволяет организовать обработку преры­ваний по приоритету. Кроме того, в состав контроллера входит 8 канальный блок РЕС (событийный контроллер), с помощью которого можно осуществлять пересылку данных между периферийными устройствами и областями памяти в режиме прерываний без уча­стия основного процессора.

Контроллер внешней шины позволяет задать четыре типа внешней шины и изме­нять их временные характеристики.

Входящие в состав контроллера блоки «Захват/Сравнение» и блоки таймеров по­зволяют организовать дополнительные ШИМ каналы (до 28) кроме стандартного четырех канального модуля ШИМ, а так же формировать и измерять параметры импульсных сиг­налов.

Микроконтроллер обеспечивает 111 параллельных каналов ввода/вывода, органи­зованных в 16- или 8-битовые порты. Все выводы портов битадресуемы и индивидуально (побитно) программируются на ввод или вывод.

Кроме того, в состав микроконтроллера входят два АЦП (8 и 16 каналов) и сете­вой контроллер CAN со скоростью передачи до 1 Мбит/сек. CAN контроллер позволяет создавать сложные распределенные системы управления реального времени.

Наличие встроенного полноэкранного отладчика обеспечивает режим интерак­тивного доступа ко всем ресурсам микроконтроллера и удобный интерфейс для отладки программ, что позволяет быстро и эффективно отлаживать программы в реальном вре­мени с подключенными внешними устройствами. С помощью специальных функций от­ладчика и программатора, находящегося на плате контроллера, программа после оконча­ния разработки и отладки может быть записана во Flash ПЗУ.

 


 


Литература

 

1 Гальперин М.В. Электронная техника. Учебник. – 2-е изд., испр. и доп.

– Форум, 2014.

2 Готтлиб И. М. Источники питания. Инверторы, конверторы, линейные и импульсные стабилизаторы. – Постмаркет, 2008.

3 Шило В. Л. Популярные цифровые микросхемы. Справочник.

– Челябинск: Металлургия, 1989.

4 Гусев В. Г. Электроника и микропроцессорная техника. Учебник для вузов. – 5 изд. – М.: Высшая школа, 2008.

Интернет-ресурсы

1 Белов Н.В., Волков Ю.С. Электротехника и основы электроники. – СПб.: Лань, 2012. – Режим доступа: http: //e.lanbook.com.

2 Ефимов И.Е., Козырь И.Я. Основы микроэлектроники. – СПб.: Лань, 2008. – Режим доступа: http: //e.lanbook.com.

3 Игнатов А.Н. Оптоэлектроника и нанофотоника.. – СПб.: Лань, 2011. – Режим доступа: http: //e.lanbook.com.

 


Поделиться:



Последнее изменение этой страницы: 2017-04-12; Просмотров: 1002; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.046 с.)
Главная | Случайная страница | Обратная связь