устройство приема и передачи асинхронных последовательных данных
Классы МПК: | H04L5/16 полудуплексные системы; симплекс-дуплексная коммутация; передача сигналов об окончании связи |
Автор(ы): | Денисьев Б.Н. (RU), Бандурин Д.Е. (RU) |
Патентообладатель(и): | Федеральное государственное унитарное предприятие "Научно- исследовательский институт микроэлектронной аппаратуры "Прогресс" (RU) |
Приоритеты: |
подача заявки:
2002-06-05 публикация патента:
20.10.2004 |
Изобретение относится к области радиоэлектроники, более конкретно - к средствам телекоммуникации и может использоваться в устройствах приема и передачи информации, например в микроконтроллерах. Технический результат - оптимизация передачи данных для симплексного режима обмена данными путем использования одной двунаправленной линии связи и обеспечение обмена данными между многими устройствами, подключенными к одной линии связи. Устройство приема и передачи асинхронных последовательных данных содержит блок синхронизации, блок буферизации принятых данных, блок буферизации передаваемых данных, блок управления асинхронным приемом данных и блок управления асинхронной передачей данных, блок драйвера линии, блок арбитража, сдвиговый регистр параллельно-последовательного и последовательно-параллельного преобразования передаваемых и принимаемых данных (СРППД), двунаправленный вход-выход устройства. 1 ил.
Формула изобретения
Устройство приема и передачи асинхронных последовательных данных, содержащее блок синхронизации, блок буферизации принятых данных, блок буферизации передаваемых данных, блок управления асинхронным приемом данных и блок управления асинхронной передачей данных, причем выход блока управления асинхронным приемом подключен к входу блока буферизации принятых данных, а выход блока буферизации передаваемых данных подключен к входу блока управления асинхронной передачей данных, первый и второй выходы блока синхронизации подключены соответственно к входам синхронизации блока управления асинхронным приемом данных и блока управления асинхронной передачей данных, отличающееся тем, что в устройство дополнительно введены драйвер линии, блок арбитража, сдвиговой регистр параллельно-последовательного и последовательно-параллельного преобразования передаваемых и принимаемых данных (СРППД), причем выход последовательных данных СРППД соединен со вторым входом блока арбитража и с первым входом драйвера линии, вход управления драйвера линии соединен с блоком управления асинхронной передачей данных, а первый выход соединен со входом последовательных данных СРППД и с первым входом блока арбитража, выход блока арбитража соединен с входом управления блока управления асинхронным приемом данных и с входом управления блока управления асинхронной передачей данных, вход параллельных данных СРППД соединен с выходом блока буферизации передаваемых данных, а выход параллельных данных СРППД соединен с входом блока буферизации принимаемых данных, двунаправленный вход-выход драйвера линии является двунаправленным входом-выходом самого устройства.
Описание изобретения к патенту
Изобретение относится к области радиоэлектроники, более конкретно к средствам телекоммуникации, и может использоваться в устройствах приема и передачи информации, например в микроконтроллерах.
Известно устройство приема и передачи асинхронных последовательных данных, содержащее блок синхронизации, блок буферизации принятых данных, блок буферизации передаваемых данных, блок управления асинхронным приемом данных и блок управления асинхронной передачей данных, причем выход блока управления асинхронным приемом подключен к входу блока буферизации принятых данных, а выход блока буферизации передаваемых данных подключен к входу блока управления асинхронной передачей данных;
первый и второй выходы блока синхронизации подключены соответственно к входам синхронизации блока управления асинхронным приемом и блока управления асинхронной передачей данных (PIC16F87X Data Sheet - 28/40-pin 8-Bit CMOS FLASH Microcontrollers, 1999 Microchip Technology Inc. DS30292B-pages 99-104).
В этом устройстве приема и передачи асинхронных последовательных данных используются две однонаправленных линии связи: одна для приема данных, другая для передачи данных, что позволяет осуществлять одновременный прием и передачу (дуплексный режим). Однако существует широкий класс задач (применений), где требуется прием и передача данных в разные моменты времени (симплексный режим) или либо только прием, либо только передача данных. При этом одна из линий связи прототипа для обмена данными не используется. Использование такого устройства в симплексном режиме является неоптимальным решением, т.к. половина блоков устройства не используется. Кроме того, однонаправленная природа линий связи прототипа не позволяет подключить более одного передающего устройства к одной линии связи.
Техническим результатом предлагаемого изобретения является оптимизация устройства передачи данных для симплексного режима обмена данными путем использования всего одной двунаправленной линии связи, а также обмен данными между многими устройствами, подключенными к одной линии связи.
Для достижения этого технического результата в устройство, содержащее блок синхронизации, блок буферизации принятых данных, блок буферизации передаваемых данных, блок управления асинхронным приемом данных и блок управления асинхронной передачей данных, причем выход блока управления асинхронным приемом данных подключен к входу блока буферизации принятых данных, а выход блока буферизации передаваемых данных подключен к входу блока управления асинхронной передачей данных; первый и второй выходы блока синхронизации подключены соответственно к входам синхронизации блока управления асинхронным приемом и блока управления асинхронной передачей данных, дополнительно вводят блок драйвера линии, блок арбитража, сдвиговый регистр параллельно-последовательного и последовательно-параллельного преобразования передаваемых и принимаемых данных (СРППД). Выход последовательных данных СРППД соединен со вторым входом блока арбитража и с первым входом драйвера линии, вход управления драйвера линии соединен с блоком управления асинхронной передачей данных, а первый выход драйвера линии соединен с входом последовательных данных СРППД и с первым входом блока арбитража, выход блока арбитража соединен с входом управления блока управления асинхронным приемом данных и с входом управления блока управления асинхронной передачей данных, вход параллельных данных СРППД соединен с выходом блока буферизации передаваемых данных, а выход параллельных данных СРППД соединен с входом блока буферизации принимаемых данных, двунаправленный вход-выход драйвера линии является двунаправленным входом-выходом самого устройства.
На чертеже приведена структурная схема предлагаемого устройства приема и передачи асинхронных последовательных данных.
Устройство приема и передачи асинхронных последовательных данных содержит сдвиговый регистр параллельно-последовательного и последовательно-параллельного преобразования передаваемых и принимаемых данных 1, блок буферизации передаваемых данных 2, блок управления асинхронной передачей данных 3, блок буферизации принятых данных 4, блок управления асинхронным приемом данных 5, блок синхронизации 6, блок арбитража 7 и драйвер линии 8.
Устройство приема и передачи асинхронных последовательных данных работает следующим образом.
Скорость приема/передачи последовательной информации задается блоком синхронизации (6). Импульсы сигналов синхронизации, вырабатываемые этим блоком, поступают на входы синхронизации блока управления асинхронной передачей данных (3) и блока управления асинхронным приемом (5) данных. При отсутствии приема и передачи данных, когда линия связи находится в неактивном состоянии, устройство находится в начальном состоянии: драйвер линии (8) настроен на прием данных, блок управления асинхронным приемом данных (5) находится в состоянии ожидания начала данных, блок управления асинхронной передачей данных (3) и блок арбитража (7) выключены.
В начальном состоянии блок управления асинхронным приемом данных (5) при поступлении на его вход синхронизации каждого импульса сигнала синхронизации анализирует состояние сигнала, приходящего на его вход с двунаправленного входа-выхода устройства через драйвер линии (8). При поступлении на вход устройства сигнала начала данных блок управления асинхронным приемом данных (5) переходит в состояние начала приема данных. В состоянии начала приема данных проверяется соблюдение условия правильного начала посылки данных; при его выполнении происходит переход в состояние собственно приема данных, в противном случае - возврат в исходное состояние.
В состоянии приема данных сигнал с двунаправленного входа-выхода устройства через драйвер линии (8) поступает на вход последовательных данных СРППД (1), который осуществляет накопление последовательной информации и ее последовательно-параллельное преобразование.
После приема заданного количества битов информации блок управления асинхронным приемом данных (5) переходит в состояние завершения приема. В состоянии завершения приема принятая посылка проверяется на наличие ошибок. При условии отсутствия ошибок в принятых данных блок управления асинхронным приемом данных (5) вырабатывает сигнал готовности принятых данных, который поступает на вход блока буферизации принятых данных (4). По этому сигналу принятые данные с выхода параллельных данных СРППД (1) поступают на вход блока буферизации (4) и запоминаются в нем. После этого блок управления асинхронным приемом данных (5) переходит в исходное состояние. Информация для передачи загружается в блок буферизации передаваемых данных (2). При этом блок буферизации передаваемых данных (2) вырабатывает сигнал наличия данных для передачи, который поступает на вход управления блока управления асинхронной передачей данных (3). При условии, что в блоке буферизации передаваемых данных (2) есть информация для передачи, блок управления асинхронной передачей данных (3) и блок управления асинхронным приемом данных (5) находятся в исходном состоянии, блок управления асинхронной передачей данных (3) переходит в состояние начала передачи. В этом состоянии блок управления асинхронной передачей данных (3) вырабатывает сигнал, по которому параллельные данные из блока буферизации передаваемых данных (2) поступают на вход параллельных данных СРППД (1) и запоминаются в нем. После этого блок управления передачей переходит в состояние передачи данных.
В состоянии передачи данных блок управления асинхронной передачей данных (3) вырабатывает сигнал, который поступает на вход управления драйвера линии (8) и переключает его в режим передачи. По сигналам синхронизации, поступающим с выхода блока синхронизации (6), блок управления асинхронной передачей данных (3) вырабатывает сигналы управления СРППД (1), по которым происходит параллельно-последовательное преобразование информации, загруженной в него, и выдача ее на выход последовательных данных. С этого выхода сигнал поступает на первый вход драйвера линии (8) и далее на двунаправленный вход-выход устройства. После передачи заданного количества битов информации блок управления асинхронной передачей данных (3) переходит в состояние завершения передачи, в котором с входа управления драйвера линии (8) снимается сигнал переключения в режим передачи. После этого блок управления передачей (3) переходит в начальное состояние.
Таким образом, оптимальное использование одной двунаправленной линии связи и блоков устройства в симплексном режиме обмена данными обеспечивается наличием драйвера линии и сдвигового регистра параллельно-последовательного и последовательно-параллельного преобразования передаваемых и принимаемых данных.
При передаче информации линия связи может находиться в одном из двух состояний: активное и неактивное. Активное состояние линии означает передачу по линии связи сигнала “логический 0”, неактивное - сигнала “логическая 1” (протокол асинхронного обмена данными; Липовецкий Г.П., Литвинский Г.В. и др. Однокристальные микроЭВМ, семейство МК48, семейство МК51. Техническое описание и руководство по применению. Москва, МП “Бином”, 1992. ISBN 5-86840-070-4, стр. 124-125). Активное состояние линии имеет приоритет перед неактивным состоянием, т.е. любой драйвер линии может перевести линию в активное состояние, а неактивное состояние линии возможно только в том случае, когда драйверы всех устройств, подключенных к линии, находятся в неактивном состоянии. При подключении нескольких устройств к одной линии передачи данных возможно возникновение ситуации, при которой два или более устройств могут одновременно начать передачу данных на линию. При этом если одному из устройств требуется передать “логический 0”, а другому - “логическую 1”, то на линии связи возникает конфликтная ситуация.
Для реализации возможности подключения нескольких устройств к одной линии связи и разрешения конфликтных ситуаций во время их работы предназначены блок арбитража (7) и драйвер линии (8). На первый вход блока арбитража (7) с первого выхода драйвера линии (8) приходит сигнал, который передает состояние двунаправленного входа-выхода драйвера линии (8). На второй вход блока арбитража (7) приходит сигнал с выхода последовательных данных СРППД (1). Если в процессе передачи устройством данных на первом входе блока арбитража (7) присутствует активный сигнал, а на втором входе - неактивный, то это означает, какое-то другое устройство тоже ведет передачу данных и имеет приоритет над данным устройством. В этой ситуации блок арбитража (7) вырабатывает сигналы, которые подаются на вход управления блока управления асинхронным приемом данных (5) и вход блока управления асинхронной передачей данных (3). Эти сигналы переводят блок управления асинхронным приемом данных (5) в состояние начала приема, а блок управления асинхронной передачей данных (3) - в начальное состояние. Блок арбитража может быть выполнен согласно "The I2C-bus specification, Version 2.0, December 1998", Philips Semiconductors, стр. 12.
Предлагаемое устройство приема и передачи асинхронных последовательных данных позволяет оптимально и эффективно использовать одну линию связи для обмена информацией между несколькими устройствами.