Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/SeeqTech/D19821006Elc033.shtml

БИС контроллера канала передачи данных с широким спектром применений

УДК 681.327.8:621.3.049.771.14

Стен Копек
Фирма Seeq Technology Inc. (Сан-Хосе, шт.Калифорния)

Дэйн Эллиот
Фирма Seeq Technology Inc. (Сан-Хосе, шт.Калифорния)

Stan Kopec, Dane Elliot. Design latitude broadenslink controller chip's appeal, pp.98—100.

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

Свобода в принятии проектных решений для пользователей — вот главная цель, которую ставили перед собой разработчики фирмы Seeq Technology Inc. при создании контроллера 8001 канала передачи данных сети Ethernet (EDLC). Эта сверхбольшая интегральная схема реализует функции формирования пакетов данных и управления каналом передачи данных согласно протоколу сети Ethernet. Однако прибор 8001 не реализует никаких функций буферизации и управления данными, что дает возможность пользователю — разработчику системы принимать соответствующие компромиссные решения по критерию стоимость — производительность при выборе БИС для выполнения этих задач.

В зависимости от сложности сети прибор 80012{Электроника, 1982, №18, «Обозрение электронной техники»} может работать под прямым управлением центрального процессора своего узла, скорее всего в составе рабочей станции или с собственным микроконтроллером, чтобы разгрузить ведущий ЦП. Фактически разработчику системы предоставляется широкий диапазон возможностей при выборе конфигурации системы — включая выбор буферной памяти прибора 8001, в свою очередь определяющейся структурой сети.

Симметричная структура

Исходная шинная структура такой СБИС, предусматривающая независимые линии для передачи данных и посылки команд и сигналов состояния, совместима практически с любым ведущим микропроцессором или мини-компьютером. Интерфейс этого процессора рассчитан на работу как в режиме последовательного опроса, так и с управлением по прерываниям, он является простым и симметричным. Фактически вся архитектура прибора исключительно симметрична, что допускает реализацию управляющих структур при помощи программируемой логической матрицы.

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

В контроллере 8001 реализованы все функции, необходимые для взаимодействия с сетью Ethernet. Это — контроль ошибок, контроль циклическим избыточным кодом, вычисление временных интервалов для повторных передач и согласование адресов. Таким образом, центральному процессору рабочей станции не приходится тратить свое время на выполнение лишних операций по взаимодействию с сетью Ethernet; однако он может рассматривать контроллер 8001 всего лишь как еще один параллельный порт. Контроллер 8001 конструктивно оформляется в 40-контактном корпусе DIP; он будет работать совместно с кодером-декодером (кодеком), реализующим последовательный интерфейс с сетью Ethernet.

Для расширения своего опыта в области структурного проектирования СБИС и применения микросхем на системном уровне, фирма Seeq при разработке своего прибора сотрудничала с двумя другими компаниями. Специалисты компании Silicon Compilers Inc. принимали участие в совместной работе по определению функциональных характеристик и методологии проектирования ИС на первых этапах. Компания 3Com Corp., которая будет изготавливать схемные платы для сети Ethernet и разрабатывать средства программного обеспечения сети, представила исходные данные относительно возможностей применения контроллера 8001 в стандартном изделии (см. первую статью данной серии).

Из блок-схемы на рис.1 видно, что контроллер 8001 состоит из трех основных секций: модулей передачи и приема и интерфейса с центральным процессором. Поскольку процедуры передачи и приема по существу являются обратными друг другу, им свойственны многочисленные сходства в отношении структур внутренних информационных трактов и схем управления. Благодаря этому удалось значительно сэкономить объем проектных работ, поскольку такая избыточность учитывалась на протяжении всего процесса разработки технического задания и проектирования матрицы логических вентилей с использованием средств и методов структурного проектирования СБИС.

Три секции. Можно считать, что контроллер 8001 состоит из трех модулей: секций передачи и приема и интерфейса с процессором-контроллером. В качестве т
Рис.1. Три секции. Можно считать, что контроллер 8001 состоит из трех модулей: секций передачи и приема и интерфейса с процессором-контроллером. В качестве такого контроллера может выступать системный ЦП или, в более сложных системах, специализированный микропроцессор.

Битовые процессоры обеспечивают последовательно-параллельное или параллельно-последовательное преобразование. Они обеспечиваюттакже генерацию или контроль 32-бит циклических избыточных кодов, которые присоединяются к каждому кадру сети Ethernet.

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

Модули контроля циклическим избыточным, кодом (ЦИК) в каждой секции идентичны, если; не считать того, что устройство приема должно сравнивать ЦИК конечного кадра с некоторой константой для определения, правильно ли принят этот кадр. Напротив, генератор устройства передачи должен присоединить ЦИК к концу передаваемого кадра. Однако 32-разрядный сдвиговый регистр и схемы Исключающее ИЛИ в обоих модулях контроля ЦИК идентичны — это может служить еще одним примером экономии времени проектирования.

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

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

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

Управляющие команды от процессора обрабатываются при помощи пар регистров команд передачи и приема или состояния; эти пары аналогичны по формату и идентичны по структуре. Обращения к каждому командному регистру осуществляются посредством операции записи, а к регистру состояния — операции чтения. Оба регистра передачи занимают один адрес, а регистры приема — другой.

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

Параллельный интерфейс данных между контроллером 8001 и ведущим процессором — это двунаправленный порт данных с байтовой организацией. Доступ к этому порту осуществляется под управлением строб-сигналов и сигналов признаков готовности как в направлении приема, так и передачи. В режиме передачи используются два сигнала: строб записи-передачи и признак готовности входных данных передатчика; для режима приема — это строб-сигнал чтения-приема и признак готовности выдачи принятых Данных. Стробирование порта указанного направления разрешается только в случае, когда соответствующий признак-флажок готовности имеет высокий уровень. Этот порт подключается внутри кристалла к двум независимым буферам FIFO, которые обеспечивают достаточный объем буферизации данных, чтобы скомпенсировать любую задержку прямого доступа к памяти или измерения временных параметров.

Интерфейс процессора

Интерфейс контроллера 8001 для обмена сигналами команд-состояний с процессором — это 8-разрядный порт с разрядами адреса А0—А2, тремя управляющими сигналами и линиями состояния-приема и команды-передачи. Первые шесть ячеек в этом адресном пространстве занимает адрес станции контроллера, загружаемый вместе с 48-разрядным адресом рабочей станции. Контроллер программируется на прием кадров, которые в качестве своего адреса назначения имеют величину, занесенную в регистр адреса станции.

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

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

В подобной конфигурации ведущий ЦП может сам обеспечивать управление подсистемой и разделяемую память. Основные системные ИС, кроме контроллера EDLC, необходимые в подобном случае,— это буферная память передачи-приема и контроллер ПДП.

В такой микросистеме используется разделяемая область памяти, причем доступ к памяти ЦП предоставляется без приоритета либо контроллеру 8001, либо контроллеру ПДП. Доступ к буферной памяти предоставляется только контроллеру ПДП, однако ЦП косвенным образом контролирует этот доступ путем программного управления работой блока ПДП.

В данном примере предполагается, что контроллер ПДП имеет четыре канала, выделяемые для реализации обменов «8001 — буфер», «буфер — 8001», «буфер — ЦП» и «ЦП — буфер». Предполагается, что обмены с контроллером 8001 будут синхронизироваться запросом ПДП и флажками-признаками готовности 8001 для каждого направления.

Во избежание задержек

Доступ микропроцессора к интерфейсу команд-состояний контроллера 8001 обеспечивается путем простого подключения шины команд-состояний к центральному процессору. Тем самым процессор получает доступ к сети Ethernet без задержек, связанных с приоритетным предоставлением шины. Предполагается, что приоритетное предоставление шины будет осуществляться по способу «захват — подтверждение захвата». Схема захвата активизируется только в случае, когда требуется какое-то количество циклов обращения к шине ЦП. Подтверждение захвата (положительная квитанция), выдаваемое в ответ, будет активизировать буфер адресов и приемопередатчики шины, так что обеспечится соединение между системной шиной ЦП и шиной команд-состояний контроллера.

Для инициирования передачи кадра ЦП вначале формирует в своей памяти буфер кадра. Затем он загружает число байтов и начальный адрес в канал ПДП и выдает сигнал разрешения. Как правило, обмены данными между ЦП и буфером имеют более низкий приоритет, чем обмены с контроллером 8001, однако в какой-то момент весь кадр оказывается загруженным в буфер.

Когда полный кадр уже перешел в буферную память, ЦП выдает разрешение второму каналу ПДП для инициирования передач «буфер — 8001». Поступление первого байта в буфер передачи контроллера 8001 инициирует цикл передачи сети Ethernet. После этого контроллер 8001 выдает преамбулу в сеть Ethernet и начинает передавать в последовательном виде поток данных. Канал ПДП продолжает в синхронном режиме размешать байты данных в буфере передачи.

Если во время передачи возникает столкновение, контроллер 8001 автоматически выдаеткод «пробки» (перегрузки) и начинает отсчитывать временной интервал задержки. Он выдает также сигнал передачи (или повторной передачи), который повторно инициализирует каналПДП, с тем чтобы можно было снова попытаться передать то же содержимое буфера, когдаистечет временной интервал задержки. Он выводит также из своего внутреннего буфера передачи остающиеся там байты. Первые переданные байты перегружаются в буфер передачи,когда появляется сигнал «готовность передачи»,так что повторная выдача байтов в сеть Ethernet начнется сразу же, как только это станет возможным.

Установление режима приема кадров заключается в том, что ЦП инициализирует каналы ПДП, чтобы можно было производить пересылки данных «8001—буфер» и «буфер — память ЦП». Когда принимается кадр с действительным адресом, на контакте «готовность передачи» появляется высокий уровень, запуская пересылку данных из контроллера 8001 в буфер. Когда эта пересылка завершается, по второму каналу ПДП можно начать пересылку данных из буфера в память ЦП. Сигнал «готовность приема» служит входным сигналом запроса для контроллера ПДП.

Если после завершения приема оказывается, что кадр содержит ошибки, на контакте отмены приема появляется высокий уровень как признак неверного кадра. Этот сигнал можно использовать для автоматической инициализации канала ПДП, с тем чтобы неверные данные можно было заменить данными из следующего кадра.

Расширенные возможности

Контроллер 8001 может также применяться в расширенной подсистеме, в которой системный процессор освобождается от некоторых задач путем передачи их микропроцессору, расположенному на схемной плате. Подобные системы характеризуются большими объемами передаваемых данных и стремлением всю вычислительную мощность системы направить на решение прикладной задачи.

В подобной конфигурации (рис.2) буфер — это двухпортовое ЗУПВ. В этом случае отпадает необходимость в двух каналах ПДП, чтобы пересылать данные из буфера в разделяемую память ЦП. Микропроцессор схемной платы подключается к одному порту буферной памяти и выполняет функции высокоуровневого формирователя кадров и связного контроллера сети Ethernet.

Усложненная система. В более сложной сети Ethernet контроллер канала передачи данных 8001 может, работать с размещенными на схемной плате микро-, конт
Рис.2. Усложненная система. В более сложной сети Ethernet контроллер канала передачи данных 8001 может, работать с размещенными на схемной плате микро-, контроллером и двухпортовым ЗУПВ; при этом одно двухпортовое ЗУПВ работает как память микроконтроллера, а другое — как буферная память передачи-приема.

Типовая последовательность операций имеет следующий вид: системный ЦП вырабатывает запрос на передачу данных и помещает его в двухпортовое ЗУПВ. Микропроцессор схемной платы затем формирует соответствующий кадр для передачи его по сети Ethernet. Этот кадр помещается в буфер и выдается разрешение на работу канала ПДП.

После завершения передачи или приема кадра контроллер 8001 выдает сигнал прерывания в свой размещенный на плате центральный процессор, который затем проверяет состояние 8001 и принимает в свой буфер полученные кадры. На следующем шаге этой процедуры ЦП контроллера производит обработку принятых кадров для системного процессора и тем самым освобождает последний от необходимости выполнять задачи преобразования форматов данных. Чтобы свести к минимуму число операций взаимодействия и загрузки системы, все сообщения между системным процессором и процессорами схемной платы передаются через «почтовые ящики» ЗУПВ.

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

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

Выходные данные:

Журнал "Электроника" том 55, No.20 (650), 1982г - пер. с англ. М.: Мир, 1982, стр.38

Electronics Vol.55 No.20 October 06, 1982 A McGraw-Hill Publication

Stan Kopec, Dane Elliot. Design latitude broadenslink controller chip's appeal, pp.98—100.

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Сети связи





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/SeeqTech/D19821006Elc033.shtml