1 / 39

Мікроконтролери MSP430

Мікроконтролери MSP430. Лекція 11 Судаков О.О, Радченко С.П. « Сучасна мікропроцесорна техніка ». MSP 430 (Mixed Signal Processor- аналого-цифровий процесор ). Повноцінн і 16 розряд ів Шина даних Шина адреси Регістри Периферія Тактова частота 8-25 МГц (залежить від моделі)

verna
Download Presentation

Мікроконтролери MSP430

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Мікроконтролери MSP430 Лекція 11 Судаков О.О, Радченко С.П. «Сучасна мікропроцесорна техніка»

  2. MSP 430 (Mixed Signal Processor- аналого-цифровий процесор) • Повноцінні16 розрядів • Шина даних • Шина адреси • Регістри • Периферія • Тактова частота • 8-25 МГц (залежить від моделі) • Затримки 1-2 мкс (залежить від моделі) • Широкий набір периферії • Цифрової • Аналогової • Наднизьке енергоспоживання • <0.1 мкА в режимі очікування (менше струму саморозряду батарей) • <200мкА в активному режимі • Пам’ять • Flash 512 B-512K • RAM 128 B – 64 K • Фон-Нейманівська архітектура • Широкий набір застосувань

  3. Моделі MSP430 • Сімейство • СС – з радіо (Wifi) • MSP • L –низька напруга • Тип пам’яті • С-ROM • F-flash • FR-fram • G flash • Покоління • 1 – до 8 МГц • 2- до 16 МГц • 4-до 16 МГц з LCD для медичних застосувань • 5 до 25 МГцдля медичних застосувань • 6 до 25 МГцз LCD для медичних застосувань

  4. Структурна схема • RISC CPU • Системний годинник • 1 адресний простір • RAM • Flash • Шина адреси • 16 біт • Шина даних • 16 біт • Частина периферії 8 біт • Автоматичне перетворення 8/16 біт • Периферія • JTAG

  5. Процесор • ALU16 розрядів • Регістри загального призначення • 16 16 розрядних • Спільна пам’ять для програм і даних • Фон-Нейманівська архітектура • Єдиний простір адрес • Шина • Адреси • Даних • Проста архітектура

  6. Особливості регістрів • Всі регістри загального призначення • Всі можна записувати – читати – адресувати • 16 розрядів можна використовувати як 8 розрядів • Деякі мають спеціальні функції • R0 – PC програмний лічильник • R1 – SP вказівник стеку • R2 – SR регістр стану і генератор констант CG1 • R3 - генератор констант CG2 • R4-R15 – звичайні регістри

  7. Регістри для адресації пам’яті • Адреси команд кратні 2 • Останній біт завжди 0 • PC – адреса поточної виконуваної команди • При виконанні збільшується на 2 • Запис у регістр – перехід на іншу інструкцію • SP – адреса стека • Адреса вершини стека записується в регістр • PUSH ASP=SP-2; *SP=A • POP AA=*SP; SP=SP+2 • Всі інші регістри можна використовувати для адресації

  8. Режими адресації • Регістровий режим • Використовується значення в регістрі • 1 слово 1 такт • MOV R12 R13 R12->R13 • Індексний режим • Викорисовується значення в пам’яті • Адреса в регістрі • Зміщення – аргумент команди • 2 слова 3 такти • MOV 2(R5),6(R6)

  9. Режими адресації (продовження) • Символьний режим • З адреси/в адресу пам’яті • Адреса перераховується відносно поточної команди PC • Адреса - аргумент команди • Коли пам’яті більше 64К • MOV ADDR R6 • Асемблер використовує індксну адресацію • 4 такти 2 слова • Абсолютний режим • Те що і символьний, тільки абсолютна адреса • MOV &ADDR R6 • Безпосередній режим • Завантаження константи • MOV #1234h R6 • 2 такти 2 слова

  10. Непряма адресація • Непряма адресація • Використати дані в пам’яті • Адреса в регістрі • MOV @R14 R15 • 1 слово 2 такта • Непряма адресація з інкрементом • Те ж що і непряма • Регістр зібльшується на 1 (для байтів) або 2 (для слів) • MOV @R14+ R15 • 1 слово 2 такта

  11. Регістр стану • Керування різними пристроями • SCG1 – вимикання генератора периферії • SCG0 – вимикання RC генератора • OSCOFF – вимикання кварцевого генератора • GIE – дозволити переривання • CPUOFF – зупинити процесор • Прапорці результату останньої операції • V – було переповнення • N – результат від’ємний • Z – результат нульовий • С – було перенесення в старший розряд

  12. Генератори констант • Часто використовуються константи • -1,0,1,2,4,8 • Введення константи в код –додаткова операція • Генератори констант роблять це за 1 такт • Регістри R2 і R3 як джерело • Регістровий режим R3:0MOV R3 R15 R15=0 • Індексний режим R2:(0),R3:1 MOV(R3)R15 R15=1 • Непрямий режим R2:4,R3:2 MOV@R3 R15 R15=2 • Непрямий автоінкремент R2:8,R3:-1 MOV@R3+ R15 • Запис в R3 – NOP (немає операції)

  13. Виконання команд • Вибірка команди з пам’яті • PC=PC+2 • Адреса на шині адреси • Зчитування даних • Вибірка аргументів • PC=PC+2 • … • Виконання • Під час вибірки наступного слова • В такті запису • Запис результату • в такті виконання

  14. Пам’ять • Спільний простір адрес • Регістри • Регістри периферії • RAM • FLASH • Таблиця переривань • Максимальний розмір 128K • Код і дані де завгодно

  15. Регістри керування периферією • Відображені на пам’ять • Кожен пристрій має визначені адреси керування • В документації визначені константи для позначення адрес • Константи використовують для прямоъ адресації • Приклади • TACTL – 0x0160 • TAR – 0x0170 • … • MOV.W 200h &TAR

  16. Набір інструкцій • Всі інструкції працюють із всіма режимами адресації • Безпосередня адресація не може бути джерелом • Є варіанти команд із словом і з байтом .B .W • Команди • Два операнди • MOV,ADD,XOR,BIC,BIS,BIT,CMP,AND,SUB,ADDC, SUBC,DADD • 1 операнд • RRC,RRA,SWPB,CALL,RETI,SXT • перехід • JZ,JNZ,JC,JNC,JN,JGE,JL,JMP • Всього 27 інструкцій і 24 емульовані інструкції

  17. Переваги фон-Неймановської архітектури • Спільна пам’ять для команд і даних • Менше шин • Простіша конструкція • Менший набір команд • Простіше програмування • Менше енергоспоживання • “Самозмінювані” програми • Недоліки • Виконання не завжди можливо паралельно із читанням-записом • Більше тактів (повільніше)

  18. Переривання • Масковані і немасковані • Масковані – 32 вектора у флеш • Більший номер – вищий пріоритет • Окремий обробник для кожного вектора • Немасковані – дозволяються окремо • Найвищий пріоритет • Біти NMIIE, ACCVIE, OFIE • Прапорці NMIFG, ACCVIFG, OFIFG • Один обробник • Дозволяються – забороняються • Біт GIE

  19. Тактові генератори • 3-4 тактових генератори • VLO (Very low Power) • До 20КГц • DCO (Digitally Controlled Oscillator) • 0.1-25 МГц • LFXT1 (low-high frequency external) • Кварц 32кГц-25МГц • Можуть тактувати різні системні годинники

  20. Вихідні сигнали системного годинника • ACLK (Auxiliary clock) • VLO, LFXT1 • Опорні сигнали периферії • MCLK (Main Clock) • VLO, LFXT1,DCO • Тактування процесора • SMCLK (Sub-Main Clock) • VLO, LFXT1,DCO • Тактування периферії • Всі сигнали можна ділити на • 1,2,4,8

  21. Керування системними годинниками • Регістри • DCOCTL – керуваннячастотою DCO • BCSCTL1, BCSCTL2, BCSCTL3 • ввімкненя/вимкнення різних генераторів • Точне встановлення частоти • Підключення тактових генераторів до вихідних сигналів • Ділення частоти вихідних сигналів • IE1,IFG1 – переривання по збою генератора • IE1,IFG1 – дозвіл і прапорець переривання • Калібровочні константи • 1,8,15 МГц • MOV.B &CALBC1_1MHZ,&BCSCTL1 • MOV.B &CALDCO_1MHZ,&DCOCTL

  22. Запис флеш-пам’яті • 2 області flash • Інформаційна і головна • Сегменти 64 і 512 байтів • Запис • Розблокування запису • Встановлення частоти тактового генератора • Очистка • Лише сегментами • Запис • Окремі байти • Блочний запис

  23. Периферія • Цифровий ввід-вивід • Порти вводу-виводу • Таймери • TimerA,TimerB,TimerD,WDT • Компаратор • АЦП • 10,12,16 біт • Послідовні шини • SPI,UART,I2C • ЖК індикатори • Сенсори • температура • DMA

  24. GPIO • 1-8 портів по 8 біт • Вибір функції портів • Підключення виводів до пристроїв • Запис 0,1 • Читання 0,1 з порта • Переривання по зміні рівня • Ввімкнення підтягуючих резисторів • Генерація коливань для вимірювання ємності • Керування за допомогою регістрів • PxDIR – ввід чи вивід • PxOUT – вивід • PxREN – ввімкнення підтягуючих резисторів • PxSEL,PxSEL2 – вибір функцій • CAPD – вибір компаратора • AD10AE – вибір АЦП

  25. Вибір функції портів • PxSEL,PxSEL2 – вибір функцій • 0,0 – GPIO • 1,0 – друга фуекція • 1,1 – третя функція • CAPD – вибір компаратора • 1 - компаратор • AD10AE – вибір АЦП • 1 - АЦП

  26. Ввід-вивід • Напрямок вводу-виводу PxDIR • 0 – ввід , 1 –вивід • Вивід даних PxOUT • 0 – низький рівень, 1 – високий рівень • Введення даних PxIN • 0 – низький рівень, 1 – високий рівень • Підтягуючий резистор • PxREN – дозвіл-заборона • PxOUT – дозвіл-заборона • Переривання • PxIFG – прапорець переривання • PxIE – дозвіл-заборона переривання • PxIES – по фронту чи по спаду

  27. TimerA • 1-2Таймера • Лічильник імпульсів • 16 розрядів • Різні джерела вводу • Захоплення • Тактові генератори • Подільник частоти • Різні режими підрахунку і виводу • Порівняння • ШІМ • Переривання • По переповненню • По порівнянню • По захопленню

  28. Лічильник • Кількість вхідних імпульсів • В регістрі TAR • Обнулити таймер TACLR=1 • Старт таймера TACCR0=1 • Виібір вхідних сигналів • Режим таймера біти MC • 00 – зупинено • 01 – Up mode доССR0 • 10 - Неперервний • 11 – up/down

  29. Вибір вхідних сигналів • Підрахунок імпульсів • Тактові генератори ACLK, SMCLK • Зовнішні сигнали з виводів TACLK INCLK • Вибір бітами TASSELx регістра TACTL • Подільник частоти вхідних сигналів • Біти IDx регістра TACTL

  30. Захоплення • Запис поточного значення таймера в регістр, коли вхідний сигнал захоплення змінюється • Вхід CCIxA і CCIxB • Регістри TACCR1, TACCR2 • Генерується переривання по захопленню • Біт COV коли регістр не зчитано до захоплення • Режим вмикається бітом CAP = 1 • Джерела захоплення • Вхідні сигнали • Компаратор

  31. Порівняння • Зміна вихідних сигналів коли таймер дорахував до значення в регістрі • Запускається при CAP=0 • Змінюється внутрішній сигнал • EQU0 для регістраССR0 • EQU1 для регістраССR1 • Змінюється зовнішній сигнал • OUT0 відповідно EQU0 • OUT1 відповідно EQU1 • Зовнішні сигнали вибираються функцією порта • Вихідні сигнали відповідають бітам OUTMOD • 0 – зміна виходу зміною бітів OUTx • 2 - Toggle/Reset по ССR1,2/CCR0 • 4 – перемикання при зміні сигналу • …

  32. Переривання таймера • По переповненню • TAIFG і порівнянню CCR1 CCR2 • По порівннянню • CCR0 • Біти вибору джерела • Біти TAIV • 10 – переповнення • 4 – ССR2 • 2- CCR1

  33. Генерація часових інтервалів • Неперевний режим • Запис періоду в регістр • CCR0 • CCR1 • CCR2 • При порівнянні • Збільшуєм регістр на величину інтервала • T0,t1,t2

  34. Генерація ШІМ • Період - в регістр ССR0 • Рівень в ССR1 • Режим 7 • При перериванні CCR0 • Зміна рівня в CCR1

  35. Компаратор • Ввімкнення • Компаратора Біт CAON • Опорна напруга • Біти CARSEL=0 ввымкнена на + компатора • CAREF • 00 – зовнішня • 01 – 0.25Vcc • 10 -0.5 Vcc • 11 – 0.55 в • Входи • Біти P2CA0-P2CA2 ввімкнення входів CA1-CA7 • Вихід • Біт CAOUT • Захоплення таймера • Переривання • По зміні рівня на виході

  36. АЦП • SAR перетворювач • 10 -12 біт • До 200 кГц дискретизація • Запуск таймером чи програмно • Опорна напруга • Внутрішня 1.5 В 2.5 В • Зовнішня • Входи • Зовнішні • Сенсори • Тактування • Різні генератори • Різні режими перетворення • Одиночний • Послідовний перебір каналів • Блочний

  37. Вибір входів • Аналоговий сигнал • Біти ADC10AEx • Опорна напруга • Біти REF2_5V=1/0 • Зовнішя опорна напруга SREF0 і SREF1 • Виведення внутрішньої напруги REFOUT=1/0 • Тактовий генератор • Внутрішній генератор • SMCLK, MCLK, ACLK • По фронту сигнала SHI • Вихідний сигнал Таймер А • Подільник частоти ADC10DIVx

  38. Запуск перетворення • Запуск • ADC10ON=1 ввімкнення • SAMPCON = 1 статр перетворення • Третій стан SAMPCON = 0 • Біти CONSEQx – режим перетворення • 00 -один канал однократне • 01 –набір каналів • 10 –періодичне один канал • 11 – періодичне багато каналів • Результат • ADC10MEM • ADC10IFG встановлено • Генерація переривання • Блочний режим перетворення

  39. Режими енергозбереження

More Related