Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Пользователю -> Евстифеев А.В. -> "Микроконтроллеры семейства" -> 70

Микроконтроллеры семейства - Евстифеев А.В.

Евстифеев А.В. Микроконтроллеры семейства — Infineon, 2007. — 318 c.
Скачать (прямая ссылка): microkontrolleri2007.pdf
Предыдущая << 1 .. 64 65 66 67 68 69 < 70 > 71 72 73 74 75 76 .. 100 >> Следующая


Регистр S0BG является двухфункциональным регистром. Чтение S0BG возвращает содержимое таймера (биты 15. 13 возвращают 0), в то время как запись в регистр изменяет значения регистра перезагрузки (при этом биты 15. 13 игнорируются).

Авто-перезагрузка содержимого таймера осуществляется каждый раз после записи нового значения в регистр S0BG. Однако, если запись совершается при S0R=0, значение таймера не будет перезагружено, до тех пор пока не будет разрешена работа тактового генератора baud rate.

10-10 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Последовательный интерфейс/С167

Скорость передачи в асинхронном режиме

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

B

fc

CPU

Asinc

SOBRS -

16 • (2+ < SOBRS >) • (< SOBRL > +1)

a f л

JCPU

Vj

-1

16 • (2+ < SOBRS >) • B$sinc у

<S0BRL> - содержимое регистра перезагрузки <S0BRS> - содержимое бита S0BRS

Максимальная скорость передачи данных при использовании частоты ЦПУ 20МГц может достигать в асинхронном режиме 625 Кбод. Таблица, представленная ниже, показывает различные варианты.

Скорость передачи S0BRS = 0, fcpu = 20МГц S0BRS = 0, fcpu = 20МГц
Разброс Перезагруж. значение Разброс Перезагруж. значение
625 Кбод 0 0000 — —
19.2 Кбод +1.7%/-1.4% 001FH/0020H +1.7%/-1.4% 001F+/0020+
9600 Бод +0.2%/-1.4% 0040н/0041н +1.0%/-1.4% 002A+/002B+
4800 Бод +0.2%/-0.6% 0081+/0082+ +1.0%/-0.2% 0055+/0056+
2400 Бод +0.2%/-0.2% 0103+/0104+ +0.4%/-0.2% 00AC+/00AD+
1200 Бод +0.2%/-0.4% 0207н/0208н +0.1%/-0.2% 015A+/015B+
600 Бод +0.1%/-0.0% 0410+/0411+ +0.1%/-0.1% 02B5+/02B6+
75 Бод +1.7% 1FFF+ +0.0%/-0.0% 15B2+/15B3+

Скорость передачи в синхронном режиме

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

fCPU

B

AsLnc

4 • (2+ < SOBRS >) • (< SOBRL > +1)

SOBRS -

f

C

CPU

\4 • (2+ < SOBRS >) • B$sinc У 1 <S0BRL> - содержимое регистра перезагрузки <S0BRS> - содержимое бита S0BRS

Максимальная скорость передачи данных, при использовании частоты ЦПУ 20МГц, может достигать в синхронном режиме 2.5 Мбод.

10-11 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Последовательный интерфейс/С167

10.5 Управление прерываниями ASCO

Для последовательного порта ASC0 имеется четыре побитно адресуемых регистра. Регистр S0TIC управляет прерыванием передачи, S0TBIC управляет прерыванием буфера передачи, S0RIC управляет прерыванием получения и S0EIC управляет прерыванием по ошибке последовательного порта ASC0. Каждый источник прерывания имеет собственный вектор прерывания.

В случае запроса на прерывание по ошибке, тип ошибки можно определить в регистре управления S0C0N.

Примечание: В отличии от флага запроса на прерывание S0EIR, флаги состояния ошибки S0FE/S0PE/S00E автоматически не сбрасываются при входе в подпрограмму обслуживания прерывания. Поэтому их необходимо программно очищать. S0TIC (FF6C/B6+)

S0RIC (FF6E/B7+) S0EIC (FF70/B8+) S0TIC (F19C/CE+)

Примечание: Подробности в описании регистров управления прерываниями.

Использование прерываний ASCO

В случае нормальной работы (т.е. без прерываний по ошибкам) ASC0 имеет три запроса на прерывание, предназначенных для управления обменом данными с помощью последовательного интерфейса:

• S0TBIR: устанавливается, когда данные перемещаются из S0TBuF в промежуточный регистр

• S0TIR: устанавливается перед передачей последнего бита в асинхронном режиме, либо после передачи последнего бита в синхронном режиме

• S0RIR: устанавливается, когда полученные данные перемещаются в S0RBuF

Если нет необходимости в получении данных, передатчик обслуживается при помощи двух прерываний.

Для одиночных передач достаточно использовать прерывание передатчика (S0TIR), которое показывает окончание передачи данных.

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

10-12 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Последовательный интерфейс/С167

Использование S0TBIR предоставляет возможность для загрузки новых данных в буфер до окончания передачи предыдущих данных.

r-SOTIR r-SOTIR г SOTIR

-sotbir

*

Idle

Asynchronous Mode

І

otbir

lsorir

JSOTBIR

CL

о й

lsorir

Q_ D

й

Idle

LSORIR

rSOTBIR

г-SOTIR ,-SOTBIR

г-sotir ,-sotbir

¦ SOTIR

Idle

LSORIR

Synchronous Mode

Рисунок 10-6

Создание прерываний для ASC0

lsorlr

Idle

LSORIR

10-13 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Последовательный интерфейс/С167

10-14 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Аппаратный загрузчик/С 167

11 Высокоскоростной синхронный последовательный интерфейс

Высокоскоростной последовательный интерфейс SSC предназначен для создания высокоскоростных последовательных соединений между С167 и другими микроконтроллерами или внешней периферией.
Предыдущая << 1 .. 64 65 66 67 68 69 < 70 > 71 72 73 74 75 76 .. 100 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100