Шина Celestron Nexstar AUX
Шина AUX впервые появилась в начале 2000-х годов с креплением Nexstar-GPS (NXGPS). Более старые крепления Celestron имели похожий разъем с похожей распиновкой, предназначенный для одного устройства ручного управления. Но NXGPS было первым креплением, поддерживающим несколько различных аксессуаров, подключенных параллельно к одному разъему. Теперь у Celestron есть расширяющаяся линейка электронных аксессуаров, предназначенных для подключения к этим портам AUX, от которых они получают питание +12 В и сигнальное/управляющее соединение с креплением и другими аксессуарами.
Шина AUX не зря называется «шиной». Это НЕ последовательная связь точка-точка, а скорее общая линия связи с несколькими мастерами с сигналом квитирования. Сигнализация — 5 В TTL асинхронный последовательный 19200-8N2 с тремя состояниями в режиме ожидания.
Он использует 6-контактные/6-проводные (6P6C) разъемы и плоский телефонный кабель. Разъемы часто называют вилками RJ12 и розетками RJ12 или RJ25. Шесть проводников на аксессуаре, в порядке: (1) не подключено, (2) TX, (3) +12 В-питание, (4) RX, (5) Земля, (6) ЗАНЯТО. На конце крепления RX и TX маркируются наоборот, но это не имеет значения.
На первый взгляд кажется, что у него есть отдельные линии RX и TX, но на самом деле это одна линия, жестко соединенная вместе на конце крепления. TX должен быть в трех состояниях, когда не используется каким-либо данным устройством. 6-й провод на разъеме — это то, что я называю линией «BUSY». Он тоже обычно в трех состояниях и слегка подтянут к ВЫСОКОМУ уровню в режиме ожидания. Перед передачей устройство должно проверить, что он ВЫСОКИЙ, а затем перевести его в НИЗКИЙ уровень на время операции передачи. Это уменьшает коллизии шины, но не гарантирует, что они не будут происходить снова.
Для предотвращения электрических повреждений от столкновений шин (кратковременных коротких замыканий) устройства используют встроенные резисторы на своих линиях TX и BUSY. Celestron использует от 100 Ом до 47 кОм на своих, в зависимости от продукта/винтажа, при этом наилучшие результаты достигаются при 470–1000 Ом. HBG3 использует 470 Ом.
Закон Ома гласит, что 5 В/470 Ом = максимальный ток 10 мА во время столкновений шин, безопасный в коротких импульсах для большинства микроконтроллеров. В случае столкновения или, в более общем случае, когда не получен ответ на какую-либо конкретную команду, отправляющее приложение должно повторить команду через 100 мсек или более, возможно, до пяти раз.
NXGPS также представил современный протокол шины AUX, включающий общие команды управления монтировкой, которые работают с градусами вращения, а не с специфичными для монтировки числами передач/энкодеров. Тот же протокол с тех пор был расширен и используется со всеми текущими монтировками и аксессуарами Celestron.
Каждый «пакет», отправляемый по шине AUX, обычно начинается с идентификатора протокола 0x3b. За ним следует байт длины, при этом используются значения от 0x03 до 0x0d. Длина — это количество всех последующих байтов сообщения, не включая байты 0x3b или длины, а также последний байт контрольной суммы. Таким образом, реальное количество байтов пакета — это значение из байта длины плюс три. Или максимум 16 байтов в целом.
После длины идут по одному байту для источника и назначения. Это фиксированные известные значения адреса, общие для всей линейки Nexstar. Затем требуется байт кода операции, специфичный для назначения. После этого появляются любые дополнительные байты параметров, за которыми следует последний байт контрольной суммы. Контрольная сумма определяется таким образом, что ее сумма и сумма всех байтов сообщения (за исключением 0x3b) будет составлять 8-битное значение нуля.
В ответ на пакет сообщения, пункт назначения обычно отвечает похожим пакетом, но с байтами источника и назначения, поменявшими местами. Здесь используется тот же байт кода операции, но, возможно, с другими данными или вообще без данных для простого подтверждения.
Продукт Celestron StarSense AutoAlign Accessory camera здесь является исключением. Он использует обычный протокол Nexstar AUX 0x3b для большинства вещей, но ему также приходится отправлять 800+ байт данных изображения в ответ на определенные команды. Они не соответствуют протоколу 0x3b, поэтому для данных изображения используется совершенно новый протокол 0x3c.
Источник
http://rtr.ca