Главная » Все файлы » Просмотр файлов из архивов » Документы » Руководство пользователя MSP430

Руководство пользователя MSP430 (Раздаточные материалы), страница 12

2017-12-26СтудИзба

Описание файла

Файл "Руководство пользователя MSP430" внутри архива находится в следующих папках: Раздаточные материалы, Описания к различным сериям микроконтроллеров. Документ из архива "Раздаточные материалы", который расположен в категории "". Всё это находится в предмете "системы автоматического управления (сау) (мт-11)" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "системы автоматического управления (сау)" в общих файлах.

Онлайн просмотр документа "Руководство пользователя MSP430"

Текст 12 страницы из документа "Руководство пользователя MSP430"

Когда запись байта/слова выполняется из ОЗУ, ЦПУ продолжает выполнять код из ОЗУ. Бит BUSY должен стать равным нулю, прежде чем ЦПУ обратится к флэш-памяти снова, иначе произойдет нарушение прав доступа и установка флага ACCVIFG, а результат записи будет непредсказуем.

Инициирование записи байта/слова программой из флэш-памяти

Программный поток, инициирующий запись байта/слова из флэш-памяти показан на рис.5.8.


Рис.5-8 Инициирование записи байта/слова из флэш-памяти

; Запись байта/слова из флэш. 514 кГц < SMCLK < 952 кГц

; Принимается, что 0FF1Eh уже стерто

; Принимается ACCVIE = NMIIE = OFIE = 0.

MOV #WDTPW+WDTHOLD,&WDTCTL ; Отключение сторожевого таймера

DINT ; Запрещение прерываний

MOV #FWKEY+FSSEL1+FN0,&FCTL2 ; SMCLK/2

MOV #FWKEY,&FCTL3 ; Очистка LOCK

MOV #FWKEY+WRT,&FCTL1 ; Разрешение записи

MOV #0123h,&0FF1Eh ; 0123h –> 0FF1Eh

MOV #FWKEY,&FCTL1 ; Выполнено. Очистка WRT

MOV #FWKEY+LOCK,&FCTL3 ; Установка LOCK

... ; Повторный запуск сторожевого таймера?

EINT ; Разрешение прерываний

Инициирование записи байта/слова программой из ОЗУ

Программный поток, инициирующий запись байта/слова из ОЗУ показан на рис.5.9.


Рис.5-9 Инициирование записи байта/слова из ОЗУ

; Запись байта/слова из ОЗУ. 514 кГц < SMCLK < 952 кГц

; Принимается, что 0FF1Eh уже стерто

; Принимается ACCVIE = NMIIE = OFIE = 0.

MOV #WDTPW+WDTHOLD,&WDTCTL ; Отключение сторожевого таймера

DINT ; Запрещение прерываний

L1 BIT #BUSY,&FCTL3 ; Проверка BUSY

JNZ L1 ; Ожидание в цикле, пока занято

MOV #FWKEY+FSSEL1+FN0,&FCTL2 ; SMCLK/2

MOV #FWKEY,&FCTL3 ; Очистка LOCK

MOV #FWKEY+WRT,&FCTL1 ; Разрешение записи

MOV #0123h,&0FF1Eh ; 0123h –> 0FF1Eh

L2 BIT #BUSY,&FCTL3 ; Проверка BUSY

JNZ L2 ; Ожидание в цикле, пока занято

MOV #FWKEY,&FCTL1 ; Очистка WRT

MOV #FWKEY+LOCK,&FCTL3 ; Установка LOCK

... ; Повторный запуск сторожевого таймера?

EINT ; Разрешение прерываний

Запись блока

Блочную запись можно использовать для ускорения процесса записи во флэш-память большой последовательности байт или слов. Блок – это 64 байта, начиная с 0xx00h, 0xx40h, 0xx80h или 0xxС0h и заканчивая 0xx3Fh, 0xx7Fh, 0xxBFh или 0xxFFh, как показано на рис.5.10. Напряжение программирования флэш-памяти остается поданным в течение записи блока из 64-байт.


Рис.5-10 Блоки флэш-памяти

Блочная запись не может быть инициирована из флэш-памяти. Блочная запись должна инициироваться только из ОЗУ или ПЗУ. Бит BUSY остается установленным в течение всего цикла записи блока. Бит WAIT должен проверяться между записью каждого байта или слова в блоке. Очередной байт или слово блока могут быть записаны, когда бит WAIT установлен. При записи последовательности блоков бит BLKWRT необходимо очищать после завершения записи текущего блока. Бит BLKWRT может быть установлен для инициирования записи следующего блока после выдержки заданного времени восстановления флэш t(end). Бит BUSY очищается после завершения записи каждого блока, информируя о возможности записи следующего блока. На рис.5.11 показана временная диаграмма процедуры блочной записи.


Рис.5-11 Временная диаграмма цикла блочной записи

Программный поток записи блока и пример

Программный поток записи блока показан на рис.5.12, а ниже приводится соответствующий пример.


Рис.5-12 Программный поток блочной записи

; Запись одного блока, начиная с адреса 0F000h.

; Запись должна выполняться из ОЗУ; предполагается, что

флэш-память уже стерта.

; 514 кГц < SMCLK < 952 кГц

; Принимается ACCVIE = NMIIE = OFIE = 0.

MOV #32,R5 ; Используется как счетчик записи

MOV #0F000h,R6 ; Указатель записи

MOV #WDTPW+WDTHOLD,&WDTCTL ; Отключение сторожевого таймера

DINT ; Запрещение прерываний

L1 BIT #BUSY,&FCTL3 ; Проверка BUSY

JNZ L1 ; Ожидание в цикле, пока занято

MOV #FWKEY+FSSEL1+FN0,&FCTL2 ; SMCLK/2

MOV #FWKEY,&FCTL3 ; Очистка LOCK

MOV #FWKEY+BLKWRT+WRT,&FCTL1 ; Разрешение записи блока

L2 MOV Write_Value,0(R6) ; Месторасположение записи

L3 BIT #WAIT,&FCTL3 ; Проверка WAIT

JZ L3 ; Ожидание в цикле, пока WAIT=0

INCD R6 ; Указание на следующее слово

DEC R5 ; Декремент счетчика записи

JNZ L2 ; Конец блока?

MOV #FWKEY,&FCTL1 ; Очистка WRT,BLKWRT

L4 BIT #BUSY,&FCTL3 ; Проверка BUSY

JNZ L4 ; Ожидание в цикле, пока занято

MOV #FWKEY+LOCK,&FCTL3 ; Установка LOCK

... ; Повторный запуск сторожевого таймера,

; если необходимо

EINT ; Разрешение прерываний

5.3.4 Доступ к флэш-памяти во время записи или стирания

Когда выполняется любая операция записи или стирания, инициированная из ОЗУ и BUSY=1, ЦПУ не может выполнять чтение или запись любой ячейки флэш-памяти. В противном случае произойдет нарушение прав доступа, будет установлен флаг ACCVIFG и результат окажется непредсказуемым. Также, если запись во флэш-память предпринята с WRT=0, устанавливается флаг прерывания ACCVIFG, а содержимое флэш-памяти не изменяется.

Когда инициируется запись байта/слова или любая операция стирания программой из флэш-памяти, контроллер флэш возвращает ЦПУ код операции 03FFFh при выборке следующей команды. Код операции 03FFFh – это команда JMP PC. Это приведет к зацикливанию ЦПУ, пока работа с флэш не будет закончена. Когда операция с флэш-памятью закончена и BUSY=0, контроллер флэш позволяет ЦПУ выполнить выборку правильного кода операции и выполнение программы возобновляется.

Условия доступа к флэш-памяти, когда BUSY=1 приведены в таблице 5.3.

Таблица 5-3. Доступ к флэш-памяти при BUSY=1

Операция с флэш-памятью

Доступ к флэш-памяти

WAIT

Результат

Любой режим стирания или запись байта/слова

Чтение

0

ACCVIFG = 1, читается значение 03FFFh

Запись

0

ACCVIFG = 1. Запись игнорируется

Выборка команды

0

ACCVIFG = 0. CPU считывает код 03FFFh. Это команда JMP PC.

Запись блока

Любой

0

ACCVIFG = 1, LOCK = 1

Чтение

1

ACCVIFG = 0, читается значение 03FFFh

Запись

1

ACCVIFG = 0. Запись игнорируется

Выборка команды

1

ACCVIFG = 1, LOCK = 1

Все источники прерываний необходимо заблокировать перед инициализацией любой операции с флэш-памятью. Если бы разрешенное прерывание произошло во время операции с флэш-памятью, ЦПУ сделало бы выборку кода 03FFFh в качестве адреса процедуры обработки прерывания. ЦПУ выполнило бы команду JMP PC при BUSY=1. После завершения операции с флэш-памятью, ЦПУ начало бы выполнение кода с адреса 03FFFh, который не является правильным адресом процедуры обработки прерывания.

5.3.5 Останов цикла записи или стирания

Любая операция записи или стирания может быть остановлена до момента нормального завершения путем установки бита аварийного выхода EMEX. Установка бита EMEX немедленно останавливает активную операцию и контроллер флэш-памяти. Все операции с флэш-памятью прекращаются, она возвращается в режим чтения, а все биты в регистре FCTL1 сбрасываются. Результат предполагавшейся операции с флэш-памятью будет непредсказуем.

5.3.6 Конфигурирование и доступ к контроллеру флэш-памяти

FCTLx – это 16-разрядные регистры записи/чтения, защищенные паролем. Любая операция чтения или записи доступна только при использовании команды-слова, а запись возможна только при наличии в старшем байте пароля записи 0A5h. Любая запись в любой FCTLx регистр с любым значением в старшем байте, отличном от 0A5h вызовет нарушение ключа защиты, установку флага KEYV и запуск системного сброса PUC. При любом чтении любого регистра FCTLx результат содержит в старшем байте значение 096h.

Любая запись в FCTL1 во время стирания или операции записи байта/слова приведет к нарушению прав доступа и установке флага ACCVIFG. Запись в FCTL1 возможна в режиме блочной записи, когда WAIT=1, однако запись в FCTL1 в режиме блочной записи, когда WAIT=0 приведет к нарушению прав доступа и установке флага ACCVIFG.

Любая запись в FCTL2, когда BUSY=1 приведет к нарушению прав доступа.

Любой FCTLx регистр может быть прочитан, когда BUSY=1. Чтение не приведет к нарушению прав доступа.

5.3.7 Прерывания контроллера флэш-памяти

Контроллер флэш имеет два источника прерывания: KEYV и ACCVIFG. Флаг ACCVIFG устанавливается, когда происходит нарушение прав доступа. Когда бит ACCVIE устанавливается вновь после записи или стирания флэш-памяти, установленный флаг ACCVIFG будет генерировать запрос прерывания. Флаг ACCVIFG – источник вектора немаскируемого прерывания NMI, поэтому нет необходимости устанавливать GIE для запроса прерывания по флагу ACCVIFG. Помимо этого, ACCVIFG можно проверить программно, чтобы определить, было ли нарушение прав доступа. Флаг ACCVIFG должен сбрасываться программно.

Флаг нарушения ключа KEYV устанавливается, когда выполняется запись в любой управляющий регистр контроллера флэш с неправильным паролем. Когда это происходит, генерируется сигнал PUC, немедленно сбрасывая устройство.



5.3.8 Программирование устройств с флэш-памятью

Имеется три способа программирования флэш-устройств MSP430. Все способы поддерживают внутрисистемное программирование (ISP):

  • Программирование через JTAG1

  • Программирование через самозагрузчик

  • Программирование через пользовательское решение

Программирование флэш-памяти через JTAG

Устройства MSP430 могут программироваться через JTAG-порт. Для JTAG-интерфейса нужны четыре сигнальных линии (5 сигнальных линий у 20 и 28-выводных устройств), общий провод и опционально VCC и nonRST/NMI.

JTAG-порт защищен с помощью предохранителей. Перегорание предохранителей явление необратимое – в результате срабатывания предохранителя JTAG-порт отключается. Последующий доступ к устройству через JTAG-порт становится невозможен. Подробности см. в приложении «Programming a Flash-Based MSP430 Using the JTAG Interface2» на сайте www.ti.com/sc/msp430.

Программирование флэш-памяти через самозагрузчик (BSL)

Каждое MSP430 устройство с флэш-памятью содержит самозагрузчик BSL. Он позволяет пользователю читать или программировать флэш-память или ОЗУ с помощью последовательного интерфейса UART3. Доступ к флэш-памяти MSP430 через BSL защищен 256-разрядным паролем, определяемым пользователем. Подробности см. в приложении «Features of the MSP430 Bootstrap Loader4» на сайте www.ti.com/sc/msp430.

Программирование флэш-памяти через пользовательское решение

Способность ЦПУ в MSP430 записывать собственную флэш-память позволяет реализовать внутрисистемное программирование внешними пользовательскими решениями, как показано на рис.5.13. Пользователь может выбрать, каким образом данные будут поступать в MSP430 с использованием любого имеющегося доступного способа (UART, SPI и пр.). Разработанное пользователем программное обеспечение может получать данные и программировать флэш-память. Так как этот тип решения разработан пользователем, его можно настроить таким образом, чтобы наиболее полно удовлетворялись потребности в программировании, стирании и обновлении флэш-памяти.


Рис.5-13 Решение по программированию, разработанное пользователем

5.4 Регистры флэш-памяти

Перечень регистров флэш-памяти приведен в таблице 5.4.

Таблица 5-4. Регистры флэш-памяти

Регистр

Краткое обозначение

Тип регистра

Адрес

Исходное состояние

Регистр 1 управления флэш-памятью

FCTL1

Чтение/запись

0128h

09600h с PUC

Регистр 2 управления флэш-памятью

FCTL2

Чтение/запись

012Ah

09642h с PUC

Регистр 3 управления флэш-памятью

FCTL3

Чтение/запись

012Ch

09618h с PUC

Регистр 1 разрешения прерывания

IE1

Чтение/запись

000h

Сброс с PUC

FCTL1, регистр управления флэш-памятью

15

14

13

12

11

10

9

8

FRKEY, читается как 096h
FWKEY, должен записываться как 0A5h



7

6

5

4

3

2

1

0

BLKWRT

WRT

Резерв

Резерв

Резерв

MERAS

ERASE

Резерв

rw-0

rw-0

r0

r0

r0

rw-0

rw-0

r0



FRKEY/FWKEY

Биты 15-8

Пароль FCTLx. Всегда читается как 096h. Должен записываться как 0A5h, в противном случае будет генерироваться сигнал PUC.

BLKWRT

Бит 7

Режим блочной записи. Для режима блочной записи также должен быть установлен WRT. Бит BLKWRT автоматически сбрасывается при установке EMEX.
0 Режим блочной записи выключен
1 Режим блочной записи включен

WRT

Бит 6

Запись. Этот бит используется для выбора любого режима записи. Бит WRT автоматически сбрасывается при установке EMEX.
0 Режим записи выключен
1 Режим записи включен

Резерв

Биты 5-3

Зарезервировано. Всегда читается как 0.

MERAS

Бит 2

Массовое стирание и обычное стирание. Эти биты используются совместно для выбора режима стирания. Биты MERAS и ERASE автоматически сбрасываются, когда устанавливается EMEX.

ERASE

Бит 1

MERAS

ERASE

Цикл стирания

0

0

Нет стирания

0

1

Стирание только конкретного сегмента

1

0

Стирание всех сегментов основной памяти

1

1

Стирание всех сегментов основной и информационной памяти

Резерв

Биты 5-3

Зарезервировано. Всегда читается как 0.

FCTL2, регистр управления флэш-памятью

15

14

13

12

11

10

9

8

FWKEYx, читается как 096h
должен записываться как 0A5h



7

6

5

4

3

2

1

0

FSSELx

FNx

rw-0

rw-1

rw-0

rw-0

rw-0

rw-0

rw-1

rw-0



FWKEY

Биты 15-8

Пароль FCTLx. Всегда читается как 096h. Должен записываться как 0A5h, в противном случае будет генерироваться сигнал PUC.

FSSELx

Биты 7-6

Выбор источника тактирования контроллера флэш
00 ACLK
01 MCLK
10 SMCLK
11 SMCLK

FNx

Биты 5-0

Делитель тактовой частоты для контроллера флэш. Эти шесть битов позволяют установить необходимый коэффициент деления для тактирования контроллера флэш. Значение коэффициента деления равно FNx+1. К примеру, когда FNx=00h, коэффициент деления равен 1. Когда FNx=02Fh, коэффициент деления равен 64.

FCTL3, регистр управления флэш-памятью

15

14

13

12

11

10

9

8

FWKEYx, читается как 096h
должен записываться как 0A5h

7

6

5

4

3

2

1

0

Резерв

EMEX

LOCK

WAIT

ACCVIFG

KEYV

BUSY

r0

r0

rw-0

rw-1

r-1

rw-0

rw-(0)

r(w)-0



FWKEY

Биты 15-8

Пароль FCTLx. Всегда читается как 096h. Должен записываться как 0A5h, в противном случае будет генерироваться сигнал PUC.

Резерв

Биты 7-6

Зарезервировано. Всегда читается как 0.

EMEX

Бит 5

Аварийный выход
0 Нет аварийного выхода
1 Аварийный выход

LOCK

Бит 4

Блокировка. Этот бит разблокирует флэш-память для выполнения записи или стирания. Бит LOCK может быть установлен в любой момент во время записи байта/слова или операции стирания, при этом выполняемая операция будет нормально завершена. В режиме блочной записи, если бит LOCK устанавливается, когда BLKWRT=WAIT=1, биты BLKWRT и WAIT сбрасываются и режим нормально заканчивается.
0 Разблокировано
1 Заблокировано

WAIT

Бит 3

Ожидание. Указывает, что происходит запись флэш-памяти.
0 Флэш-память не готова для записи следующего байта/слова.
1 Флэш-память готова для записи следующего байта/слова.

ACCVIFG

Бит 2

Флаг прерывания при нарушении прав доступа
0 Прерывание не ожидается
1 Ожидание прерывание

KEYV

Бит 1

Ключ нарушения безопасности флэш. Этот бит показывает, что был записан неправильный пароль FCTLx в любой регистр управления флэш-памятью и при его установке генерируется сигнал PUC. Бит KEYV должен быть сброшен программно.
0 Был записан корректный пароль FCTLx
1 Был записан некорректный пароль FCTLx

BUSY

Бит 0

Занято. Этот бит показывает состояние тактового генератора флэш.
0 Не занят
1 Занят

IE1, регистр 1 разрешения прерывания

7

6

5

4

3

2

1

0

 

 

ACCVIE

 

 

 

 

 

 

 

rw-0

 

 

 

 

 



 

Биты 7-6, 4-0

Эти биты могут быть использованы для других модулей. См. справочной руководство конкретного устройства.

ACCVIE

Бит 5

Разрешение прерывания при нарушении доступа к флэш-памяти. Этот бит разрешает прерывание от ACCVIFG. Поскольку остальные биты в IE1 могут быть использованы для других модулей, рекомендуется устанавливать и очищать этот бит с помощью команд BIS.B или BIC.B, вместо команд MOV.B или CLR.B.
0 Прерывание запрещено
1 Прерывание разрешено

Раздел 6 Супервизор напряжения питания

В этом разделе описывается работа супервизора напряжения питания (SVS1). Модуль SVS реализован в устройствах MSP430x15x и MSP430x16x.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее