Схема для выбрасывания 1-го бита каждой 17-битной последовательности?

У меня есть система, которая в настоящее время использует два цифровых потенциометра Maxim DS1867 в конфигурации гирляндной цепи. В новом дополнении к системе я хотел бы использовать новую часть цифрового потенциометра, такую ​​​​как Analog Devices AD5142, для доступности и уменьшения занимаемой площади. Обе эти части имеют два (2) 8-разрядных потенциометра, но проблема в том, что DS1867 использует 17-разрядную строку последовательной связи, где первый бит является неиспользуемым битом выбора стека, в то время как AD5142 использует только 16-разрядную строку в своей строке. коммуникативный поток. Это не было бы проблемой, если бы использовалась только одна часть, но мне нужно иметь возможность последовательно соединять части.

Какую схему мне следует искать, чтобы выбрасывать первый бит каждой 17-битной последовательности, чтобы я мог использовать существующий поток данных?

вау, это интересно. у вас нет доступа к серийной связи из системы??
Теоретически @KyranF последовательная связь может быть изменена, однако из-за кадровых изменений это займет много времени. Поэтому я изучаю, что можно сделать, чтобы сделать новую часть совместимой с устаревшей коммуникацией.
Итак, вы хотите обрезать 17-битные строки до 16 бит каждая, а затем объединить их, чтобы получить непрерывную 32-битную строку для потока?
тем не менее, создание совершенно новой печатной платы и количество сумасшедших компонентов или микросхем, которые вам могут понадобиться для этого. Я думаю, что стоит хотя бы изучить программную сторону этой проблемы. С точки зрения реализации 1-го разрядника, возможно, вы можете использовать простую защелку (по первому переднему фронту) и разблокировку (по второму переднему фронту) с P-канальным полевым транзистором или однобитовым неинвертирующим линейным драйвером (с разрешающим выводом) для отключиться во время передачи первого бита, но повторно подключиться для следующих 16 бит. Используйте шестнадцатеричный счетчик для подсчета всего 17 бит и сброса всей логической схемы, готовой к следующему пакету.
@EMFields да, это, по сути, то, что нужно сделать
Используются ли для связи стоповые и стартовые биты? Если 17-й бит не используется, вы можете использовать его как дополнительный стоповый бит.
@jippie нет, нет стартовых или стоповых битов, только 1-й неиспользуемый бит выбора стека, а затем два 8-битных слова, содержащие значение потенциометра.
Нельзя ли модифицировать программу, управляющую связью? Похоже, что в DS1867 используется протокол, очень похожий на SPI, и объединение в цепочку устройств SPI с разной разрядностью не является проблемой.

Ответы (2)

Для каждого 16-битного устройства (кроме последнего) поместите один триггер типа D на выход и используйте его выход в качестве канала для следующего 16-битного устройства. Тип d будет поглощать каждый 17-й бит или, говоря иначе, тип d превращает 16-битное устройство в 17-битное.

Однако это не то, чего он хочет. У него уже есть два 17-битных слова, которые он объединяет и отправляет в два горшка Maxim как одно 34-битное последовательное слово. Теперь у него есть два горшка Analog Devices, каждый из которых хочет видеть 16-битные слова, поэтому ему нужен способ отделить первый бит от каждого 17-битного слова, затем объединить теперь 16-битные слова и отправить их как одно 32-битное. серийное слово к горшкам AD.
@emfields Я думаю, добавляя тип рекламы, после каждого устройства он впитывает 17-й бит. Я не уверен на 100%, потому что я в отпуске на телефоне Android.

Если у вас есть доступ к 34-битному последовательному потоку данных, часам данных, и вы должны сделать это аппаратно, то методом грубой силы будет чтение 34-бит в 34-битный последовательно-входной параллельный сдвиговый регистр, а затем в широкополосный загрузите 32 нужных бита в 32-битный регистр сдвига с параллельным вводом и последовательным выходом и сдвиньте их как одно 32-битное слово в последовательные потенциометры.