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

 

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

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

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


Примечание: Направление передачи, показанное на рисунке, используется как для MSB старта, так и для LSB старта.

Во время настройке один микроконтроллер всегда устанавливается в режим master, а все остальные в режим slave.

Mastsr Device #1 Device #2 Slave

Shift Register

MTSR

t

MRST

Clock

CLK .

Transmit

D

Receive

Clock

C

Shift Register

MTSR

MRST

CLK

» Clock

Device #2

Slave

-C

MTSR

¦c

¦C

HRST

Shift Register I- «-

CLK

* Clock

WCAQ1963

Рисунок 11-4

Конфигурация SSC в полнодуплексном режиме

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

SSC/C167

Все выходы для вывода данных должны быть объединены между собой и подключены к линии приема данных. Во время передачи данных каждый slave-контроллер может передавать данные из своего регистра передачи. Существуют два пути для преодоления конфликтов на линии между двумя slave-устройствами:

Только одно slave-устройство включает драйвер передачи для MRST. Для всех других устройств MRST программируется на вход. После этого только один микроконтроллер может выставлять данные на линию приема. Master выбирает slave-устройство либо с помощью независимых линий выбора, либо с помощью специальных команд, посланных на slave-устройство. После этого выбранное slave-устройство переключает свой MRST на выход и находится в таком состоянии до тех пор, пока не получит сигнала или команды отключения.

Slave-устройства используют выходы с открытыми коллекторами на MRST. В этом случае соединение происходит по формуле Wired-AND. При этом линия получения нуждается во внешнем pullup устройстве. При этом если все не выбранные для передачи slave-устройства выставляют «1» на выходе, исключается искажение посылаемых данных. Master выбирает активный Slave либо с помощью специальной команды, либо с помощью независимых линий выбора.

При включенном последовательном интерфейсе, master-устройство может начать первую передачу данных посредством записи данных в регистр SSCTB. После этого значение из регистра записывается в регистр передачи, и на следующем такте генератора baud rate первый бит передаваемых данных будет размещен на линии MTSR. В зависимости от выбранной тактовой фазы, будет выдан тактовый импульс на линию SCLK. На обратном фронте импульса будет произведен захват данных master'ом на входе MRST. В результате имеет место полнодуплексный обмен данными. Тактовый сигнал одновременно подается на все slave-устройства, при этом master-устройство и выбранное slave-устройство произведут синхронную передачу и прием данных. После запрограммированного числа тактовых импульсов (в зависимости от длины данных) регистры передачи всех slave-устройств содержат данные, переданные master-устройством, а регистр передачи master устройства содержит данные только от выбранного slave-устройства.

После этого данные из регистра передачи копируются в буферный регистр SSCRB и одновременно с этим устанавливается флаг запроса на прерывание SSCRIR.

Как только данные из буферного регистра будут переданы в регистр передачи slave-устройства, первый бит (MSB или LSB) сразу поступает на выход MRST, не дожидаясь первого тактового импульса от master-устройства. Это необходимо по причине того, что первый фронт тактового

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

SSC/C167

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

Примечание: Прием и передача данных в SSC всегда происходят одновременно, независимо от правильности передаваемых или принимаемых данных. В этом кроется одно из отличий SSC от интерфейса ASCO.

При инициализации SCLK необходимо остерегаться ненужных тактовых фронтов от master-устройства. Внутреннее состояние альтернативной линии выхода должно оставаться в «1», в то время пока SSC отключен. Тактовый сигнал объединен по функции AND с выходным триггером соответствующей линией порта. Включение SSC в режиме, где тактовый сигнал находится в покое при низком уровне напряжения (SSCPO=O), немедленно переводит вывод альтернативных данных и вывод порта SCLK (по операции AND) на низкий уровень напряжения. Для избежания этого, используется следующая последовательность:

• Выбор уровня напряжения покоя тактового сигнала (SSCPO=X)

• Загрузка в триггер вывода порта этого же значения (P3.13=x)

• Переключение порта на вывод (DP3.13=1)

• Включение SSC (SSCEN=1)

• Если SSCPO=O, включение функции альтернативного вывода (P3.13=1)

Эта же последовательность действий может использоваться для передачи функции мастера другому микроконтроллеру в сети. В этом случае, предыдущий master и будущий master переключают свои режимы (SSCMS) и меняют направление выводов портов.

11.2 Операции в полудуплексном режиме

В полудуплексном режиме, и для приема, и для передачи данных используется только одна линия. Линия обмена данными соединяет и MTSR, и MRST каждого из устройств. Линия тактовых сигналов подключена к SCLK-выводам.

Master-устройство управляет передачей данных при помощи собственного тактового сигнала. Slave-устройство использует внешний тактовый сигнал. Последовательные данные могут передаваться между arbitrary stations, потому что все выводы для приема и передачи объединены и подключены к одной линии.
Предыдущая << 1 .. 67 68 69 70 71 72 < 73 > 74 75 76 77 78 79 .. 100 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100