Из газеты ZX-Hard #1, Краснодар, 07.05.99 +----------------------------------------+ | C-bus (based on Centronics interface). | +----------------------------------------+ (c)VTS'99 Идея проста: устройства, собирающиеся надолго обосноваться на внешней шине, должны иметь вход и выход, и включаться каскадно. Принтер - последний. Итак, имеется 8 буферированных выхо- дов, для принтера это данные. Для двунап- равленного обмена они не подойдут, значит пускай это будут линии управления. Эти ли- нии транслируются напрямую на выход, без буферов. Еще имеется 8 двунаправленных линий. Это, естественно, шина данных. Вообще-то они тоже нехилые (идут с музыкалки), но если их хорошенько нагрузить, или если по- зарез нужен длинный шлейф, прийдется буфе- рировать. Вот здесь уже нужен флаг RD/WR. Возьмем на его роль ОК-выход Q2/ (SLCTIN, 17pin_DB25). Активный (нулевой) уровень соответствует чтению. Конечно, тогда можно программно получить конфликт, но от при- дурков все равно не спастись, а микрухи таких вещей в основном не боятся. Если девайс очень простой, с коротким входным шлейфом и единственной нагрузкой (1533,555) на этой шине, буфер не обязате- лен. Иначе лучше протранслировать данные на выход через АП6, подав на 1'ую ногу флаг RD/WR. Ну а теперь осталось разобраться, как выбирать нужный девайс. Из оставшихся пяти ОК-выходов один занят принтером, и один определяет направление передачи данных. Однако строб принтера можно тоже использо- вать, но такой девайс будет включаться вместо принтера, и тоже последним в цепоч- ке. Итак, есть 3 ОК, т.е. можно подключить до 3'ех устройств единовременно, не считая принтера. Чтобы не драться за адресное пространство, можно сделать так. Все де- вайсы выбираются по линии Q6, но каждый из них транслирует эти линии так: Q5--Q5 Q5--Q5 Q5--Q5 <---p ------------------------ r Q2--Q2 Q2--Q2 Q2--Q2 i ------------------------ n Z <-Q6 /Q6<-