Nowoczesne interfejsy komputerów wbudowanych

| Technika

Zarówno wytwórcy jak i użytkownicy komputerów wbudowanych muszą wybierać pomiędzy licznymi standardami magistrali, interfejsów i systemów łączności. Zadanie to utrudnia wielka liczba przemian technologicznych, związanych z szybkim przechodzeniem obecnie od połączeń równoległych do szeregowych. Na wstępie niniejszego artykułu opisano najważniejsze interfejsy stosowane w większości wbudowanych systemów wykorzystujących procesory x86. W dalszej części wypunktowano zalety i wady obecnych i przyszłych unormowań wbudowanych aplikacji komputerowych oraz zwrócono uwagę na ważne dla projektanta szczegóły.

Nowoczesne interfejsy komputerów wbudowanych

Podjęcie przez projektanta systemu cyfrowego każdej decyzji co do tego, jaki interfejs będzie on wykorzystywać, wiąże się z kompromisem pomiędzy wymaganiami co do wielkości i elastyczności działania, oszczędnością zasilania i osiągami, dostępnością i kompatybilnością w przyszłości, a także elementami marketingu i rzeczywistymi potrzebami. Wytwórcy komputerów wbudowanych spotykają się obecnie z radykalnymi zmianami, tworzącymi nowe perspektywy. Interfejsy szeregowe zastępują równoległe, a niektóre ukończone już opracowania muszą najpierw sprawdzić swoją przydatność w urządzeniach wbudowanych. Twórcy nowych projektów i produktów muszą mieć wiedzę na temat licznych standardów interfejsów i starannie je rozważyć i dobrać. Można je jednak sklasyfikować ze względu na poziom, na którym działają: interfejs w chipie, na płytce, w urządzeniu peryferyjnym, czy w sieci.

W ostatnich latach przemysł komputerowy przestawia się ze standardów interfejsów równoległych na szeregowe. Zmiany te mają dalekosiężne konsekwencje dla producentów komputerów wbudowanych, którzy muszą się zdecydować, jak długo będą podtrzymywać starsze standardy, które podzespoły peryferyjne będą dostępne w przyszłości, czy nowe standardy będą kompatybilne z konstrukcjami wbudowanymi i jak mogą być one sprawdzane w procesie opracowywania. Ważne miejsce zajmują nowe standardy szeregowe poziomu płytki drukowanej:

  • PCI przechodzące w PCI Express (PCIe)
  • ISA przechodzące w Low Pin-Count Bus (LPC)
  • TTL przechodzące w Digital Video Output (DVO) oraz poziomu urządzeń peryferyjnych:
  • IDE P-ATA w Serial Advanced Technology Attachment (SATA)
  • LPT, Floppy, PS/2 w USB
  • PC Card w ExpressCard
Tabela 1. Najważniejsze interfejsy poziomu płytki drukowanej dla systemów embedded
TypSzybkośćRodzaj transmisjiLiczba przewodówMaksymalna długość [cm]Liczba odbiorników
ISA(16 bit/8MHz), 16MB/s (teoretycznie), 4-8MB/s (w praktyce)Równoległy, pojedynczy, 3,3V (5V)87305-10
LPC4MB/sSzeregowy, pojedynczy, 3,3V6-13305-10
PCI32 bit/33MHz, 133MB/s (teoretycznie), 70MB/s (w praktyce)Równoległy, pojedynczy, 3,3V (5V)70304-8 (liczba przerwań)
AGP (2/4/8)32 bit/(2/4/8)x66MHz, 533-3132MB/sRównoległy, pojedynczy  1
PCIe (1 tor)250MB/s dwukierunkowoSzeregowy, różnicowy4301

Z punktu widzenia rozwiązań komputerów wbudowanych przydatność nowych standardów jest ograniczona, a przysparzają one nowych trudności przy opracowywaniu systemów. Ocena interfejsu dla komputerów wbudowanych w warunkach przemysłowych zależy od szeregu podstawowych czynników. Od strony fizycznej kryteria tej oceny to szybkość przesyłu danych (w MB/s), liczba przewodów, rodzaj transmisji, maksymalna i minimalna długość przewodów, a także liczba elementów wchodzących w skład systemu, adresów i przerwań. Natomiast od strony integracji istotnymi kryteriami są dostępność elementów, przydatność w warunkach środowiska przemysłowego, podatność na zaburzenia EMC, rodzaj złączy i przewodów, kompatybilność wsteczna, koszty integracji i części, a także istnienie potrzebnego oprogramowania. W tabelach 1 i 2 przedstawiono najważniejsze interfejsy poziomu płytki drukowanej dla systemów komputerów wbudowanych z procesorami klasy x86.

W trakcie projektowania systemów wbudowanych warto stosować podejście modułowe z wykorzystaniem szeregu standardów magistrali i/lub przystosowalności magistrali szeregowych i równoległych. Do konwencjonalnych urządzeń peryferyjnych powinny być stosowane interfejsy LPC i PCI, a gdy wymagany jest ISA, połączenia powinny być dokonywane za pośrednictwem mostków lub FPGA. Używanie PCIe jest zalecane w przypadku stosowania wydajnych kart graficznych lub innych szybkich procesów, jak Gigabit, Firewire, czy układy graficzne.

Tabela 2. Interfejsy poziomu płytki drukowanej dla systemów embedded
TypObszar zastosowańZłącze i kabelZaletyWadyDostępność
ISA
  • proste peryferia
  • funkcje wej/wyj
  • systemy małych magistrali
  • kontrolery firmowe
  • PC/104, DIMM
  • proste złącza itp.
  • oprogramowanie
  • rozwiązania firmowe
  • pasmo
  • spory pobór mocy
Malejąca liczba elementów dla rozwiązań firmowych
LPC
  • głównie do wspierania starszych systemów
  • rozszerzenia BIOS
  • interfejs mikrokontrolera
Nie normalizowaneZredukowana dług. przewodówProblemy z kompatybilnością oprogramowania dla LPC do ISAB. dobra
PCI
  • peryferia
  • systemy magistrali
  • LAN, sterowniki grafiki/karty PC, itp.
  • PC/104-Plus
  • CompactPCI
  • MiniPCI
  • sloty PCI
  • PISA
  • złącza firmowe
  • często używane
  • oprogramowanie
  • szerokie magistrale
  • mało równoległych odbiorników
B. dobra
AGP (2/4/8)Tylko do kart graficznychSpecjalne sloty AGP Brak innych zastosowańB. dobra dla grafiki
PCIe (1 tor)
  • szybkie peryferia
  • Gbit Ethernet
  • ATA150
  • wysoko wydajna grafika
Sloty PCIe
  • szerokie pasmo
  • mało przewodów
Surowe wymagania rozwojowe
  • rosnąca
  • na razie niewiele chipów

Interfejs wideo

Każdy nowoczesny system wbudowany jest wyposażony w interfejs wideo jednym z odmiennych standardów. Interfejsy te ściśle łączą się z aplikacją i muszą spełniać jej odmienne wymagania. Jak pokazano w tabeli 3, decydujące czynniki, potrzebne do wyboru interfejsu wideo, zależą od chipsetu, BIOS-u i wyświetlacza, czy fizycznych parametrów, takich jak długość przewodów, rozdzielczość i taktowanie.

Warunki sterowania wyświetlaniem w nowoczesnych systemach x86 zmieniają się. Będące do dziś w użyciu wbudowane sterowniki grafiki są eliminowane, a nowe chipsety i kontrolery grafiki nie współpracują już z interfejsami TTL. Przystosowanie do BIOS-u staje się coraz bardziej złożone i coraz trudniejsze dla producenta do wykonania. Ponadto sterowniki systemu operacyjnego również stają się coraz bardziej skomplikowane. Nowoczesne wyświetlacze są wyposażone w mechanizm automatycznej detekcji, taki jak DDC/EDID, a wymagania osiągów graficznych (szerokość pasma) także wzrastają.

W przyszłości standardowym interfejsem zewnętrznego monitora będzie DVI-I. Dla LCD będzie to LVDS lub DVL. Potrzebne będzie sprawdzanie danych monitora, generacja Extended Display Identification Data (EDID) i integracja funkcji DDC (magistrala I2C). Nowa ta technika ma kilka zalet. Rozwiązanie jest sprzętowo niezależne od wyświetlacza, umożliwia automatyczne rozpoznawanie jego danych (np. rozdzielczości) poprzez BIOS lub system operacyjny i nie wymaga żadnej adaptacji oprogramowania. Jego wadą natomiast jest wzrost złożoności sprzętowej.

Tabela 3. Standardy interfejsów wideo
TypObszar zastosowańZłącze i kabelZaletyWadyDostępność
TTL
  1. LCD o małej rozdzielczości (<VGA)
  2. Bierne zwykle LCD dla tekstów lub grafiki
Proste połączenia wtykowe itp.TaniPrzestarzały, małe długości przewodów, nieustanowione sygnałyNiemal nie stosowane w nowoczesnych kontrolerach graficznych
VGAStandardowy sygnał dla monitorów analogowychKable wstążkowe, do 5mSzeroko stosowany, przyjęty standardPodatny na zakłócenia, surowe wymagania dla kabla, ograniczone pasmoDuża
DVISterowanie nowoczesnych monitorów LCDZłącza DVI, kable ekranowane, do 12mOdporny na zakłócenia, przyjęty standard, szerokie pasmoZłożone sterowanie wyświetlaczem, szerokie złączeDuża
LVDSBezpośrednie połączenie LCD z systememProste połączenia wtykowe, skrętki, kable wstążkowe do 8mBezpośrednie sterowanie LCDZmienne kodowanieDuża

Interfejs IO i audio

Przy projektowaniu nowych systemów z interfejsem użytkownika generalnie powinien być preferowany USB, coraz częściej bowiem zastępuje się nim PS/2. W zastosowaniach audio magistrala AC97 Intela nadal zachowuje często używaną i prostą możliwość stosowania kodeków do różnych potrzeb.

Do obsługi urządzeń pamięci masowej w szerokim zakresie jest używany interfejs EIDE/ATA. Enhanced Intelligent Drive Electronics (EIDE) definiuje własności elektryczne interfejsu, a Advanced Technology Attachment (ATA) definiuje jego protokół. W roku 1998 ANSI do standardu ATA dla przyłączanych napędów CD/DVD z użyciem EIDE dodał AT Attachment Packet Interface (ATAPI). Zestawienie standardów ATA przedstawiono w tabeli 4.

Przy porównywaniu ATA i SATA (tabela 5) należy pamiętać, że transfer danych szybszy niż 33,3MB/s (UDMA2) jest rzadko wykorzystywany w systemach wbudowanych, ponieważ wyższe szybkości (ATA4 lub UDMA2) wymagają specjalnego 80-przewodowego kabla. Kable te nie nadają się do aplikacji wbudowanych.

Dlatego przy opracowywaniu systemów nadal warto jako standardowego stosować interfejsu EIDE/ATA, ponieważ przewiduje się, że twarde dyski będą używane jeszcze długo. A ponadto 44-stykowe złącza i kable EIDE doskonale sprawdzają się w trudnych warunkach (wstrząsy i wibracje). SATA nadaje się tylko do systemów z napędami zewnętrznymi, czy o dużych szybkościach transmisji. Nie mniej, używanie zatrzaskowych złączy SATA jest godne polecenia.

Ultra DMA/33
Tabela 4. Zestawienie standardów ATA
 ATA-1ATA-2ATA-3ATA-4ATA-5ATA-6
Tryby PIO0, 1, 23,4
Tryby DMA0, 1, 2, Multiword 0Multiword 0
Tryby UltraDMA0, 1, 23, 45
Maks. szybkość transmisji11,1 MB/s16,6MB/s16,6MB/s33,3MB/s66,6MB/s100MB/s
Kabel40-przewodowy40-przewodowy40-przewodowy40/80-przewod.80-przewodowy80-przewodowy
Norma ANSI, rok X3.221, 1994X3.279, 1996X3.298, 1997NCITS 317-1998NCITS 340-2000NCITS 347-2001
FunkcjeBlokada przesyłu, LBA, identyfikacja napęduSMART, niezawodnośćCRC, kabel 80-przewod.48-bit LBA
Nazwa obiegowaATA/IDEATA/IDEATA/IDEUltra DMA/66, ATA 66Ultra DMA/100, ATA/100

PC-Card a ExpressCard

Nazwa ExpressCard jest nazwą nadaną dodatkowej karcie rozszerzającej, opracowanej przez stowarzyszenie PCMCIA, która w przeciągu kilku lat ma zastąpić karty PC. Ma ona wymiar równy połowie zwykłej karty PC i stosuje się w niej interfejsy PCI Express i USB 2.0. Interfejs USB 2.0 nadaje się przede wszystkim do kart Bluetooth i pamięci Flash. Szybki wariant PCI Express jest przeznaczony dla urządzeń o dużej szybkości transmisji, jak 1394 czy Gigabit Ethernet. Karta ta, zdefiniowana już wraz z kartą PC, może być przyłączana pod napięciem, a jej wyrafinowany system zarządzania zasilaniem umożliwia oszczędne korzystanie z dostępnej energii, co przydaje się w aplikacjach mobilnych.

Głównymi zaletami ExpressCard jest duża szybkość transmisji, uniwersalne zastosowanie i korzystny współczynnik kształtu. Pomimo niewielkiej jeszcze liczby aplikacji tej techniki, przed ExpressCard rozciągają się interesujące widoki w średniej perspektywie, zwłaszcza przy wykorzystaniu ich jako wysokiej jakości wymienne karty peryferyjne systemu.

Tabela 5. Porównanie standardów ATA i SATA
 EIDE/ATASATA
Szybkość33MB/s (UDMA2) do 100MB/s (UDMA 5)150MB/s, 300MB/s (SATA II)
KabelWstążka 44-przewodów (0-40cm), wstążka 80-przewodów (0-20cm) poczynając od UDMA3 (66MB/s)Specjalny 7- przewodowy kabel SATA (do 1m)
SygnałyRównoległe, pojedyncze, 5VSzeregowe, różnicowe, 0,5V
Zalety
  • powszechnie używane
  • złącze nadające się do układów embedded
  • swobodna długość kabla
  • możliwe połączenie CF
  • cieńszy kabel
  • odporność na zaburzenia
  • szerokie pasmo
  • całkowicie kompatybilny z ATA
  • zdolny do hot-swap, począwszy od SATA II
Wady
  • duża liczba styków
  • zaburzenia EMC
  • brak złączy nadających się do urządzeń embedded
  • długi kabel standardowy (> 0,45m)
  • ciągle jeszcze nie obsługuje CD/DVD

(KKP)