
- •Микроконтроллеры msp430 Введение
- •1. Центральный процессор msp430
- •1.1. Адресное пространство микроконтроллеров msp430f1xx
- •1.2. Регистровый файл
- •1.3. Байтовая и словная формы инструкций.
- •1.4. Режимы адресации
- •1.4.1 Регистровая адресация
- •1.4.2. Индексная адресация
- •1.4.3 Символьная адресация
- •1.4.4 Абсолютная адресация
- •1.4.5. Косвенная адресация
- •1.4.6. Косвенная адресация с автоинкрементом
- •1.4.7 Непосредственная адресация
- •2. Система команд msp микроконтроллеров
- •2.1. Двухадресные команды
- •2.2 Одноадресные команды
- •2.3 Команды переходов
- •2.4. Эмулируемые команды
- •3. Периферийные устройства микроконтроллеров msp430f1xx
- •3.1 Внешние выводы микроконтроллера msp430f149
- •3.2 Система прерываний
- •3.3 Система тактирования
- •3.4 Сторожевой таймер
- •3.5 Аппаратный умножитель
- •3.6 Порты ввода/вывода
- •3.7 Таймер a3
- •3.8 Таймер b7
- •3.9 Интерфейс usart
- •3.9.1 Режим uart
- •3.9.1.1 Передача данных
- •3.9.1.2 Передача данных
- •3.9.1.3 Поддержка коммуникации в многопроцессорных системах
- •3.9.1.4 Обнаружение стартового бита при приеме
- •3.9.1.5 Скорость передачи
- •3.9.1.6 Регистры usart
- •3.9.2 Режим spi
- •3.9.3 Режим i2c
- •3.10 Аналоговый компаратор
- •3.11 Аналого-цифровой преобразователь adc12
- •3.12 Flash контроллер
- •3.12.1 Стирание Flash памяти
- •3.12.2 Запись Flash памяти
- •3.12.3 Регистры Flash контроллера
Микроконтроллеры MSP430 2
Введение 2
1. Центральный процессор MSP430 3
1.1. Адресное пространство микроконтроллеров MSP430F1xx 3
1.2. Регистровый файл 5
1.3. Байтовая и словная формы инструкций. 6
1.4. Режимы адресации 7
1.4.1 Регистровая адресация 8
1.4.2. Индексная адресация 8
1.4.3 Символьная адресация 8
1.4.4 Абсолютная адресация 9
1.4.5. Косвенная адресация 10
1.4.6. Косвенная адресация с автоинкрементом 10
1.4.7 Непосредственная адресация 10
2. Система команд MSP микроконтроллеров 11
2.1. Двухадресные команды 11
2.2 Одноадресные команды 14
2.3 Команды переходов 16
2.4. Эмулируемые команды 19
3. Периферийные устройства микроконтроллеров MSP430F1xx 22
3.1 Внешние выводы микроконтроллера MSP430F149 22
3.2 Система прерываний 24
3.3 Система тактирования 28
3.4 Сторожевой таймер 34
3.5 Аппаратный умножитель 36
3.6 Порты ввода/вывода 37
3.7 Таймер A3 39
3.8 Таймер B7 47
3.9 Интерфейс USART 52
3.9.1 Режим UART 53
3.9.1.1 Передача данных 53
3.9.1.2 Передача данных 53
3.9.1.3 Поддержка коммуникации в многопроцессорных системах 54
3.9.1.4 Обнаружение стартового бита при приеме 55
3.9.1.5 Скорость передачи 55
3.9.1.6 Регистры USART 57
3.9.2 Режим SPI 60
3.9.3 Режим I2C 64
3.10 Аналоговый компаратор 65
3.11 Аналого-цифровой преобразователь ADC12 67
Рисунок 10. Структурная схема ADC12 68
3.12 Flash контроллер 78
3.12.1 Стирание Flash памяти 78
3.12.2 Запись Flash памяти 79
3.12.3 Регистры Flash контроллера 80
Микроконтроллеры msp430 Введение
Микроконтроллеры семейства MSP430 - серия 16-ти разрядных микроконтроллеров фирмы Texas Instruments (www.ti.com). Американская фирма TI является мировым лидером по производству цифровых сигнальных процессоров. Ею также производятся микроконтроллеры индустриального применения, аналоговые и цифровые микросхемы широкого применения.
Микроконтроллеры семейства MSP430 имеют одинаковое 16-разрядное процессорное ядро и отличаются друг от друга объемом встроенной памяти программ и данных, набором периферийных устройств, количеством внешних выводов.
Как и AVR микроконтроллеры, MSP реализует RISC (Reduced Instruction Set Computer) идеологию (всего 27 базовых команд). Однако, а отличие от AVR, данная серия построена по фон-неймановской (von Neumann) архитектуре, предполагающей, что память программ и память данных находятся в одном адресном пространстве. Основными чертами рассматриваемых микроконтроллеров являются широкий набор встроенных периферийных устройств, высокая производительность процессора и крайне низкая мощность потребления, что делает их идеальными для применения в портативных измерительных индустриальных и биомедицинских приборах.
В настоящее время имеется 5 групп микроконтроллеров MSP430:
MSP430C3xx - имеет производительность до 4 миллионов инструкций в секунду (4 MIPS), память программ – ПЗУ до 32 kB, память данных (ОЗУ)– до 1 kB, имеется аппаратная поддержка ЖК индикаторов. В настоящее время эта серия считается устаревшей и в новых разработках не используется.
MSP430F1xx – имеет производительность 8 MIPS, Flash память программ до 60 kB, ОЗУ- до 2 kB (ОЗУ модели MSP430F1610 - 10 kB);
MSP430F4xx - производительность 8 MIPS, Flash память программ до 120 kB, ОЗУ-до 8 kB, имеется аппаратная поддержка ЖКИ;
MSP430F2xx - производительность 16 MIPS, Flash память программ до 120 kB, ОЗУ-до 8 kB, имеет усиленную по отношению к MSP430F1xx периферию;
MSP430F5xx – новейшая серия, анонсированная во 2 квартале 2008г, имеет производительность до 25 MIPS, Flash память программ до 256 kB, ОЗУ-до 16 kB, имеет усиленную по отношению к MSP430F2xx периферию;
Новейшие микроконтроллеры, имеющие объем встроенной Flash памяти больше 64 kB, оснащены усиленным процессорным ядром MSP430X, поддерживающим 20-ти разрядную арифметику и имеют расширенную систему команд. В данном курсе будут рассматриваться только микросхемы группы MSP430F1xx .
Микроконтроллеры серии MSP430F1xx строятся по модульному принципу, включая в себя набор однотипных функциональных устройств.
Все микроконтроллеры серии содержат следующие функциональные модули:
- память программ типа Flash ;
- память данных RAM (Random Access Memory);
- сторожевой таймер (Watch Dog Timer);
- супервизор питания;
- аналоговый компаратор;
- 16-разрядный таймер A с тремя модулями захвата/сравнения (Capture/Compare);
- перестраиваемый RC – генератор DCO (Digitally Controlled Oscillator).
Модели микроконтроллеров внутри семейства отличаются друг от друга объемами встроенной памяти и набором дополнительных периферийных устройств. В таблице 1 сведены характеристики микроконтроллеров серии MSP430F1xx.
В таблице 1 приняты следующие обозначения:
Int (interrupt) – количество источников прерывания;
I/O (input/output) – количество внешних линий портов ввода/вывода;
Mul (multiplier) – наличие аппаратного умножителя;
#CC (capture/compare) – количество модулей захвата/сравнения;
ADC# (Analog to Digital Converter) – разрядность аналого-цифрового преобразователя;
DAC (Digital to Analog Converter) – количество цифро-аналоговых преобразователей;
DMA (Direct Memory Access) – количество каналов контроллера прямого доступа в память.
Таблица 1
-
Модель
Flash, kB
RAM, B
Int
I/O
Mul
TimerB
UART/SPI
ADC
DAC
DMA
Выв.
корпуса
MSP430F1101
1
128
7
14
-
-
-
-
-
-
20
MSP430F1121
4
256
7
14
-
-
-
-
-
-
20
MSP430F122
4
256
9
24
-
-
1
-
-
-
28
MSP430F123
8
256
9
24
-
-
1
-
-
-
28
MSP430F1222
4
256
10
24
-
-
1
ADC10
-
-
28
MSP430F1232
8
256
10
24
-
-
1
ADC10
-
-
28
MSP430F133
8
256
15
54
-
3CC
2
ADC12
-
-
64
MSP430F135
16
512
15
54
-
3CC
2
ADC12
-
-
64
MSP430F147
32
1k
15
54
+
7CC
2
ADC12
-
-
64
MSP430F148
48
2k
15
54
+
7CC
2
ADC12
-
-
64
MSP430F149
60
2k
15
54
+
7CC
2
ADC12
-
-
64
MSP430F155
16
512
16
54
-
3CC
1
ADC12
2
3
64
MSP430F156
24
1k
16
54
-
3CC
1
ADC12
2
3
64
MSP430F157
32
1k
16
54
-
3CC
1
ADC12
2
3
64
MSP430F167
32
1k
16
54
+
7CC
2 +I2C
ADC12
2
3
64
MSP430F168
48
2k
16
54
+
7CC
2 +I2C
ADC12
2
3
64
MSP430F169
60
2k
16
54
+
7CC
2 +I2C
ADC12
2
3
64
MSP430F1610
32
5k
16
54
+
7CC
2 +I2C
ADC12
2
3
64
MSP430F1611
48
10k
16
54
+
7CC
2 +I2C
ADC12
2
3
64