Введение
Семейство компьютерных стандартов – стандарт PC/104 (или PC104) – это семейство стандартов для встраиваемых компьютеров, определяющих как форм-факторы, так и компьютерные шины, разработанное консорциумом PC/104. Название стандарта происходит от 104 контактов на межплатном разъеме (ISA) в оригинальной спецификации PC/104 и сохранилось в последующих версиях, несмотря на изменения в разъемах. PC/104 предназначен для специализированных сред, где требуется компактная и надежная компьютерная система. Стандарт является модульным и позволяет пользователям компоновать системы из плат различных производителей COTS для создания индивидуальной встраиваемой системы. Оригинальный форм-фактор PC/104 несколько меньше материнской платы настольного ПК. В отличие от других популярных форм-факторов, таких как ATX, которые требуют материнской платы или объединительной платы, платы PC/104 укладываются друг на друга, подобно строительным блокам. Спецификация PC/104 определяет четыре монтажных отверстия в углах каждого модуля, позволяющие крепить платы друг к другу с помощью стоек-переходников. Штабелируемые разъемы шин и использование стоек обеспечивают более надежное крепление по сравнению со слотами расширения в настольных ПК. Компактный размер плат дополнительно повышает надежность форм-фактора, снижая вероятность изгиба печатной платы под воздействием ударов и вибраций. Типичная система PC/104 (обычно называемая "стеком") включает в себя плату процессора, плату питания и одну или несколько периферийных плат, таких как модуль сбора данных, GPS-приемник или контроллер беспроводной сети. Широкий ассортимент периферийных плат доступен от различных поставщиков. Пользователи могут создавать стеки, включающие платы от разных производителей. Общая высота, вес и энергопотребление стека могут варьироваться в зависимости от количества используемых плат. PC/104 иногда называют "штабелируемым ПК", поскольку большая часть архитектуры основана на архитектуре настольного ПК. Большинство плат PC/104 совместимы с x86 и оснащены стандартными интерфейсами ПК, такими как последовательные порты, USB, Ethernet и VGA. x86-совместимая система PC/104 обычно поддерживает стандартные операционные системы для ПК, такие как DOS, Windows или Linux. Однако также часто используется операционная система реального времени, такая как VxWorks.
the embedded computer standard
PC/104 (or PC104) is a family of embedded computer standards which define both form factors and computer buses by the PC/104 Consortium. Its name derives from the 104 pins on the interboard connector (ISA) in the original PC/104 specification and has been retained in subsequent revisions, despite changes to connectors. PC/104 is intended for specialized environments where a small, rugged computer system is required. The standard is modular, and allows consumers to stack together boards from a variety of COTS manufacturers to produce a customized embedded system. The original PC/104 form factor is somewhat smaller than a desktop PC motherboard at Unlike other popular computer form factors such as ATX, which rely on a motherboard or backplane, PC/104 boards are stacked on top of each other like building blocks. The PC/104 specification defines four mounting holes at the corners of each module, which allow the boards to be fastened to each other using standoffs. The stackable bus connectors and use of standoffs provides a more rugged mounting than slot boards found in desktop PCs. The compact board size further contributes to the ruggedness of the form factor by reducing the possibility of PCB flexing under shock and vibration. A typical PC/104 system (commonly referred to as a "stack") will include a CPU board, power supply board, and one or more peripheral boards, such as a data acquisition module, GPS receiver, or Wireless LAN controller. A wide array of peripheral boards are available from various vendors. Users may design a stack that incorporates boards from multiple vendors. The overall height, weight, and power consumption of the stack can vary depending on the number of boards that are used. PC/104 is sometimes referred to as a "stackable PC", as most of the architecture derives from the desktop PC. The majority of PC/104 CPU boards are x86 compatible and include standard PC interfaces such as Serial Ports, USB, Ethernet, and VGA. A x86 PC/104 system is usually capable of standard PC operating system such as DOS, Windows, or Linux. However, it is also quite common to use a real time operating system, such as VxWorks.
История и стандартизация
Автобус и форм-фактор PC/104 были первоначально разработаны компанией Ampro в 1987 году (под руководством технического директора Рика Лербаума), а затем стандартизированы консорциумом PC/104 в 1992 году. Соответствующий PC/104 стандарт IEEE был разработан как IEEE P996.1, но так и не был ратифицирован. В 1997 году консорциум PC/104 представил более новый стандарт, основанный на шине PCI. В 2008 году был представлен стандарт на основе PCI Express. Спецификации, относящиеся к PC/104, находятся под контролем консорциума PC/104. В настоящее время в консорциуме состоит 47 членов. Все спецификации, опубликованные консорциумом, находятся в свободном доступе. Членство в консорциуме не требуется для разработки и производства платы PC/104. СпецификацияПервоначальный выпускКоммуникация по шинеТекущая версияPC/1041992ISA (AT и XT)2.6PC/104 Plus1997ISA и PCI PCI 1042003PCI1.1PCI/104 Express и PCIe/1042008PCI и PCI Express3.0
Структура автобуса по отношению к форм-фактору
Спецификации, выпущенные консорциумом PC/104, определяют различные структуры шины (ISA, PCI, PCI Express) и форм-факторы (104, EBX, EPIC). Структура шины определяет расположение и распиновку разъема(ов) шины. Форм-фактор относится к размеру и форме платы. Различные форм-факторы могут поддерживать одну из расширяемых шин PC/104. Хотя большинство коммерчески доступных продуктов, использующих структуры шины, соответствуют указанным ниже форм-факторам, нестандартный или проприетарный форм-фактор также может включать одну из структур шины PC/104 для обеспечения расширяемости. Следует отметить, что термин "PC/104" часто используется как взаимозаменяемый для обозначения как структуры шины, так и форм-фактора, что может приводить к путанице. Например, в технической документации на продукт плата может быть обозначена как "PC/104" из-за ее размера и формы, хотя фактически она оснащена шиной расширения PCI 104.
Автобусные конструкции
Спецификации консорциума PC/104 определяют разнообразные компьютерные шины, все из которых являются производными от шин ISA, PCI и PCI Express, используемых в настольных компьютерах.
PC/104
Оригинальная шина PC/104 берет начало от шины ISA. Она включает в себя все сигналы, присутствующие на шине ISA, с добавлением дополнительных контактов заземления для обеспечения целостности шины. Временные характеристики и уровни напряжения сигналов идентичны шине ISA, но с меньшими требованиями к току. Спецификация PC/104 определяет две версии шины: 8-битную и 16-битную. 8-битная версия соответствует IBM XT и состоит из 64 контактов. 16-битная версия соответствует IBM AT и добавляет 40 дополнительных контактов, в сумме получается 104 (отсюда и название "PC/104"). Сигналы, обозначенные J1/P1, присутствуют только в 8-битной версии, а 16-битная версия добавляет сигналы J2/P2. Поскольку PC/104 основана на шине ISA, при установке периферийной платы часто необходимо установить базовый адрес, IRQ и канал DMA. Обычно это делается с помощью перемычек или DIP-переключателей на периферийной плате. Неправильная настройка периферийного устройства может привести к конфликту ресурсов и непредсказуемому поведению.
PC/104-Plus (полностью или частично)
Стандарт PC/104 Plus добавляет поддержку шины PCI в дополнение к шине ISA стандарта PC/104. Название происходит от его происхождения: модуль PC/104 Plus имеет разъем PC/104 (ISA) и разъем PCI. Стандарт определяет 120-контактный разъем для шины PCI, расположенный на противоположной стороне платы от разъема PC/104. CPU-платы PC/104 Plus обеспечивают активную связь по обеим шинам и способны взаимодействовать как с ISA, так и с периферийными картами PCI. На периферийных модулях PC/104 Plus разъем PC/104 является просто пассивным разъемом для обеспечения возможности последовательного соединения; модуль активно взаимодействует только по шине PCI. Следовательно, периферийный модуль PC/104 Plus нельзя использовать с CPU-платой PC/104. Однако CPU-плата PC/104 Plus может использоваться с периферийным модулем PC/104. Поскольку PC/104 Plus основан на PCI, нет необходимости задавать базовый адрес, IRQ или канал DMA на периферийных платах. Однако необходимо указать номер слота PCI периферийной платы при ее установке. Обычно это задается с помощью поворотного переключателя, DIP-переключателя или перемычек на периферийной плате. Каждая периферийная плата PCI в системе должна иметь уникальный номер слота PCI. В противном случае это может привести к непредсказуемой работе системы. Периферийная плата, ближайшая к процессору, должна быть установлена в первый слот, следующая плата – во второй слот и так далее.
PCI-104
Форм-фактор PCI 104 включает в себя разъем PCI, но не разъем PC/104, для увеличения полезной площади платы. Несмотря на то, что разъем PCI имеет 120 контактов вместо 104, историческое название было сохранено. Расположение и распиновка разъема PCI идентичны PC/104 Plus. Поскольку шина ISA отсутствует, плата PCI 104 несовместима с периферийными модулями PC/104. Однако PCI 104 и PC/104 Plus совместимы, так как оба стандарта используют шину PCI. Большинство плат PC/104 Plus можно изготовить как PCI 104, просто не устанавливая разъем PC/104. PCI 104 использует ту же схему выбора номеров слотов PCI, что и PC/104 Plus. Каждому устройству необходимо присвоить уникальный номер слота.
PCIe/104
PCIe/104 аналогичен стандарту PCI/104 Express, но не включает устаревшую шину PCI для увеличения доступного пространства на плате (аналогично соотношению между PC/104 Plus и PCI 104). Расположение и варианты распиновки разъема PCI Express соответствуют PCI/104 Express (как Тип 1, так и Тип 2). Поскольку разъем шины PCI отсутствует, плата PCIe/104 несовместима с системами PC/104 Plus и PCI 104 (если не используется мост PCIe-PCI).
Форм-факторы
Спецификации консорциума PC/104 охватывают три форм-фактора, определяющих размер и форму платы. Каждый форм-фактор может использовать одну из структур шины, перечисленных выше.
104 или PC/104
Форм-фактор 104 определяется как , с монтажными отверстиями во всех четырех углах платы. Спецификации также допускают область за пределами края печатной платы для разъемов ввода/вывода. Некоторые продукты PC/104 имеют печатные платы увеличенного размера, которые выступают в область разъемов ввода/вывода. Эти выступающие "крылья" печатной платы не рассматриваются в спецификации и, как правило, не вызывают механических проблем, если общий вынос печатной платы и разъемов ввода/вывода не превышает максимально допустимые размеры. Размеры были первоначально определены в спецификации PC/104, поэтому форм-фактор до сих пор часто называют "PC/104". В спецификациях PCI/104 Express и PCIe/104 название "104" было введено для различения форм-фактора от устаревшей шины PC/104.
The dimensions were originally defined in the PC/104 Specification, and as a result the form factor is still commonly referred to as "PC/104". The PCI/104 Express and PCIe/104 Specification introduced the "104" name to distinguish the form factor from the legacy PC/104 bus.
EBX и EBX Express
EBX (Embedded Board eXpandable) — это форм-фактор одноплатного компьютера. Форм-фактор EBX применяется к центральному процессору, но поддерживает периферийные платы форм-фактора PC/104 для расширения функциональности. Первоначальные спецификации EBX предусматривали поддержку шин PC/104, PC/104 Plus и PCI 104. EBX Express добавляет поддержку шин PCI 104/Express и PCIe/104.
EPIC и EPIC Express
EPIC (Embedded Platform for Industrial Computing) — это форм-фактор одноплатного компьютера, который, как и EBX, поддерживает периферийные платы PC/104, но имеет меньшие размеры, чем EBX. Он позволяет реализовать подключения ввода-вывода как через штыревые разъемы, так и через разъемы в стиле ПК ("для реальных задач"). Стандарт определяет специальные зоны ввода-вывода для реализации функций, таких как Ethernet, последовательные порты, цифровые и аналоговые входы-выходы, видео, беспроводная связь и различные интерфейсы, предназначенные для конкретных приложений. EPIC Express обеспечивает возможность расширения за счет PCI Express.
Пределы наложения
В общем, каждый стек PC/104 будет содержать плату процессора, плату питания и одну или несколько периферийных плат. Максимальное количество плат, поддерживаемых стеком PC/104, будет зависеть от того, какие шины используются периферийными платами. ISA Bus Строгих ограничений на количество плат ISA, которые могут одновременно работать в одной системе, нет. Однако существует ограниченное количество базовых адресов, IRQ и каналов DMA, что может стать ограничивающим фактором. Платы ISA могут быть установлены с обеих сторон от платы процессора. PCI Bus Спецификации PC/104 Plus и PCI 104 допускают четыре PCI "слота". Это устанавливает жесткое ограничение в четыре PCI-периферийных платы на систему. Все периферийные модули PCI должны подключаться последовательно с одной стороны контроллера из-за требований к сигнализации шины PCI. PCI Express Общее количество периферийных плат PCI Express будет зависеть от количества PCIe-каналов, предоставляемых платой процессора. Например, если плата процессора предоставляет четыре канала PCIe x1, то можно установить максимум четыре периферийных карты PCIe x1. Если одна или несколько периферийных плат обеспечивают повторное использование PCIe-каналов, можно установить дополнительные модули. PCIe-каналы на верхней стороне платы процессора независимы от каналов на нижней стороне. Установка периферийного устройства PCIe под платой процессора не займет один из верхних каналов. Количество и ширина доступных PCIe-каналов могут различаться между верхним и нижним разъемами платы процессора. USB и SATA Спецификации PCI/104 Express и PCIe/104 предоставляют сигналы для USB и SATA, которые могут использоваться периферийными платами в стеке. Периферийные устройства, использующие USB и SATA, будут ограничены количеством каналов, предоставляемых платой процессора. Периферийные устройства USB могут обеспечивать повторное использование каналов, интегрируя встроенный USB-концентратор. Независимо от используемых шин, максимальное количество плат в стеке PC/104 может быть ограничено из-за ограничений по размеру, весу и энергопотреблению для целевого применения.
Механическое воздействие на панели
При установке плат PC/104 друг на друга возникает проблема механических помех между соседними платами. Автобусные разъемы: при сборке системы, состоящей из нескольких шинных структур, автобусные разъемы могут мешать компонентам на соседней плате. Например, при установке платы PC/104 Plus поверх платы PC/104, контакты на нижней стороне PCI-разъема могут упираться в компоненты на нижней плате. Компоненты и разъемы, не соответствующие спецификациям: спецификации PC/104 ограничивают высоту компонентов и разъемов, которые могут быть установлены с обеих сторон платы. Ограниченная зона по высоте предназначена для обеспечения отсутствия помех между платами, расположенными выше или ниже. Однако часто встречаются платы, не соответствующие этим требованиям. Радиаторы: стандартное расстояние между сложенными платами PC/104 составляет 0,600 дюйма (15,24 мм). Компоненты с высоким энергопотреблением (процессоры, графические процессоры, ПЛИС) часто требуют более крупных радиаторов, которые не помещаются в стандартное межплатное пространство. Часто можно встретить платы CPU PC/104 с относительно большими радиаторами, которые не позволяют устанавливать периферийные платы поверх них. В более поздних версиях спецификаций PCI/104 Express и PCIe/104 был представлен дополнительный, более высокий разъем высотой 0,866 дюйма (22,00 мм), совместимый с традиционным разъемом. Проблемы с механическими помехами, описанные выше, часто можно решить с помощью проставки для шины (Bus Spacer), которая обеспечивает дополнительное пространство между платами. Однако проставки для шины увеличивают общую высоту стека и могут быть не подходящими для применений с ограниченным пространством. Также возможно изменить порядок расположения плат в стеке для устранения помех. Другой вариант – модифицировать платы, вызывающие помехи, для их устранения (например, удалить компоненты с разъема), но для этого может потребоваться заказ индивидуальной версии платы у производителя.
Возможные проблемы совместимости
Теоретически, платы PC/104 совместимы между собой. Возможно создание системы с использованием плат от разных производителей, при условии соблюдения основных требований к совместимости структуры шины, указанных выше. Однако, проблемы совместимости иногда возникают. Ключевые штыри PC/104: спецификация PC/104 определяет два ключевых штыря для предотвращения неправильного соединения разъема. Эти штыри не должны быть установлены в разъеме. Однако, некоторые производители не используют разъемы PC/104 с ключевыми штырями, что может привести к проблемам при использовании плат от разных поставщиков. Часто можно модифицировать плату без штырей, отрезав мешающие контакты. Требуемые напряжения питания: шины PC/104 обеспечивают несколько напряжений питания (+5В, +3.3В, +12В и т.д.). Какие напряжения фактически используются платой, определяет производитель. Необходимо обеспечить подачу всех необходимых напряжений для плат в стеке. Питание от плат: некоторые платы могут обеспечивать питание в стеке (например, плата CPU). Это может вызывать конфликты с блоком питания в стеке. Уровни сигналов PCI: шина PCI может работать с уровнями сигналов +3.3В или +5В. Некоторые платы могут ожидать одно напряжение, другие – другое. Линия PCI VIO: сигнал VIO на шине PCI должен выдаваться платой CPU. Однако, некоторые периферийные платы и блоки питания выдают этот сигнал (что является нарушением спецификации PCI). ISA-шина: в современных чипсетах устаревшая ISA-шина отсутствует. Более новые платы CPU, предоставляющие ISA-шину, часто используют для этого мостовой чип ISA (PCI-ISA или LPC-ISA). В некоторых случаях ISA-шина реализована не полностью, что может привести к проблемам совместимости. 4 Bus Masters: спецификации PC/104 Plus и PCI 104 изначально не поддерживали 4 пары запросов/предоставлений (Grant/Request) на шине PCI. Это было исправлено в более поздних версиях спецификации. Однако, старые платы могут испытывать проблемы при использовании DMA в 3-м или 4-м слоте PCI.
Разработка программного обеспечения
Большинство плат PC/104 совместимы с архитектурой x86 и способны работать с коммерчески доступным программным обеспечением для ПК без изменений. Стандартные интерфейсы PC I/O системы PC/104 (последовательные порты, USB, Ethernet, VGA и т.д.) обычно поддерживаются через стандартные драйверы, встроенные в операционную систему. Для некоторых периферийных плат, таких как платы сбора данных, могут потребоваться специальные драйверы от производителя. С точки зрения разработки программного обеспечения, практически нет разницы между компиляцией программ для настольного ПК и компиляцией для стека x86 PC/104. Программное обеспечение можно разрабатывать с использованием стандартных x86-компиляторов (например, Visual Studio, если на системе PC/104 работает Windows). Обычно нет необходимости в специализированных инструментах разработки, таких как кросс-компиляторы, пакеты поддержки плат или отладчики JTAG. Это существенно отличается от встраиваемых систем на архитектурах, отличных от x86, которые часто требуют цепочки инструментов разработки от производителя платы. Также коммерчески доступны PC/104 CPU-платы на основе ARM или PowerPC. Однако такие платы не могут запускать стандартное программное обеспечение для ПК. В этих случаях производитель обычно предоставляет пакет поддержки плат для поддерживаемых операционных систем.
Изменения в орфографии и сокращения
При печати "PC/104" или его вариантов, часто опускают прямую косую черту или дефисы. PC/104 может сокращаться как PC104, PCI 104 как PCI104 и так далее. Кроме того, для PC/104 Plus часто используется сокращение со знаком плюс (например, PC104+). Эти сокращения не являются официально признанными в спецификациях или литературе консорциума PC/104, однако они применяются уже некоторое время.
Хранение
Системы PC/104 часто требуют небольшие энергонезависимые накопители, такие как компактные флэш-накопители и твердотельные накопители (SSD). Они часто более популярны, чем механические (вращающиеся) жесткие диски. По сравнению с вращающимися дисками, флэш-накопители имеют ограниченный ресурс по количеству циклов записи, но при этом они быстрее и потребляют меньше энергии. Кроме того, их компактность и физическая прочность часто лучше подходят для применения в сложных условиях эксплуатации PC/104; размеры магнитных жестких дисков могут быть неудобными, а их многочисленные хрупкие компоненты более подвержены отказам в жестких условиях.