способ межмодульного информационного обмена
Классы МПК: | G08C19/18 с использованием переменного количества импульсов в последовательности импульсов |
Автор(ы): | Баин Александр Михайлович (RU), Дубовой Николай Дмитриевич (RU), Портнов Евгений Михайлович (RU), Сидоренко Николай Иванович (RU) |
Патентообладатель(и): | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" (МИЭТ) (RU) |
Приоритеты: |
подача заявки:
2012-03-06 публикация патента:
10.05.2013 |
Изобретение относится к способам межмодульного информационного обмена в устройствах информационно-управляющих комплексов, использующих магистрально-модульную архитектуру. В известном способе для определения состояния каждого модуля, подключенного к общей магистрали, используют индивидуальные шины внутренней магистрали, в которые подают сигналы - признаки готовности соответствующих модулей к передаче информации. Техническим результатом является упрощение организации информационных обменов. Технический результат достигается за счет периодической подачи от центрального контроллера в шину тактов дополнительного синхроимпульса, длительность которого выбирают равной нескольким периодам тактовых импульсов, после приема удлиненного синхроимпульса модули с разделением во времени передают в общую шину данных импульсные сигналы, идентифицирующие их состояние. Важно, что новый способ позволяет упростить организацию информационных обменов без деградации быстродействия определения состояния модулей. 3 ил.
![способ межмодульного информационного обмена, патент № 2481642](/images/patents/477/2481642/2481642-3.jpg)
![способ межмодульного информационного обмена, патент № 2481642](/images/patents/477/2481642/2481642-4.jpg)
![способ межмодульного информационного обмена, патент № 2481642](/images/patents/477/2481642/2481642-5.jpg)
Формула изобретения
Способ межмодульного информационного обмена, включающий процедуры информационного обмена по магистральному каналу связи, соединяющему центральный контроллер с модулями, разделяются на этапы синхронизации, фиксации готовности модулей к передаче информации, определения приоритета информации модулей, подготовивших информацию для передачи, и предоставления канала связи для передачи наиболее приоритетной информации, причем синхронизация проводится центральным контроллером путем передачи широковещательных синхроимпульсов, периодичность которых выбирают достаточной для формирования и передачи сигналов готовности модулей к передаче информации, по окончании цикла синхронизации центральный контроллер предоставляет магистральный канал связи для передачи информации модулям в последовательности, соответствующей установленному приоритету, отличающийся тем, что центральный контроллер после завершения передачи синхроимпульса продолжает передавать в общую для всех модулей шину тактовые импульсы, а все модули после фиксации синхроимпульса начинают подсчет поступающих тактовых импульсов на тактах, номера которых соответствуют присвоенным модулям номерам, передают в общую для всех модулей шину данных импульсный сигнал, равный по длительности периоду тактовых импульсов, центральный контроллер фиксирует поступающие от модулей сигналы и по номерам тактов, на которых приняты сигналы готовности, определяет номера модулей, подготовивших информацию для передачи, после чего в соответствии с установленными приоритетами контроллер магистрали поочередно выбирает модули, от которых приняты сигналы готовности к передаче информации, проводит сеанс информационного обмена с выбранным модулем путем подачи в информационную шину кодов адреса модуля, установленного режима работы и контроля, а выбранный модуль после проверки корректности поступившей от контроллера информации передает в информационную шину сообщение, содержащее коды адреса модуля, установленного режима работы - передачи данных, информации и контроля, причем данные от контроллера и модуля синхронизируются указанными выше тактовыми импульсами.
Описание изобретения к патенту
Изобретение относится к организации работы информационно-управляющих комплексов, состоящих из центрального устройства пункта управления и периферийных контролируемых пунктов, соединенных линиями связи различного вида и конфигурации. При построении устройств информационно-управляющих комплексов используется магистрально-модульная архитектура, которая предполагает наличие центрального контроллера, магистрали и параллельно подключенных к магистрали модулей. Магистраль представляет собой набор шин, по которым передаются сигналы управления, данных и тактовые импульсы. Порядок подачи сигналов в шины магистрали определяет принятый внутренний интерфейс - способ информационного обмена между модулями и контроллером магистрали.
Известен способ межмодульного информационного обмена SPI (Serial Peripheral Interface), основанный на передаче информационных сообщений по двунаправленной шине данных последовательными кодами, каждый сигнал которых синхронизируют тактовым импульсом от контроллера магистрали /1/.
В известном способе реализуются режимы передачи данных от центрального контроллера модулям и от модулей контроллеру при использовании общей для всех модулей двунаправленной шины данных и шины передачи тактовых импульсов от контроллера.
Недостаток известного способа межмодульного информационного обмена - большие затраты времени на выявление модулей, подготовивших информацию для передачи. Это связано с тем, что для последовательного опроса состояния модулей контроллер передает в информационную шину магистрали кодовые посылки, включающие байты (восьмиразрядные коды) адреса опрашиваемого модуля, установленного режима работы (опроса готовности модуля к передаче информации) и контрольной суммы, а опрашиваемый модуль после завершения приема сообщения от контроллера передает в информационную шину магистрали ответное кодовое сообщение, включающее байты адреса, состояния модуля и контрольной суммы, причем информация модуля синхронизируется тактовыми импульсами от контроллера магистрали.
Если не учитывать паузы между смежными байтами и между передачей кодового сообщения от контроллера магистрали и ответного кодового сообщения от модуля, состояние «n» модулей будет определено за 6·8·n тактовых импульсов (6 - суммарное число байтов в кодовых сообщениях от контроллера магистрали и от модуля, 8 - число сигналов в одном байте).
Наиболее близким к предложенному является способ организации информационного обмена центрального контроллера и модулей /2/, в котором для разделения во времени передачи информации отдельными модулями процедуры информационного обмена разделяются на этапы синхронизации, фиксации готовности модулей к передаче информации, определения приоритета информации модулей, подготовивших информацию для передачи, и предоставления канала связи для передачи наиболее приоритетной информации, причем синхронизация проводится центральным контроллером путем передачи широковещательных синхроимпульсов, периодичность которых выбирают достаточной для формирования и передачи сигналов готовности модулей к передаче информации, по окончании цикла синхронизации центральный контроллер предоставляет магистральный канал связи для передачи информации модулям в последовательности, соответствующей установленному приоритету.
В известном способе-прототипе для опроса состояния модулей контроллер периодически формирует и передает в общую для всех модулей шину синхроимпульс, после приема которого все модули формируют тактовые импульсы, после завершения процедуры определения готовности к передаче данных модули прекращают формирование тактовых импульсов и передают в шину связи с центральным контроллером сигнал готовности. Центральный процессор по величине задержки сигналов готовности определяет приоритет информации отдельных модулей и предоставляет канал связи для передачи информации модулям в последовательности, соответствующей приоритету информации.
Известный способ обеспечивает завершение процедур определения готовности модулей к передаче информации и приоритета информации в течение одного цикла синхронизации. Как видно, по сравнению с описанным выше способом быстродействие опроса состояния модулей увеличивается.
Недостатком способа-прототипа является сложность организации информационных обменов из-за необходимости использования индивидуальных для модулей генераторов тактовых импульсов и синхронизации передачи сигналов готовности при увеличении числа модулей, подключенных к общей магистрали.
Задачей изобретения является упрощение межмодульного информационного обмена по общей магистрали, соединяющей центральный контроллер с модулями устройств информационно-управляющих комплексов.
Это достигается тем, что центральный контроллер после завершения передачи синхроимпульса продолжает передавать в общую для всех модулей шину тактовые импульсы, а все модули после фиксации синхроимпульса начинают подсчет поступающих тактовых импульсов, на тактах, номера которых соответствуют присвоенным модулям номерам, передают в общую для всех модулей шину данных импульсный сигнал, равный по длительности периоду тактовых импульсов, центральный контроллер фиксирует поступающие от модулей сигналы и по номерам тактов, на которых приняты сигналы готовности, определяет номера модулей, подготовивших информацию для передачи, после чего в соответствии с установленными приоритетами контроллер магистрали поочередно выбирает модули, от которых приняты сигналы готовности к передаче информации, проводит сеанс информационного обмена с выбранным модулем путем подачи в информационную шину кодов адреса модуля, установленного режима работы и контроля, а выбранный модуль после проверки корректности поступившей от контроллера информации передает в информационную шину сообщение, содержащее коды адреса модуля, установленного режима работы - передачи данных, информации и контроля, причем данные от контроллера и модуля синхронизируются указанными выше тактовыми импульсами.
Благодаря тому что синхроимпульс и тактовые импульсы формируются центральным контроллером, обеспечивается упрощение формирования сигналов готовности модулей к передаче информации, которое сводится к подсчету числа тактовых импульсов для определения моментов передачи индивидуальных для модулей сигналов готовности. Так как для фиксации в центральном контроллере номеров модулей, подготовивших информацию для передачи, достаточно установить номера тактовых импульсов, на которых от модулей поступают сигналы готовности к передаче, определение приоритетности информации отдельных модулей упрощается и не зависит от числа модулей, подключенных к общей магистрали связи с центральным контроллером.
Показано, что для проведения опросов состояния модулей, получения от них информации и передачи информации от контроллера магистрали в модули используются общие для всех модулей шина тактов и шина данных. Благодаря тому что контроллер определяет состояние «n» модулей за «n» тактов, упрощение организации информационных обменов в предложенном способе сочетается с высоким быстродействием. Таким образом, выполняется поставленная задача.
На фиг.1 приведена функциональная схема устройства информационно-управляющего комплекса, в котором используется магистрально-модульная архитектура и предлагаемый способ межмодульного информационного обмена. Центральный контроллер 1 через магистраль 2 соединен с модулями 3. Магистраль включает общие для всех модулей шины тактовых импульсов (ШТ), данных (ШД) и (при необходимости) управления (ШУ). Шины управления не влияют на сущность предложенного способа, поэтому на фиг.1 они показаны пунктирными линиями. Число и набор видов модулей 3-1 3-n определяют информационные возможности и выполняемые устройством функции.
На фиг.2 приведены временные диаграммы, поясняющие предложенный способ межмодульного информационного обмена, а на фиг.3 - фрагмент схемы модуля устройства, в котором реализуется предложенный способ.
На фиг.2а показаны тактовые импульсы, которые формируются центральным контроллером и подаются в шину тактов магистрали устройства, а на фиг.2б - формируемый контроллером удлиненный синхроимпульс - признак начала проведения цикла опроса состояния модулей. Сочетание синхроимпульса и тактовых импульсов показано на фиг.2в. На фиг.2г условно показан результат подсчета тактовых импульсов во всех модулях после фиксации и снятия удлиненного синхроимпульса, а на фиг.2д - сигналы в общей шине данных в режиме опроса состояния модулей.
Для примера на фиг.2д показано, что к рассматриваемому циклу синхронизации модули № 2, 5, 10 и 11 подготовили информацию для передачи; в результате на втором, пятом, десятом и одиннадцатом тактах после снятия синхроимпульса второй, пятый, десятый и одиннадцатый модуль передают импульсный сигнал в шину данных. Каждый принятый сигнал идентифицируется контроллером как сигнал готовности соответствующего модуля к передаче (выводу) информации. На фиг.2е 2и приведены временные диаграммы проведения последующего информационного обмена контроллера с модулем № 5, что соответствует случаю, когда приоритет информации модуля № 5 выше, чем модулей № 2, 10 и 11, также подготовивших информацию для передачи. Как указывалось, цикл проведения собственно информационного обмена включает передачу от центрального контроллера кодового сообщения, включающего коды адреса выбранного модуля, разрешения передачи информации и контроля и ответной передачи от модуля кодов адреса, признаки передачи данных, собственно данных и контроля.
На фиг.3 показан пример фрагмента схемы одного из модулей (3-i) устройства. Приведенный фрагмент иллюстрирует реализацию предложенного способа. Генератор 4 тактовых импульсов формирует сигналы, частота которых выше частоты тактовых импульсов, поступающих в модуль по шине тактов (ШТ). Сигнал от 4 поступает на тактовый вход первого 5 счетчика, выход (p) которого соединен с управляющим (2) входом второго 6 счетчика. Тактовый (1) вход счетчика 6 соединен с ШТ. Элементы ИЛИ-НЕ 7, инвертор 8, ИЛИ 9 соединены с входами установки начального состояния первого и второго счетчиков. Выходы 1 m счетчика 6 соединены с группой адресных входов (А) мультиплексора 10. Блок 11 задания режима работы модуля формирует сигнал «1» на выходе в случае, если модуль подготовил информацию для передачи. Выход 11 подключается к выбранному информационному входу 10. Номер входа 10 (в приведенном примере - «i») соответствует номеру данного модуля («i» в приведенном примере). Выход мультиплексора 10 подключен к шине данных (ШД) магистрали устройства.
На фиг.3 приведена только часть схемы, которая необходима для пояснения сути предложенного способа. Приведенные для примера элементы схемы в реальном модуле могут отсутствовать, а их функции выполняться программой встроенной микроЭВМ.
Рассмотрим организацию межмодульных информационных обменов. В шину тактов магистрали устройства информационно-управляющего комплекса центральный контроллер передает тактовые импульсы, показанные на фиг.2а. Для проведения цикла синхронизации и опроса состояния модулей контроллер формирует дополнительный удлиненный синхроимпульс (фиг.2б). В приведенном примере реализации способа длительность синхроимпульса выбрана равной трем периодам тактовых импульсов. Удлиненный синхроимпульс подают в шину тактов, в результате чего в цикле проведения опроса состояния модулей сигналы в шине тактов приобретают вид, показанный на фиг.2в. Все модули, подключенные к общей для них магистрали устройства, фиксируют подачу удлиненного синхроимпульса, а после его снятия подсчитывают число тактовых импульсов. На фиг.2г условно показан результат подсчета модулями числа импульсов в виде кодовых состояний счетчиков - каждый принятый тактовый импульс переводит счетчик в очередную кодовую позицию (от первой до двенадцатой в приведенном примере). Каждый модуль фиксирует прием тактов, число которых равно присвоенному модулю номеру. Если модуль подготовил информацию для передачи, на соответствующем такте в общую для всех модулей шину данных подается импульсный сигнал. На фиг.2д показаны сигналы в шине данных для случая, когда информацию для передачи подготовили второй, пятый, десятый и одиннадцатый модули.
Цикл опроса состояния «n» модулей завершается через «n» тактов после снятия синхроимпульса. По сигналам, поданным модулями в шину данных, контроллер устанавливает номера всех модулей, которые к проведенному циклу синхронизации и опроса подготовили информацию для передачи.
Контроллер магистрали начинает информационные обмены с модулями с учетом установленных приоритетов. Если предположить, что информации модуля № 5 присвоен более высокий приоритет, чем информации модулей № 2, 10 и 11, контроллер первым проведет информационный обмен с модулем № 5. На фиг.2е, 2ж приведены временные диаграммы информационного обмена контроллера магистрали с модулем № 5. На фиг.2е повторены (в меньшем масштабе) тактовые импульсы, приведенные на фиг.2а. На тактах 1 8 (в первом байте) контроллер магистрали передает в шину данных (фиг.2ж) код адреса модуля, в приведенном примере 00000101 (пятого модуля), а на тактах 9
16 (во втором байте) - код установленного режима работы. В приведенном примере показана передача на тактах 9
12 кода разрешения передачи информации 0110, который для повышения достоверности повторяется в инверсном коде на тактах 13
16. Очевидно, что вид кода разрешения передачи информации может быть иным. В приведенном примере в шину данных (на тактах 9
16) поступает код 01101001. Коды адреса и режима работы дополняются кодом контроля, например контрольной суммой, фиксирующей число сигналов «1» в двух байтах. В приведенном примере код контрольной суммы, поступающий в шину данных на тактах 17
24, имеет вид 00000110, так как на тактах 1
16 в шину данных было подано шесть сигналов «1». Естественно, что вид кодов задания режима работы и контрольной суммы может быть иным, чем в приведенном примере. Не изменяя сущности предложения, можно исключить передачу кода контрольной суммы.
На фиг.2з, 2и приведены временные диаграммы информационного обмена модуля № 5 с центральным контроллером. На фиг.2з повторно показаны сигналы в шине тактов, приведенные также на фиг.2а и 2е. После получения от контроллера разрешения передачи информации модуль (в рассматриваемом примере № 5) подает в шину данных на тактах 1 8 код адреса (00000101 для приведенного примера), а на тактах 9
16 - код установленного режима работы (01101001 для приведенного примера). Следующее за указанными двумя байтами информационное поле включает информационную часть сообщения от выбранного модуля. Данные модуля могут сопровождаться полем защиты, например контрольной последовательностью циклического кода. На фиг.2и приведен пример информационного сообщения, передаваемого на тактах 17
104. После завершения передачи сообщения модуль № 5 отключается от шины данных, а контроллер может проводить очередные циклы синхронизации и опроса состояния модулей, передачи информации модулям или приема информации от других модулей. Информационные сообщения, поступающие в магистраль от модулей или контроллера, могут сопровождаться сигналами по одной или нескольким шинам управления. Так как указанные сигналы не изменяют сути предложенного способа, они на фигурах не показаны.
Рассмотрим реализацию предложенного способа на примере работы фрагмента схемы модуля 3-i, приведенного на фиг.3.
Тактовые импульсы от контроллера магистрали поступают в модуль по шине тактов (ШТ). В цикле опроса состояния модулей на ШТ от контроллера магистрали подается удлиненный синхроимпульс, который приводит к появлению на выходе ИЛИ-НЕ 7 сигнала «0». Если предположить, что счетчик 6 переведен в начальное состояние, на выходе «n+1» формируется сигнал «0», а на два входа ИЛИ 9 оказываются поданными сигналы «0». Сигнал «0» с выхода 9 подается на третий (R) вход счетчика 5, который при этом становится чувствительным к сигналам генератора 4 тактовых импульсов, которые подаются на первый, тактовый вход. Длительность синхроимпульса в ШТ и частота тактовых импульсов генератора 4 выбраны так, что при подаче синхроимпульса счетчик формирует сигнал «1» на выходе «p». Например, если длительность синхроимпульса (Тси) выбрана равной трем периодам тактовых импульсов в ШТ, т.е. , то частоту импульсов генератора 4(f4) можно определить из соотношения
Сигнал "1" с выхода "p" счетчика 5 поступает на инвертор 8 и вход ИЛИ-НЕ 7. Сигнал "0" от инвертора поступает на второй, управляющий вход счетчика 5 и блокирует дальнейшее изменение его состояния, а сигнал "0" от ИЛИ-НЕ 7 запрещает перевод счетчика в начальное состояние сразу после снятия синхроимпульса. Сигнал "0" от инвертора 8 подается на третий (R) вход счетчика 6, а сигнал "1" с выхода "p" счетчика 5 - на второй, управляющий вход 6. В результате счетчик 6 оказывается чувствительным к тактовым сигналам, поступающим на его первый вход. Первый вход 6 соединен с ШТ, поэтому счетчик 6 начнет подсчет тактовых импульсов в ШТ после снятия синхроимпульса. Таким образом, кодовые состояния счетчика 6 ставятся в соответствие с числом тактовых импульсов в ШТ, поступающих в цикле синхронизации и опроса состояний модулей после подачи и снятия удлиненного синхроимпульса. Число (m) разрядов счетчика выбирается из соотношения m=
log n, где
- знак округления до ближайшего большего целого числа, a "n" - число модулей, подключенных к общей для них магистрали устройства. Выходные сигналы 1
m счетчика 6 поданы на группу адресных входов (1А
mА) мультиплексора 10. На один из информационных входов (1И
nИ) мультиплексора подан сигнал от блока 11 задания режима работы модуля. Если к текущему циклу синхронизации и опроса состояния модуль «i» подготовил данные для передачи, на вход iИ мультиплексора подается сигнал «1», который ретранслируется в шину данных (ШД) на такте, соответствующем номеру модуля. После завершения цикла синхронизации и опроса состояния модулей по сигналу «1» на выходе «n+1» счетчика 6 формируется сигнал «1» на выходе ИЛИ 9, который возвращает счетчик 5 в начальное состояние. Сигнал, приводящий счетчик 5 в начальное состояние, условно показан как сигнал одного из разрядов счетчика 6, в реальной схеме он должен формироваться дешифратором, фиксирующим установку в счетчике «n+1» кодового состояния.
Применение предложенного способа позволяет упростить организацию межмодульных информационных обменов благодаря использованию общих для всех модулей шин тактов и данных, причем высокое быстродействие при определении состояния всех модулей в предложенном способе и прототипе практически совпадают.
Источники информации
1. Serial Peripheral Interface. - Atmel Corporation. - April, 97. - Atmel data book. - CD. - C.14.
2. Патент РФ № 2390953 - прототип.
Класс G08C19/18 с использованием переменного количества импульсов в последовательности импульсов