Введение
Устаревшая последовательная система передачи данных, разработанная Apple.
GeoPort — это последовательная система передачи данных, использовавшаяся в некоторых моделях Apple Macintosh, которую можно было синхронизировать внешним сигналом для работы на скорости 2 мегабита в секунду. GeoPort незначительно модифицировал контакты существующего последовательного порта Mac, позволяя внутреннему аппаратному или программному обеспечению DSP компьютера передавать данные, которые, будучи преобразованными цифро-аналоговым преобразователем, эмулировали различные устройства, такие как модемы и факсимильные аппараты. GeoPort можно было встретить в поздних моделях на базе 68K (серия AV), а также во многих моделях Power Macintosh до появления USB и в PiPPiN. Некоторые более поздние модели Macintosh также включали внутренний GeoPort через внутренний разъем коммуникационного слота. Технология Apple GeoPort в настоящее время устарела, а поддержка модемов обычно обеспечивается через USB.
AppleBus и LocalTalk
В начале разработки Apple Macintosh инженеры Apple решили использовать Zilog 8530 "Serial Communications Controller" (SCC) для большинства задач ввода/вывода. SCC был относительно продвинутым по сравнению с более распространенными UART того времени, предлагая ряд высокоскоростных режимов и встроенное программное обеспечение для проверки ошибок и подобных функций. Скорость системы определялась внешним тактовым сигналом, поступающим от хост-платформы, обычно до 1 Мбит/с, который можно было "поделить" для работы на более низких скоростях, вплоть до 300 бит/с. SCC имел два канала, которые могли работать на разных скоростях и даже с разными напряжениями, обеспечивая связь с широким спектром устройств и интерфейсов. Первоначально инженеры планировали использовать SCC для поддержки пакетного протокола, известного как "AppleBus". AppleBus позволял подключать периферийные устройства в последовательной конфигурации, удивительно похожей на современную универсальную последовательную шину. Однако, по мере продолжения разработки, проект сети Apple, AppleNet, был отменен из-за высокой стоимости и быстро меняющегося рынка. Члены команды, работавшие над AppleBus, быстро переключились на разработку системы LocalTalk, работающей на портах SCC, а не на плагинной карте расширения AppleNet. LocalTalk использовал синхронизацию от ЦП, которая делилась для получения выходного сигнала примерно 230,4 кбит/с. Узлы в сети оставались синхронизированными благодаря восстановлению тактовой частоты. Это позволяло всей системе работать через простое трехпроводное соединение или два провода в случае PhoneNet. Поскольку порты также включали контакты тактового сигнала, можно было обойти внутренний тактовый сигнал и запустить систему на гораздо более высоких скоростях, как это было в случае с продуктами Dayna и Centram, работавшими в диапазоне от 750 до 850 кбит/с. Однако, поскольку SCC имел всего три байта буферной памяти, было критически важно считывать данные с портов как можно быстрее, чтобы предотвратить переполнение буфера и потерю данных. Это не представляло проблемы для сетевых протоколов, где потеря пакетов предполагается и обрабатывается в сетевом стеке, но являлось серьезной проблемой для данных RS 232, которые не имели встроенного управления потоком данных. В результате производительность Mac Plus в режиме RS 232 обычно ограничивалась примерно 9600 бит/с и могла надежно поддерживать только половину этой скорости при одновременной работе LocalTalk. Apple знала об этих проблемах и, начиная с Macintosh IIfx, попыталась решить их, включив два выделенных "процессора ввода/вывода" (IOP) – специализированные MOS 6502, работающие на частоте 10 МГц. IOP снимали с центрального процессора низкоуровневый код драйвера, управляя дисководами и последовательными портами, и прерывали ЦП только при наличии данных для передачи. IIfx также представил режим DMA для шины SCSI, но он был недоступен для использования IOP. IOP также использовались в Quadra 900 и Quadra 950.
AV и GeoPort
После ранних моделей Quadra, Apple начала непродолжительный эксперимент, включив цифровые сигнальные процессоры (DSP) AT&T 3210 в машины серии "AV" (840AV и 660AV). DSP предназначались главным образом для поддержки оцифровки аудио- и видеосигнала, доступ к которой осуществлялся через нестандартный 60-контактный порт "Digital Audio/Video" (DAV) на задней панели машин. В то время DSP также широко использовались как основной элемент высокоскоростных модемов. Использование относительно продвинутого 3210 обеспечивало бы более высокую производительность, чем у существующих модемов, использующих менее мощные DSP, и значительно превосходило производительность программных модемов, использующих центральный процессор. Все, что требовалось, – это подходящий внешний аналого-цифровой преобразователь, или "линейный адаптер", как это называлось в терминологии Apple. Однако 60-контактный AV-разъем не подходил для таких подключений, и пользователи ожидали подключать "модемы" к модемному порту. Хотя существующие последовательные порты можно было настроить для работы в "режиме AV" аналогично тому, как более старые версии могли работать в режиме RS 232 или сетевом режиме, линейному адаптеру требовалось больше питания, чем мог обеспечить порт. Apple решила эту проблему, добавив 9-й контакт к существующему 8-контактному разъему Mini DIN. Результатом стал GeoPort. В режиме GeoPort SCC переводился в высокоскоростной режим с использованием внешней синхронизации, аналогичной использовавшейся в более ранних высокопроизводительных заменах LocalTalk. Затем DSP генерировал сигналы и отправлял их по последовательной шине в адаптер, который преобразовывал их в аналоговые и усиливал до телефонного уровня. В режиме GeoPort поддерживались скорости до 2 Мбит/с. Одним из известных устройств, использующих GeoPort, был собственный "GeoPort Telecom Adapter" от Apple. Первоначально выпущенный как "модуль" вместе с AV Macs в 1993 году, он позже стал отдельным продуктом в начале 1995 года, когда был выпущен для компьютеров Macintosh на базе PowerPC, которые не имели встроенного оборудования, связанного с AV. Позже Apple интегрировала линии GeoPort в краевой разъем на материнской плате некоторых моделей Mac, известный как Communication Slot, сохранив их и в более позднем Communication Slot II. В конечном итоге было продано три адаптера: оригинальный модуль, внутренняя версия и обновленный модуль, известный как GeoPort Telecom Adapter II. Все использовали стандартные телефонные разъемы RJ 11. Изначально программное обеспечение драйвера адаптера поддерживало скорости до 9600 бит/с, но последующие обновления обеспечили полную совместимость с V.34, работая на скорости до 33,6 кбит/с. На практике адаптеры GeoPort потребляли значительное количество процессорного времени и приводили к проблемам с производительностью всей системы. Они также были известны плохим качеством соединения, обрывами связи и недостаточной поддержкой существующего программного обеспечения; многие эксперты не рекомендовали их использовать. SAGEM также представил ISDN-адаптер для GeoPort, "Planet ISDN Geoport Adapter" или SPIGA, который теперь продается в версии USB. Global Village также выпустила вариант своих компактных модемов Teleport для Apple Performas и сторонних компьютеров Mac, которые использовали 9-й контакт для питания, но это были настоящие аппаратные модемы, а не устройства GeoPort. Первые две цифровые камеры QuickTake (100 и 150) от Apple также поддерживали протокол GeoPort для передачи данных между камерой и компьютерами Macintosh, оснащенными GeoPort.
Как "стандарт"
Во время развития GeoPort телекоммуникационный рынок претерпевал значительные изменения с появлением новых полностью цифровых систем PBX. Многие из этих компаний предлагали ту или иную форму интеграции компьютерной телефонии, однако все они основывались на собственных стандартах и обычно подключались к компьютерам через последовательный порт на относительно низкой скорости. Хотя эти сигналы можно было передавать по существующим сетевым стандартам, таким как Ethernet, большинство компаний использовали собственные системы, например, Switch56. Apple предприняла попытку продвинуть GeoPort как стандартизированный компьютерный интерфейс для систем PBX. Предполагалось создание различных адаптеров GeoPort для разных серверных систем: интерфейс Switch56 можно было использовать с системами Northern Telecom, а другой – для подключения к коммутаторам InteCom, которые использовала Apple. Apple заявляла, что "одна и та же телефонная база GeoPort сможет поддерживать приложения TAPI на ПК с Windows и приложения Telephone Manager на Mac". Novell объявила о планах адаптировать TSAPI для работы поверх стандартов Versit. Все эти усилия были затруднены отсутствием стандартизации среди производителей PBX и недостаточной поддержкой адаптеров GeoPort. После двух лет безуспешных попыток Apple в конечном итоге отказалась от Versit и от телефонии в целом. Основная проблема заключалась в том, что различные компании, производящие PBX, полагались на привязку к поставщику, чтобы удержать существующих клиентов и стимулировать их к покупке новых продуктов, поэтому сама идея стандартизированной системы воспринималась как проблема, а не как решение. Формальная поддержка концепции оказывалась лишь для того, чтобы иметь ответ тем, кто предсказывал распространение подобных систем. Кроме того, базовая конфигурация ПК не поддерживала высокоскоростной последовательный порт, поэтому пользователям приходилось приобретать дополнительную плату для использования GeoPort, что делало покупку специализированного адаптера на отдельной плате столь же разумным вариантом. GeoPort был упразднен вместе с SCSI и ADB, когда Apple представила iMac в 1998 году; в ранних демонстрационных моделях использовался программный модем, основанный на технологии GeoPort Telecom Adapter, но к моменту начала продаж iMac он был заменен аппаратным 56K-модемом.