i2Chip – новая технология для приложений Embedded Internet

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

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

При классификации сетей по территориальному признаку обычно выделяют три категории: глобальные (WAN, World Area Network), городские (MAN, Metropolitan Area Network) и локальные (LAN, Local Area Network). Глобальные сети позволяют организовать взаимодействие между абонентами на больших расстояниях (тысячи километров), работают на относительно низких скоростях и могут вносить значительные задержки в передачу информации. Основными технологиями построения сетей данного типа являются: X.25 — для низкоскоростных линий с высоким уровнем помех; Frame Relay — для передачи по современным качественным линиям связи; ATM — для нового поколения сетей с большим разнообразием предоставляемых услуг. К локальным сетям относят сосредоточенные на небольшой территории (1–2 км) сети. Чаще всего они представляют систему, принадлежащую одной организации. Из-за коротких расстояний в LAN имеется возможность использования относительно дорогих высококачественных линий связи и скоростей передачи порядка 10, 100, 1000 Mбит/с. Основной технологией, используемой в 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, ориентированных на применение в РС, и в микросхемах CS8900А компании Cirrus Logic, ориентированных на использование шины ISA. Оба варианта обеспечивают высокую производительность конечной системы, но являются избыточными для применения во встраиваемых приложениях, что увеличивает время разработки и повышает общую стоимость проекта.

Реализуя современные тенденции в проектировании БИС, на рынок компонентов для встраиваемых систем класса 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.

Стек протоколов TCP/IP

Уровень соединения (или канальный уровень) составляют протоколы, обеспечивающие доступ к физической сети — проводным линиям связи. С помощью протоколов уровня соединения осуществляется передача между узлами, подключенными к одному сегменту сети. К этому уровню относятся протоколы следующих физических сред для передачи данных: Ethernet (локальные сети на коаксиальном кабеле или витой паре), PPP (модемное соединение), 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) и многие другие.

Протокол пересылки файлов 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/products/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 объявила о кристалле W3100А как о первом серийном изделии класса 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.

Структурная схема W3100A

Интерфейс с MCU

Микросхема W3100A является «посредником» между микропроцессорным устройством управления (MCU) и устройством, реализующим физический уровень. В качестве MCU может применяться микроконтроллер (8051), микропроцессор (i386) и др. Интерфейс «MCU — W3100A» может быть запрограммирован для работы в трех вариантах: Direct Bus, Indirect Bus и I2C. В зависимости от возможностей контроллера и необходимой скорости обработки можно подобрать из них компромиссное решение для конечной системы.

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

Интерфейс Direct Bus

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

Интерфейс Indirect Bus

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

  • IDM_OR — регистр опций Indirect Mode.
  • IDM_DR — регистр данных; отображает содержимое выбранного регистра.
  • IDM_AR0, IDM_AR1 — определяют старший и младший байт адреса необходимого регистра.

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

Интерфейс I2С

Краткое описание регистров 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):

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

0x0000–0x00FF — пространство памяти управляющих регистров;

0x0100–0x01FF — пространство памяти теневых регистров;

0x0200–0x3FFF — не используется (возможно использование другими устройствами);

0x4000–0x5FFF — буфер данных для передачи;

0x6000–0x7FFF — буфер принятых данных.

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

Интерфейс 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 не требует значительных временных и интеллектуальных затрат.

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

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

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

Набор для IP-телефонии VoIP Designer’s Kit позволяет использовать локальные и глобальные сети для передачи голоса. Аппаратно поддерживаемый стандарт аудиосжатия для Интернет G723.1, высокое качество передачи благодаря аппаратной реализации стека протоколов TCP/IP, а также прямое подключение к сетям Ethernet позволяют отказаться от обычных коммутируемых телефонных сетей. Плата содержит процессор i386, микросхему SRAM емкостью 128 (32) Кб, микросхему Flash-памяти 256 (32) Кб. Сетевой интерфейс реализован аппаратно по технологии i2Chip, блок аппаратного сжатия — по протоколу G723.1. Возможна защита системы паролем.

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

При создании систем удаленного контроля и управления, передачи информации, систем автоматизации жилища, контроллеров охранных систем поможет Remote Controller Designer’s Kit. Он реализован на базе микроконтроллера 8051 и контроллера сети W3100A. Поддерживаются протоколы HTTP, SMTP, DHCP, что позволяет организовать Web-сервер, сервер электронной почты и т. п.

EVB8051 — оценочная плата, совмещающая микроконтроллер 8051, 32 Кб SRAM, 32 Кб ROM и микросхему RTL8201 для реализации физического уровня. Данная оценочная плата ориентирована на дешевые приложения при скоростях передачи до 300 кбит/с. С ее помощью возможна реализация шлюзов (например, RS232–Ethernet) и модулей управления технологическими процессами. EVB8051 также можно применять для разработки простейших Web-камер (2 кадра/с), устройств IP-телефонии, и т. п.

EVB386 — оценочная плата, совмещающая микропроцессор i386EX 50 МГц, 128 Кбайт SRAM, 128 Кбайт ROM, порты RS-232 и RJ-45, символьный жидкокристаллический дисплей. EVB386 можно использовать для разработки web-камер средней сложности (до 25 кадров/с), приложений VoIP и интернет-шлюзов для домашнего применения. EVB386 является отличным решением для тестирования мультимедийных приложений.

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

Заключение

Технология i2Chip может быть с успехом использована при проектировании и практической реализации разнообразных встроенных систем с подключением к сети на основе Ethernet. IP-телефония, охранные системы, системы мониторинга, сбора информации и удаленного управления производственными процессами, концепция «интеллектуального жилища» — вот далеко не полный перечень возможных применений продукции компании WIZnet.

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

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

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

Литература

  1. Руководство по технологиям объединенных сетей. / Пер. с англ. 3-е издание. М.: Издательский дом «Вильямс». 2002.
  2. Кульгин М. Технологии корпоративных сетей. Энциклопедия. СПб: «Питер», 2000.
  3. Сигаев А. Embedded Internet // Компоненты и технологии. 2000. № 2.
  4. W3100A Datasheet 1.0.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *