Способ кодирования
Иллюстрации
Показать всеИзобретение относится к способам кодирования сообщений. Технический результат заключается в повышении достоверности информационного сообщения. Согласно изобретению совмещают процедуры кодирования состояния датчиков дискретных сигналов с контролем исправности всех цепей связи датчиков с кодером и вводят в группы биимпульсных кодов информационного сообщения дополнительные признаки неисправности цепей связи кодера с датчиками. Информационное сообщение формируют в виде циклического кода из модифицированных групп биимпульсных кодов для всех датчиков и контрольной последовательности кода, которую формируют в виде остатка от деления полинома - группы биимпульсных кодов, на образующий полином. 2 ил.
Реферат
Изобретение относится к способам кодирования информационных сообщений, содержащих данные о состоянии (положении) датчиков дискретных сигналов, и может использоваться в системах телемеханики для охранной сигнализации, в АСУ для энергетики, нефте-, газопроводов, электрифицированных железных дорог и других ответственных объектах.
Известен способ кодирования, основанный на формировании биимпульсного корреляционного кода - Манчестерского кода [1], в котором каждый дискретный сигнал представляется двумя битами - “10” или “01”, причем второй бит формируют простым инвертированием первого.
Известный способ кодирования обеспечивает обнаружение искажений сигналов информационного сообщения помехами в канале связи контролируемого пункта (в котором установлен кодер) с пунктом управления (в котором установлен декодер).
Недостатком известного способа является низкая достоверность информационного сообщения из-за не обнаруживаемых искажений, вызванных неисправностью - разрывом или коротким замыканием цепи связи кодера с каким-либо датчиком.
Сутью и целью изобретения является повышение достоверности информационного сообщения.
Цель изобретения реализуется проведением процедуры кодирования в двух активных разделенных во времени этапах, причем на первом этапе для каждого датчика дискретного сигнала формируют сигнал “1” или “0” соответственно для замкнутого и разомкнутого состояния, а на втором этапе сигналы формируют в зависимости от состояния цепи связи датчика с кодером так, что сигнал “0” формируют в случае, если на первом этапе для данного датчика был сформирован сигнал “1”, а в цепи связи датчика с кодером не обнаружена неисправность - короткое замыкание, а сигнал “1” на втором этапе формируют, если обнаружено короткое замыкание цепи связи датчика с кодером, сигнал “1” на втором этапе формируют в случае, если на первом этапе для данного датчика был сформирован сигнал “0”, а в цепи связи датчика с кодером не обнаружена неисправность - разрыв, а сигнал “0” на втором этапе формируют, если обнаружен разрыв цепи связи датчика с кодером, причем информационное сообщение, передаваемое в декодер, формируют в виде циклического кода из двух составляющих - биимпульсных кодов для всех датчиков и дополнительной контрольной последовательности кода, равной остатку от деления биимпульсных кодов для всех датчиков на образующий полином.
Предложенный способ кодирования состояния датчиков дискретных сигналов в двух активных этапах позволяет совместить процедуры формирования кода и контроля исправности цепей связи кодера с датчиками. При этом, если на нечетном такте кодирования состояния датчика “i” (формирования первого сигнала биимпульсного кода) фиксируют сигнал “1”, на смежном четном такте (формирования второго сигнала биимпульсного кода) проверяется отсутствие короткого замыкания цепи связи с датчиком “i”, а при фиксации на нечетном такте сигнала “0”, на смежном четном такте проверяется отсутствие разрыва цепи связи с датчиком. Если на втором активном этапе кодирования проверкой не обнаруживают неисправность цепи связи, второй сигнал биимпульсного кода оказывается инверсным по отношению к первому сигналу, в противном случае в качестве второго сигнала кода формируют не инвертированный первый сигнал.
Однако, если использовать сформированную по предложенному способу последовательность биимпульсных кодов в качестве информационного сообщения от кодера, в декодере окажется невозможным отличить неисправность цепей связи с датчиками от искажений сигналов помехами в линии связи. Чтобы избежать неоднозначности декодирования и обеспечить повышение достоверности информации, сообщение, передаваемое в декодер, формируют в виде двух составляющих, первой из которых является группа биимпульсных кодов, а второй - контрольная последовательность кода (КПК), которую формируют в виде остатка от деления основного полинома (Посн) - группы биимпульсных кодов, на образующий полином (Побр) “j”-той степени. Если, например, Посн:Побр=А+КПК, где А - целая часть частного, то КПК - полином “j”-той степени. Информационное сообщение формируют в виде циклического кода, в котором за “2n” сигналами биимпульсных кодов Поcн передают “j” сигналов КПК.
Проверкой в декодере корректности циклического кода фиксируют наличие или отсутствие искажений информационного сообщения помехами в канале связи; если искажение не обнаружено, анализируют каждый биимпульсный код. Прием кодов "10" или "01" означает соответственно замкнутое или разомкнутое состояние датчика, а прием кодов "11" или "00" идентифицирует соответственно короткое замыкание и обрыв цепи связи датчика с кодером.
Таким образом, предложенным способом кодирования достигается, в отличие от известного, контроль работоспособности цепей связи кодера с датчиками дискретных сигналов и обнаружение искажений информационного сообщения помехами в канале связи кодера с декодером, что обеспечивает повышение достоверности информации по сравнению с известным способом.
Реализация предложенного способа кодирования иллюстрируется на фиг.1а...1г примерами временных диаграмм для “n” датчиков дискретных сигналов, а на фиг.2 - фрагментом схемы кодера.
На фиг.1а показаны сигналы генератора тактовых импульсов, которыми задают последовательность кодирования и передачи информационного сообщения. Состояние (положение) одного датчика дискретного сигнала преобразуют в код в двух смежных тактах - активных этапах кодирования, для кодирования состояния всех “n” датчиков используется “2n” тактов.
Известный способ кодирования иллюстрируется диаграммой фиг.1б. На каждом нечетном такте формируют первый сигнал биимпульсного кода, например, при замкнутом состояния датчика - сигнал “1”, а при разомкнутом - сигнал “0”. На каждом четном такте формируют второй сигнал биимпульсного кода, пассивно инвертируя сигналы, сформированные на нечетных тактах. В приведенном примере показаны сформированные по известному способу кодирования биимпульсные коды для замкнутого состояния первого, второго и “n”-го датчиков и разомкнутого состояния третьего и четвертого датчиков. Код информационного сообщения приобретает вид последовательности 1010010...10. Видно, что биимпульсные коды и все информационное сообщение в целом не видоизменяются, если, как показано на фиг.1в для примера, замкнется накоротко цепь связи кодера с первым датчиком или оборвется цепь связи с третьим датчиком. В результате информационное сообщение окажется недостоверным.
Предложенный способ кодирования нацелен на устранение указанного недостатка.
Фрагмент схемы кодера, который реализует предложенный способ кодирования, показан на фиг.2. Он включает узел 1 датчика “i”-гo дискретного сигнала. Датчик условно показан в виде контакта Di и включен последовательного с первым 2 диодом, а последовательная цепь из датчика и диода 2 включена параллельно последовательной цепочке из второго 3 диода и первого порогового элемента - стабилитрона 4. В кодере также используются второй 5 и третий 6 пороговые элементы - стабилитроны. Индивидуальные выходы “n” узлов датчиков, в том числе и Di, подключены к соответствующим информационным (1И...nИ) входам мультиплексора 7, который преобразует параллельные сигналы от датчиков в последовательные в соответствии с кодовыми сигналами, поданными на адресные (1А...mА) входы при подаче рабочего сигнала “0” на вход управления (У) мультиплексора (источники адресных сигналов и сигнала управления на фиг.2 не показаны). Благодаря симметричности каналов мультиплексора, он также выполняет функцию демультиплексора, т.е. передает сигнал с общего выхода (В) на выбранный адресными сигналами вход. Очевидно, что число адресных входов “m” равно ближайшему большему целому m=log n. Выходные сигналы 7 воспринимаются первым 8 усилителем. Сигналы управления и контроля цепей связи с датчиками формируются вторым 9, третьим 10, четвертым 12 и пятым 13 усилителями. Первый 13, второй 14, третий 15, четвертый 16 и пятый 17 резисторы фиксируют рабочие точки усилителей, а шестой 18, седьмой 19, восьмой 20, девятый 21 резисторы определяют рабочий ток усилителей. Десятый 22 и одиннадцатый 23 резисторы фиксируют уровни выходных сигналов усилителей 8 и 11. Временные интервалы кодирования и контроля задает генератор 24 тактовых импульсов (сигналы 24 приведены на фиг.1а). Распределитель 25 разделяет такты генератора на нечетные и четные. На нечетных тактах сигнал "1" образуется на первом, а на четных - на втором выходах 25. Сигналы 25 воспринимаются первым 26 и вторым 27 элементами И, элементом 28 ИСКЛЮЧАЮЩЕЕ ИЛИ и инвертором 29. Регистр 30 формирует выходные сигналы показанной части кодера и управляет триггером 31, который определяет сигнал контроля. Разделительный диод 32 изолирует цепи кодирования и контроля.
Рассмотрим работу приведенного фрагмента кодера, реализующего предложенный способ кодирования. На нечетном такте кодирования состояния датчика Di сигналом “1” с выхода 25 переводится в рабочее состояние усилитель 11. Рабочий ток 11 проходит по цепи: первый (ненулевой) выход источника питания “U” - параллельная цепь из резистора 14 и перехода эмиттер-база 11 - резистор 20 - выход 1 распределителя 25 - второй (нулевой) выход источника питания (на фиг.2 не показан). В результате образуется ток в выходной цепи 11. Выходной ток для приведенного на фиг.2 разомкнутого состояния датчика Di замыкается по цепи: “U” - переход эмиттер-коллектор 11 - резистор 23 - диод 32 - пороговый элемент 5 - параллельная цепь из резистора 17 и перехода база-эмиттер 8 - нулевой выход источника питания (“0”). Напряжение “U” выбирается большим порогового напряжения 5, поэтому ток замыкается через входную цепь 8. Ток во входной цепи приводит к появлению тока в выходной цепи 8, который замыкается через резистор 22. Так как падение напряжения на усилителе 8 значительно меньше, чем на резисторе 22, логический выходной сигнал 8 равен “0”. Если же контакт датчика Di замкнут, рабочий ток 11 замыкается по цепи: “U” - 11 - 23 - 32 - выход-вход “i” 7 - индивидуальный вход 1 - диод 2 - Di - общая шина датчиков - выход 12 - "0". Усилитель 12 оказывается в рабочем состоянии вместе с усилителем 11, так как выходной ток 11 проходит через 21 по входной цепи 12. Так как сумма падений напряжения на открытом канале “выход-вход “i” 7”, цепи связи кодера с датчиком Di (включая внутреннее сопротивление датчика) меньше порогового напряжения стабилитрона 5, усилитель 8 оказывается в нерабочем состоянии, ток по резистору 22 не протекает, а уровень выходного сигнала 8 равен “1”. Таким образом, на нечетном такте генератора 24 на выходе 8 формируется сигнал “1”, если опрашиваемый датчик замкнут, и сигнал “0”, если датчик разомкнут. На нечетных тактах генератора 24 на выходе 2 распределителя 25 образуется сигнал "0". Сигнал от 25 подается на один вход элемента 28, который при этом повторяет (не инвертирует) сигнал, поступающий на его второй вход. В результате на выход 28 и D-вход регистра проходит не инвертированный сигнал с выхода 8. Рабочий сигнал поступает на С-вход регистра с выхода инвертора 29, т.е. со сдвигом на полпериода сигнала генератора 24. В указанный момент сигнал от 8 заносится в регистр 30. Сигнал от 30 переносится в триггер 31 по фронту сигнала на С-входе триггера, т.е. в момент начала формирования четного такта генератора 25, когда сигнал “1” исчезает с выхода 1 и появляется на выходе 2 распределителя 25. Следовательно, если на нечетном такте зафиксировано замкнутое состояние датчика, в триггер 31 заносится сигнал “1”, в противном случае - сигнал “0”. В соответствии с предложенным способом кодирования при фиксации на нечетном такте замкнутого состояния датчика на нечетном должен проводится контроль отсутствия короткого замыкания цепи связи датчика с кодером.
Рассмотрим работу приведенного фрагмента кодера при контроле отсутствия короткого замыкания цепи связи с датчиком. Сигналом “1” на прямом выходе 31 переводится в рабочее состояние И 27, так как на его оба входа поданы сигналы “1”. Сигналом “1” от 27 переводится в рабочее состояние усилитель 10, а усилители 9, 11 и 12 оказываются в нерабочем состоянии. В результате замыкается цепь: “U” - выход 10 - пороговый элемент 6 - замкнутая общая и индивидуальная шины цепи связи с датчиком - вход-выход 7 - пороговый элемент 5 - вход усилителя 8 - “0”. В связи с коротким замыканием цепи связи кодера с датчиком из рассмотренной цепи исключается пороговый элемент 4, а сумма пороговых напряжений элементов 6 и 5 меньше величины “U”. На выходе усилителя 8, переведенного в рабочее состояние, образуется сигнал “0”. Так как в рассматриваемом интервале времени сигнал “1” сформирован на выходе 2 распределителя, на первый вход элемента 28 подан сигнал “1”, в результате чего он переведен в режим инвертирования сигналов, поступающих на его второй вход. В рассматриваемом случае на выходе 28 образуется сигнал “1”, т.е. второй сигнал биимпульсного кода, отображающего состояние датчика, равен, как и первый сигнал, “1”. Таким образом, кодер формирует биимпульсный код “11”, если цепь связи с датчиком закорочена. Если же на нечетном такте сформирован сигнал “1”, а цепь связи кодера с датчиком не закорочена, сигнал от 10 проходит по цепи: “U” - 10 - пороговый элемент 6 - общая шина датчиков - пороговый элемент 4 узла 1 опрашиваемого датчика - диод 3 - индивидуальный вход - общий выход 7 - пороговый элемент 5 - входная цепь 8. Как показано, в цепь последовательно включено три пороговых элемента, суммарное напряжение которых выше напряжения “U”, поэтому усилитель 8 оказывается в нерабочем состоянии, а сигнал на его выходе равен “1”. После инвертирования сигнала “1” элементом 28 на регистр 30 и на выход кодера подается сигнал “0”. В результате кодер при замкнутом состоянии датчика и исправной цепи связи с кодером формирует биимпульсный код “10”. Если на нечетном такте генератора 24 кодер формирует сигнал “0”, на четном такте проверяется отсутствие разрыва цепи связи кодера с датчиком. В этом случае фронтом сигнала “1” на выходе 2 распределителя 25 триггер 31 устанавливается в “0”. Сигнал “1” с инверсного выхода триггера через элемент И 26 переводит в рабочее состояние усилитель 9. Усилители 10, 11, 12 оказываются в нерабочем состоянии. Сигнал от 9 проходит по цепи: “U” - выход 9 - общая шина датчиков-пороговый элемент 4 узла 1 опрашиваемого датчика, диод 3 - индивидуальный выход узла датчика - индивидуальный вход - общий выход 7 - пороговый элемент 5 - вход усилителя 8 - “0”. В цепь последовательно включено не три, а два пороговых элемента 5 и 6, суммарное напряжение которых меньше напряжения “U”, поэтому усилитель 8 переводится в рабочее состояние. На выходе усилителя 8 образуется сигнал “0”, который инвертируется элементом 28. В результате на выходах 28, 30 и выходе кодера образуется сигнал “1”. Таким образом, при разомкнутом состоянии датчика и исправной цепи связи кодера с датчиком кодер формирует биимпульсный код “01”. Если же цепь связи кодера с датчиком разорвана, на четном такте генератора 24 ток во входной цепи усилителя 8 отсутствует, а кодер формирует биимпульсный код “00”. Показано, что кодером реализуется предложенный способ кодирования. Для формирования циклического кода информационного сообщения по предложенному способу кодирования могут использоваться стандартные схемы [2].
Таким образом, предложенный способ кодирования позволяет обнаружить искажения информации помехами в канале связи кодера с декодером, неисправность цепи связи кодера с датчиком, локализовать номер датчика и тип обнаруженной неисправности. В результате достигается повышение достоверности сформированного кода.
Источники информации
1. Митюшкин К.Г. Телеконтроль и телеуправление в энергосистемах. - М.: Энергоатомиздат, 1990. - С.116.
2. Пшеничников А.М., Портнов М.Л. Телемеханические системы на интегральных микросхемах. - М.: Энергия, 1977, - рис.5-11.
Способ кодирования информационных сообщений о состоянии датчиков дискретных сигналов, основанный на формировании кодером для каждого датчика дискретного сигнала биимпульсного кода для отображения замкнутого состояния и разомкнутого состояния датчика, отличающийся тем, что кодирование проводят на раздельных тактах, причем на нечетном такте для каждого датчика формируют сигнал “1” или “0” соответственно для замкнутого и разомкнутого состояния, а на четном такте сигналы формируют в зависимости от состояния цепи связи датчика с кодером так, что сигнал “0” на четном такте формируют в случае, если на нечетном такте для данного датчика был сформирован сигнал “1”, а в цепи связи датчика с кодером не обнаружена неисправность - короткое замыкание, а сигнал “1” на четном такте формируют, если обнаружено короткое замыкание цепи связи датчика с кодером, сигнал “1” на четном такте формируют в случае, если на нечетном такте для данного датчика был сформирован сигнал “0”, а в цепи связи датчика с кодером не обнаружена неисправность - разрыв, а сигнал “0” на четном такте формируют, если обнаружен разрыв цепи связи датчика с кодером, причем информационное сообщение, передаваемое в декодер, формируют в виде циклического кода из двух составляющих - биимпульсных кодов для всех датчиков и дополнительной контрольной последовательности кода, равной остатку от деления биимпульсных кодов для всех датчиков на образующий полином.