Звоните! 
 (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

STATUS,

;Банк 1

BTFSS

SSPSTAT,

, BF

;Контроль флажка информация принята

;(конец передачи)

GOTO

LOOP

;Нет

STATUS,

;Банк 0

MOVF

SSPBUF,

/Чтение SSPBUF

MOVWF

RXDATA

;Сохранить принятые данные

MOVF

TXDATA,

;Подготовить очередные данные

MOVWF

SSPBUF

( Загрузить передатчик

Чтобы включить последовательный порт SSP, необходимо установить бит SSPEN (SSPCON <5>). Для отключения или реконфигурирования режима SPI необходимо сбросить бит SSPEN, заново инициализировать регистр SSPCON, а затем снова установить разряд SSPEN. При этом контакты SDI, SDO, SCK и SS конфигурируются как контакты последовательного порта. В регистре TRISC эти контакты должны быть определены в соответствии с выполняемой функцией последовательного порта, а именно:

SDI - вход, TRISC <4> = 1

SDO - выход, TRISC <5> = О

SCK (режим ведущего) - выход, TRISC <3> = О

SCK (режим ведомого) - вход, TRISC <3> = 1

SS - вход, TRISA <5> = 1

Любая функция контакта последовательного порта, которая не нужна, может быть отменена программированием противоположного направления в регистре TRIS. Например, в режиме ведомого, когда необходимо только передавать данные, контакты SDI и SS можно использовать как универсальные выходы, сбрасывая соответствующие биты регистра TRIS.

На рис. 11-4 показано типовое соединение между двумя микроконтроллерами. Ведущий контроллер (процессор 1) инициализирует передачу данных, посылая сигнал SCK. Данные передаются из обоих сдвиговых регистров по заданному фронту синхроимпульса, а записываются по противоположном фронту. Оба процессора должны быть запрограммированы на одинаковый фронт синхронизации (СКР), для того чтобы оба контроллера посылали и принимали данные в одно и то же время. Будут ли данные реальными или фиктивными зависит от программирования фронта синхронизации, при этом возможны три сценария передачи данных:

ведущий посылает данные - ведомый посылает фиктивные данные

ведущий посылает данные - ведомый посылает данные

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

как управляет линией SCK. Ведущий определяет когда ведомый (Процессор

Пример 11-1; Загрузка регистра SSPBUF (SSPSR)

LOOP



2) может передать данные в соответствии с протоколом программного обеспечения.

В режиме ведущего данные передаются/принимаются после записи в регистр SSPBUF. Если SPI работает только Иа прием, то выход SCK может быть заблокирован (запрограммирован как вход). Регистр SSPSR при этом продолжит фиксировать сигнал, представленный на входе SDI, с запрограммированной скоростью синхронизации. Так как будет получен каждый байт, то он будет переписан в регистр SSPBUF как нормально полученный. Это может быть полезно в приложениях для мониторинга активных линий .

В режиме ведомого данные передаются/принимаются по внещним тактовым импульсам на входе SCK. После записи последнего разряда устанавливается флажок SSPIF (PIR1 <3>).

Фронт синхронизации выбирается соответствующим программированием бита СКР (SSPCON <4>). На рис. 11-5 и 11-6 показаны временные диаграммы, поясняющие обмен данных для режима SPI - первым передается старший разряд. В режиме ведущего скорость синхронизации SPI (скорость передачи информации в битах) может быть задана одной из следующих:

Fosc/4 (или Тсу)

Fosc/16 (или4Тсу)

Fosc/64 (или 16 Тсу)

выход таймера 2/2

Ведущий SPI (SSPM3.SSPM0 = ООххЬ)

Веяомьй SPI (SSPM3:SSPM0 = оюхь)

Входной буфер

(SSPBUF)

Входной б/фвр

(SSPBUF)

Регистр сдвмга

(SSPSR)

Регистр сдвига

(SSPSR)

, Синхронизация

ПРОЦЕССОР 1

ПРОЦЕССОР?

Рис. 11-4 Схема соединения SPI

Максимальная частота синхронизации SPI может быть 5 МГц при частоте генератора 20 МГц. При этом в режиме ведомого внешние такты могут иметь минимальную длину импульсов.

В режиме останова ведомый может передавать и принимать данные, а также пробуждать устройство из режима останова.



В режиме ведомого возможно управление выходом передатчика (SDO) по выводу SS. Для этого SPI должен быть установлен в соответствующий режим ведомого (SSPCON <3:0> = 4), а разряд TRISA <5> должен быть установлен как вход. Если на входе SS низкий уровень, то передача и прием разрешены, выход SDO открыт. Если на входе SS высокий уровень, то выход SDO закрыт (на выходе третье состояние), даже если отключение происходит в середине передачи. На выходе SDO желательно установить внешний резистор, определяющий пассивный уровень.

Для обеспечения двухпроводной связи вывод SDO может быть соединен с выводом SDI. Если SPI должен функционировать как приемник, то контакт SDO должен быть конфигурирован как вход, что отключает передатчик. SDI всегда может быть уставлен как вход (функция SDI) поскольку это не создает конфликта шин.

Примечание: 1. Только для PIC16C76/77. Если SPI работает в режиме ведомого с управлением по линии SS (SSPCON < 3:0 > = 0100), то уровень Vdd на линии SS сбрасывает модуль SPI. 2. Только для PIC16C76/77. Если SPI работает режиме ведомого и СКЕ = Г, то необходимо управление по линии SS.

(СКР = 0) -SCK

(СКР=1-

SSRF-

SDO X biff v><r to~X its bit4 Ы13 X >C E!L!-pK O


Рис. 11-5 Временная диаграмма SPI в режиме ведущего

(СКР = 0) SCK

(СКР= 1)

SDO -SDI

SSRF

~\ ып Х i?i6 X its X X Х /<L!!L X


hitn

Рис. 11-6 Временная диаграмма SPI в режиме ведомого с управлением по SS



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 
Продажа и изготовление мебели.


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