| Viktor2312 |
4th May 2013 11:39 |
Помогите реализовать/разработать двунаправленный порт ввода/вывода.
В общих чертах, между устройством А и устройством Б необходимо обмениваться байтами данных.
Устройство А и Б абсолютно идентичны и представляют из себя микропроцессорные устройства. В момент когда устройство А не выполняет каких либо вычислений, оно тупо сканирует свои порты, не хочет ли кто нибудь передать ему данные для их выполнения, то же самое в принципе делает и устройство Б. Но как только на одном из портов появится активный сигнал ГОТОВНОСТЬ ПЕРЕДАЧИ ДАННЫХ (ГПД) надо произвести их получение.
В нашем случае, это подходит для устройства Б. Например, оно тупо сканировало порты, на всех портах сигнал ГПД был неактивен, но при сканировании порта соединённого с устройством А сигнал ГПД был определён как активный и соответственно необходимо произвести процесс получения блока данных.
Тут получается, что помимо 8 линий данных будет как минимум два сигнала. Первый ГОТОВНОСТЬ ПЕРЕДАЧИ ДАННЫХ (ГПД) от устройства А и ПОДТВЕРЖДЕНИЕ ГОТОВНОСТИ ПРИНЯТЬ ДАННЫЕ (ПГПД). Но вот дальше как то пока не получается сообразить. Нужен будет скорее всего ещё один сигнал КОНЕЦ ПЕРЕДАЧИ БЛОКА ДАННЫХ (КПБД) именно всего блока данных а не одного байта из этих всех данных. Но тогда наверное потребуется ещё два сигнала сигнализирующих о том, что байт данных выставлен на шину устройством А, первый и второй, что устройство Б приняло байт данных.
Подскажите как правильно это всё организовать, а то я уже запутался во всём этом.
Спасибо.
|