logo search
КС-ZAO / Лекции ЦЭВМруский вариант11

§12.6. Сопряжение последовательного порта с другим последовательным портом

Последовательные порты представляют собой удобный способ передачи данных между процессорами семейства ADSP-2100 не прибегая к использованию внешней памяти или шины памяти и без временной остановки работы одного из процессоров.

Последовательные порты соединяются как показано на рис. 12.8. В данном примере, SPORT 1 одного процессора (#1) подсоединен к SPORTO второго (#2).

Оба процессора используют тактовые синхроимпульсы, сгенерированные процессором #1. Процессор #2 сконфигурирован для получения тактовых синхроимпульсов из вне. Регистры управления последовательных портов должны иметь следующие установленные параметры:

Процессор #1, SPORT]

SCLKDIV = зависит от системы

SLEN = зависит от системы

ISCLK=1

TFSR=1

RFSR=1

IRFS=0

ITFS=1

RFSDIV= не важно

Процессор #2, SPORTO

SCLKDIV = зависит от системы

SLEN = зависит от системы

ISCLK=0

TFSR=1

RFSR=1

IRPS=0

ITFS=1

RFSDIV= не важно

TFSW1 = RFSW1 = TFSW2 = RFSW2 = зависит от системы 1NVRFS1 = INVTFS1 = INVRFS2 = INVTFS2 = зависит от системы

ADSP-21xx RFS1 TFSl

#1 SPORT1 dri

SCLK1

RFS0 ADSP-21xx TFSO

#2 DRO SPORTO SCLKO

Рис. 12.8 Сопряжение последовательных портов двух процессоров семейства ADSP-2100

Для координации передачи данных используется кадровая синхронизация. Каждый процессор внутренне генерирует сигнал кадровой синхронизации передачи (TFS) и ждет прихода внешнего сигнала кадровой синхронизации приема (RFS) от другого процессора. Может использоваться нормальный или альтернативный режим кадровой синхронизации, однако оба последовательных порта должны работать в одном режиме кадровой синхронизации. Подобным образом, оба последовательных порта должны быть сконфигурированы для работы со словами данных одной и той же длины и для одного и того же типа компандирования, если оно используется, или для одного и того же формата данных, если компандирование не используется.

В данной конфигурации можно использовать автобуферизацию последовательных портов, которая позволяет передавать целый буфер данных из памяти данных одного процессора на другой, без потерь на обслуживание прерываний. Последовательные порты автоматически квитируют связи: когда один процессор записывает данные в свой регистр ТХО, эти данные автоматически передаются в регистр RXO другого процессора, и при этом генерируется цикл автобуферизации.

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