На головну

Модуль асинхронного послідовного інтерфейсу SCI08

  1. асинхронного двигуна
  2. Баланс активних потужного асинхронного двигуна можна уявіті таким рівнянням
  3. Увага! Модульна формула пишеться зліва направо.
  4. Увага! Модульна формула пишеться зліва направо.
  5. Момент, що обертає асинхронного двигуна. Висновок формули. Номінальний, критичний і пусковий моменти.
  6. Графікали? модуль ?шін тапсирмалар
  7. Графікали? модульге арнал?ан тапсирма

Для асинхронного послідовного обміну даними в мікроконтролерах сімейства 68HC08 / 908 використовується модуль SCI08 (Serial Communication Interface-08), Який забезпечує стандартний асинхронний формат прийому-передачі даних з одним старт-бітом і одним стоп-бітом, вісьмома інформаційними бітами d0-d7 і можливістю пересилання 9-го (контрольного) біта d8 (рис.18). Таким чином в кожному кадрі передавемих даних міститься принаймні один нульовий біт (старт-біт) і один одиничний біт (стоп-біт). Кадр, що складається з 10 (за відсутності контрольного біта) або 11 (при наявності контрольного біта) нулів служить сигналом припинення передачі (символ BREAK). Кадр, состояшіх з 10 (за відсутності контрольного біта) або 11 (при наявності контрольного біта) одиниць є сигналом, що переводять приймач в режим очікування наступного циклу передачі даних (символ IDLE).

0 1 2 3 4 5 6 7 8 0

     d0  d1  d2  d3  d4  d5  d6  d7  d8 *      d0

Старт Інформаційні біти d0-d7, Стоп Наступний

біт * контрольний біт біт старт-біт

Рис.18. Формат кадру даних, переданого асинхронним портом SCI

Структура модуля SCI08 показана на рис.19. Модуль містить регістр даних SCDR (Адреса $ 0018), два регістра стану SCS1, SCS2, І три регістра управління SCC1 - SCC3.


Рис.19. Cтруктура модуля SCI08

Генератор синхросигналов (ГСС) формує синхросигнали обміну, частота яких Fs визначається вмістом регістра SCBR. Для обміну даними використовуються вхід приймача RxD і вихід передавача TxD, підключені, відповідно, до висновків PTE1 і PTE0 порту E. Формат кадру обміну визначається значенням біта M в регістрі управління SCC1 (Рис. 20, а): 10-бітний кадр (8 біт даних, що пересилаються) при M = 0, 11-бітний кадр (9 біт переслати даних) при M = 1. Якщо M = 1, то при передачі в якості дев'ятого (контрольного) біта передається біт T8 з регістра SCC3, А при прийомі дев'ятий біт заноситься в регістр SCC3 як біта R8. Перед початком передачі на лінії встановлюється рівень 1 (сигнал очікування) на час не менше, ніж тривалість одного такту синхросигналов Ts =

= 1 / Fs. Якщо на лінії підтримується рівень 0 на протязі 10Ts при 10-бітному кадрі (M = 0) або 11Ts при 11-бітному кадрі (M = 1), то такий нульовий кадр є сигналом припинення обміну - символ BREAK. Якщо на лінії підтримується рівень 1 протягом 10Ts (при M = 0) або 11Ts (при M = 1), то такий одиничний кадр є сигналом очікування початку обміну - символ IDLE.

Функціонування модуля SCI08 визначається значеннями керуючих кодів, що завантажуються в регістри SCC1-SCC3. При запуску мікроконтролера все біти цих регістрів приймають значення 0. Регістр управління SCC1 (Рис.20, а) містить біти, що мають наступне призначення:

LOOPS - при встановленні значення LOOPS = 1 переводить модуль SCI08 в режим кільцевого обміну, коли вхід приймача відключається від виведення RxD / PTE1 і з'єднується з виходом передавача; при цьому передані дані надходять в приймач, якщо в регістрі SCC2 значення бітів RE = TE = 1 (одночасно дозволені прийом і передача); даний режим використовується для перевірки роботи модуля;

ENSCI - при встановленні значення ENSCI = 1 дозволяє роботу модуля SCI08;

TXINV - при встановленні значення TXINV = 1 викликає передачу інверсних значень всіх бітів (старт і стоп-бітів, інформаційних і контрольного бітів);

M - задає формат пересилається кадру: 10-бітний при M = 0 (відсутність контрольного біта), 11-бітний при M = 1 (наявність контрольного біта);

WAKE - визначає спосіб виходу приймача з режиму очікування: прийом символу IDLE (10 або 11 одиничних бітів) при WAKE = 0, середнє арифметичне значення старшого прийнятого біта даних d7 (при M = 0) або d8 (при M = 1) при WAKE = 1 ;

ILTY - вказує початок відліку одиничних бітів, що представляють символ очікування IDLE: починаючи з чергового старт-біта при ILTY = 0 або з чергового стоп-біта при ILTY = 1;

PEN - дозволяє при встановленні значення PEN = 1 контроль парності при передачі і прийомі даних;

PTY - визначає вид контролю: якщо PTY = 0, то контрольний біт дорівнює 1 при парному числі інформаційних бітів (контроль парності), якщо PTY = 1, то контрольний біт дорівнює 1 при непарному числі інформаційних бітів (контроль непарності).

 LOOPS  ENSCI  TXINV M  WAKE  ILTY  PEN  PTY

а). SCC1 (адреса $ 0013)

 SCTIE  TCIE  SCRIE  ILIE  TE  RE  RWU  SBK

б). SCC2 (адреса $ 0014)

 R8  T8  ORIE  NEIE  FEIE  PEIE

в). SCC3 (адреса $ 0015)

Рис.20. Формат вмісту регістрів управління модуля SCI08

Керуючий код, записується у регістр SCC2 (Рис.20, б), дозволяє або забороняє формування запитів переривання, виробляє запуск і відключення приймача і передавача, встановлює режим очікування приймача і видачу сигналу припинення обміну передавачем. Окремі біти вмісту SCCR2 мають таке призначення:

SCTIE - дозволяє при значенні SCTIE = 1 формування запиту переривання при установці ознаки звільнення регістра SCDR в режимі передачі (в регістрі SCS1 ознака SCTE = 1);

TCIE - дозволяє при значенні TCIE = 1 формування запиту переривання при установці ознаки завершення передачі (в регістрі SCS1 ознака TC = 1);

SCRIE - дозволяє при значенні SCRIE = 1 формування запиту переривання при заповненні регістра SCDR в режимі прийому (в регістрі SCS1 ознака SCRF = 1);

ILIE - дозволяє при значенні ILIE = 1 формування запиту переривання при надходженні на вхід RxD символ очікування IDLE (в регістрі SCS1 ознака IDLE = 1);

TE - включає (при TE = 1) і відключає (при TE = 0) передавач;

RE - включає (при RE = 1) і відключає (при RE = 0) приймач;

RWU - переводить при RWU = 1 приймач в режим очікування, а при RWU = 0 дозволяє активізацію приймача (відповідно до значення біта WAKE в регістрі SCC1);

SBK - викликає при установці SBK = 1 видачу на вихід TxD передавача символу припинення обміну BREAK (послідовність 0).

регістр управління SCC3 (Рис.20, б) містить контрольні біти і біти дозволу переривань при виникненні помилок прийому:

R8 - приймає значення 9-го (контрольного) біта, що надходить на вхід RxD приймача при 11-бітному кадрі даних, що пересилаються (значення M = 1);

T8 - містить значення 9-го (контрольного) біта, що видається на вихід TxD передавача при 11-бітному кадрі даних, що пересилаються (значення M = 1);

ORIE - дозволяє при значенні ORIE = 1 формування запиту переривання при переповненні приймача (в регістрі SCS1 прітзнак OR = 1);

NEIE - дозволяє при значенні NEIE = 1 формування запиту переривання при виявленні шумів в режимі прийому (в регістрі SCS1 ознака NE = 1);

FEIE - дозволяє при значенні FEIE = 1 формування запиту переривання при помилці кадру в режимі прийому (в регістрі SCS1 ознака FE = 1);

PEIE - дозволяє при значенні PEIE = 1 формування запиту переривання при помилці парності в режимі прийому (в регістрі SCS1 ознака PE = 1).

 SCTE  TC  SCRF  IDLE  OR  NF  FE  PE

а). SCS1 (адреса $ 0016)

- - - -   -  BKF  RPF

б). SCS2 (адреса $ 0017)

- -  SCP1  SCP0 -  SCR2  SCR1  SCR0

в). SCBR (адреса $ 0019)

Рис.21. Формат вмісту регістрів стану і управління ГСС модуля SCI08

вміст регістрів SCS1, SCS2, Яке є тільки для зчитування, вказує поточний стан модуля SCI08. Ці регістри містять ознаки, які встановлюються в процесі прийому і передачі даних. При запуску мікроконтролера всі ознаки приймають значення 0. У регістрі стану SCS1 (Ріс.1.21, а) встановлюються наступні ознаки:

SCTE - ознака готовності передавача до прийому нових даних, приймає значення SCTE = 1 після того, як вміст регістра SCDR переписується в зсувний регістр передавача для послідовної видачі на вихід TxD;

TC - ознака закінчення передачі, приймає значення TC = 1 після видачі останнього біта даних з зсувного регістру передавача на вихід TxD;

SCRF - ознака заповнення приймача, приймає значення SCRF = 1 після того, як дані, що надійшли в зсувний регістр приймача, переписуються в регістр SCDR;

IDLE - ознака надходження символу очікування IDLE, приймає значення IDLE = 1, якщо стан 1 на вході RxD підтримується більше 10 (при M = 0) або 11 (при M = 1) тактів Ts;

OR - ознака переповнення приймача, приймає значення OR = 1 у разі, коли черговий символ надходить в зсувний регістр приймача до зчитування з регістру SCDR попереднього символу (при цьому вміст SCDR зберігається, а черговий надійшов символ втрачається);

NF - ознака наявності шумів на лінії прийому, встановлюється в стан NF = 1, якщо в процесі прийому будь-якого біта зафіксовані зміни рівня сигналу на вході RxD;

FE - ознака порушення кадру, приймає значення FE = 1, якщо в прийнятому кадрі тривалість стоп-біта виявляється менше, ніж Ts

PE - ознака помилки парності, приймає значення PE = 1, якщо парність інформаційних бітів в прийнятому символі не відповідає надійшов значенням контрольного біта R8.

Ознаки SCTE, TC, SCRF, IDLE, OR, NF, FE, PE викликають формування запиту переривання, якщо це дозволено відповідними бітами в регістрах SCCR2, SCCR3. Запити, викликані ознаками SCTE, TC, SCRF зазвичай викликають процедури запису в регістр SCDR нових даних для передачі або зчитування з нього прийнятих даних. Якщо відповідні запити заборонені установкою значення 0 в бітах SCTIE, TCIE, SCRIE, то прийом і передача даних через SCI виконується програмно за допомогою періодичного зчитування і аналізу вмісту SCS1 (Програмний опитування).

регістр стану SCS2 (Рис.21, б) містить тільки дві ознаки:

BKF - ознака надходження символу закінчення обміну BREAK, приймає значення BREAK = 1, якщо стан 0 на вході RxD підтримується більше 10 (при M = 0) або 11 (при M = 1) тактів Ts;

RPF - ознака початку прийому даних, приймає значення RPF = 1, коли приймач визначає надходження на вхід RxD старт-біта, значення RPF = 0 встановлюється після прийому символу IDLE.

Установка в 0 значень ознак в регістрах SCS1, SCS2 (Крім ознаки RPF) проводиться шляхом виконання наступних операцій:

- Читання вмісту регістра SCS1абоSCS2,

- Читання вмісту регістра данихSCDR.

Тривалість такту обміну Ts = 1 / Fs визначається частотою Fs імпульсів, що формуються ГСС, яка задається вмістом регістра SCBR (Рис.21, в). Значення цієї частоти визначається виразом Fs = Fq / (Kd x Ks), де Kd, Ks - коефіцієнти розподілу, які задаються вмістом полів SCP1-0 і SCR2-0 в регістрі SCBR відповідно до табл.18. При запуску мікроконтролера все біти регістра SCBR приймають значення 0, то-есть забезпечується швидкість обміну Fs = Fq. Шляхом вибору різних значень коефіцієнтів Kd, Ks реалізуються швидкості послідовного обміну даними в діапазоні від десятків біт / c до 100 Кбіт / c.

Таблиця 18. Значення коефіцієнтів

ділення Kd, Ks для модуля SCI08

 SCP1-0  Kd  SCR2-0  Ks
   
   
   
   

У режимі передачі дані, попередньо записані в SCDR за допомогою команд STA або STX, Переписуються в зсувний регістр передавача і послідовно видаються на вихід TxD з частотою Fs. Для ініціалізації передавача слід виконати наступні операції:

- Встановити необхідну швидкість обміну шляхом завантаження відповідного вмісту в регістр SCBR,

- Дозволити роботу модуля SCI08 шляхом установки значення біта ENSCI = 1 в регістрі управління SCC1,

- Дозволити роботу передавача шляхом установки значення біта TE = 1 в регістрі управління SCC2,

- Встановити значення ознаки SCTE = 0 і запустити процес передачі шляхом читання вмісту регістра стану SCS1 і записи даних, що передаються в регістр SCDR.

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

Наступний контроль роботи передавача здійснюється за допомогою ознак SCTE, TE в регістрі SCS1, Які викликають виконання підпрограми обслуговування переривань, якщо в регістрі управління SCC2 біти дозволу SCTIE, TCIE = 1, або опитуються програмно, якщо біти SCTIE, TCIE = 0. Передавач видає на вихід TxD символи припинення обміну BREAK (кадри з 10 або 11 нулів) при установці в регістрі SCC2 значення біта SBK = 1.

У режимі прийому дані, що надходять на вхід RxD, послідовно вводяться в зсувний регістр модуля SCI08 з частотою Fs. Після введення 8 біт даних вони переписуються в регістр SCDR, Звідки можуть бути лічені в регістр A або Xкомандами LDA, LDX. При 11-бітному кадрі обміну 9-й біт прийнятих даних d8 заноситься в регістр SCC3 як біта R8, який може зчитуватися і аналізуватися окремо. Після прийому даних в регістрі SCS1 встановлюється в 1 ознака завершення прийому SCRF, а при виявленні відповідних помилок також ознаки OR, NF, FE, PE. Установка цих ознак в 1 викликає виконання підпрограми обслуговування переривань, якщо в регістрах SCC2, SCC3 відповідні біти дозволу SCRIE, ORIE, NEIE, FEIE, PEIE мають значення 1, або опитуються програмно, якщо ці біти мають значення 0.

Приймач може перекладатися в режим очікування шляхом установки біта RWU = 1 в регістрі SCC2. В цьому режимі приймач не записує дані, що надходять в регістр SCDR, Але перевіряє їх зміст, чекаючи приходу символу активізації. Ознаки помилок і запити переривання в режимі очікування не формуються. При цьому дані, що передаються по лінії, підключеної до входу RxD модуля SCI08, можуть прийматися іншими пристроями в системі. Подальша активізація приймача проводиться відповідно до значення біта WAKE в регістрі SCC1. При WAKE = 0 активізація відбувається під час вступу на вхід RxD символу IDLE - послідовності з 10 (при M = 0) або 11 (при M = 1) одиниць. Наступний за цією послідовністю кадр даних буде прийматися модулем SCI08. В якості початку відліку послідовності 1 приймається старт-біт (при установці в регістрі SCC1 значення біта ILTY = 0) або стоп-біт (при значенні біта ILTY = 1) попереднього кадру. При WAKE = 1 приймач активується при значенні 1 старшого біта d7 (при 10-бітному кадрі) або d8 (при 11-бітному кадрі) даних, що надходять, який служить ідентифікатором адреси. У цьому випадку після активізації прийняті дані надходять в регістр SCDR. Процесор аналізує молодші сім або вісім прийнятих бітів, які вказують адресу приймального пристрою. Якщо ця адреса збігається з адресою, програмно встановленим для даного модуля SCI08, то він приймає дані, що надходять в наступних кадрах. Якщо адреса не збігається, то модуль знову переводиться в режим очікування шляхом установки біта RWU = 1.

Виявлення шумів на лінії прийому проводиться шляхом триразової перевірки значення сигналу на вході RxD протягом періоду передачі кожного біта Ts. Якщо перевірка дає різні значення рівня, то приймається те значення (0 або 1), яке надійшло двічі (принцип мажорітірованія), а одноразове надходження іншого значення сприймається як перешкода. У цьому випадку встановлюється ознака наявності шумів NF = 1.

У процесі прийому перевіряється також надходження на вхід RxD символів IDLE і BREAK. Прийом символу IDLE викликає установку ознаки IDLE = 1 в регістрі SCS1 і реалізацію переривання, якщо в регістрі управління SCC2 біт ILIE = 1. Прийом символу BREAK викликає установку ознаки BKF = 1 в регістрі SCS2, А також установку ознак SCRF = FE = 1 в регістрі SCS1. В цьому випадку переривання реалізуються, якщо у стаю в 1 біт SCRIE в регістрі SCC2 або біт FEIE в регістрі SCC3.

Для обслуговування модуля SCI08 виділені три вектора переривань, які забезпечують звернення до відповідних підпрограм обробки:

Vt - вектор переривання за запитом передавача, забезпечує обробку запиту при установці в 1 ознак SCTE або TE в регістрі SCS1, Якщо переривання дозволені битами SCTIE, TCIE в регістрі SCC2;

Vr - вектор переривання за запитом приймача, забезпечує обробку запиту при установці в 1 ознак SCTE або TE в регістрі SCS1, Якщо переривання дозволені битами SCTIE, TCIE в регістрі SCC2;

Ve - вектор переривання при виявленні помилки прийому, забезпечує обробку запиту при установці в 1 ознак OR, NF, FE або PE в регістрі SCS1, Якщо переривання дозволені битами ORIE, NFIE, FEIE, PEIE в регістрі SCC3.

Вектора Vt (адреса $ FFE2-E3), Vr (адреса $ FFE2-E3), Ve (адреса $ FFE2-E3) займають три позиції в таблиці векторів (див. Табл. 10). Звернення до кожного з цих векторів може бути викликано різними причинами, якщо біти дозволу переривань в регістрах SCC2, SCC3 встановлені в 1. У цьому випадку викликаний оброблювач переривань повинен зробити аналіз стану відповідних ознак в регістрі SCS1, Щоб визначити причину переривання і забезпечити виконання необхідної процедури обслуговування надійшов запиту.

 




Процесорний модуль CPU08 | Загальна структура і номенклатура мікроконтролерів | мікроконтролер 68HC908GP32 | Процесорний модуль CPU08 | Формування тактовихімпульсів. | Початковий запуск і обробка переривань. | Режими роботи мікроконтролерів | Організація і програмування пам'яті | конфігурація мікроконтролерів | Модуль сторожового таймера COP08 |

© um.co.ua - учбові матеріали та реферати