Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения
 

Дослідження пристроїв перетворення сигналів мікроконтролера MSP 430

Работа из раздела: «Коммуникации, связь, цифровые приборы и радиоэлектроника»

/

Міністерство освіти і науки України

Вінницький національний технічний університет

Інститут автоматики, електроніки та комп'ютерних систем управління

Кафедра АІВТ

Дослідження пристроїв перетворення сигналів мікроконтролера MSP 430

Курсова робота

з дисципліни 'Основи науково-дослідної роботи'

Виконав: ст. гр.1СІ-10б

Рубанський О.В.

Перевірив: проф. Квєтний Р.Н.

ВНТУ 2013

Зміст

Вступ

На сьогоднішній день мікроконтролери використовується для керування електронними пристроями. По суті, це - однокристальний комп'ютер, здатний виконувати прості завдання. Використання однієї мікросхеми значно знижує розміри, енергоспоживання і вартість пристроїв, побудованих на базі мікроконтролерів.

Однокристальні мікроконтролери (ОМК) дозволяють істотно розширити інтелектуальні можливості різного роду пристроїв і систем. Вони представляють собою, по суті, спеціалізовані однокристальні мікроЕОМ, що мають для зв'язку із зовнішнім середовищем вбудовані периферійні вузли і пристрої, набір яких багато в чому визначає їх функціональні можливості та області застосування. Останнє спричинило появу величезної різноманітності типів ОМК, які випускаються в даний час такими фірмами, як Intel, Motorola, Zilog, National, Mitsubishi Electric, Texas Instruments, Atmel, Scenix і цілим рядом інших.

Однокристальні мікроконтролери стали сьогодні одним із найпоширеніших елементів 'програмованої' логіки. Більше двох третин світового ринку мікропроцесорних засобів в даний час складають саме однокристальні мікроконтролери.

Мікроконтролери можна зустріти в багатьох сучасних приладах, таких як телефони, пральні машини, вони відповідають за роботу двигунів і систем гальмування сучасних автомобілів, з їх допомогою створюються системи контролю і системи збору інформації.

Метою дослідження є визначення основних технічних характеристик та режимів роботи контролера для подальшого застосування у пристроях управління на базі даного контролера.

Оскільки кінцевим продуктом роботи є саме пристрій управління як елемент керування системою, потрібно мати алгоритмізовану методику його побудови та керування. Така процедура необхідна не лише для створення модуля, а й для коректного подальшого використання та обслуговування.

Об'єктом дослідження є однокристальний мікроконтролери MSP 430.

Предмет дослідження - технічні характеристики та режими роботи контролера.

1. Режими роботи

1.1 Системи переривань та режими роботи

Переривання - це сигнал, що повідомляє систему про здійснення якої-небудь події. При цьому виконання поточної послідовності команд припиняється і управління передається спеціальній функції - ISR, обробникові переривання. Якщо необхідно, щоб пристрій на базі MSP430 споживав якомога менше електроенергії, потрібно правильно використовувати переривання.

В ході виконання програми мікроконтролером зазвичай відбуваються різні події: АЦП завершив перетворення вхідного сигналу, таймер відлічив заданий інтервал, осцилятор вийшов з ладу тощо. Для відстеження цих подій і вчасної їх обробки може застосовуватися два підходи:

Перший підхід. У безперервному циклі відстежувати регістри статусу периферійних пристроїв і ядра. Недоліки: ядро мікроконтролера постійно включене, що приводить до збільшення енергоспоживання, програмне відстежування подій вимагає багато часу, що може привести до втрат інформації.

Другий підхід. Використовувати переривання. В цьому випадку мікроконтролер може знаходитися в режимі низького енергоспоживання, при виникненні певної події, ядро переходить в активний режим, включаються необхідні периферійні пристрої.

Пріоритети переривань фіксовані і залежать від місцезнаходження модуля відносно CPU. Чим ближче розташований модуль до CPU, тим вище пріоритет його переривання. Пріоритети визначають порядок обробки переривань при одночасній генерації декількох запитів.

У MSP430 є три типи переривань:

скидання системи;

немасковані;

масковані.

1.2 Немасковані переривання

Немасковані переривання NMI не маскуються бітом загального дозволу переривань GIE, однак можуть бути окремо дозволені або заборонені за допомогою індивідуальних бітів дозволу переривання (NMIE, ACCVIE, OFIE).

При виникненні немаскованого переривання всі біти дозволу цього переривання автоматично скидаються. Виконання програми продовжується з адреси, що міститься у векторі немаскованого переривання, 0FFFCh. Для повторного дозволу переривання користувача програма повинна знову встановити необхідні біти. Графічна схема обробки джерел немаскованого переривання приведена на рисунку 1. Немасковане переривання може бути викликане трьома подіями:

поява активного фронту на виводі RST/NMI при конфігурації цього в виводу в режимі NMI;

виникнення несправності тактового генератора;

порушення доступу до флеш-пам'яті.

При вмиканні мікроконтролера вивід RST/NMI конфігурується як вхід апаратного скидання. Призначення цього виводу задається в регістрі управління сторожового таймера WDTCTL. Якщо вивід RST/NMI використовується в якості входу скидання, то CPU буде утримуватися в стані скидання до тих пір, поки на цьому виводі буде присутній сигнал низького рівня. При подачі на вхід сигналу високого рівня CPU починає виконувати програму з адреси, яка зберігається у векторі скидання (0FFFEh). Одночасно з цим встановлюється прапорець RSTIF. Якщо вивід RST/NMI налаштований в програмі як вхід немаскованого переривання, то поява на цьому виводі активного фронту (задається бітом WDTNMIES) при встановленому біті NMIIE викликає генерацію немаскованого переривання. Також встановлюється прапорець NMIIFG.

Рисунок 1 - Графічна схема обробки джерел немаскованого переривання

Сигнал несправності генератора дозволяє запобігти помилкам, пов'язаним з неправильним функціонуванням кварцового генератора. Генерація немаскованого переривання при виявленні несправності генератора дозволяється встановленням біта OFIE. У процедурі обробки немаскованого переривання можна перевірити прапорець OFIFG, щоб визначити, чи було переривання викликано саме збоєм в роботі генератора. Сигнал про несправність генератора може бути викликаний появою сигналу скидання PUC, оскільки останній переводить генератор LFXT1 з режиму HF в режим LF.

При порушенні доступу до флеш-пам'яті встановлюється прапорець ACCVIFG. Генерація немаскованого переривання при виникненні такої ситуації дозволяється встановленням біта ACCVIE. У процедурі обробки немаскованого переривання можна перевірити прапорець ACCVIFG, щоб визначити, чи було переривання викликано саме порушенням доступу до флеш-пам'яті.

Немасковане переривання може генеруватися різними джерелами. При виникненні переривання біти дозволу NMIIE, OFIE і ACCVIE автоматично скидаються. Процедура обробки немаскованого переривання скидає прапорці переривання і повторно дозволяє генерацію переривання від необхідних джерел відповідно до вимог додатку, як показано на рисунку 1.

1.3 Масковані переривання

Масковані переривання генеруються периферійними пристроями, які мають таку можливість. У тому числі, масковані переривання можуть генеруватися за переповнення сторожового таймера при роботі останнього в режимі інтервального таймера. Переривання від кожного з джерел можуть бути заборонені з допомогою індивідуальних бітів дозволу переривань. Крім того, всі масковані переривання можуть бути заборонені за допомогою біта загального дозволу переривань GIE регістра стану SR.

1.4 Скидання системи

При виникненні запиту переривання від периферійного пристрою, якщо встановлені біт дозволу переривання від цього пристрою і біт загального дозволу переривань GIE, викликається процедура обробки переривання. Для виклику обробника немаскованого переривання досить встановленого індивідуального біта дозволу конкретного переривання.

Затримка обробки переривання, тобто час з моменту прийняття запиту переривання до початку виконання першої команди процедури обробки переривання (рисунок 2), становить 6 тактів CPU.

Рисунок 2 - Обробка запиту на переривання

Обробка запиту на переривання проводиться в такій послідовності:

1. Очікується завершення команди, що виконується в даний момент.

2. Вміст лічильника команд PC, що вказує на наступну команду, поміщається в стек.

3. Вміст регістра стану SR поміщається в стек.

4. Якщо за час виконання останньої команди було сформовано кілька запитів на переривання, то вибирається переривання з найбільшим пріоритетом.

5. Якщо переривання має одне джерело, то прапорець переривання автоматично скидається. Якщо переривання може генеруватися кількома джерелами то прапорці переривання залишаються встановленими для подальшої обробки в програмі.

6. Регістр стану SR очищається. У результаті процесор переходить з режиму зниженого споживання в активний режим. Оскільки біт GIE скидається, наступні переривання забороняються.

7. Вміст вектора переривання завантажується в лічильник команд PC і починається виконання процедури обробки переривання, розташованої за цією адресою.

Процедура обробки переривання завжди завершується командою: RETI (повернення з процедури обробки переривання) Для повернення з переривання потрібно 5 (MSP430) тактів CPU, необхідних для виконання таких дій (рис.3):

1. Відновлення вмісту регістра SR зі стека. У результаті вступають в дію всі попередні установки бітів GIE, CPUOFF тощо, незалежно від їх установок, що використовувалися в процедурі обробки переривання.

2. Вміст лічильника команд PC витягується зі стека, і виконання програми продовжується з того місця, де вона була перервана.

Рисунок 3 - Повернення з переривання

Вкладені переривання дозволяються установкою біта GIE у процедурі обробки переривання. При цьому будь-яке переривання, що виникло під час виконання процедури обробки переривання, перерве її виконання, незалежно від пріоритетів переривання, що обслуговується та нового переривання.

1.5 Вектори переривань

Вектори переривань і вектор скидання мікроконтролера MSP430F2013 розташовуються в діапазоні адрес 0FFFh.0FFC0h. Кожен вектор програмується користувачем шляхом запису в нього 16-ти бітної адреси відповідної процедури обробки переривання. Рекомендується передбачати процедури обробки переривань для всіх переривань, реалізованих в конкретному мікроконтролері. При цьому всі не використані в програмі вектори можуть вказувати на порожній обробник переривань, що містить єдину команду RETI. Незадіяні вектори переривань при необхідності можна використовувати для розміщення програмного коду. Деякі біти включення периферійних модулів, біти дозволу переривань і прапорці переривань знаходяться в регістрах спеціальних функцій SFR. Ці регістри є 8-ми бітними і розташовуються в молодших адресах адресного простору. Звертатися до регістрів спеціальних функцій необхідно за допомогою команд, що працюють з однобайтними операндами. Конфігурація області SFR наводиться в довідковій документації на конкретні моделі.

В таблиці 1 наведені джерела, прапорці та вектори переривань мікроконтролера MSP430F2013.

Таблиця 1 - Джерела, прапорці та вектори переривань мікроконтролера MSP430F2013

Джерело переривання

Прапорець переривання

Системне переривання

Адреса

Пріоритет

Вимкнення живлення, зовнішнє скидання, сторожовий таймер, пароль флеш-пам'яті, вибірка команди по некоректній адресі

PORIGF

RSTIFG

WDTIFG

KEYV

Скидання

0FFFEh

31

NMI-переривання, несправність генератора, порушення доступу до флеш-пам'яті

NMIIFG

Немасковане

0FFFСh

30

OFIFG

Немасковане

ACCVIFG

Немасковане

Сторожовий таймер

WDTIFG

Масковане

0FFF4h

26

Таймер А

TACCR1

CCIFG

TAIFG

Масковане

0FFF0h

24

SD16_A

SD16CCTL0

SD16OVIFG

SD16IFG

Масковане

0FFEAh

21

USI

USIIFG

USISTTIFG

Масковане

0FFE8h

20

Порт I/O P2

P2IFG.6 - P2IFG.7

Масковане

0FFE6h

19

Порт I/O P1

P2IFG.0 - P2IFG.7

Масковане

0FFE4h

18

Сімейство MSP430 було розроблено для додатків з наднизьким живленням, тому мікроконтролери сімейства мають різні режими роботи (рисунок 4).

При реалізації цих режимів враховувалися наступні вимоги:

наднизьке споживання;

швидкість і пропускна здатність;

мінімізація струму споживання окремих периферійних модулів.

Режими зниженого енергоспоживання (LPM0 - LPM4) конфігуруються за допомогою бітів CPUOFF, OSCOFF, SCG0 і SCG1 регістра стану SR. Перевага розміщення бітів управління режимом роботи в регістрі стану полягає в тому, що поточний режим роботи зберігається в стеку на час виконання процедури обробки переривання. Якщо в обробнику збережене значення SR не змінювалося, то після завершення процедури обробки переривання попередній режим роботи відновлюється. Виконання програми може продовжитися і в іншому режимі, якщо процедура обробки переривання змінить значення регістра стану, що знаходиться в стеку. Звернення до бітів управління режимом роботи та до стека може проводитися за допомогою команди будь-якого типу.

При установці будь-якого з бітів управління режимом мікроконтролер відразу ж переключається в обраний режим. При відключенні будь-якого тактового сигналу також блокується робота периферійних пристроїв, які його використовують. Периферійні пристрої можуть відключатися і окремо за допомогою відповідних регістрів управління. Стан портів введення/виведення і вміст ОЗП і регістрів при зміні режиму роботи залишаються незмінними. Вихід з режиму зниженого споживання можливий при будь-якому дозволеному перериванні.

Рисунок 4 - Режими роботи мікроконтролера MSP430F2013

1.6 Вхід та вихід в режими зниженого енергоспоживання

Вихід з будь-якого режиму зниженого споживання проводиться при появі якого-небудь дозволеного переривання. При цьому виконуються наступні дії:

Вхід в процедуру обробки переривання:

лічильник команд PC і регістр стану SR зберігаються в стеку;

біти CPUOFF, SCG1 і OSCOFF автоматично скидаються.

Варіанти повернення з процедури обробки переривання:

сигнал мікроконтролер низькочастотний генератор

вихідне значення регістру SR витягується зі стека, відновлюючи попередній режим роботи;

біти регістра SR, збережені в стеку, можуть бути змінені у процедурі обробки переривання. У цьому випадку при виконанні команди RETI мікроконтролер перемкнеться в інший режим роботи.

Типове споживання струму мікроконтролерами сімейства MSP430| показане на рис. 5.

Рисунок 5 - Типове споживання струму мікроконтролерами сімейства MSP430 в залежності від режиму роботи

2. Будова мікроконтролера

2.1 Порти введеннявиведення

Мікроконтролер MSP430 містить 2 порти введення/виведення P1 та P2: 10 виводів - порт P1 (8 біт) і порт P2 (2 біти) (рис.6).

Рисунок 6 - Мікросхема мікроконтролера MSP430

В таблиці 2 наведені призначення та опис виводів портів введення/виведення P1 та P2 мікроконтролера MSP430F2013.

Таблиця 2 - Призначення та опис портів введення/виведення P1 та P2 мікроконтролера MSP430F2013

Вивід

Номер виводу

I/O

Опис

P1.0/

TACLK/

ACLK/

A0+

2

I/O

Цифровий вивід I/O загального призначення;

Timer_A: вхідний сигнал синхронізації TACLK;

Вихідний сигнал ACLK;

SD16_A: позитивний аналоговий вхід A0.

P1.1/

TA0/

A0-/

A4+/

3

I/O

Цифровий вивід I/O загального призначення;

Timer_A: режим захоплення - вхід CCI0A, режим порівняння - вихід Out0;

SD16_A: негативний аналоговий вхід A0;

SD16_A: позитивний аналоговий вхід A4.

P1.2/

TA1/

A1+/

A4-

4

I/O

Цифровий вивід I/O загального призначення;

Timer_A: режим захоплення - вхід CCI1A, режим порівняння - вихід Out1;

SD16_A: позитивний аналоговий вхід A1;

SD16_A: негативний аналоговий вхід A4.

P1.3/

VREF/

A1-

5

I/O

Цифровий вивід I/O загального призначення;

Вхід для зовнішньої опорної напруги вихід для внутрішнього джерела опорної напруги;

SD16_A: негативний аналоговий вхід A1.

P1.4/

SMCLK/

A2+/

TCK

6

I/O

Цифровий вивід I/O загального призначення;

Вихідний сигнал SMCLK;

SD16_A: позитивний аналоговий вхід A2;

Тестування синхронізації JTAG, вхід для пристроїв програмування і тестування.

P1.5/

TA0/

A2-/

SCLK/

TMS

7

I/O

Цифровий вивід I/O загального призначення;

Timer_A: режим порівняння - вихід Out0;

SD16_A: негативний аналоговий вхід A2;

USI: вхід зовнішньої синхронізації у режимі SPI чи I2C, вихід синхронізації у режимі SPI;

Вибір режиму тестування JTAG, вхід для пристроїв програмування і тестування.

P1.6/

TA1/

A3+/

SDO/

SCL/

TDI/

TCLK

8

I/O

Цифровий вивід I/O загального призначення;

Timer_A: режим захоплення - вхід CCI1В, режим порівняння - вихід Out1;

SD16_A: позитивний аналоговий вхід A3;

USI: виведення даних у режимі SPI; Синхронізація I2C у режимі I2C;

Вхід JTAG тестування даних;

Вхід тестування синхронізації під час програмування і тестування.

P1.7/

A3-/

SDI/

SDA/

TDO/

TDI

9

I/O

Цифровий вивід I/O загального призначення;

SD16_A: негативний аналоговий вхід A3;

USI: введення даних у режимі SPI, введення даних I2C у режимі I2C;

Вихід для JTAG тестування даних;

Вхід тестування даних під час програмування і тестування.

XIN/

P2.6/

TA1

13

I/O

Вхід для кварцового генератора;

Цифровий вивід I/O загального призначення;

Timer_A: режим порівняння - вихід Out1.

XOUT/

P2.7

12

I/O

Вихід для кварцового генератора;

Цифровий вивід I/O загального призначення.

RST/

NMI/

SBWTDIO

10

І

Скидання немаскованого переривання;

Вхід немаскованого переривання;

I/O Spy-Bi-Wire тестування даних під час програмування і тестування.

TEST/

SBWTCK

11

І

Вибір тестового режиму для виводів JTAG порту P1. Запобіжник підключений до TEST.

Вхід тестування синхронізації Spy-Bi-Wire під час програмування і тестування

VCC

1

Напруга живлення

VSS

14

Заземлення

Порти P1 і P2 підтримують зовнішні переривання. Для кожного з виводів портів P1 і P2 можна індивідуально дозволити переривання і налаштувати таким чином, щоб переривання генерувалося по наростаючому чи спадаючому фронту вхідного сигналу. Всі виводи порту P1 призначені одному вектору переривань, а всі виводи порту P2 - іншому вектору.

Цифрові порти введення/виведення мають такі особливості:

незалежні індивідуально програмовані виводи;

будь-які комбінації входів та виходів;

індивідуальне налаштування переривань від виводів портів P1 та P2;

окремі регістри даних для входів і виходів;

індивідуальне налаштування резисторів змінного опору.

Окрім того виводи порту можуть бути індивідуально налаштовані в якості спеціальних функцій введення/виведення.

2.2 Регістри

Конфігурація роботи цифрових портів введення/виведення визначається в програмному забезпечені, використовуючи наступні регістри.

Значення кожного біту регістра PxDIR визначає напрямок передачі даних відповідного виводу порту, незалежно від обраної для цього виводу функції. Якщо вивід порту використовується яким-небудь периферійним модулем, то біт регістру PxDIR має бути встановлений у відповідності з вимогами даного модуля.

Конфігурація PxDIR:

1 - вивід порту встановлено на виведення;

0 - вивід порту встановлено на введення.

Кожен біт регістра PxIN, доступний лише в режимі зчитування, відображає рівень вхідного сигналу на відповідному виводі порту, якщо цей вивід налаштований в якості введення/виведення загального призначення.

Конфігурація PxIN:

1 - високий рівень вхідного сигналу;

0 - низький рівень вхідного сигналу.

Значення кожного біту регістра PxOUT визначає стан відповідного виводу порту, якщо цей вивід налаштований як цифровий вихід, і не використовується внутрішній резистор змінного опору.

Конфігурація PxOUT:

1 - високий рівень вихідного сигналу;

0 - низький рівень вихідного сигналу.

Якщо використовується внутрішній резистор змінного опору, то значення біту регістра PxOUT визначає тип 'підтяжки' на відповідному виводі порту:

1 - вивід підтягується до живлення;

0 - вивід підтягується до загального проводу.

Кожен біт регістра дозволяє включити або відключити резистор змінного опору відповідного виводу порту.

Конфігурація PxREN:

1 - резистор змінного опору включений;

0 - резистор змінного опору відключений.

Більшість виводів портів використовуються різними периферійними модулями. Альтернативні функції виводів наведені в таблиці 2. Кожен з регістрів PxSEL та PxSEL2 використовуються для вибору функції відповідного виводу мікроконтролера.

У випадку налаштування портів P1 і P2 для функції периферійного модуля переривання відключені.

В таблиці 3 наведена конфігурація портів P1 та P2 комбінацією значень регістрів PxSEL та PxSEL2.

Кожен вивід портів P1 і P2 здатний генерувати запит на переривання. Конфігурація цієї функції здійснюється за допомогою регістрів PxIFG, PxIE і PxIES. Всі виводи порту Р1 зв'язані з одним вектором переривання, а всі виводи порту Р2 - з іншим вектором. Для визначення конкретного джерела переривання від портів Р1 чи Р2 можна перевірити вміст відповідного регістру PxIFG.

Таблиця 3 - Конфігурація портів P1 та P2 комбінацією PxSEL та PxSEL2

PxSEL

PxSEL2

Функція виводу

0

0

Вивід порту введення/виведення

0

1

Вивід основного периферійного модуля

1

0

Зарезервовано

1

1

Вивід додаткового периферійного модуля

Кожен біт регістру PxIE дозволяє генерацію переривання при встановленні відповідного прапорця переривання PxIFG.

Конфігурація PxIE:

1 - переривання дозволено;

0 - переривання заборонено.

Значення кожного біту регістра PxIES визначає по якому фронту сигналу буде генеруватися переривання від відповідного виводу порту.

Конфігурація PxIES:

1 - прапорець переривання встановлюється по спадаючому фронту;

0 - прапорець переривання встановлюється на наростаючому фронту.

Кожен з бітів PxIFGx є прапорцем переривання від відповідного виводу порту і встановлюється при появі на виводі заданого фронту сигналу. Будь-який з прапорців PxIFGx генерує запит переривання, якщо встановлений відповідний біт регістра PxIE і біт загального дозволу переривань GIE. Всі прапорці PxIFG повинні скидатися програмно. Крім того, будь-який прапорець PxIFG може бути встановлений вручну для програмної генерації переривання.

Конфігурація PxIFG:

0 - не було переривання;

1 - було переривання.

Переривання генерується тільки по фронту сигналу а не по його рівню. Якщо будь-який з прапорців PxIFGx буде встановлено під час виконання підпрограми обробки переривання від порту Px чи вже після виконання команди RETI даної підпрограми, то такий прапорець визве генерацію нового переривання. Це гарантує обробку всіх змін рівня сигналу.

Невикористані виводи мікроконтролера необхідно налаштувати як виходи портів введення/виведення і залишити непідключеними, щоб уникнути появи 'плаваючих' входів і знизити струм споживання пристрою. Значення біта PxOUT для такого виводу може бути будь-яким, оскільки вивід нікуди не підключений. В якості альтернативи, щоб уникнути появи 'плаваючого' входу, можна до невживаного виводу підключити внутрішній резистор змінного опору, встановивши відповідний біт регістра PxREN.

Регістри цифрових портів введення/виведення наведені в таблиці 4

Таблиця 4 - Регістри цифрових портів введення/виведення

Порт

Регістр

Позначення

Адреса

Тип регістра

Початковий стан

Р1

Вхід

P1IN

020h

R/O

-

Вихід

P1OUT

021h

R/W

Не змінюється

Напрямок

P1DIR

022h

R/W

Скидається після PUC

Прапорець переривання

P1IFG

023h

R/W

Скидається після PUC

Фронт переривання

P1IES

024h

R/W

Не змінюється

Дозвіл переривання

P1IE

025h

R/W

Скидається після PUC

Вибір функції

P1SEL

026h

R/W

Скидається після PUC

Вибір функції 2

P1SEL2

041h

R/W

Скидається після PUC

Включення резистора

P1REN

027h

R/W

Скидається після PUC

Р2

Вхід

P2IN

028h

R/O

-

Вихід

P2OUT

029h

R/W

Не змінюється

Напрямок

P2DIR

02Ah

R/W

Скидається після PUC

Прапорець переривання

P2IFG

02Bh

R/W

Скидається після PUC

Фронт переривання

P2IES

02Ch

R/W

Не змінюється

Дозвіл переривання

P2IE

02Dh

R/W

Скидається після PUC

Вибір функції

P2SEL

02Eh

R/W

Скидається після PUC

Вибір функції 2

P2SEL2

042h

R/W

Скидається після PUC

Включення резистора

P2REN

02Fh

R/W

Скидається після PUC

3. Модулі синхронізації

3.1 Модуль синхронізації Basic Clock

Модуль синхронізації Basic Clock дозволяє знизити вартість кінцевої системи і забезпечує наднизьке споживання пристрою. Використовуючи один з трьох тактових сигналів, які формуються модулем, користувач може досягнути оптимального співвідношення продуктивності і енергоспоживання.

Конфігурація модулю синхронізації може бути здійснена програмно для роботи без використання додаткових зовнішніх елементів з одним зовнішнім транзистором чи з одним або двома зовнішніми кварцевими чи керамічними резонаторами.

Модуль синхронізації містить три джерела тактового сигналу:

LFXT1CLK - низькочастотний/високочастотний генератор, який може працювати з 'часовим' кварцевим резонатором чи зовнішнім сигналом частотою 32768 Гц або зі звичайними кварцевими/керамічними резонаторами чи зовнішнім сигналом синхронізації частотою від 400 кГц до 16_МГц;

DCOCLK - вбудований генератор з цифровим управлінням;

VLOCLK - вбудований низькочастотний генератор з наднизьким споживанням, який працює на частоті 12 кГц.

Модуль синхронізації формує три тактових сигнали:

ACLK - допоміжний тактовий сигнал. Джерело вибирається програмно: LFXT1CLK чи VLOCLK. При використанні дільника частота сигналу від вибраного джерела зменшується в 1, 2, 4 чи 8 разів. Сигнал ACLK може програмно назначатися для окремих периферійних модулів;

MCLK - основний тактовий сигнал. Джерело вибирається програмно: LFXT1CLK, VLOCLK чи DCOCLK. При використанні дільника частота сигналу від вибраного джерела зменшується в 1, 2, 4 чи 8 раз. Сигнал MCLK використовується для тактування CPU і системи;

SMCLK - додатковий тактовий сигнал. Джерело вибирається програмно: LFXT1CLK, VLOCLK чи DCOCLK. При використанні дільника частота сигналу від вибраного джерела зменшується в 1, 2, 4 чи 8 раз. Сигнал SMCLK може програмно назначатися для окремих периферійних модулів.

На рисунку 7 зображена схема електрична функціональна модуля синхронізації System Clock.

Рисунок 7 - Схема електрична функціональна модуля синхронізації System Clock

3.2 Функціонування модуля синхронізації

Після сигналу PUC тактові сигнали MCLK і SMCLK формуються з DCOCLK, що має частоту близько 1.1 МГц. Сигнал ACLK формується з LFXT1CLK, при цьому генератор LFXT1 працює в режимі LF з використанням вбудованих конденсаторів (навантажувальна ємність - 6 пФ). Біти управління SCG0, SCG1, OSCOFF і CPUOFF регістра стану визначають режими роботи ядра MSP430 і включають або відключають окремі вузли модуля синхронізації. Конфігурація модуля здійснюється за допомогою регістрів DCOCTL, BCSCTL1, BCSCTL2 і BCSCTL3.

До системи синхронізації пристроїв з батарейним живленням часто пред'являють суперечливі вимоги:

наявність тактового сигналу низької частоти для зниження енергоспоживання і реалізації функцій відліку часу;

наявність тактового сигналу високої частоти для забезпечення швидкої реакції на події та швидкої обробки даних;

забезпечення стабільності частоти тактового сигналу при зміні температури і напруги живлення.

Модуль синхронізації Basic Clock розроблений з урахуванням перерахованих вимог і дозволяє користувачеві вибирати будь-який з трьох доступних тактових сигналів: ACLK, MCLK і SMCLK. Для досягнення оптимальної продуктивності при незначному споживанні в якості джерела сигналу ACLK може використовуватися економічний 'часовий' кварц частотою 32768 Гц, при цьому забезпечується стабільний синхросигнал і низьке споживання в режимі очікування. Якщо точність формування часових інтервалів не критична, то в якості джерела сигналу ACLK може використовуватися вбудований низькочастотний генератор. Сигнал MCLK може формуватися вбудованим DCO, який у разі потреби активується обробниками переривань при настанні відповідних подій. Сигнал SMCLK може формуватися кварцевим генератором із зовнішнім резонатором або DCO в залежності від вимог, які пред'являються периферійними модулями. Гнучка система тактування і наявність дільників тактових сигналів забезпечують можливість точного налаштування модуля синхронізації відповідно до вимог конкретного застосування.

4. Вбудовані низькочастотні генератори

4.1 Генератор VLO

Вбудований низькочастотний генератор з наднизьким споживанням (VLO) працює на частоті 12 кГц без зовнішнього кварцового резонатора. Використання VCOCLK як джерела тактового сигналу задається бітами LFXT1Sx = 10 при XTS = 0. Біт OSCOFF відключає генератор для переходу в режим зниженого енергоспоживання LPM4. При використанні генератора VLO кварцовий генератор LFXT1 відключається, знижуючи тим самим споживання мікроконтролера. Якщо генератор VLO не використовується, то його струм споживання дорівнює нулю.

4.2 Генератор LFXT1

Генератор LFXT1 має дуже мале споживання в режимі LF (XT = 0) при використанні 'часового' кварцу частотою 32768 Гц. Кварцовий резонатор підключають до виводів XIN і XOUT мікроконтролера без використання додаткових елементів. Величина навантажувальної ємності для кварцового резонатора при роботі генератора LFXT1 в режимі LF задається бітами XCAPx, які конфігуруються програмно. Ця ємність може набувати значення з ряду: 1 пФ, 6 пФ, 10 пФ або 12.5 пФ. При необхідності допускається підключення зовнішніх конденсаторів.

У режимі HF (XTS = 1, XCAPx = 00) генератор LFXT1 підтримує використання високочастотних кварцових і керамічних резонаторів. Високочастотний резонатор підключається до виводів XIN і XOUT, при цьому на обох виводах повинні бути присутніми зовнішні навантажувальні конденсатори. Ємність даних конденсаторів вибирається відповідно до специфікації використовуваного резонатора. Біти LFXT1Sx визначають робочий діапазон частот при роботі генератора LFXT1 в режимі HF.

У будь-якому з режимів генератор LFXT1 може працювати із зовнішнім тактовим сигналом, що подається на вхід XIN (LFXT1Sx = 11, OSCOFF = 0, XCAPx = 00). При використанні зовнішнього сигналу його частота повинна відповідати специфікації мікроконтролера для вибраного режиму. Якщо частота зовнішнього сигналу виявиться нижче мінімально допустимої величини, то може бути встановлено біт LFXT1OF, що запобігає тактування CPU сигналом LFXT1CLK. Якщо LFXT1CLK не використовується в якості джерела тактового сигналу SMCLK або MCLK, то генератор LFXT1 може бути відключений установкою біта OSCOFF.

4.3 Генератор з цифровим управлінням

DCO є вбудованим генератором з цифровим управлінням. Частота DCO може підлаштовуватися програмно за допомогою бітів DCOx, MODx і RSELx.

Якщо DCO не використовується для формування тактового сигналу SMCLK або MCLK в активному режимі мікроконтролера, то він може бути відключений встановленням біта SCG0.

Після сигналу PUC в біти управління DCO завантажуються такі значення (RSELx = 7, DCOx = 3), які забезпечують запуск DCO на середній частоті робочого діапазону. При цьому тактові сигнали MCLK і SMCLK формуються з сигналу DCOCLK. Оскільки CPU тактується сигналом MCLK, а DCO має дуже малий час запуску, програма починає виконуватися менш ніж через 2 мкс після появи сигналу PUC. Типові значення діапазонів і дискретних інтервалів для бітів RSELx і DCOx показані на рисунку 8.

Всі мікроконтролери сімейства MSP430F2xx містять в сегмент А інформаційної секції флеш-пам'яті значення регістрів DCOCTL і BCSCTL1, відкалібровані для конкретних частот. Щоб використовувати калібровані значення, їх копіюють з флеш-пам'яті у відповідні регістри. ці значення визначають стани бітів DCOx, MODx, RSELx і скидають всі інші біти регістрів, за винятком біта XT2OFF, який встановлюється в 1. Інші біти регістра BCSCTL1 можуть бути індивідуально встановлені або скинуті.

Рисунок 8 - Типові значення діапазонів і дискретних інтервалів для бітів RSELx і DCOx

Частота сигналу DCOCLK встановлюється наступним чином:

Чотири біта RSELx визначають один із шістнадцяти робочих діапазонів DCO. Значення частот для цих діапазонів наводяться в документації на конкретні моделі.

Три біта DCOx ділять вибраний діапазон на 8 дискретних значень, які відрізняються один від одного приблизно на 10%.

П'ять бітів MODx визначають частоту перемикань з поточної частоти, заданої бітами DCOx, на наступну частоту, відповідну значенню DCOx+1. При DCOx = 07h вміст бітів MODx ігнорується, оскільки в цьому випадку DCO вже працює на максимально можливій для вибраного діапазону RSELx частоті.

4.4 Використання кварцевого генератора для формування MCLK

Після скидання при вмиканні живлення тактовий сигнал MCLK формується з сигналу DCOCLK. При необхідності для формування MCLK можна використати генератор LFXT1. Для перемикання тактового сигналу MCLK з DCOCLK на сигнал від кварцевого генератора (LFXT1CLK чи XT2CLK) необхідно виконати наступні дії:

1. Ввімкнути генератор і вибрати необхідний режим роботи.

2. Скинути прапорець OFIFG.

3. Почекати не менше 50 мкс.

4. Перевірити прапорець OFIFG - якщо він встановлений, то повторити етапи 1…4.

5. Флеш-пам'ять

Флеш-пам'ять є гібридом ROM та RAM пам'яті.

Особливості флеш-пам'яті наступні:

невисока ціна;

електрично-програмована;

швидке зчитування даних;

висока щільність;

не втрачає даних при вимкненні живлення.

Саме тому, флеш-пам'ять це одна з найбільш популярних технологій для зберігання програмного коду та значень констант. Мікроконтролери сімейства MSP430 містять інтегровану флеш-пам'ять. Флеш-пам'ять у цих мікроконтролерах може адресуватися і записуватися побітно, побайтно або послівно. Модуль флеш-пам'яті має власний контролер, який керує операціями програмування і стирання пам'яті. Контролер має чотири регістри, тактовий генератор, а також генератор напруги, який формує напруги, необхідні для виконання операцій запису і стирання. Контролер флеш-пам'яті має такі особливості:

вбудований генератор напруги програмування;

побітове, побайтове або послівне програмування;

наднизьке споживання;

підтримується стирання сегментів і загальне стирання;

два режими зчитування при граничних умовах (опціонально).

Структурна схема контролера флеш-пам'яті наведена на рисунку 9.

5.1 Сегментна організація флеш-пам'яті

У мікроконтролерах MSP430 вся флеш-пам'ять розділена на сегменти. Записати у флеш-пам'ять можна окремі біти, байти або ж слова, проте найменшою одиницею флеш-пам'яті, яку можна стерти, є сегмент. Крім того, флеш-пам'ять містить дві секції - основну і інформаційну. Обидві секції функціонують абсолютно однаково. І програмний код, і дані можуть розташовуватися в обох секціях. Різниця між цими секціями полягає в різних значеннях розміру сегмента і фізичних адрес.

Інформаційна секція містить чотири 64-х байтних сегменти, в той час як основна секція містить два чи більше сегментів розміром 512 байт. Сегменти в свою чергу поділені на блоки. На рисунку 10 показана сегментна організація модуля флеш-пам'яті мікроконтролера MSP430F2013 об'ємом 32 КБ, який має чотири основних і чотири інформаційних сегмента.

Рисунок 9 - Структурна схема контролера флеш-пам'яті

Рисунок 10 - Сегментна організація флеш-пам'яті

5.2 Функціонування флеш-пам'яті

За замовчуванням флеш-пам'ять знаходиться в режимі читання. У цьому режимі стирання чи запис флеш-пам'яті заблоковані, а тактовий генератор і генератор напруги вимкнені - пам'ять працює подібно ПЗП.

Флеш-пам'ять сімейства MSP430 підтримує внутрішньосхемне програмування і не вимагає додаткового джерела напруги. CPU може здійснювати програмування власної флеш-пам'яті.

При використанні бітів BLKWRT, WRT, MERAS і ERASE можуть бути вибрані наступні режими запису / стирання флеш-пам'яті:

запис байта/слова;

запис блоку;

стирання сегмента;

загальне стирання (стирання всіх сегментів основної секції пам'яті);

повне стирання (стирання всієї пам'яті).

Читання або запис флеш-пам'яті під час її програмування чи стирання заборонені. Якщо під час запису або стирання пам'яті потрібно виконання програми, то виконуваний код повинен розташовуватися в ОЗП. Процес зміни флеш-пам'яті може бути ініційований як з флеш пам'яті, так і з ОЗП.

5.3 Тактовий генератор контролера флеш-пам'яті

Операції запису і стирання управляються тактовим генератором контролера, схема електрична функціональна якого наведена на рисунку 11. Робоча частота генератора fFTG повинна знаходитися в діапазоні від 257 кГц до 476 кГц.

Рисунок 11 - Схема електрична функціональна тактового генератора контролера флеш-пам'яті

Тактовий генератор контролера флеш-пам'яті може тактуватися від будь-якого з тактових сигналів ACLK, SMCLK або MCLK. З вибраного сигналу при використанні дільника, коефіцієнт ділення якого задається бітами FNx, формується тактовий сигнал контролера fFTG. Якщо під час запису або стирання частота цього сигналу буде відрізнятися від зазначеної в специфікації, то результат операції може виявитися непередбачуваним або ж робочі параметри флеш-пам'яті можуть вийти за межі, що гарантують надійну роботу. При виявленні несправності тактового генератора під час операції запису або стирання дана операція переривається і встановлюється прапорець FAIL. Результат операції при цьому буде непередбачуваним.

Під час виконання операції запису або стирання вибране джерело тактового сигналу не можна виключити, перевівши мікроконтролер MSP430 в режим зниженого енергоспоживання. Це джерело залишиться в активному стані до завершення операції, після чого буде вимкнуте.

5.4 Стирання та запис флеш-пам'яті

При стиранні біти флеш-пам'яті встановлюються в 1. Стан кожного окремого біта при програмуванні може бути змінено з 1 на 0, проте для зміни його стану з 0 на 1 потрібно цикл стирання. Найменшим елементом флеш-пам'яті, що допускають незалежне стирання, є сегмент. Передбачено три режими стирання, які задаються бітами ERASE і MERAS відповідно до таблиці 5. Можливі режими запису задаються бітами WRT та BLKWRT у відповідністю з таблицею 6.

Таблиця 5 - Режими стирання

MERAS

ERASE

Режим стирання

0

1

Стирання сегменту

1

0

Загальне стирання

1

1

LOCKA = 0 - стирання основної і інформаційної секцій флеш-пам'яті

LOCKA = 1 - стирання основної секції флеш-пам'яті

Таблиця 6 - Режими запису

BLKWRT

WRT

Режим запису

0

1

Запис байта/слова

1

1

Запис блоку

5.5 Сегмент А

Сегмент інформаційної секції флеш-пам'яті може бути заблокований незалежно від інших секцій за допомогою біта LOCK. При LOCK = 1 запис або стирання сегмента A заборонені, а весь вміст інформаційної секції захищений від стирання при виконанні операції загального стирання або при програмуванні мікроконтролера. При LOCK = 0 запис і стирання сегмента A здійснюються нарівні з будь-якими іншими секціями флеш-пам'яті, а вміст інформаційної секції при виконанні загального стирання або при програмуванні мікроконтролера стирається.

Стан біта LOCKA змінюється шляхом запису в нього 1. Запис 0 в біт LOCKA не змінює його стану. Це дозволяє використовувати без змін існуючі процедури програмування флеш-пам'яті.

Сегмент А містить дані калібрації. Після вимикання сегмент А має захист від програмування і стирання. Захист може бути знятий, але потрібно проявляти обережність, щоб не стерти цей сегмент, у випадку необхідності використання даних калібрації.

6. Модуль цифро-аналогового перетворення SD16_A

Інструмент розробника eZ430-F2013 містить модуль SD16_A який підтримує 16-розрядні аналого-цифрові перетворення. До складу модуля SD16_A входить сигма-дельта АЦП, що має буфер з високим вхідним опором, і внутрішнє джерело опорної напруги. Модуль має до восьми мультиплексованих повністю диференціальних аналогових каналів, включаючи канали для вимірювання сигналу від вбудованого датчика температури і напруги живлення. АЦП реалізовано на базі сигма-дельта модулятора другого порядку і децимуючого цифрового фільтра. Для децимації використовується гребінчастий фільтр з програмованим коефіцієнтом передискретизації (до 1024). Додаткова фільтрація може здійснюватися програмно.

Модуль SD16_A має такі особливості:

16-ти бітна сигма-дельта архітектура;

до восьми мультиплексованих диференціальних аналогових входів на канал;

програмно активується вбудований генератор опорної напруги (1.2 В);

зовнішнє чи внутрішнє джерело опорної напруги (вибирається програмно);

вбудований датчик температури;

вхідна частота модулятора до 1.1 МГц;

вхідний буфер з високим вхідним опором;

програмно активується режим перетворення зі зниженим живленням.

Ядро АЦП

Аналого-цифрове перетворення здійснюється однобітним сигма-дельта модулятором 2-го порядку. Однобітний компаратор, що входить до складу модулятора, виконує квантування вхідного сигналу з частотою модуляції fM. Отриманий в результаті бітовий потік усереднюється цифровим фільтром (digital filter) для формування результату перетворення.

Рисунок 12 - Схема електрична функціональна модуля SD16_A

Максимальний розмах вхідної напруги для кожної пари аналогових входів залежить від встановленого коефіцієнта підсилення (PGA = 1, 2, 4, 8, 16 і 32). Вхідний сигнал повинен знаходитися в діапазоні ± VFSR.

На рисунку 13 зображений діапазон аналогового входу SD16_A.

Рисунок 13 - Діапазон аналогового входу SD16_A

Генератор опорної напруги

Модуль SD16_A має вбудоване джерело опорної напруги 1.2 В, яке вмикається встановленням біта SD16REFON. Для зниження рівня шумів при використанні цього джерела рекомендується між виводами VREF та AVSS підключати зовнішній конденсатор ємністю 0.1 мкФ. Напруга внутрішнього джерела може використовуватися поза мікроконтролером при SD16VMIDON = 1. Максимальна навантажувальна здатність буфера вбудованого джерела опорної напруги становить 1 мА. При використанні внутрішньої опорної наруги поза мікроконтролером між виводами VREF і AVSS необхідно увімкнути конденсатор ємністю 0.47 мкФ.

Автоматичне відключення

Модуль SD16_A розроблений для використання в додатках з низьким енергоспоживанням. Тому він автоматично відключається в ті періоди часу, коли перетворення не виконується, і автоматично включається при запуску перетворення. Генератор опорного напруги автоматично не відключається, проте його можна відключити вручну, скинувши біт SD16REFON. При вимкнених ядрі АЦП і генераторі опорної напруги їх струм споживання дорівнює нулю.

Висновки

В даній роботі були проаналізовані основні принципи роботи мікроконтролера MSP 430. В результаті роботи було досліджено будову, режими роботи та модулі синхронізації контролера, а також більш детально розглянуто призначення портів введення/виведення.

За підсумками виконаної роботи можна вести розробку апаратного модуля для застосування в пристроях управління і автоматики на базі даного мікроконтролера.

Література

1. Семенов Б.Ю. Микроконтроллеры MSP430: первое знакомство / Б.Ю. Семенов. - М.: СОЛОН-ПРЕСС, 2006. - 128 с.

2. MSP430. - http://emproj.com/MSP430StartPage

3. Гук И. Краткий обзор микроконтроллеров семейства MSP430 компании Texas Instruments / И. Гук // Компоненты и технологии. - № 6. - 2006

4. Замечания по ошибкам в оригинале MSP430. - http://www.gaw.ru/html. cgi/txt/doc/micros/msp430/arh/error. htm

5. Семейство MSP430: опыт применения. - http://www.compitech.ru/html. cgi/arhiv/01_03/stat_64. htm

6. Семейство микроконтроллеров MSP430 Texas Instruments. - http://www.gaw.ru/html. cgi/txt/ic/Texas_Instruments/micros/msp430/start. htm - (26.11.2012)

7. Архитектура MSP430 [Електронний ресурс]: Рынок микроэлектроники: http://www.gaw.ru/html. cgi/txt/doc/micros/msp430/arh/1. htm - (2.12.2012р.).

8. MSP430. - http://chinapads.ru/c/s/msp430

9. Микроконтроллеры MSP430: отличительные особенности семейства MSP430x2xx от MSP430x1xxr [Електронний ресурс]: http://www.compitech.ru/html. cgi/arhiv/06_06/stat_116. htm - (28.11.2012).

10. Борщ.С. Практика работы с MSP430/С. Борщ. - http://www.chipinfo.ru/literature/chipnews/200101/44.html

11. MSP430. Руководство пользователя. - http://test. kiytele.com/gaw_ru_msp430/www.gaw.ru/html. cgi/txt/doc/micros/msp430

12. MSP430. - http://chinapads.ru/c/s/msp430

13. Охотин А.П. Семейство MSP430: опыт применения [Електронний ресурс]: Рынок микроэлектроники: http://www.compitech.ru/html. cgi /arhiv/01_03/ stat_64. htm - (10.04.2010р.)

14. Микроконтроллеры семейства MSP430 [Електронний ресурс]: http://www.gaw.ru/html. cgi/txt/doc/micros/msp430/index. htm - (21.11.2012)

15. MSP430x2xx Family User's Guide - Austin: Texas Instruments Incorporated, 2008 - 693c.

16. Семейство микроконтроллеров MSP430х2хх. Архитектура, програмирование, разработка приложений / пер. с англ. Евтифеева А.В. - М.: Додэка-ХХІ, 2010. - 544 с.

17. Микроконтроллеры MSP430 компании Texas Instruments c Flash-памятью [Електроний ресурс]: Казус: http://www.e-tools. info/ index. php? page= component_detail&id=10880 - (25.11.2012р.)

18. Семейство микроконтроллеров MSP430 Texas Instruments с Flash-памятью. - http://kazus.ru/articles/193.html

ref.by 2006—2019
contextus@mail.ru