Импорт в Arduino винтажной шины данных из TMS1000

Для экспериментов я хочу импортировать или получать в Arduino выходные данные из шины данных TMS1000 (1980-е годы). Для модели поезда контроллер Hornby Zero1, а шина посылает данные приемникам, например номер локомотива, скорость, направление и т. Д. У меня есть вся структура данных и т. Д.) Возможно ли импортировать в Arduino и экспортировать из того же Arduino Обратно в исходную шину. Просто чтобы посмотреть, как он работает, а потом поэкспериментировать с данными в Arduino. Какие библиотеки будут лучшими ? Спасибо Чарльз Харрис

, 👍1

Обсуждение

это осуществимо ... больше ничего нельзя сказать без какой-либо информации ... пожалуйста, удалите теги "can-bus" и "modbus"., @jsotola

Arduino не имеет шины, но вы можете имитировать ее с помощью некоторых защелок и буферов данных. TMS1000 - это семейство микроконтроллеров, введенное Texas Instruments в 1974 году. Он объединил 4-разрядный центральный процессор, память только для чтения (ROM), память для чтения/записи (RAM) и линии ввода-вывода (I/O) в виде полного “компьютера на чипе”, вам придется дать гораздо больше информации, если вы хотите получить полезный ответ., @Gil


1 ответ


1

Вы не найдете готовых библиотек для этой задачи, что несколько необычно, но вовсе не невозможно.

В основном все, что вам нужно сделать, это подключить адреса/данные TMS1000 и стробоскопические линии к входам Arduino и написать себе относительно простой код для обнаружения различных состояний шины TMS1000 и захвата их, когда они происходят. Для обнаружения конкретных событий, о которых вы упомянули, вам нужно будет узнать больше о работающем программном обеспечении TMS1000 и о том, какие устройства ввода-вывода оно выбирает. Но опять же, все это довольно просто.

Однако имейте в виду, что вам придется выполнить переключение уровней на ВСЕХ входах TMS1000. Этот старый чип TI был реализован с использованием PMOS (т. е. предшественника как NMO, так и CMOS) и использует ОТРИЦАТЕЛЬНЫЙ источник питания вместо более распространенного сегодня ПОЛОЖИТЕЛЬНОГО источника питания.

Таким образом, вместо питания от источника +5 В, как у Arduino, TMS1000 питается от источника a-15 В. В этом случае заземление все еще находится на уровне 0 В, но Vdd составляет-15 В. Это означает, что сигналы ввода-вывода придерживаются другой схемы, как указано в таблице:

TMS1000 Data

Вы можете просмотреть таблицу самостоятельно по адресу:

Спецификация TMS1000

Но это означает, что НИЗКИЙ (т. е. Vil) составляет-15 В, а ВЫСОКИЙ (т. Е. Vih) - 0 В. Вам нужно будет перевести эти напряжения, чтобы вы не повредили ни TMS1000, ни Arduino, и вы получите правильные уровни на контактах, которые вы смотрите.

В спецификации TMS1000 есть несколько предложенных схем для сопряжения с частями серии 74LSxx (т. е. логика 5 В), которые, вероятно, помогут вам начать работу. Обратите внимание, что самый простой метод включает в себя запуск логики 5 В с VDD при 0 В, и это "заземление" при-5 В. Хотя это может показаться странным, Arduino не будет знать разницы, так как напряжение всегда относительно.

,

напряжение является относительным. должен быть в состоянии придумать настройку, в которой-15 В для Хорнби-это GND для arduino, если вы действительно этого хотели., @Abel