реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> приемник/передатчик ARINC 429, ктонить делал?
klen
сообщение Nov 26 2008, 19:19
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



свалилось на мою голову перед новым годом ...
жеско объявлено - микросхемы интерфейсы ARINC 429 стоят дорого, поэтому и не мечтай.

требуется сделать сначала передатчик 48кбит/сек
потом такойже приемник

mega64, 14Мгц

приемник кроме слушания шины, должен фильтровать пакеты и зажигать светодиоды

это ваще можно сделать? а то я уже чуствую что без асма в преоываниях непролезет с такой скоростью ..
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 26 2008, 20:12
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(klen @ Nov 26 2008, 22:19) *
свалилось на мою голову перед новым годом ...
жеско объявлено - микросхемы интерфейсы ARINC 429 стоят дорого, поэтому и не мечтай.

требуется сделать сначала передатчик 48кбит/сек
потом такойже приемник

mega64, 14Мгц

приемник кроме слушания шины, должен фильтровать пакеты и зажигать светодиоды

это ваще можно сделать? а то я уже чуствую что без асма в преоываниях непролезет с такой скоростью ..

ARINC 429 - это ведь USART 32х битный?
Если так, то ничего особо сложного в такой скорости нет. С передачей никаких проблем нет вообще. А с приёмом должно получится. Минимальная частота опроса - в 4 раза выше, чем скороть передачи. Реально, лучше если в 8 раз будет. Посчитаем: 48*8=384 килогерца. При тактовой 14 Мгц - 36 тактов на бит. Если прерывание по таймеру сделать, то в нём в 20 тактов уложится надо - особых проблем я тут не вижу.
Или процессор кроме этого ещё к.л. задачей загружен будет? Если та задача жёсткого реалтайма требует, то проблеммы возникнут.
Go to the top of the page
 
+Quote Post
Alex128
сообщение Nov 26 2008, 20:41
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 19-11-08
Пользователь №: 41 761



Цитата(klen @ Nov 26 2008, 23:19) *
это ваще можно сделать? а то я уже чуствую что без асма в преоываниях непролезет с такой скоростью ..

Делал полудуплексный приемопередатчик, tiny12 (1,2MHz) smile.gif, скорость 10400, работает без проблем, но все "на пределе", без asm никак smile.gif , у Вас проще (отношение частоты тактирования к скорости передачи больше). Но почему речь о "софтовом" UART?
Go to the top of the page
 
+Quote Post
bloodden
сообщение Nov 26 2008, 22:47
Сообщение #4


Бывалый
***

Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853



Цитата(Alex128 @ Nov 26 2008, 22:41) *
Делал полудуплексный приемопередатчик, tiny12 (1,2MHz) smile.gif, скорость 10400, работает без проблем, но все "на пределе", без asm никак smile.gif , у Вас проще (отношение частоты тактирования к скорости передачи больше). Но почему речь о "софтовом" UART?

А никто про софтовый и не говорил. smile.gif


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 27 2008, 00:29
Сообщение #5


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(klen @ Nov 26 2008, 19:19) *
это ваще можно сделать? а то я уже чувствую что без асма в прерываниях не пролезет с такой скоростью

Не надо паниковать раньше времени. Сделать можно, и даже на си. Как сделать приём. Подключаете сигнал к ноге INT0 и для простоты ещё к какому-нибудь пину (можно и одной ногой обойтись). По приходу прерывания настраиваете таймер1 на инверсные 437 тактов (1,5*То), таймер1 работает от клоков проца. По прерыванию от таймера сдвигаете 32-битное слово, опрашиваете входную ногу, запоминаете принятый бит, затем настраиваете таймер на 292 (длительность бита То). Ну, про передачу и так понятно. По такому алгоритму у вас проц будет стоять 90% времени.

Единственная возможная проблема может возникнуть - стабильность частот прм-прд должна быть порядка 0,7%.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
war4one
сообщение Nov 27 2008, 05:04
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 16-07-05
Из: г. Уфа
Пользователь №: 6 851



Я применял микросхемы для ARINC 429 типа HI-8588 + HI-8585, там идет чисто электрическое согласование без мозгов (как в МАХ232, например), это вам тоже на рассыпухе надо делать?


--------------------
Электронные устройства Open Hardware
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 27 2008, 07:29
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(=GM= @ Nov 27 2008, 03:29) *
Не надо паниковать раньше времени. Сделать можно, и даже на си. Как сделать приём. Подключаете сигнал к ноге INT0 и для простоты ещё к какому-нибудь пину (можно и одной ногой обойтись). По приходу прерывания настраиваете таймер1 на инверсные 437 тактов (1,5*То), таймер1 работает от клоков проца. По прерыванию от таймера сдвигаете 32-битное слово, опрашиваете входную ногу, запоминаете принятый бит, затем настраиваете таймер на 292 (длительность бита То). Ну, про передачу и так понятно. По такому алгоритму у вас проц будет стоять 90% времени.

Единственная возможная проблема может возникнуть - стабильность частот прм-прд должна быть порядка 0,7%.

Вместо INT0 лучше использовать вход захвата 16-ти разрядного таймера. Тогда в программе можно будет прерывания запрещать, и это на приём влиять не будет. А потом этот-же вход опрашивать по тому-же таймеру. Но приёмник, выполненный таким способом (хоть INT0, хоть захват), будет иметь крайне плохую помехоустойчивость. Будет запускаться от короткой помехи, и при наличии помехи в середине принимаемого бита примет его неверно.

Если-уж экономить процессорное время и писать на C, то сигнал приёмника нужно на входы захватов обоих 16-ти разрядных таймеров завести (не помню как они у меги номеруются). Один настроить на передний, другой на задний фронт, прерывания разрешить от обоих. Запускать оба таймера нужно синхронно (железо позволяет), считать они должны тактовую частоту. При таком подключении без проблем можно весь сигнал восстановить при минимальных затратах процессорного времени. В т.ч. на C. Я таким образом сделал анализатор шины RS-485. Скорость, чётность, кол-во стоповых - всё на лету определялось. Байты потом восстанавливались. А здесь задача не в пример легче - формат уже известен.
В первом посте я имел ввиду, что даже просто по таймеру сделать можно. С мажоритарной проверкой каждого бита. В этом случае программа существенно проще. Если на асме, то 200 слов, не больше, и проще, чем на C. Но процессор загружать конечно сильнее будет, чем вариант с входами захвата таймеров.
Go to the top of the page
 
+Quote Post
klen
сообщение Nov 27 2008, 07:41
Сообщение #8


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



большое спасибо.
буду делать. технология понятна.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Nov 27 2008, 07:58
Сообщение #9


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(war4one @ Nov 27 2008, 08:04) *
Я применял микросхемы для ARINC 429 типа HI-8588 + HI-8585, там идет чисто электрическое согласование без мозгов (как в МАХ232, например), это вам тоже на рассыпухе надо делать?

А что, какие-то проблемы? Мы и на транзисторах делали, и на КМОП-ключах


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
klen
сообщение Nov 27 2008, 10:43
Сообщение #10


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(MrYuran @ Nov 27 2008, 10:58) *
А что, какие-то проблемы? Мы и на транзисторах делали, и на КМОП-ключах


физически интерфейс передатчика на двух мультиплексорах сделан которые крест-накрест комутируют +5/-5/0 на два выхода, я с авр буду на адресный вход гнать код сотояния шины. Кстате предатчик уже написал. но не испытывал - плату временно прощить нечем.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 27 2008, 12:58
Сообщение #11


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(galjoen @ Nov 27 2008, 07:29) *
Вместо INT0 лучше использовать вход захвата 16-ти разрядного таймера. Тогда в программе можно будет прерывания запрещать, и это на приём влиять не будет. А потом этот-же вход опрашивать по тому-же таймеру. Но приёмник, выполненный таким способом (хоть INT0, хоть захват), будет иметь крайне плохую помехоустойчивость. Будет запускаться от короткой помехи, и при наличии помехи в середине принимаемого бита примет его неверно.

Вход захвата ничем не лучше INT0. Челу не надо определять скорость, он её и так знает. К тому же, ресурсов проца потребуется больше.

Что касается помехоустойчивости rs232. Не хотелось бы затевать полемику, но, похоже, это становится общепринятым заблуждением, что якобы можно как-то улучшить устойчивость rs232 к помехам. Последовательный интерфейс rs232 НЕ помехоустойчив ПРИНЦИПИАЛЬНО, независимо от того, делаете вы трёхкратное мажорирование или нет. Да хоть согласованный фильтр ставьте.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
SS85
сообщение Nov 28 2008, 15:08
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 14-03-06
Пользователь №: 15 230



Случайно, ни у кого нет документации по ARINC 429 или по совектскому аналогу?
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 28 2008, 15:32
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(SS85 @ Nov 28 2008, 20:08) *
Случайно, ни у кого нет документации по ARINC 429 или по совектскому аналогу?

Гугль кучу информации и даташитов вываливает в ответ на ваш запрос
http://www.google.ru/search?q=ARINC+429
Go to the top of the page
 
+Quote Post
SS85
сообщение Nov 28 2008, 15:43
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 44
Регистрация: 14-03-06
Пользователь №: 15 230



Цитата(rezident @ Nov 28 2008, 19:32) *
Гугль кучу информации и даташитов вываливает в ответ на ваш запрос

Спасибоsmile.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 13:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.0146 секунд с 7
ELECTRONIX ©2004-2016