Авторы: Розенберг Ефим Наумович, Маршов Сергей Владимирович, Кисельгоф Геннадий Карпович, Пенькова Наталья Геннадьевна
Изобретение относится к автоматике и вычислительной технике. Технический результат заключается в повышении достоверности записи и считывания информации при использовании избыточного кодирования и снижении затрат аппаратных и программных ресурсов. Способ записи и считывания информации для устройств с электронной памятью, в котором при записи информации в электронную память используют избыточное кодирование, вначале размещают информацию по адресам, двоичное представление которых в электронной памяти получают поразрядным сложением по модулю два двоичного представления, заносимой по текущему адресу ответственной информации и формирующей маски, далее вместе со сформированными с ее помощью адресами формирующая маска используется в алгоритмах проверки как при первоначальном занесении информации в память, так и при последующих считываниях информации из памяти, а запись остальной информации осуществляют по адресам памяти, которые остались свободными после размещения ответственной информации. Устройство, реализующее данный способ. 1 ил.
Известны способ и реализующее его устройство обработки цифровой информации, базирующиеся на введении избыточности. В частности, в системах автоматики и телемеханики на железнодорожном транспорте получили широкое распространение дублирование ответственных элементов и блоков в целом при непрерывной проверке того, что одинаковые компоненты работают одинаково. Эта проверка осуществляется специальными безопасными схемами внешнего контроля, которые при обнаружении повторяющегося рассогласования в работе дублированных элементов и блоков запрещают их нормальную работу и фиксируют их в безопасном для остальной системы состоянии (RU 2000603, G06F 11/06, Н05К 10/00, 07.09.93). При этом дублирование может сочетаться с применением дополнительных комплектов для резервирования (Кравцов Ю.А. и др. Системы железнодорожной автоматики и телемеханики, М., Транспорт, 1996, с.123, рис.129). Схемы внешнего контроля из-за особых требований к изоляции, энергетической защищенности рабочих сигналов, а также требований отказоустойчивости хуже всего поддаются микроминиатюризации и их громоздкость и ненадежность быстро растет с увеличением числа их входов. Требуемое количество входов определяется задачей полного покрытия заданного множества возможных опасных отказов в контролируемых комплектах дублированных устройств. Под опасным отказом в системах автоматики и телемеханики на железнодорожном транспорте для цифровых устройств, которые принято описывать в виде моделей конечных автоматов, понимается не обнаруживаемый внешней контрольной схемой переход конечного автомата в запрещенное, по условиям безопасности движения поездов состояние. В частности, для счетчика осей железнодорожного состава, при определении занятости путевого участка методом подсчета осей опасным отказом является недосчет количества осей, так при этом путевой участок будет считаться свободным, в то время как он еще занят (В.В.Сапожников и др. «Методы построения безопасных микроэлектронных систем железнодорожной автоматики», М., Транспорт, 1995, с.28-31). Для уменьшения требуемого числа входов в контрольных схемах автоматы строят по принципу самопроверяемости, т.е. таким образом, чтобы при опасных трансформациях в их структуре контрольная схема была бы способна зафиксировать это по выходным сигналам на контрольных выходах автомата. Для этого, в частности, используются элементы памяти со структурной избыточностью. Требуемая для этого избыточность велика (SU 1480099, H03K 3/037, 15.05.89) и быстро растет при усложнении функции, выполняемой конечным автоматом (SU 1443166, H03K 21/40, 07.12.88). Однако рост избыточности из-за использования электронных элементов высокой степени интеграции оправдан по сравнению с использованием контрольных схем большой сложности. Но в конечном итоге структурная избыточность увеличивает стоимость и габариты систем. Поэтому для целей обеспечения высокой достоверности правильности функционирования и в случае, когда быстродействие аппаратуры имеет запас, наряду со структурной широко используется временная избыточность. Использование избыточного кодирования как в структуре, так и в информации приводит в конечном итоге к повышенному расходу памяти и снижению быстродействия.
Известны способ и реализующее его устройство повышения достоверности принимаемой (считываемой) информации, в которых о правильности информации судят путем сравнения (считывания) без избыточного кодового сигнала с его копиями, переданными (считанными несколько раз) (А.С.Переборов и др. Теоретические основы железнодорожной автоматики и телемеханики, М., Транспорт, 1984, с.216). Недостатком известного способа и реализующего его устройства является невозможность (при считывании информации из памяти) обнаружения ошибок, связанных с дефектами в аппаратуре. Например, это произойдет при считывании информации из одной и той же дефектной ячейки памяти. При считывании же повторяющейся информации из разных ячеек памяти возрастает аппаратурная избыточность.
Наиболее близким по своей технической сущности и достигаемому результату является выбранный в качестве прототипа, способ повышения достоверности принимаемой (считываемой) ответственной информации, при котором о правильности информации судят путем сравнения с избыточной информацией, связанной с основной информацией (Устинский А.А. и др. Автоматика, телемеханика и связь на железнодорожном транспорте М., Транспорт 1985, с.60-65). В известном способе к каждой кодовой посылке к информационной ее части добавляется проверочная часть.
Недостатком известного способа при использовании его для записи и считывания информации из электронной памяти является то, что увеличение разрядности за счет проверочных символов приводит к повышенному расходу памяти. Также при применении кодовых сигналов с информационной избыточностью увеличивается время их обработки и усложняется аппаратура и программное обеспечение для кодирования и декодирования.
Предлагаемое изобретение направлено на достижение технического результата, заключающегося в повышении достоверности записи и считывания информации при использовании избыточного кодирования и снижении затрат аппаратных и программных ресурсов.
В части способа технический результат достигается тем что, в способе записи и считывания информации для устройств с электронной памятью, в котором при записи информации в электронную память используют избыточное кодирование, согласно изобретению при записи информации в электронную память вначале размещают информацию по адресам, двоичное представление которых в электронной памяти получают поразрядным сложением по модулю два двоичного представления, заносимой по текущему адресу информации и формирующей маски, далее вместе со сформированными с ее помощью адресами формирующая маска используется в алгоритмах проверки как при первоначальном занесении информации в память, так и при последующих считываниях информации из памяти, а запись остальной информации осуществляют по адресам памяти, которые остались свободными после размещения информации.
Такой способ записи и считывания информации существенно сокращает аппаратную и временную избыточность, требуемую для достижения заданной достоверности, при занесении и считывании из электронной памяти информации, так как проверочная информация не добавляется к основной, а содержится в адресе, по которому в электронной памяти размещается основная информация. Одновременно упрощается написание и уменьшается размер фрагментов подпрограмм обращения к памяти, так как проверка сводится к простому сложению адреса с информацией, записанной по этому адресу, и проверки совпадения результата с предопределенной маской. Простота написания программы и малый объем требуемого кода обеспечивают дальнейшее повышение достоверности контроля и надежности в целом.
При решении задач безопасности программного обеспечения в качестве информации, кроме данных, могут также выступать любые фрагменты кода, хранимого в постоянной или оперативной памяти цифровых устройств.
В части устройства технический результат достигается тем, что в устройство для записи и считывания информации, содержащее ПЭВМ, первый выход которой соединен с входом управления чтением и записью блока памяти, первые порты обмена данными ПЭВМ и блока памяти соединены между собой, согласно изобретению введены блок формирования результирующих адресов размещения ответственной информации, блок сопряжения и инвертор, при этом первый выходной порт ПЭВМ соединен с первым входным портом блока формирования результирующих адресов размещения ответственной информации и с первым входным портом блока сопряжения, второй выходной порт ПЭВМ соединен со вторым входным портом блока формирования результирующих адресов размещения ответственной информации, второй выход ПЭВМ соединен с входом разрешения блока сопряжения и инвертором, выход которого подключен к входу разрешения блока формирования результирующих адресов размещения ответственной информации, выходной порт которого соединен с выходным портом блока сопряжения, входным портом блока памяти и первым входным портом ПЭВМ.
В памяти ПЭВМ размещены файлы с исходной информацией, первый из которых содержит исходную цифровую модель путевого развития железнодорожных станций и перегонов, второй содержит координаты важных с точки зрения безопасности движения поездов, объектов и ассоциированные с этими объектами символические имена, а третий файл содержит те же упомянутые символические имена и ассоциированные с ними контрольные адреса, полученные суммированием по модулю два данных о координатах из второго файла с двоичными масками, находящимися в третьем файле.
На чертеже приведен пример структурной схемы устройства, реализующего способ записи и считывания информации для устройств с электронной памятью.
Это устройство предназначено для создания цифровых моделей путевого развития железнодорожных станций и перегонов. Такие модели составляются на основе электронных карт, полученных сканированием со спутников, или же с помощью записывающих устройств, размещенных на локомотивах. Далее цифровые модели путевого развития железнодорожных станций и перегонов могут быть использованы в устройствах управления движением поездов с добавлением необходимой проверочной информации для обеспечения требуемого уровня достоверности контроля.
Устройство для записи и считывания информации содержит персональную электронную вычислительную машину (ПЭВМ) 1, первый выход 6 которой соединен с входом 7 управления чтением и записью блока 2 памяти, первые порты (8 и 9) обмена данными ПЭВМ 1 и блока 2 памяти соединены между собой, первый выходной порт 10 ПЭВМ соединен с первым входным портом 11 блока 3 формирования результирующих адресов размещения ответственной информации и с первым входным портом 12 блока 4 сопряжения, второй выходной порт 13 ПЭВМ 1 соединен со вторым входным портом 14 блока 3 формирования результирующих адресов размещения ответственной информации, второй выход 15 ПЭВМ 1 соединен с входом 16 разрешения блока 4 сопряжения и инвертором 5, выход которого подключен к входу 17 разрешения блока 2 формирования результирующих адресов размещения ответственной информации, выходной порт 18 которого соединен с выходным портом 19 блока сопряжения, входным портом 20 блока 2 памяти и первым входным портом 21 ПЭВМ 1.
Способ записи и считывания информации реализуется следующим образом. Управление записью и считыванием информации из блока памяти 2 результирующей цифровой модели путевого развития железнодорожных станций и перегонов осуществляет оператор, использующий для этого ПЭВМ 1. Обмен данными при записи и считывании информации между ПЭВМ 1 и блоком 2 памяти происходит по шине, соединяющей их порты 8 и 9. Вначале оператор программирует ответственную информацию. При этом он использует приготовленные заранее второй и третий файлы. Второй файл содержит координаты важных с точки зрения безопасности движения поездов объектов и ассоциированные с этими объектами символические имена. Третий файл содержит те же упомянутые символические имена и ассоциированные с ними контрольные адреса, полученные суммированием по модулю два данных о координатах из второго файла с двоичными масками, также находящимися в данном третьем файле. В частном случае маска численно может быть равна 0 и тогда значения двоичных разрядов адреса будут равны значениям в старших значащих разрядах двоичного кода заносимой в память ответственной информации. Маски, не равные 0, нужны при недостаточном количестве различающихся адресов, получаемых простейшим способом, для размещения всей ответственной информации, а также при ненулевом начальном адресе памяти или необходимости более сложных методов проверки считываемой информации, чем простая проверка сложением по модулю два. Ассоциированные с данными и контрольными адресами символические имена нужны далее для упрощения и исключения ошибок в работе программистов (include файлы). Программисты используют данные из блока памяти 2 результирующей цифровой модели путевого развития железнодорожных станций и перегонов при создании программ управления движением поездов и др. При занесении информации в блок 2 памяти оператор передает имена упомянутых двух файлов в качестве параметров при запуске на исполнение программы занесения в память ответственной информации. При этом от выходного порта 10 ПЭВМ 1 на первый входной порт 11 блока 3 формирования результирующих адресов поступают наиболее значимые разряды ответственной информации, а на второй входной порт 14 этого же блока 3 поступают двоичные коды масок. От второго выхода 15 ПЭВМ 1 через инвертор 5 на вход 17 разрешения блока 3 поступает сигнал, разрешающий его работу. В это же время на вход 16 блока 4 сопряжения подается запрещающий сигнал и его выходной порт 19 находится в отключенном состоянии. Блок 3 путем сложения по модулю два своих входных сигналов формирует на своем выходном порте 18 двоичный код адреса для записи ответственной информации. Управляющая программа заносит по этому адресу в блок 2 памяти соответствующие данные из второго файла. Соответствие адреса и информации по этому адресу определяется тем, что они ассоциированы с символическим именем одного и того же объекта, например, названием конкретного светофора на плане станции. Заносимые в блок 2 памяти данные проходят через первый порт 8 обмена данными ПЭВМ 1 и далее поступают в блок 2 памяти через его первый порт 9 обмена данными. После такта записи, который ПЭВМ 1 формирует на своем первом выходе 6, ПЭВМ 1 формирует на этом же выходе такт чтения из блока 2 памяти для проверки того, что данные записались правильно и по правильному адресу. В режиме чтения из памяти двоичный код адреса, вырабатываемый блоком 3, ПЭВМ 1 считывает через свой первый входной порт 21, а данные, записанные в блок памяти 2 по этому адресу, ПЭВМ 1 читает через свой первый порт 8 обмена данными. Управляющая программа проверяет соответствие считанных адреса и данных контрольным адресам из третьего файла и соответствующей информации из второго файла и отображает статус процесса программирования на дисплее ПЭВМ 1. При успешном завершении размещения ответственной информации оператор запускает на исполнение программу занесения остальной информации, передавая ей имя первого файла и третьего файлов, в качестве параметров. Эта программа обходит адреса, которые были выделены для записи ответственной информации. Программа устанавливает на втором выходе 15 ПЭВМ 1 сигнал, который через инвертор 5 по входу 17 запрещает работу блока 3. При этом выходной порт 18 блока 3 находится в отключенном состоянии. В это же время на вход 16 блока 4 сопряжения подается разрешающий сигнал. При программировании обычных данных программа в ПЭВМ 1 выбранные значения адресов передает через блок 4 сопряжения на входной порт 20 блока 2 памяти результирующей цифровой модели путевого развития железнодорожных станций и перегонов. Данные передаются из первого файла через первый порт 8 обмена данными ПЭВМ 1 в блок 2 памяти, через его первый порт 9 обмена данными. Контроль правильности записанной информации может производиться сопоставлением записанной и исходной информации из первого файла.
Предлагаемый способ и реализующее его устройство позволяют достичь требуемых уровней достоверности информации, считываемой из памяти электронных цифровых устройств, при меньших по сравнению с известными техническими решениями затратах аппаратных и программных ресурсов, поскольку избыточная информация совмещена с адресной информацией и не занимает дополнительных разрядов рабочей области памяти. Процедура проверки правильности записи и считывания ответственной информации проста для программирования и заключается (как вариант) в проверке равенства нулю суммы по модулю два двоичных чисел адреса, записанной по этому адресу информации, в пределах разрядности шины адреса (остальные разряды надо перед сложением по модулю два обнулить) и проверочной маски.