Научная статья на тему 'I2Chip – новая технология для приложений Embedded Internet'

I2Chip – новая технология для приложений Embedded Internet Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
328
57
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хребтов Павел, Кривченко Игорь

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «I2Chip – новая технология для приложений Embedded Internet»

Компоненты и технологии, № 4'2002 Компоненты

i2Chip - новая технология

для приложений Embedded Internet

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

Павел Хребтов,

Игорь Кривченко, к. т. и.

ik@efo.ru

При классификации сетей по территориальному признаку обычно выделяют три категории: глобальные (WAN, World Area Network), городские (MAN, Metropolitan Area Network) и локальные (LAN, Local Area Network). Глобальные сети позволяют организовать взаимодействие между абонентами на больших расстояниях (тысячи километров), работают на относительно низких скоростях и могут вносить значительные задержки в передачу информации. Основными технологиями построения сетей данного типа являются: X.25 — для низкоскоростных линий с высоким уровнем помех; Frame Relay — для передачи по современным качественным линиям связи; ATM — для нового поколения сетей с большим разнообразием предоставляемых услуг. К локальным сетям относят сосредоточенные на небольшой территории (1-2 км) сети. Чаще всего они представляют систему, принадлежащую одной организации. Из-за коротких расстояний в LAN имеется возможность использования относительно дорогих высококачественных линий связи и скоростей передачи порядка 10, 100, 1000 Мбит/с. Основной технологией, используемой в LAN, является Ethernet. Городские сети появились недавно для обслуживания территории крупного города (мегаполиса). В то время, как локальные сети наилучшим образом подходят для объединения ресурсов на коротких расстояниях, а глобальные сети обеспечивают работу на больших расстояниях, но с меньшей скоростью, сети мегаполисов занимают некоторое промежуточное положение.

Для упрощения обмена сообщениями между компьютерами процедуру взаимодействия разбивают на несколько иерархически связанных уровней. Формализованные правила, определяющие последовательность и формат сообщений на одном уровне иерархии, называются протоколами. В качестве протоколов канального уровня развиты технологии X.25, Frame Relay, ATM, Ethernet. Уровнем выше находят-

ся протоколы, отвечающие за выбор маршрута, установление соединения и обеспечение целостности данных. Наиболее распространенными протоколами этого уровня являются протоколы, составляющие стек (набор) TCP/IP. Структура протоколов TCP/IP оказалась удачной для передачи разнородных данных в глобальных сетях и является оптимальной для построения высокоскоростных локальных сетей с мультимедийным трафиком. Именно этот набор протоколов послужил основой для сети Интернет. Реализацию стека протоколов можно осуществить несколькими способами.

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

Разгрузить систему от выполнения задач передачи по каналу связи позволяет второй способ — аппаратная реализация части протоколов в виде специализированных БИС. До последнего времени на «low-end» рынке основную массу составляли кристаллы, выпускаемые фирмами Seiko II, Realtek и Cirrus Logic. Микросхема S-7600A (технология iReady) производства Seiko Instruments ориентирована на модемное соединение и не поддерживает современные скоростные протоколы канального уровня, что существенно ограничивает ее применение в мультимедийных приложениях. Широкую полосу пропускания можно получить, используя технологии локальных сетей Ethernet: 10Base-T, 100Base-TX, 1000Base-TX. Наиболее известны аппаратные реализации этих стандартов в микросхемах компании Realtek, ориентированных на применение в РС, и в микросхемах CS8900A компании Cirrus Logic, ориентированных на использование шины ISA. Оба варианта обеспечивают высокую производительность конечной системы, но являются избыточными для применения во встраиваемых приложениях, что уве-------www.finestreet.ru-------------------------

Компоненты и технологии, № 4'2002

личивает время разработки и повышает общую стоимость проекта.

Реализуя современные тенденции в проектировании БИС, на рынок компонентов для встраиваемых систем класса Embedded Internet выходит корейская компания WIZnet (http://www.wiznet.co.kr), предлагая Интернет - ориентированные кристаллы семейства W3000 (технология i2Chip), в которых аппаратно реализованы как стек сетевых протоколов TCP/IP, так и протокол канального уровня Ethernet. Микросхема W3100A специально разрабатывалась (в отличие от уже упомянутых решений) для использования во встраиваемых системах нижнего уровня с применением Интернет-технологий. Использование скоростных линий связи позволяет применять W3100A в устройствах обработки мультимедийной информации, системах удаленного доступа в глобальных и локальных сетях, в том числе на основе Ethernet 10/100BaseT. Для лучшего понимания того места, на которое претендует микросхема W3100A, рассмотрим вкратце основные понятия и особенности сетей TCP/IP.

Особенности сетей TCP/IP

Средства сетевого взаимодействия удобно представлять в виде набора иерархических уровней, каждый из которых взаимодействует лишь с выше- и нижележащим соседом. Правила межуровневого взаимодействия называются «интерфейс», а формат сообщений — «протокол». Иерархически организованный набор протоколов называется стеком протоколов. На рис. 1 приведена иерархическая упрощенная (четырехуровневая) модель семейства протоколов TCP/IP.

Прикладной

уровень

Telnet

HTTP

Транспортный уровень

к А

TCP UDP

II

Сетевой

уровень

ICMP IP > ARP ЦІ

Уровень

соединения

і

Интерфейс

физического

уровня

IV:

Рис. 1. Стек протоколов TCP/IP

Уровень соединения (или канальный уровень) составляют протоколы, обеспечивающие доступ к физической сети — проводным линиям связи. С помощью протоколов уровня соединения осуществляется передача между узлами, подключенными к одному сегменту сети. К этому уровню относятся протоколы следующих физических сред для передачи данных: ЕШег^ (локальные сети на коаксиальном кабеле или витой паре), РРР (модемное соединение), FDDI (оптоволокно). Другой задачей канального уровня является реализация механизмов обнаружения и коррекции ошибок при передаче. Формально эти протоколы не отно-

сятся к TCP/IP, однако стандарты Интернет определяют, каким образом осуществляется передача TCP/IP с их использованием.

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

Каждый из сетевых интерфейсов Ethernet, FDDI или Token Ring имеет уникальный шестибайтный MAC-адрес, определяемый при его производстве. Однако применение MAC-адреса для идентификации устройства в сети затруднительно, так как, например, при замене сетевой карты компьютер будет иметь другой адрес. Адрес узла в протоколе IP назначается администратором сети произвольно и напрямую не связан с его локальным (физическим) адресом. Локальный адрес используется в протоколе IP только в пределах локальной сети при обмене данными между маршрутизатором и узлом этой сети. Маршрутизатор, получив пакет для узла одной из сетей, непосредственно подключенных к его портам, должен для передачи пакета сформировать кадр в соответствии с требованиями принятой в этой сети технологии и указать в нем локальный адрес узла, например его МАС-адрес. В пришедшем пакете этот адрес не указан, поэтому перед маршрутизатором встает задача его поиска по известному IP-адресу, который указан в пакете в качестве адреса назначения.

Для определения локального адреса по IP-адресу используется протокол разрешения адреса ARP (Address Resolution Protocol). Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP-запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно. Все узлы локальной сети получают ARP-запрос и сравнивают указанный там IP-адрес с собственным. В случае совпадения узел формирует ARP-ответ, в котором указывает свои IP и локальный адреса, и направляет его уже по конкретному локальному адресу отправителя, который содержится в ARP-запросе отправителя. ARP-запросы и ответы используют один и тот же формат пакета. Так как локальные адреса в различных типах сетей могут иметь различную длину, то формат пакета протокола ARP зависит от типа сети.

К сетевому уровню относятся также все протоколы, связанные с составлением и модификацией таблиц маршрутизации, а также протокол межсетевых управляющих сообщений об ошибках ICMP (Internet Control Message Protocol). С помощью ICMP сообщается о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров и т. п.

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

этом уровне функционируют протокол пользовательских дейтаграмм UDP (User Datagram Protocol) и протокол управления передачей TCP (Transmission Control Protocol). UDP обеспечивает передачу прикладных пакетов дейтаграммным способом без гарантии доставки, поэтому его пакеты могут быть потеряны, продублированы или просто поступить не в том порядке, в котором они были отправлены. Но с другой стороны, функциональная простота протокола UDP обусловливает компактность алгоритма и высокое быстродействие. К услугам UDP может обратиться любое приложение, однако многие из них предпочитают иметь дело с другим, более сложным протоколом транспортного уровня TCP. Протокол TCP обеспечивает надежную передачу сообщений между удаленными прикладными процессами за счет образования виртуальных соединений. В рамках соединения осуществляется обязательное подтверждение правильности приема для всех переданных сообщений, и при необходимости выполняется повторная передача. Соединение в TCP позволяет вести передачу данных одновременно в обе стороны (то есть в полнодуплек-сном режиме) и идентифицируется парой полных адресов обоих взаимодействующих процессов — оконечных точек. Адрес каждой из оконечных точек включает IP-адрес (номер сети плюс номер компьютера) и номер порта. Одна оконечная точка может участвовать в нескольких соединениях. Установление соединения выполняется в следующей последовательности:

• При установлении соединения одна из сторон является инициатором. Она посылает запрос к протоколу TCP на открытие порта для передачи (active open).

• После открытия порта протокол TCP на стороне процесса-инициатора посылает запрос процессу, с которым требуется установить соединение.

• Протокол TCP на приемной стороне открывает порт для приема данных (passive open) и возвращает квитанцию, подтверждающую прием запроса.

• Для того чтобы передача могла вестись в обе стороны, протокол на приемной стороне также открывает порт для передачи (active port) и также передает запрос к противоположной стороне.

• Сторона-инициатор открывает порт для приема и возвращает квитанцию. Соединение считается установленным. Далее происходит обмен данными в рамках данного соединения.

Самый верхний уровень (уровень 1 на рис. 1) называется прикладным. За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и сервисов прикладного уровня. К ним относятся широко используемые протоколы копирования файлов FTP и эмуляции терминала Telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet, гипертекстовые сервисы доступа к удаленной информации (такие как WWW) и многие другие.

Компоненты и технологии, № 4'2002

Протокол пересылки файлов FTP (File Transfer Protocol) реализует удаленный доступ к файлу. Для того чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений TCP. Помимо пересылки файлов протокол FTP предлагает и другие услуги. Так, пользователю предоставляется возможность интерактивной работы с удаленной машиной, например, он может распечатать содержимое ее каталогов. Наконец, FTP выполняет аутентификацию пользователей — для получения доступа к файлу пользователи, в соответствии с протоколом, должны сообщить свое имя и пароль. Большинству пользователей Интернет известен по технологии WWW (World Wide Web) и передачи информации по протоколу HTTP (Hyper Text Transfer Protocol) в виде Web-страниц, отображающихся в окне браузера. Протокол SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты) поддерживает передачу сообщений (электронной почты) между произвольными узлами сети Интернет. Имея механизмы промежуточного хранения почты и механизмы повышения надежности доставки, протокол SMTP допускает использование различных транспортных служб. Он может работать даже в сетях, не использующих протоколы семейства TCP/IP. SMTP обеспечивает как группирование сообщений в адрес одного получателя, так и размножение нескольких копий сообщения для передачи в разные адреса.

Даже беглый взгляд на построение и функционирование современных коммуникационных сетей показывает, что для полноценной работы приложения класса Embedded Internet и реализации стека протоколов TCP/IP требуется значительная вычислительная мощность. Встраивание специализированных Ethernet-микросхем (например, RTL8019, RTL8139 от Realtek и CS8900A от Cirrus Logic) в оконечные системы нижнего уровня частично снимает эту проблему за счет аппаратной реализации коммуникационных интерфейсов, но все равно остается достаточно трудоемким делом.

А использование кристаллов S-7600A не дает требуемой пропускной способности. Поэтому в большинстве конечных приложений с передачей данных по сети применяются компьютеры, несмотря на существенное повышение себестоимости всей системы.

Реализация протоколов TCP/IP

Примером программной реализации стека протоколов TCP/IP может служить @Web TCP/IP Evaluation Kit, выпускаемый корпорацией Atmel (http://www.atmel.com/atmel/prod-ucts/prod73.htm). В его основу положен микроконтроллер семейства 8051, на котором программно реализованы протоколы TCP/IP и протоколы прикладного уровня HTTP, FTP, SMTP. Они позволяют организовать отображение в окне Web-броузера на удаленном компьютере, передачу файлов, отправку электронной почты. При всех достоинствах данного варианта применение его ограничено рамками нетребовательных приложений

(например, простой Web-сервер). Это связано с затратами процессорного времени микроконтроллера на обслуживание стека сетевых протоколов, а также с использованием интерфейса RS-232 или аналогового модема со скоростью 33,6 кбит/с. Подобные решения существуют и у других компаний. В качестве примеров можно привести фирму Connect One с ее технологией iChip LAN на 16-разрядном процессоре (максимальная скорость передачи 230 кбит/с), а также фирму eDevice и кристалл SmartStack с контроллером AD DSP.

Разгрузить центральный процессор и повысить производительность всей системы в целом позволяет аппаратная обработка либо части, либо всех задач сетевого взаимодействия, которую выполняет отдельная микросхема. Проводя некоторую классификацию, выделим две группы подобных кристаллов, аппаратно реализующих стек протоколов TCP/IP: ориентированные на персональные компьютеры и ориентированные на встраиваемые системы.

К первой, например, относятся серийно выпускаемые микросхема Realtek Semiconductors Corp. RTL8019 и RTL8139, а также микросхему CS8900A от Cirrus Logic, в которых аппаратно реализован протокол Ethernet. В этом случае разработчики встраиваемых систем вынуждены осуществлять поддержку ПК-ориентиро-ванных шин (PCI и ISA) в своих разработках ради использования достоинств сетей Ethernet, что повышает сложность и стоимость системы. Во вторую группу можно включить предлагаемую фирмой Seiko II микросхему S-7600A, которая поддерживает аппаратную реализацию стека протоколов TCP/IP. Поддержка протоколов TCP, UDP, IP и простота использования принесли S-7600A широкую известность (см., например, http://www.iready.org/index.php). В качестве интерфейса физического уровня здесь используется стандарт RS-232, позволяющий подключаться к модему. Применение данной технологии разгружает микроконтроллер от обслуживания процессов передачи данных, но невысокие скорости и необходимость использования дополнительного внешнего модема ограничивают применение безусловно интересной микросхемы S-7600A в мультимедийных приложениях.

Возникает вопрос: реально ли обеспечить высокую пропускную способность в 10/100 Мбит/с, сохранив при этом простоту разработки? В качестве примера можно привести кристаллы семейства W3000, разрабатываемые компанией WIZnet по технологии i2Chip. Сохраняя простоту внутренней структуры S-7600A, ориентированный на интернет-приложения кристалл W3100A аппаратно реализует стек протоколов TCP/IP с поддержкой Ethernet как протокола физического уровня. Для управляющего микроконтроллера W3100A представляется «черным ящиком», который выполняет рутинную работу по передаче данных. Применение Ethernet в качестве среды передачи позволяет использовать микросхемы W3100A в локальных сетях без дополнительного оборудования, что повышает производительность и снижает затраты. Независимость времени обработки сетевого трафика от загрузки центрального процессора

позволяет также повысить качество передаваемой мультимедийной информации.

В январе 2002 года компания WIZnet объявила о кристалле W3100A как о первом серийном изделии класса ASIC (Application Specific Integrated Circuit), выпускаемом по i2Chip технологии и жестко связанном с интернет-решением для встроенных систем на основе Ethernet. Микросхема W3100A специально разработана с учетом требований различных интернет-приложений, таких, как удаленный доступ к устройствам управления, контроля, автоматизированному производственному оборудованию, измерительной и медицинской аппаратуре, мобильным устройствам (PDA, IMT-2000 терминалам, Web-камерам, беспроводным датчикам и т. п.).

Краткое знакомство с W3100A

Микросхема W3100A (или i2Chip) имеет следующие черты и особенности:

• Аппаратная поддержка Internet-протоколов: TCP, IPv4, UDP, ICMP, ARP.

• Аппаратная поддержка протокола Ethernet.;

• Одновременная и независимая поддержка четырех соединений.

• Поддержка полнодуплексного обмена данными до 3 Mбит/с.

• Аппаратный интерфейс I2C.

• Стандартный интерфейс MII для физического уровня.

• Поддержка Socket API для удобства прикладного программирования.

• Встроенный 16К блок двухпортовой статической памяти для буфера данных.

• CMOS-технология 0,35 мкм.

• Напряжение питания 3,3 В; линии ввода-вывода поддерживают уровни сигналов 5,0 В.

• Корпус LQFP64.

Кристалл W3100A (рис. 2) содержит все необходимые элементы для выполнения работы по аппаратному обслуживанию стека протоколов TCP/IP.

Socket API-

В

Drivi

MCUBusl/F-

гег Prog ГС

PC l/F

Интерфейс с МСи

Микросхема W3100A является «посредником» между микропроцессорным устройством управления (МСИ) и устройством, реализующим физический уровень. В качестве МСИ может применяться микроконтроллер (8051), микропроцессор (1386) и др. Интерфейс «МСИ

Компоненты и технологии, № 4'2002

— W3100A» может быть запрограммирован для работы в трех вариантах: Direct Bus, Indirect Bus и I2C. В зависимости от возможностей контроллера и необходимой скорости обработки можно подобрать из них компромиссное решение для конечной системы.

Интерфейс Direct Bus. Здесь используется 15-разрядная адресная шина и 8-разрядная шина данных (рис. 3). Все адресное пространство микросхемы является прямо адресуемым.

Интерфейс Indirect Bus. Здесь используется 2-разрядная шина адреса и 8-разрядная шина данных (рис. 4).

мси W3100A

/С8 /CS

/WR /WR

/RD /RD

/INT /INT МП

D[7..0] D[7..0]

А[1..0] А[1..0]

А[14..4]

А[3..2]

Рис. 4. Интерфейс Indirect Bus

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Непосредственно адресуемыми здесь являются четыре регистра:

- IDM_OR — регистр опций Indirect Mode.

- IDM_DR — регистр данных; отображает содержимое выбранного регистра.

- IDM_AR0, IDM_AR1 — определяют старший и младший байт адреса необходимого регистра.

Интерфейс I2C. Здесь используются линии SDA и SCL для реализации последовательного обмена (рис. 5), где SCL — линия передачи тактовых импульсов, а линия SDA используется для передачи данных и адреса между MCU и W3100A. Для передачи по сети необходимо поместить в память W3100A сообщение, указать адрес приемника и формат передачи. Для выполнения команды

мси

/INT

SCL

SDA

Установка -

устр-ва Рис. S. Интерфейс !2С

W3100A /INT

SCI

SDA

А[14..8]

А[7..0]

МП

нужно установить бит в соответствующем регистре, и контроллер начнет передачу или прием.

Краткое описание регистров W3100A

Управление процедурами связи и передачи информации сводится к операциям записи и чтения данных и команд в соответствующие регистры. Все регистры микросхемы W3100A разделены на несколько групп.

Управляющие регистры

Четыре регистра команд (по одному на каждый канал соединения) служат для инициализации, установления, завершения соединения, посылки и приема данных, а также для выполнения команды теста памяти. Эти регистры доступны по записи и их содержимое автоматически очищается после выполнения команды. Работа W3100A с управляющим контроллером реализована с использованием механизма прерываний. Запрос прерывания для MCU выставляется на линии /INT (см. рис. 4-6). После получения запроса на прерывание MCU определяет сокет (канал соединения), выполнивший операцию по данным регистра прерываний IR (Interrupt Register). Идентификация происшедшего в данном сокете события осуществляется с помощью регистра ISR (Interrupt Status Register), который доступен только по чтению и автоматически обнуляется после считывания содержимого. Для маскирования прерываний используется регистр IMR (Interrupt Mask Register).

К управляющим также относятся регистры работы в режиме InDirect Bus: регистр настроек интерфейса (IDM_OR), адресные регистры (IDM_AR0, IDM_AR1) и регистр данных (IDM_DR). Эти регистры доступны по чтению и записи.

Системные регистры

В эту группу отнесены регистры, отвечающие за настройку параметров системы. В регистры SHAR и SIPR заносятся соответственно физический и IP-адреса сетевого интерфейса. В регистре GAR находится IP-адрес шлюза. Эти параметры должны быть указаны до команды инициализации. Регистры RCR (Retry Count Register) и IRTR (Initial Retry Time Register) отвечают за допустимое число попыток повтора сообщений. Последние два регистра этой группы RMSR (Rx data Memory Size Register) и TMSR (Tx data Memory Register) распределяют память W3100A для приема и передачи сообщений. С их помощью выделяется 1, 2, 4 или 8 Кб на канал, но не более 8 Кб в сумме. Все системные регистры доступны по чтению и записи.

Регистры-указатели

Каждый канал имеет в своем распоряжении набор регистров-указателей, которые определяют границы массивов данных, либо уже принятых, либо предназначенных для передачи. W3100A автоматически изменяет RW_PR (Rx Write Pointer Register), отвечающий за конец принятых данных. Для чтения данных MCU использует RR_PR (Rx Read Pointer Register), содержащий указатель принятых, но еще не обработанных данных.

Регистры TW_PR (Tx Write Pointer Register) и TR_PR (Tx Read Pointer Register) являются границами передаваемых данных. Для передачи MCU записывает данные, начиная от TW_PR, после чего увеличивает его значение. TR_PR используется W3100A как указатель на данные, которые необходимо передать. Регистр TA_PR (Tx Ack Pointer Register) указывает на начало всего передаваемого блока.

Регистры управления каналом

Перед инициализацией канала необходимо указать номер порта в регистре SPR (Source Port Register). IP-адрес и порт приемника заносятся в регистры DIR (Destination IP address Register) и DPR (Destination Port Register) соответственно. Для отображения текущего состояния канала используется доступный только по чтению регистр SSR (Socket State Register).

Выбор протокола передачи (TCP, UDP, IP layer RAW Mode, MAC layer RAW Mode) и его параметров (широковещательный, «скользящее окно») производится с помощью регистра SOPR (Socket Option and Protocol Register). А текущее состояние можно узнать из доступного только по чтению регистра SSR (Socket State Register). Параметры IP-пакета (заголовок, тип обслуживания, максимальный размер сегмента) должны быть занесены в регистры IPR (IP Protocol Register), TOSR (Type Of Service Register) и MSSR (Maximum Segment Size Register) до начала передачи.

Распределение внутренней памяти

Внутренняя оперативная память кристалла W3100A разделена на четыре области (рис. 6):

ОхОООО

0x0200 Управляющие регистры

Неиспользуемая область

0x4000

Буфер данных для передачи

Буфер данных для приема

Ovflrum

Рис. б. Распределение внутренней памяти W3100A

0х0000-0х00РР — пространство памяти управляющих регистров;

0х0100-0х01РР — пространство памяти теневых регистров;

0х0200-0х3РРР — не используется (возможно использование другими устройствами);

0х4000-0х5РРР — буфер данных для передачи;

0х6000-0х7РРР — буфер принятых данных.

Буфер передачи может использоваться МОИ только для записи, а буфер приема — только для чтения. Исключение составляет специальный режим тестирования памяти.

е

Компоненты и технологии, № 4'2002

W3100A

RX_CLK

RXD/CRS

RXD[3..0]

TX CLK

мси

Bus TXE

1XD[3..0]

/COL

/LINK

/FDPLX

CLOCK

Mil

Ethernet PHY

RXC TX+

Trans-

former

RXD[3..0]

TXC 1

TXE RJ-45

TXD[3..0]

/COL

/LINK

/FDPLX

CLOCK

Рис. 7. Организация связи на физическом уровне

мси

W3100A

4

m _

Э Ї

Ї

Рис. S. Блок-схема конечного Ethernet-приложения

Интерфейс MII

Работа микросхемы W3100A с устройствами на нижележащем уровне (физический уровень PHY) осуществляется посредством MII (Media Independent Interface — интерфейс, не зависящий от среды). MII использует 4-битные порции данных для параллельной передачи их между MAC и PHY. Канал передачи данных от MAC к PHY образован 4-битной шиной данных. Аналогично канал передачи данных от PHY к MAC образован другой 4-битной шиной данных (рис. 7).

Если устройство PHY обнаружило ошибку в состоянии физической среды, то оно может передать сообщение об этом на подуровень MAC в виде сигнала «Ошибка приема» (receive error). MAC-подуровень сообщает об ошибке устройству PHY с помощью сигнала «Ошибка передачи» (transmit error).

В MII определена двухпроводная шина для обмена управляющей информацией между MAC и PHY. MAC-подуровень использует эту шину для передачи PHY данных о режиме его работы, а PHY передает по запросу информацию о статусе порта и линии по этой же шине. Данные о конфигурации, а также о состоянии порта и линии хранятся в двух регистрах: управления (Control Register) и статуса (Status Register). Регистр управления используется для установки скорости работы порта, для указания, будет ли порт принимать участие в процессе автопереговоров о скорости линии, для задания режима работы порта — полудуплексный или полнодуплексный, и т. п. Функция автопереговоров (Auto-negotiation) позволяет двум устройствам, соединенным одной линией связи, автоматически, без вмешательства оператора, выбрать наиболее высокоскоростной режим работы, который будет поддерживаться обоими устройствами. Регистр статуса содержит информацию о действительном текущем режиме работы порта, в том числе и в том случае, когда режим выбран в результате проведения автопереговоров.

В качестве устройств, организующих PHY-уровень, можно рекомендовать кристалл RTL8201 производства Realtek Semiconductor, выпускаемый в малогабаритном корпусе LQFP48. Микросхема RTL8201 не требует программирования и ориентирована главным образом на встраиваемые системы. Отсутствие поддержки компьютерных шин и внутренней оперативной памяти позволило уменьшить площадь кристалла и заметно снизить его сто-

имость по сравнению с ПК-ориентированны-ми микросхемами.

RTL8201 поддерживает современные стандарты сетей Ethernet (10/100Base-T), их автоопределение, содержит генератор, фильтры и все необходимые узлы для выполнения операций скремблирования, кодирования и декодирования. Сравнивая RTL8019 и RTL8139 с RTL8201, необходимо отметить, что последний не требует к себе внимания программиста, и весь процесс обмена информацией с микросхемой W3100A происходит по интерфейсу MII аппаратно, без вмешательства разработчика. Таким образом, совместная работа кристаллов W3100A и RTL8201 полностью берет на себя всю обработку сетевого трафика, начиная с формирования передаваемого пакета и заканчивая выдачей сигналов в канал связи. В ближайшем будущем компания WIZnet выпустит кристалл W3200 со встроенным PHY-уровнем, что позволит уменьшить число используемых микросхем и освободит место на печатной плате.

Общая структурная схема конечного приложения с использованием микросхемы W3100A в качестве устройства обработки сетевого трафика представлена на рис. 8. При этом несложное программирование необходимо лишь для организации интерфейса «MCU — W3100A». Весь дальнейший процесс выполняется автоматически на аппаратном уровне, поэтому разработка Ethernet-модулей на базе микросхем компании WIZnet не требует значительных временных и интеллектуальных затрат.

Средства поддержки разработок

Компания WIZnet является производителем не только микросхем для построения Ethernet-приложений, но и различных средств поддержки разработчика, таких, как отладочные платы, специализированные модули и программное обеспечение. Подробную информацию можно найти на сайте компании в разделе «Products». Здесь же мы коротко представим наиболее интересные аппаратные модули и отладочные платы.

Набор для IP-телефонии VoIP Designer's Kit позволяет использовать локальные и глобальные сети для передачи голоса. Аппаратно поддерживаемый стандарт аудиосжатия для Интернет G723.1, высокое качество передачи благодаря аппаратной реализации стека протоколов TCP/IP, а также прямое подключение к сетям Ethernet позволяют отказаться от обычных ком-

мутируемых телефонных сетей. Плата содержит процессор 1386, микросхему 8ИАМ емкостью 128 (32) Кб, микросхему БЫИ-памяти 256 (32) Кб. Сетевой интерфейс реализован аппаратно по технологии 12СЫр, блок аппаратного сжатия — по протоколу G723.1. Возможна защита системы паролем.

Быстрый и легкий путь разработки Интернет-камеры предоставляет набор WebCam Designer's Kit, также содержащий все необходимое на одной плате. В зависимости от требуемого качества изображения и необходимого числа кадров в секунду можно использовать или процессор i386 с 128 Кб SRAM и 2З6 Кб Flash (вариант 30 кадров/с), или микроконтроллер 80З1 с 32 Кб SRAM и 32 Кб Flash (вариант З кадров/с). Поддерживаются видеорежимы VGA 640*480, CIF 320*240 и QCIF 176*144. Использование данных систем позволяет организовать съемку и наблюдение без использования дорогостоящего оборудования и использовать обычные локальные сети для передачи информации. Для защиты используется пароль.

При создании систем удаленного контроля и управления, передачи информации, систем автоматизации жилища, контроллеров охранных систем поможет Remote Controller

Компоненты и технологии, № 4'2002

Designer's Kit. Он реализован на базе микроконтроллера 80З1 и контроллера сети W3100A. Поддерживаются протоколы HTTP, SMTP, DHCP, что позволяет организовать Web-сервер, сервер электронной почты и т. п.

EVB386 можно использовать для разработки web-камер средней сложности (до 25 кадров/с), приложений VoIP и интернет-шлюзов для домашнего применения. EVB386 является отличным решением для тестирования мультимедийных приложений.

EVB8051 — оценочная плата, совмещающая микроконтроллер 8051, 32 Кб вИАМ, 32 Кб ИОМ и микросхему ИТЬ8201 для реализации физического уровня. Данная оценочная плата ориентирована на дешевые приложения при скоростях передачи до 300 кбит/с. С ее помощью возможна реализация шлюзов (например, К8232-Е1Ыегпе1) и модулей управления технологическими процессами. EVB8051 также можно применять для разработки простейших Web-камер (2 кадра/с), устройств 1Р-телефонии, и т. п.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для приложений, требующих максимальных скоростей передачи, компания WIZnet предлагает плату на основе процессора Hitachi SH7709A, обеспечивающую скорость до 3 M6ot/c. На плате также установлены микросхемы W3100 и RTL8201, модуль преобразователя, ROM 2 M6 и 2 микросхемы SRAM по 16 M6.

EVB386 — оценочная плата, совмещающая микропроцессор 1386ЕХ 50 МГц, 128 Кбайт вИАМ, 128 Кбайт ИОМ, порты И8-232 и Щ-45, символьный жидкокристаллический дисплей.

цепция «интеллектуального жилища» — вот далеко не полный перечень возможных применений продукции компании WIZnet.

Технический прогресс не стоит на месте. Интернет активно развивается с каждым днем, и один из основных сетевых протоколов IP вскоре также будет обновлен. Будущий протокол IPv6 в состоянии удовлетворить постоянно растущие требования к производительности сетей на много лет вперед. В настоящее время компания WIZnet также разрабатывает технологии поддержки IPv6.

WIZnet активно сотрудничает с мировыми производителями микроконтроллеров общего назначения. По планам компании, к середине этого года в серийное производство будет выпущен кристалл W3200, объединяющий W3100A и PHY. В конце 2002 года запланирован выпуск «системы на кристалле» W3300, объединяющей W3100A, ядро скоростного микроконтроллера 80251 производства Atmel и аппаратный узел протокола физического уровня. Это позволит снизить себестоимость и габариты конечных проектов, а также облегчить их разработку и повысить защищенность. Современные мобильные протоколы также не остаются без внимания компании WIZnet, и в конце 2002—начале 2003 годов ожидается появление кристалла с поддержкой стандарта IMT2000. На 2003 год запланировано появление целой серии микросхем для поддержки беспроводных стандартов передачи информации — Wireless, Powerline и Bluetooth.

Стратегия компании WIZnet — интенсивное развитие для облегчения интеграции встраиваемых систем и скоростных каналов связи.

Заключение

Технология 12СЫр может быть с успехом использована при проектировании и практической реализации разнообразных встроенных систем с подключением к сети на основе ЕШегпе! 1Р-телефония, охранные системы, системы мониторинга, сбора информации и удаленного управления производственными процессами, кон-

Литература

1. Руководство по технологиям объединенных сетей. / Пер. с англ. 3-е издание. М.: Издательский дом «Вильямс». 2002.

2. Кульгин М. Технологии корпоративных сетей. Энциклопедия. СПб: «Питер», 2000.

3. Сигаев А. Embedded Internet // Компоненты и технологии. 2000. № 2.

4. W3100A Datasheet 1.0.

е

i Надоели баннеры? Вы всегда можете отключить рекламу.