Звоните! 
 (926)274-88-54 
 Бесплатная доставка. 
 Бесплатная сборка. 
Ассортимент тканей

График работы:
Ежедневно. С 8-00 до 20-00.
Почта: soft_hous@mail.ru
Читальный зал -->  Устройства ультрафиолетового стирания 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [ 32 ] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84

11.3.1.1 АДРЕСАЦИЯ

Если модуль SSP работает в режиме ведомого, то он ожидает условие начала. После чего регистр SSPSR принимает 8-разрядов. Каждый разряд фиксируется в регистре по переднему фронту тактового импульса на линии SCL. Значение регистра SSPSR <7:1> сравнивается со значением регистра SSPADD. Адреса сравниваются по заднему фронту восьмого импульса синхронизации (SCL). Если адрес соответствует и флажки BF и SSPOV сброшены, то выполняются следующие операции:

а) Значение регистра SSPSR загружается в регистр SSPBUF.

б) Устанавливается флажок заполнения буфера BF.

в) Формируется импульс АСК.

г) По заднему фронту девятого импульса SCL устанавливается флажок прерывания SSPIF (PIRI <3>) и генерируется прерывание, если разрешено.

В режиме 10-разрядного адреса ведомым должны быть получены два байта адреса (Рис. 11-9). Пять старших разрядов (MSBS) первого байта адреса являются маркером 10-разрядного адреса. После приема первого байта флажок R/W (SSPSTAT <2>) должен указывать запись, так как ведомое устройство должно получить второй байт адреса. В 10-разрядном адресе первый байт равняется 1 1 1 1 О А9 А8 О, где А9 и А8 - два старших разряда адреса.

Последовательность операций для 10-разрядного адреса (шаги 7-9 выполняются только, если передатчик ведомый):

1. Получить старший байт адреса (устанавливаются флажки SSPIF, BF и

UA).

2. Модифицировать регистр SSPADD и загрузить второй (младший) байт адреса (сбрасывается флажок UA и отпускается линия SCL).

3. Считать регистр SSPBUF (сбрасывается флажок BF) и сбросить флажок SSPIF.

4. Получить второй (младший) байт адреса (устанавливаются флажки SSPIF, BF и UA).

5. Модифицировать SSPADD и загрузить первый (старший) байт адреса (сбрасывается флажок UA и, если адрес соответствует, отпускается линия SCL).

6. Считать регистр SSPBUF (сбросить флажок BF) и сбросить флажок SSPIF.

7. Получить повторное условие начала.

8. Получить старший байт адреса (устанавливаются флажки SSPIF и

BF).

9. Считать регистр SSPBUF (сбрасывается флажок BF) и сбросить флажок SSPIF.



Прием адреса flfT-O Прима данных jcir прием датых JCIT г ,

РА-Г\,/}Т)(тШЩАзт)(!л\ Щ(ЩВ5)(Вг)Т!(т>1Шб1!), /Р7у;Е)(5г)рУ(Р5Х!5ЭДТТО ;Л~

I I

SSPIf (PIFil 3>) -1 Сбрасымета профамои i

BF (55Р5Ш<0>) I-W-Чтение SSPBUF Г

SSPOV (SEPC0N<6>)

Разряд ЗЗРОУустаноален.потомучто регисф SSPBUF ке внъе не (тмтан

АСК не пеждается

ЯрСитр ШИЛА

эавериает передачу

Рис. 11-21 Временная диаграмма приема ТС (7-разрядный адрес)

11.3.1.3 ПЕРЕДАЧА

Если в байте адреса разряд RAV = 1 и адрес соответствует, то флажок R/W регистра SSPSTAT устанавливается. Полученный адрес загружается в регистр SSPBUF. На девятом такте будет передан импульс АСК и на контакте RC3/8CK/SCL установится низкий уровень (состояние останова). Передаваемые данные должны быть загружены в регистр SSPBIJF. Они также загружаются и в регистр SSPSR. Затем контакт RC3/SCK/SCL необходимо отпустить установкой бита СКР (SSPCON <4>). Восемь информационных разрядов сдвигаются в линию по заднему фронту тактового сигнала SCL. Это обеспечивает достоверность сигнала SDA в течение высокого уровня сигнала SCL (Рис. 11-22).

Прерывание SSP генерируется после передачи каждого байта данных. Флажок SSPIF устанавливается по заднему фронту девятого тактового импульса, а сброс флажка должен выполнятся программно. Регистр SSPSTAT может использоваться для того чтобы определить состояние передатчика.

Импульс АСК от ведущего приемника фиксируется ведомым передатчиком по переднему фронту девятого импульса на входе SCL. Если импульс АСК не обнаружен, то передача данных заканчивается, и ведомый ожидает

4* 99

11.3.1.2 ПРИЕМ

Если в байте адреса разряд RAV = О и адрес соответствует, то флажок RAV регистра SSPSTAT сбрасывается. Полученный адрес загружается в регистр SSPBUF.

Если возникает переполнение, то импульс подтверждения (АСК) не формируется, а устанавливаются флажки BF (SSPSTAT <0>) и SSPOV (SSPCON <6>).

Прерывание SSP формируется для каждого принятого байта данных. Флажок SSPIF (PIRI < 3>) должен сбрасываться программно, а регистр SSPSTAT может использоваться для определения состояния приемника.



появление нового условия начала передачи. Если импульс АСК зафиксирован (низкий уровень на линии SDA), то в регистр SSPBUF должны быть загружены очередные передаваемые данные, которые одновременно загружаются и в регистр SSPSR. Затем установкой бита СКР контакт RC3/SCK/SCL необходимо отпустить.

SDA Т\

SSPIF (PJRIO)


BF (SSPSW<0>)

СКР (SSPC0M 4.)


Бит СКР устанавливается посла мшси SSPBUF

Рис. 11 -22 Временная диаграмма передачи I С (7-разрядный адрес)

11.3.2 РЕЖИМ ВЕДУЩЕГО

Операции в режиме ведущего обеспечиваются генерацией прерываний при обнаружении условий начала и окончания передачи. Биты окончания (?) и начала (S) обнуляются при сбросе или когда модуль SSP отключен. Управление шиной 1С можно осуществлять, если установлен бит Р или шина неактивна (оба бита Р и S равны нулю).

В режиме ведущего линии SCL и SDA управляются сбросом соответствующих разрядов регистра TRISC <4:3>. Выходной уровень всегда низкий независимо от значений в регистре PORTB <4:3>. Когда передаваемое значение по линии SDA равно Г, устанавливается разряд TRJSC <4> (контакт конфигурируется как вход), а если передаваемое значение равно О, то разряд TRISC <4> сбрасывается (контакт конфигурируется как выход). Таким же образом осуществляется управление линией SCL разрядом TRISC <3>.

Флажок прерывания SSP SSPIF устанавливается, если возникают следующие события:

обнаружено условие начала передачи

обнаружено условие окончания передачи

закончена передача или прием байта данных

Операции режима ведущего могут быть выполнены в режиме недействующего ведомого (SSPM3:SSPM0 = 1011) или в режиме активного ведомого. Если включены режимы ведущего и ведомого, то программное обеспечение должно дифференцировать источники прерывания.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [ 32 ] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84



ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку.



Звоните! Ежедневно!
 (926)274-88-54 
Продажа и изготовление мебели.


Копирование контента сайта запрещено.
Авторские права защищаются адвокатской коллегией г. Москвы
.