УСТРОЙСТВО СИНХРОНИЗАЦИИ МИКРОКОНТРОЛЛЕРОВ
DEVICE FOR SYNCHRONIZING MICROCONTROLLERS

Изобретение относится к области электротехники и может быть использовано для синхронизации работы двух и более микроконтроллеров.
Современные радиоэлектронные средства (РЭС) состоят из большого количества электронных компонентов, одними из которых являются микроконтроллеры (МК). Широкое распространение МК получили за счет миниатюризации и сочетания на одном кристалле функций процессорного и периферийных устройств. Использование, по меньшей мере, двух МК расширяет функциональность и повышает вычислительную способность РЭС, но при этом возникает задача синхронизации работы группы МК.
Из патента US 6697956 B1, H04L 12/42, 31.01.2000 известно устройство синхронизации множества МК распределенной тормозной системы автомобиля. Каждый из МК имеет внутренний тактовый генератор с возможностью его выборочного регулирования в зависимости от разности фаз между тактовыми импульсами и импульсами сигнала данных, чем осуществляется коррекция внутренней тактовой частоты МК по фазе. К недостаткам данного способа можно отнести узконаправленное применение в автомобильной промышленности. Учитываются промышленные требования и специфичные характеристики, а также последовательный порядок включения МК. При этом генераторы тактовых импульсов всех синхронизируемых МК должны работать на одной частоте, иначе синхронизации МК не будет. Описанным способом не предусмотрены изменение порядка связи МК, а также модификация и расширяемость устройств синхронизации.
Из патента US 20120005517 A1, G06F 1/08. 21.08.2009 известно устройство для синхронизации управляющего (ведущего) и, по меньшей мере, одного управляемого (ведомого) устройств. Каждое из устройств содержит собственный генератор и МК. Управляемое устройство находится в режиме обмена данных с управляющим устройством через универсальную последовательную шину. Способ включает передачу сигналов команд с указанием частоты синхронизации от управляющего к управляемому устройству. Управляемое устройство, получив сигналы команд и указания по частоте синхронизации, вычисляет частоту своего локального генератора и перестраивает его. К недостаткам данного способа синхронизации можно отнести отсутствие совместной работы устройств над решением одной задачи, где требуется высокая точность синхронизации (~2 мкс) работы группы МК. Способ подходит для синхронизации системного времени между устройствами, без синхронизации работы самих устройств.
Из патента US 7973579 В2, H03L 7/06, 26.03.2010 известно устройство с методом фазовой синхронизации с помощью МК, которое включает в себя вычислительное ядро, являющееся сигнальным детектором, генератор управляемый напряжением, фазовый компаратор и интегрирующую цепь. Вычислительное ядро, управляя рабочей частотой тактовых импульсов МК, использует выходной сигнал, который сгенерирован МК для фазовой синхронизации с входной информацией о тактовом импульсе, которая получена из входного потока данных, таким образом, что снижается фазовое отклонение. МК выполняет программу в соответствии с этим рабочим тактовым импульсом и генерирует выходной сигнал тактового импульса с частотой, предварительно определенной относительно входного управляющего тактового импульса, после чего использует сгенерированный выходной сигнал тактового импульса как рабочую частоту. Таким образом, программа позволяет фазоконтроллеру, согласно изобретению, обрабатывать с помощью МК внешние периодические сигналы, данные или события, где программные процессы МК подстраиваются по фазе к внешним командам или определенным событиям, реализованным программно в МК. К недостаткам данного способа синхронизации можно отнести сложность реализации и то, что все тактовые генераторы импульсов синхронизируемых устройств должны работать на одной частоте, иначе синхронизации устройства не будет. Также отсутствует настройка времени синхронной работы.
Наиболее близким к заявляемому устройству является устройство US 6675320 B1, G06F 11/30, G06F 11/00, G06F 11/267, G06F 11/16, 7.08.1999 для синхронизации, состоящее из по меньшей мере, одного управляющего устройства, которым может являться процессор, МК или компьютер, содержащее источник тактовых импульсов выполненный в виде внутреннего тактового генератора с кварцевым резонатором, и, по меньшей мере, одного управляемого устройства, которым может являться процессор, МК или компьютер. Синхронизация осуществляется посредством передаваемых сигналов в виде двух импульсов, первый из которых передается от управляющего к управляемому устройству, второй - от управляемого к управляющему устройству. После запуска или сброса системы, управляемое устройство проверяет последовательность сигналов и передает сигнал контроля управляющему устройству. Синхронизация работы управляющего и управляемого устройств и проверка ее корректности происходят посредством, по меньшей мере, одного сигнала подтверждения от управляемого устройства.
Недостатком устройства-прототипа является необходимость в управляющем устройстве, выполненном в виде процессора, МК или компьютера, который включает тактовый генератор. При этом работа управляемых устройств возможна только на одной заданной частоте, причем используются две линии передачи: первая - для сброса работы управляемого устройства, а вторая - для получения сигнала подтверждения от управляемого устройства. В случае пропадания сигнала от какого-либо управляемого устройства или их рассинхронизации, посылается сигнал сброса на все управляемые устройства. Также отсутствуют способы проверки и контроля времени синхронной работы управляемого устройства.
Заявляется устройство синхронизации микроконтроллеров, содержащее, по меньшей мере, одно управляющее устройство, содержащее источник тактовых импульсов, выполненный в виде внутреннего тактового генератора с кварцевым резонатором, и, по меньшей мере, одно управляемое устройство, отличающееся тем, что управляющее устройство выполнено в виде логического элемента «И», а источник тактовых импульсов выполнен в виде внутреннего и/или внешнего тактового генератора с кварцевым резонатором, который задает частоту тактовых импульсов для группы управляемых устройств, выполненных в виде МК, которыми вычисляется количество тактовых импульсов, принимаемых за секунду, исходя из собственной рабочей частоты и частоты внешнего тактового генератора, которое необходимо принять за необходимый период синхронной работы управляемых устройств в виде группы МК, тем самым определяя период синхронной работы управляемых устройств в виде группы МК, что позволяет группе МК синхронно управлять, по меньшей мере, одним объектом управления, выполненным в виде процессора, МК, компьютера и/или схемы коммутации.
Достоинством заявляемого устройства синхронизации, в отличие от устройства-прототипа, является возможность синхронизации управляемых устройств, выполненных в виде группы МК, не требуя управляющего устройства в виде процессора, МК или компьютера с возможностью синхронной работы МК на разных тактовых частотах, вырабатываемых каждым внутренним или внешним тактовым генератором МК. Также имеется возможность масштабируемости, контроля времени синхронной работы группы МК и повышенной точности работы за счет синхронизации сигналов от МК, с различным интервалом дискретизации, используя логический элемент «И».
Техническим результатом, на достижение которого направлено предлагаемое устройство, является выполнение каждым МК в заданном промежутке времени программного кода синхронно в группе из, по меньшей мере, двух МК, независимо от частоты работы каждого МК, что позволяет задать определенный период синхронной работы группе МК и управлять, по меньшей мере, одним объектом управления, выполненным в виде процессора, МК, компьютера и/или схемы коммутации, например Н-мостами.
Технический результат достигается за счет подсчета количества принятых каждым МК тактовых импульсов от внешнего тактового генератора и принятого объектом управления сигнала подтверждения от логического элемента «И».
Работа устройства синхронизации группы МК поясняется структурной схемой, алгоритмом синхронизации и временными диаграммами, которые не охватывают и, тем более, не ограничивают весь объем притязаний данного устройства, а являются иллюстрирующими материалами:
На фиг. 1 приведена структурная схема устройства синхронизации МК.
На фиг. 2 приведен алгоритм синхронизации работы группы микроконтроллеров.
ВТГ
МК1-4
На фиг. 3 приведена временная диаграмма тактовых импульсов внешнего тактового генератора S и четырех управляемых устройств в виде группы МК (S).
МК1-4
СИН
На фиг. 4 приведена временная диаграмма работы четырех управляемых устройств в виде группы МК (S), с общей длительностью сигнала логического элемента «И» S.
1
2
N
1
2
N
1
2
N
Заявляемое устройство синхронизации МК включает внешний тактовый генератор (ВТГ), группу микроконтроллеров (MК, МК … МК), работающих на частотах от внутреннего или внешнего генератора, с внутренним или внешним кварцевым резонатором (Z, Z и Z,), логический элемент «И» и объекты управления (ОУ, ОУ … ОУ).
Принцип работы заявляемого устройства заключается в следующем:
ВТГ
N
МКn
N
ВТГ
ВТГ
МКn
На выходе ВТГ (фиг. 1) устанавливается заданная частота тактовых импульсов ƒ, которые поступают на вход каждого МК из группы, имеющий цифровой порт с поддержкой внешнего прерывания. Каждый МК работает на заданной частоте ƒ, от внутреннего и/или внешнего тактового генератора с внутренним или внешним кварцевым резонатором (Z). Частота ƒ должна быть задана из условия ƒ ≤ ƒ, поскольку каждый МК выполняет подсчет принятых тактовых импульсов от ВТГ. Вход МК, к которому подключен ВТГ, должен поддерживать прерывания от сигнала внешнего источника. При срабатывании внешнего прерывания, в МК вызывается функция инкрементирования счетчика (фиг. 2). Таким образом, происходит подсчет принятых тактовых импульсов от ВТГ каждым МК в группе. Как только счетчик тактовых импульсов достигнет определенного значения, МК отправит в логический элемент «И» сигнал готовности МК к синхронной работе. Затем выполняются команды: обнуление счетчика тактовых импульсов и запуск счетчика длительности синхронной работы для группы МК. Счетчики тактовых импульсов и длительности синхронной работы (фиг. 2) могут быть реализованы в виде аппаратного таймера в МК. При достижении счетчиком заданного значения длительности синхронной работы выполняется последовательность действий: остановка синхронной работы, путем подачи на логический элемент «И» сигнала логического нуля, что будет служить признаком окончания синхронной работы для группы МК; сброс счетчика синхронной работы; переход к подсчету тактовых импульсов от ВТГ. Максимальные значения счетчиков 1 и 2 (фиг. 2) зависят от его тактовой частоты и частоты тактовых импульсов ВТГ (фиг. 3), а также длительности периода синхронной работы группы МК (фиг. 4). Частоты работы каждого МК в группе, как и технические характеристики, могут отличаться.
Алгоритм синхронизации работы группы МК:
Шаг 1. Инициализация периферии МК.
Шаг 2. Обнуление таймера-счетчика и прием (подсчет) тактовых импульсов от ВТГ.
Шаг 3. Пока таймер-счетчик тактовых импульсов не равен рассчитанному значению, продолжается прием тактовых импульсов от ВТГ и инкрементирование таймера-счетчика.
Шаг 4. Ожидание готовности всех синхронизируемых МК.
Шаг 5. Инициализация счетчиков длительности синхронной работы и подсчет тактовых импульсов от ВТГ в период синхронной работы группы МК.
Шаг 6. Пока счетчик длительности синхронной работы МК не равен заданному периоду синхронной работы, выполняется синхронная работа МК и подсчет тактовых импульсов от ВТГ.
Шаг 7. Когда счетчик длительности синхронной работы МК достигнет заданного значения, происходит окончание синхронной работы.
Шаг 8. Переход на шаг 2.