Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Схемотехническое проектирование систем управления. Учебно-методическое пособие
.pdf
ли 2 выделенного регистра-аккумулятора.
2
9. Организация доступа к ОЗУ (банки, индексные регистры
и т.п.).
10. Организация стека, сохраняемый контекст.
11. Организация прерываний, источники.
12. Программирование (в системе): наличие, интерфейс.
В соответствии с этим списком рассмотрим основные па-
раметры и особенности восьмиразрядных семейств МК, выбранных для проектирования.
1.2.1. Семейство восьмиразрядных МК AVR
Данное семейство имеет Гарвардскую архитектуру с раз-
дельными пространствами памяти команд (16-разрядных), данных и констант (EEPROM), ее система команд – RISC, разрядность АЛУ – 8, количество тактов на 1 команду (конвейерно) – 1,
максимальная тактовая частота 20 МГц.
Главным блоком программной модели AVR-
микроконтроллеров является регистровый файл из 32 регистров
общего назначения (РОН) или оперативных регистров (R0–R31),
непосредственно доступных ALU. Старшие регистры объединены парами и образуют три 16-разрядных регистра, предназначенных для косвенной адресации ячеек памяти Ортогональность
РОН AVR является частичной (ограничения следует уточнять в
документации, в частности команды, которые в качестве второго
операнда имеют константу (SUBI, SBCI, ANDI, ORI, SBR, CBR),
могут использовать в качестве первого операнда только регистры из второй половины регистрового файла), выделенного
регистра-аккумулятора нет, в его качестве принято использовать
R16 и R24. Для хранения оперативных данных помимо регистро-
Программная модель микроконтроллера представляет собой изображе-
ние и описание программно доступных ресурсов МК.
11

вого файла можно использовать внутренние и внешние (если
Регистры общего
назначения
Регистры
ввода/вывода
Память программ Память данных Память констант
000h
F_END
0000h
Внешнее
статическое ОЗУ
Внутреннее
статическое
ОЗУ
000h
Е_END
S_END
FFFFh
Разряд-
ность
Объем
16 бит
8 бит
8 бит
они имеются) блоки статической ОЗУ (SRAM). ОЗУ не имеет
разбивки на банки, оно находится в общем адресном пространстве с различными регистрами (рис. 1).
Рис. 1
Как видно из рис. 1, помимо РОН, в это пространство
входят служебные регистры и регистры различных устройств
ввода и вывода информации. При выполнении проекта следует
рассмотреть состав и функции этих РВВ для каждого используемого блока, включая назначение и функционирование битов регистров управления и состояния. Пример – РВВ одного из таймеров AVR (табл. 1).
12

Таблица 1
Груп
па
Название
Функция
Содержит
Регистры
данных
TCNT1
Счетный регистр таймера/счетчика 1
текущий код
(2 байта)
ICR1
Регистр захвата таймера/счетчика 1
защелкнутый
код (2 байта)
OCR1A
Регистр совпадения выхода A
заданный код
(2 байта)
OCR1B
Регистр совпадения выхода B
заданный код
(2 байта)
Ре-
гистр
состо-
яния
TIFR
Регистр флагов событий таймеров /
счетчиков
биты прошедших событий
Регистры
управления
TCCR1A
Регистр управления А таймером/счетчиком 1
биты управления
TCCR1B
Регистр управления B таймером/счетчиком 1
биты управления
TIMSK
Регистр маски прерываний от таймеров
/ счетчиков
биты маски
SREG
Регистр состояния процессора – флаг
разрешения прерываний I
бит маски
Стек МК AVR организован в памяти данных и управляется
указателем SP, аппаратно в нем сохраняется только адрес возврата из подпрограммы. Стек также может использоваться программистом для временного хранения содержимого оперативных регистров (команды PUSH и POP). Система прерываний
приоритетная – по коду адреса вектора прерываний, вложенные
прерывания возможны, но аппаратно не поддерживаются. Источники прерываний как внешние, так и внутренние – от различных периферийных устройств МК. Программирование в системе
возможно, интерфейсы JTAG, ISP.
13

1.2.2. Семейство восьмиразрядных МК PIC
Данное семейство также имеет Гарвардскую архитектуру с
раздельными пространствами памяти команд (12-, 14- или 16разрядных для разных линеек МК), данных и констант
(EEPROM), Память данных PIC-контроллеров организована в
виде регистрового файла объемом 32 – 128 байт, в котором от 7
до 16 регистров отведено для управления системой и обмена
данными с внешними устройствами (рис. 2). В команде указывается только «внутрибанковский» адрес нужной ячейки памяти, а
выбором банка управляют через особый служебный регистр выбора банка BSR. Текущий банк задается битами BSR[3:0] и выбирается с помощью дешифратора 4x16. Для изменения регистра
BSR введена специальная команда. Младшие 128 адресов 0-го
банка, отведенные под пользовательские регистры общего
назначения (РОН), и старшие 128 регистров 15-го банка, хранящие РСН, названы банком быстрого доступа (Access bank). К
ячейкам банка быстрого доступа можно обращаться напрямую,
игнорируя установки регистра ВSR. У МК PIC сть регистраккумулятор для одного из операндов, причем можно выбрать,
куда записать результат операции: в аккумулятор или в регистр
второго операнда.
Система команд PIC – RISC, разрядность АЛУ – 8, количество тактов на 1 команду (конвейерно) – 4, максимальная тактовая частота 20 МГц. Стек реализован аппаратно. Его максимальная глубина составляет два или восемь уровней в зависимости от типа контроллера. Система прерываний имеет единый
адрес вектора прерываний, источник прерывания кодируется в
регистре управления прерываниями. Вложенные прерывания
аппаратно не поддерживаются. Источники прерываний как
внешние, так и внутренние – от различных периферийных устройств МК. Программирование в системе возможно, через специальный двухпроводной интерфейс.
14

Рис. 2
1.2.3. Семейство восьмиразрядных МК STM8S
Семейство восьмиразрядных МК STM8S (их достоинства
см., например, в [33]) имеет Гарвардскую архитектуру с раздельными пространствами памяти команд (32-разрядных), данных и
констант (EEPROM), аналогично AVR (см. рис. 1), но это разделение внутреннее. Для программиста же процессор является фон
Неймановским (Принстонским) и позволяет использовать еди-
15

ное адресное пространство. Система команд STM8 – CISC, разрядность АЛУ – 8, количество тактов на 1 команду (конвейерно)
– 1-2, максимальная тактовая частота 24 МГц (для основной массы моделей 16 МГц). Количество и организация внутренних регистров общего назначения – 6, есть аккумулятор, но непосредственная работа с этими регистрами не предусмотрена, а выполняется через транслятор с языка Си, как и с различными видами
памяти. ОЗУ занимает до 6 кбайт, флэш-память до 128 кбайт,
EEPROM – до 2 кбайт. Стек организован в памяти данных, начинается с RAM END, растет в сторону уменьшения адресов и
управляется указателем SP, глубина его фиксирована (например,
для STM8S103F3 513 байт). Аппаратно в стеке сохраняется регистровый контекст, включая адрес возврата из подпрограммы.
Система прерываний четырехуровневая, сохранение контекста
занимает 9 циклов тактового сигнала. Доступна технология, позволяющая при возникновении очереди прерываний не возвращаться в основную программу, а сразу переходить в обработку
следующего прерывания. Источники прерываний как внешние (5
внешних прерываний — по одному прерыванию на порт вводавывода), так и внутренние – от различных периферийных устройств МК – плюс три немаскируемых прерывания
RESET, TRAP (программное прерывание) и TLI (аппаратное по
фронту или срезу сигнала на выделенном пине). Программирование в системе возможно от программатора ST-Link по однопроводному протоколу SWIM (Single Wire Interface Module).
Язык программирования – Си, при наличии собственной библиотеки firmware library это позволяет не изучать имена битов и
байтов различных периферийных устройств МК. Возможно также программирование на ассемблере, но это сложный процесс,
не освоенный большинством пользователей. Сказывается также
малое количество доступных (особенно русскоязычных) информационных источников. На первом этапе освоения можно рекомендовать пособие [33].
16

1.2.4. Параметры и особенности конкретных моделей МК
Представляется, что в перечень существенных параметров
и особенностей конкретных моделей МК (после выбора для ВУ
и НУ) следует включить следующее.
13. Память констант (или пересылка из памяти программ
в память данных)
14. Память программ: тип и размер – слов x разрядов
15. ОЗУ, байт
16. Наличие DMA
17. Порты ввода/вывода:
общее кол-во разрядов
организация переключения направлений «ввод/вывод»
номиналы токов выхода «втек./вытек»
управление вводом (подтягивающие резисторы, триг-
геры Шмитта)
18. Последовательный интерфейс, тип(ы) – реал/виртуал.
19. Компаратор
20. АЦП – тип, кол-во каналов
21. ЦАП – кол-во каналов
22. ШИМ – кол-во каналов
23. Таймеры, их разрядность и функции (многофункциональ-
ные, реального времени…)
24. Контроллеры ЖК индикаторов и светодиодной матрицы –
реал/виртуал
25. Сторожевой таймер (WDT)
26. Режимы Power Down & SLEEP …
27. Перезапуск по сбою питания, сброс по спаду напряжения
питания
17

1.3. Существенные параметры и особенности различных
последовательных интерфейсов
Как сказано выше, в проект включены задания на проекти-
рование многопроцессорной МПСУ на базе наиболее широко
распространенных МК. Такие системы состоят из узлов, в каждом из которых организуется микроконтроллерная система
управления МКСУ, основой которой является микроконтроллер.
МКСУ поддерживает локальную шину, нагрузочная способность
которой позволяет подключать несколько модулей связи с объектом (цифровой ввод/вывод, аналоговый ввод/вывод, силовые
модули). Каждое такое образование объединяется с себе подобными через унифицированный интерфейс. Требования к такому
интерфейсу подробнее рассмотрены ниже, но основное из них –
разнесение МКСУ по конструкции объекта с тем, чтобы каждая находилась в максимальной близости к исполнительным
элементам – диктует выбор интерфейсов с малым числом проводов, т.е. последовательных. К последовательному интерфейсу
может подключаться N локальных СУ (рис. 3), при необходимости в канал интерфейса встраивают буферный повторитель для
повышения нагрузочной способности. В типичных системах такого типа пропускная способность шины, связывающей МКСУ
друг с другом, не является критическим параметром. Основное –
помехозащищенность, безошибочность передачи информации.
В частности, целесообразно при проектировании интерфейсов
использовать гальваническую развязку. Существенны также минимальное число линий связи и минимальная стоимость. Требование подключения множества устройств можно ограничить,
даже с учетом нескольких процессов, обслуживаемых одним модулем. Типичным значением можно считать около 20 адресов.
18

ИС ВУ
СУ ВУ
ЛСУ kЛСУ 1 ЛСУ N
. . .. . .
Локальная сеть НУ
В локальную сеть ВУ
Рис. 3
Такая локальная сеть (нижний уровень) подключается к системе управления верхнего уровня. Последняя должна иметь соответствующий сетевой интерфейс, а также обладать дополнительными интерфейсными средствами (ИС ВУ) для включения в
сеть следующего, более высокого уровня.
В задании на проектирование будет выдан один из двух типов интерфейсов на верхний уровень – RS-485 или CAN, и одни
из трех вариантов межконтроллерного интерфейса – RS-485, I2C,
SPI. Рассмотрим основные особенности архитектуры каждого из
перечисленных интерфейсов.
1.3.1. Стандарт RS-485
RS-485 — это номер стандарта физического уровня для
асинхронного интерфейса, впервые принятого Ассоциацией
электронной промышленности (EIA). Стандарт RS-485 обеспечивает обмен данными между несколькими устройствами по одной двухпроводной линии связи в полудуплексном режиме. Он
широко используется в промышленности при создании АСУ ТП.
При этом обычно используется в формате протокола Mod-
bus/RTU.
Его основными достоинствами являются:
19

двусторонний обмен данными (в полу дуплексном режи-
ме) ведется всего по одной витой паре проводов (рис. 4);
количество соединяемых устройств, подключаемых к од-
ной линии интерфейса, зависит от типа примененных в
устройстве приемопередатчиков: один передатчик рассчитан на управление 32 стандартными приемниками;
RS-485 обеспечивает передачу данных со скоростью до 10
Мбит/с, причём максимальная дальность зависит от скорости: при скорости 10 Мбит/с максимальная длина линии
— 120 м, при скорости 100 кбит/с — 1200 м;
стандарт не нормирует формат информационных кадров и
протокол обмена.
Рис. 4
На рис. 4 показано соединение трех устройств с интерфейсом RS-485 по двухпроводной схеме, все устройства подключаются к одной витой паре одинаково: прямые выходы к одному
проводу, инверсные – к другому. В качестве приемопередатчиков
(трансиверов) А, В, С следует выбрать одну из специальных
микросхем типа MAX485, подключаемых между выводами МК,
поддерживающими протокол RS-232, и локальной сетью. Сигна-
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
