СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть

СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть (https://scbist.com/)
-   Классические релейные системы ЭЦ, АБ и ПАБ (https://scbist.com/klassicheskie-releinye-sistemy-ec-ab-i-pab/)
-   -   Дешифратор АБ (https://scbist.com/klassicheskie-releinye-sistemy-ec-ab-i-pab/30016-deshifrator-ab.html)

Никита Каширихин 6112 01.12.2013 15:26

Дешифратор АБ
 
Здравствуйте. Делаю на диплом лабораторный стенд АБ. Две сигнальные точки будут на реле-как показательные и на них можно будет выполнять лабораторные работы.Суть проблемы:РШ решил собрать на микроконтроллере AVR. Алгоритм КПТШ с горем пополам написан. Помогите написать прошивку под дешифратор кодов...

Rafa 01.12.2013 15:42

Цитата:

Помогите написать прошивку под дешифратор кодов...

У меня есть прошивка дешифратора на ATtiny 13A
Дешифратор может принимать и посылать коды в смежную РЦ, а также включать соответствующее показание на светофоре.
Сигнализация четырехзначная.
......................................
Цена программы 100 $

Никита Каширихин 6112 01.12.2013 16:09

Спасибо за предложение,хочу сам написать...

Admin 01.12.2013 16:10

Цитата:

Цена программы 100 $
предложи нииасу. мож внедрят

Rafa 01.12.2013 16:15

Цитата:

предложи нииасу. мож внедрят

это же в одноканальном варианте, без учета функциональной безопасности.

для макета в самый раз.

Rafa 02.12.2013 00:47

Цитата:

Сообщение от Admin (Сообщение 181224)
предложи нииасу. мож внедрят

Уже предложил :oiE:

Просто инженер АиТ 02.12.2013 09:20

Сделать дешифратор, работающий на столе, когда коды идут идеальные нет проблем! И алгоритм простейший. Где-то у меня был такой. И программа, которая умела формировать коды с искажениями тоже была, нужна была, когда сами делали дешифратор, но принцип дешифрирования был основан на взаимной корреляции кода - принцип хороший, применяется во многих областях техники. Но и он тоже не панацея, скажу просто коды слишком похожи друг на друга.

Просто инженер АиТ добавил 02.12.2013 в 10:20
Программировать микроконтроллер AVR одно удовольствие, программу можно писать на С++ и отладчик неплохой. Удачи Вам!

Rafa 02.12.2013 15:59

Цитата:

С++ и отладчик неплохой. Удачи Вам!

с++ полная хрень. засира...ет память в несколько раз больше чем прогр. на асембл.

Я за асемблер.

Просто инженер АиТ 02.12.2013 16:21

Цитата:

с++ полная хрень. засира...ет память в несколько раз больше чем прогр. на асембл.
Я за асемблер.
:laduh:
Программист - это не тот кто знает как кодировать алгоритм, а тот кто правильно умеет выбрать язык программирования для конкретной задачи. Хорошо бы знать несколько языков программирования (и не только программирования).
Вначале, когда только микропроцессоры (Intel8080) приходили на ж.д. в основном писали на ассемблере (макроассемблере) (КГМ-РИИЖТ), долго, мужественно и мучительно и это было оправдано (за то как писали! Решали систему дифференциальных уравнений в реальном времени на 80 процессоре, делали собственные ОС реального времени, сами писали трансляторы и компоновщики) были очень маленькие ресурсы (память, производительность), но сейчас другое дело!
Попробуйте сделать эксперимент. Напишите одну и ту же маленькую задачу (хотя бы 2000 СИшных строк) на ассемблере и С, сравните размер кода и время написания (хорошо яичко к христову дню). Реальному программисту приходится быть не художником, а ремесленником!
Плохо писать программное обеспечение можно на любом языке!

Rafa 02.12.2013 16:36

в си хорошо создавать интерфейс пользователя---- тобесть АРМ оператора

Просто инженер АиТ 03.12.2013 09:28

"С" подходит для написания большого круга программного обеспечения. Как-то мы создавали "Надтональный модем", часть обрабатывалась Программируемой Логической Матрицей (большое быстродействие, возможность параллельной обработки) (можно сказать ПЛМ была сопроцессором), другая часть процессором (Zilog (Z8F6423)). Первоначально ПО делалось на ассемблере (2года)(большое время написания, большие сложности отладки). Затем потребовалось переписать полностью ПО и мне пришлось его переписывать (я не был разработчиком ПО на ассемблере), я решил сделать ПО на "С" (классический "С") - 2 месяца!, хотя многие утверждали, что для ПО на "С" не хватить быстродействия процессора и ОЗУ.
"С" - замечательный язык, кроме того, там где требуется большое быстродействие (например, обработчик прерывания), без проблем можно сделать ассемблерную вставку прямо в "С" исходнике. "С++" - еще более интересный, но тут надо поменять подход к программированию.
Многие ОС написаны на "С" (Linux, QNX).
Всего Вам доброго и удачи!

Просто инженер АиТ добавил 03.12.2013 в 10:28
Цитата:

Алгоритм КПТШ с горем пополам написан.
Есть два основных подхода к программированию:
- от алгоритма (классический, общепринятый),
- от данных.
Если правильно структурировать данные, то может получится очень простой алгоритм. Например. для КПТШ делаем таблицу изменения состояния с установлением времени изменения. На прерывании от таймера проверяем пришло ли время изменения, если да, то меняем состояние выхода (Out^=0x01;), сбрасываем счетчик времени и увеличиваем индекс (++Index%=N; где N - количество состояний кода) чтения таблицы. Примерно так. Программа получается на три страницы (одна на таблицу, другая на программирование таймера
struct StCode { // Структура задания Кода.
unsigned short Green[6];
unsigned short Yellow[4];
unsigned short Red[2];
};
// Задание кода для КПТШ 5/8
StCode KPTSH59 = { {350, 120, 220, 120, 570}, // Код З
{380, 120, 380, 720}, // Код Ж
{230, 570}, }; // Код КЖ

// Старт ПО.
void main ()
{
SetIntTime (): // Программирование Таймера.
for ( ; ; ); // Бесконечный цикл.
}
viod SetIntTime ()
{
// Программирование Таймера на Прерывания 1 мс.
... // Зависит от CPU.
}, третья на обработчик).:smile_24:
Вообще-то может и страницы хватить.
Удачи.

Кабанбай Батыр 03.12.2013 10:59

Цитата:

Сообщение от Никита Каширихин 6112 (Сообщение 181209)
Здравствуйте. Делаю на диплом лабораторный стенд АБ. Две сигнальные точки будут на реле-как показательные и на них можно будет выполнять лабораторные работы.Суть проблемы:РШ решил собрать на микроконтроллере AVR. Алгоритм КПТШ с горем пополам написан. Помогите написать прошивку под дешифратор кодов...

Вначале пути необходимо определиться с перечнем входных и выходных сигналов.
После того как составите таблицу, необходимо согласовать с руководителем диплома, т.к. возможно, Вы не до конца понимаете суть стенда.
А вот алгоритм дешифратора кода, возможно, и не надо будет писать вообще. :oiE:

Если же интересует работа дешифратора, то советую изучить это и это:
http://scbist.com/scb/uploaded/1469_1386057546.png

Просто инженер АиТ 03.12.2013 11:10

Способов дешифрирования достаточно много. Действительно можно просто программно повторить схемное решение дешифратора со всеми релюхами (самое важное выдержать временные параметры) - пробовал, не плохо работает даже при достаточно больших искажениях кода.

Rafa 03.12.2013 11:12

Цитата:

Сообщение от Александр Михайлович (Сообщение 181575)
начале пути необходимо определиться с перечнем входных и выходных сигналов.
После того как составите таблицу, необходимо согласовать с руководителем диплома, т.к. возможно, Вы не до конца понимаете суть стенда.
А вот алгоритм дешифратора кода, возможно, и не надо будет писать вообще.

Бред.

Кабанбай Батыр 03.12.2013 11:29



Часовой пояс GMT +3, время: 02:39.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot


Яндекс.Метрика