Интерфейсы микроконтроллерных систем 32/32/10. О микроконтроллерах фирмы STM32 и ядре Cortex-M4

Страницы работы

Фрагмент текста работы

Интерфейсы микроконтроллерных систем

32/32/10

Л1-2 

О микроконтроллерах фирмы STM32 и ядре Cortex-M4

1.  Что такое ARM.

Компания ARM Holdings, за годы своего существования, спроектировала ни один десяток процессоров, основанных на одноименной архитектуре ARM (Advanced RISC Machine), предназначенных для разных областей применения. Все эти процессоры были раскуплены ведущими производителями микроконтроллеров и систем-на-кристалле. Одним из последних творений компании является семейство процессоров Cortex (архитектура ARMv7-M) :

Cortex-A (аббревиатура от слова “Application”)

Cortex-R (аббревиатура от слова “Real-Time”)

Cortex-M (аббревиатура от слова “Microcontroller”)

В общем, ядра Cortex-A и Cortex-R используются в высокопроизводительной техники (смартфоны, планшеты, ноутбуки и т.д.) и промышленности (автомобильная, медицинская, охранная и др. техника) соответственно. Контроллеры на базе этих ядер дорогие, производятся на заказ (в радиомагазинах их не найти  ), а самое главное избыточны для различных малых и средних проектов. Специально для таких проектов (бытовая техника, измерительные приборы, любительские проекты и т.д.) было разработано подсемейство Cortex-M, но это не означает что микроконтроллеры на базе ядра Cortex-M, не могут быть использованы в областях предназначенных для старших семейств (A и R). У семейства Cortex-M имеется свое подсемейство:

Cortex-M0

Cortex-M0+

Cortex-M1

Cortex-M3

Cortex-M4

Микроконтроллеры на базе процессора Cortex-M0 и Cortex-M0+ предназначены стать альтернативой 8-разрядным микроконтроллерам. В сравнении с ядрами Cortex-M3 и выше, имеют меньшую производительность и меньше периферийных устройств, к тому же архитектура отличается от остальных Cortex’ов (ARMv6-M). Что касается семейства Cortex-M1, то оно существует лишь в виде исходного кода на языках описания аппаратуры (HDL) и предназначено для встраивания в FPGA и CPLD кристаллы.

2.  Микроконтроллеры фирмы STMicroelectronics.

  • преемственность на программном уровне.
  • преемственность на аппаратном уровне.
  • переназначение выводов.

  1. Структура микроконтроллера  STM32F4xx.

О протоколах передачи данных

4.  Синхронная и асинхронная передача данных.

5.  Потенциальные коды и импульсные коды.

·  Двуполярный импульсный код

·  Потенциальный код NRZI

6.  Битовая синхронизация.

·  Преамбула.

Преамбула

7 байт 0хАА ( 10101010 )

SFD  (start frame delimiter )

1 байт 0xAB ( 10101011)

CRC ( cyclic redundancy check)

EFD  (End frame delimiter)

Межпакетный промежуток 9.6 мкс

·  Вставка бита. Пример сеть CAN:

11111111 à 111110111

11111000 à 111110000

7.  Самосинхронизирующиеся коды.

·  Код NRZI

·  4B à 5B  

0000   11110  

0001   01001  

0010   10100  

0011   10101  

0100   01010  

0101   01011  

0110   01110  

0111   01111  

1000   10010  

1001   10011  

1010   10110  

1011   10111  

1100   11010  

1101   11011  

1110   11100  

1111   11101  

8.  Код Манчестер-II

·  Бифазный код.

9.  Скорость передачи и полоса пропускания канала.

10. Кадровая синхронизация.

·  Стартовый и стоповый биты – протокол RS232

·  Бит пробуждения (wake up bit) – 9-й бит в некоторых микроконтроллерах

·  Преамбула сети Ethernet (SFD  - start frame delimiter )

·  Байт пробуждения (wake up byte)  – протокол SLIP (Serial Link Interface Protocol)

·  Символ разделитель  –  протокол ModBus ASCII

·  Протокол NMEA. Символ разделитель $

$GPRMC,180301.45,A,5546.8890,N,03733.3533,E,22.4,090.4,190608,10,E*45

·  Временной интервал  –  протокол ModBus RTU


О структуре сети

11. Модель OSI.

Модель OSI.jpg

12. Топология сети.

·  Шина. Звезда. Кольцо.

·  Физическая и логическая топологии.

·  Сеть Ethernet: HAB и Switch.

Л3-4  16.09.2013

13. Технология master-slave.

Физический уровень

14. Режимы работы выводов микроконтроллера.

·  Порт микроконтроллера

·  Открытый коллектор

·  Выход с 3-мя состояниями.

·  Резисторы подтяжки.

Монтажное ИЛИ

·  Внешние прерывания.

15. Обычная и дифференциальная передача данных.

·  Интерфейс RS232

·  Интерфейс RS422

·  Интерфейс RS485

·  Гальваническая развязка

·  Управление потоком данных

16. Universal synchronous asynchronous receiver transmitter (USART).

  • Структура пакета
  • Скорость обмена
  • DMA
  • Дополнительные режимы работы

Л5-6  31.09.2013

Синхронные интерфейсы

SPI - Serial Peripheral Interface

17. Синхронный периферийный интерфейс SPI фирмы Motorola.

-  Отсутствует стандарт

-  Режим master-slave, синхронизация

-  Передача данных

-  Сигнал SS (CS)

Структура связей и линии интерфейса SPI

Временная диаграмма SPI для режима 0


18. Режимы работы интерфейса SPI

-  Длина пакета

-  Последовательность битов

-  4-типа синхронизации


19. Объединение устройств на шине SPI


Шина I2C (Inter-Integrated Circuit)

20. Концепция шины  I2C.

-  режим master-slave

-  число линий связи и их назначение

-  адресация устройств

-  арбитраж

-  скорость работы.

21. Физический уровень шины I2C.


22. Сигналы на шине I2C.


23. Структура кадра шины I2C.

-  порядок битов

-  подтверждение, неподтверждение

-  управление линией SCL, затягивание


24. Пересылка данных по шине I2C.

-  1-й байт после старта. 7-ми битная адресация

-  бит направления

-  комбинированный формат

-  передача данных

-  прием данных


25. Распределение адресов.

- зарезервированные адреса

- адрес общего вызова

- 10-ти битные адреса

26. 10-ти битная адресация.

27. Арбитраж.

-  захват шины.

28. Прерывания и прямой доступ к памяти (DMA).

Л7-807.10.2013

IDE Keil µVision

29.  Этапы создание программы для микроконтроллера.

-  Редактор текста

-  Препроцессор, директивы: #include <имя файла> (“имя файла”), #define (макроподстановки и макросы), #ifdef (условной трансляции)

-  Компилятор: assembler, C, C++, ключи компилятора: стандарт языка, оптимизация.

-  Компоновщик, библиотеки.

-  Симулятор и отладчик.

-  Форматы выходных файлов: BIN, HEX, Elif

:020000040800F2

:10000000601F0020D9010008DD2C00080F2C00081B

:10001000D92C0008272A0008FF3100080000000042

:10002000000000000000000000000000D12E0008C9

:10003000C92A0008000000006D2D0008C52F000827

………………………………………………………..

:0C03D00000000000000000000000000021

:04000005080000F5FA

:00000001FF

-  Вспомогательные утилиты: lib, bin2heh, …

-  Программирование микроконтроллера.

-  Отдельные утилиты командной строки.

-  Процесс создания исполняемого модуля.

-  Семейство утилит make (cmake, gmake)

-  IDE - Интегрированная среда разработки (Integrated Development Environment), проект и его назначение.

30.  IDE Keil MDK-ARM.

-  Основные IDE для МК семейства cortex-M3.

RealView Development Suite (ARM C/C++ Compiler)

Keil MDK-ARM (ARM C/C++ Compiler)

IAR Embedded Workbench for ARM (IAR C/C++ Compiler)

Eclipse

Sourcery CodeBench (GCC - GNU Compiler Collection)

CooCox CoIDE (GCC Compiler)

Atollic TrueSTUDIO (GCC Compiler)

Rowley CrossWorks for ARM (GCC Compiler)

RAISONANCE Ride7 IDE for ARM (GCC Compiler)

mikroC for ARM (MikroElektronika C Compiler)

MULTI IDE for ARM (Green Hills C/C++ Compiler)

TASKING VX-toolset for ARM (Altium C/C++ Compiler)

31. Установка и конфигурирование Keil MDK-ARM.

-  Расположение на диске, переменные среды окружения.

-  Русские символы в названиях файлов и каталогов.

-  Установка (копирование) Keil MDK-ARM.

-  Конфигурирование IDE

-  Проблема кодировок и ее решение

-  Регистрация IDE

-  Установка ST-LINK Utility и драйвера для отладчика: .. \Soft\ STM32 ST-LINK Utility_v2.5.0.exe.

Л9-10  14.10.2013

32. Создание проекта в Keil MDK-ARM. Свойства проекта.

-  Меню Project. Расположение проекта. Выбор процессора

-  Device

-  Target

-  Output, каталог для выходных файлов

-  Listing, каталог для листингов

-  C/C++. Макроопределения: HSE_VALUE=8000000, STM32F40XX, 

USE_STDPERIPH_DRIVER

-  Linker, Scatter File

-  Debug, ST-Link Debugger, в свойствах выбрать SW

-  Utilites, ST-Link Debugger, в свойствах …, ini-файл …, выбор отладчика

33. Библиотеки в исходных текстах

-  библиотека ядра - CMSIS (Cortex Microcontroller Software Interface Standard)

-  библиотека драйверов - StdPeriph_Driver (Standard Peripherals Library Drivers)

-  библиотеки сторонних разработчиков

-  собственные библиотеки

-  конфигурирование проекта - пути к библиотекам

34.  Файлы, подключаемые к проекту.

-  startup_stm32f4xx.s – инициализация стека и «кучи»

-  system_stm32f4xx.c – инициализация тактирования, питания и др.

-  stm32f4xx_it.cpp (.c), stm32f4xx_it.h – прерывания

-  retarget.c и retarget.h – потоковый ввод вывод

-  stm32f4xx_conf.h – библиотека драйверов периферийных устройств

35. Матрица шин МК STM32F4xx

36.  Система ФАПЧ (PLL)

37.  Система тактирования

38. Программа для конфигурирования системы тактирования.

39. Программирование портов.

-  Два подхода к программированию периферии: регистры и библиотеки.

-  Включить файл gpio.h

-  Описать используемые выводы (заполнить структуру GPIO_PIN_DECLARATION)

-  Разрешить тактирование портов, к которым относятся выводы.

-  Проинициализировать выводы.

40.  Программирование последовательного интерфейса USARTx.

-  Включить файл stm32f4xx_usart_c.h.

-  Описать выводы к которым подключен соответствующий USART (заполнить структуру GPIO_PIN_DECLARATION).

-  Заполнить структуру для инициализации USART (USART_InitTypeDef)  

-  Разрешить тактирование портов, к которым относятся выводы.

-  Разрешить тактирование  USART.

-  Перевести выводы для работы с USART в режим альтернативной функции.

-  Проинициализировать выводы.

-  Проинициализировать USART.

-  Разрешить работу USART

Л11-12  18.11.2013

Интерфейс 1-Ware

41. Эквивалентная схема шины 1-Ware.

·  одна линия для передачи данных и питания

·  эквивалентная схема

·  архитектура master-slave

·  возможные варианты построения однопроводной шины

Подключение устройств к шине 1-Ware

Эквивалентная схема шины 1-Ware

42. Сигналы на шине 1-Ware.

·  возможные варианты построения однопроводной шины

·  принцип формирования сигналов – тайм-слоты

·  сигнал RESET – кадровая синхронизация

·  передача 1, передача 0

·  прием 1, прием 0

43.  Влияние кабеля на качество связи.

44. Структура адреса устройства.

·  структура адреса

·  таблица идентификаторов

·  порядок битов в адресе и общих командах

Таблица идентификаторов (частично)

45. Поиск устройств

·  команда 0xF0 (SEARCH ROM)

·  чтение «прямого бита»

·  чтение «инвертированного  бита» (дополнение)

·  запись одного бита адреса

·  пример сети с 2-мя устройствами

Если бит = дополнение = «1», это значит, что на линии нет готовых устройств, т.е. никто не ответил. В этом случае поиск прекращается.

Если биты не равны, т.е. бит = 0, а дополнение = 1 или наоборот — это значит, что у всех устройств этот бит совпадает. Этот случай простой — мы просто записываем к себе этот бит и переходим к следующим операциям

Если бит = дополнение = «0» — это значит, что у устройств первый бит кода ПЗУ не совпадает, т.е. у кого-то «1» а у кого-то «0», это сложный случай  называется

Похожие материалы

Информация о работе

Тип:
Конспекты лекций
Размер файла:
4 Mb
Скачали:
0