Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Схемотехническое проектирование систем управления. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
ли 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]