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

 
 
> Arinc429 на Atmega16, реально ли?
AlexandrB
сообщение Jan 14 2013, 06:13
Сообщение #1





Группа: Участник
Сообщений: 7
Регистрация: 14-01-13
Пользователь №: 75 185



Здравствуйте, есть задачка организовать приемо\передатчик протокола arinc 429 на МК (скорее всего будет задействована ATmega16 на 16Мгц), общение с ПК будет через USB на FT232, прием с шины аринка будет организован с помощью ттл микросхем которые будут преобразовывать 3х уровневый сигнал аринка в сигналы 0-5В, частота 48кГц(погрешность 5%).
Основной вопрос будет ли успевать все работать, так как прием\передача будут идти паралельно ?
Пытался ли кто нибудь делать такое на МК ?
Буду благодарен всем кто поможет советом sm.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RabidRabbit
сообщение Jan 18 2013, 05:45
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Ну сами посчитайте 16 000 000 / 2 500 000 = 6.4 тактов за период, что Вы успеете сделать за это время? По-моему этого не хватит даже чтобы просто войти в прерывание и сделать reti sm.gif Я Вам предлагаю по приёму очередного бита (прерывание от INT0 или INT1) запускать таймер, прерывание от которого будет больше длительности интервала между битами (на сколько, это Ваше решение). Это самое прерывание будет Вам сигнализировать, что поток битов нарушен, а программа уже решит, это признак паузы между посылками (если приняли все 32 бита) или сбой в посылке. UART с обоих сторон подцепите к кольцевым буферам, например. Расскажите лучше, как у Вас организована схема выдачи битов в аринк, также, как приём (две линии, для 0 и для 1), или три линии (+, -, 0)? То, что всё будет в прерываниях - на мой взгляд не страшно, научитесь писать лаконичный и скорострельный код sm.gif А мэйн-луп при этом может мигать светодиодом, к примеру sm.gif
Ну или примените алгоритм, который предложил Сергей Борщ - вполне приятное решение, единственно, в нём меня смущает жёсткое задание скорости опроса входящих битов, хотя наверно при 32 битах и 5% может всё будет в порядке.
Go to the top of the page
 
+Quote Post
AlexandrB
сообщение Jan 18 2013, 07:46
Сообщение #3





Группа: Участник
Сообщений: 7
Регистрация: 14-01-13
Пользователь №: 75 185



RabidRabbit Не совсем понимаю ваш вариант, т.е. он просто фиксирует превышение заданного периода посылки битов ? А что если придут несколько коротких помех за один полупериод, ониже зафиксируются как биты ?
Посылка в аринк двумя линиям для 0 и 1, дальше железом преобразуется.
Насчет варианта который дал Сергей Борщ - у меня теже сомнения что жесткое задание скорости в конечном счете даст сбой.
Можно попробовать так: прерывания по положительному фронту INT0, INT1 запускают таймер, который проверяет состояние ножек в середине положительного полупериода и в середине отрицательного полупериода. т.е. получается сначала прерываемся на 1\4 периода, потом 1\2 периода и дальше если не сработали INT0 или INT1 то считаем по 1\2 периода и решаем пауза это или разрыв.

Сообщение отредактировал AlexandrB - Jan 18 2013, 07:50
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AlexandrB   Arinc429 на Atmega16   Jan 14 2013, 06:13
- - RabidRabbit   Ну примерно прикиньте: если один бит за 1/48000 се...   Jan 14 2013, 09:14
|- - AlexandrB   Цитата(RabidRabbit @ Jan 14 2013, 13:14) ...   Jan 15 2013, 13:29
- - Сергей Борщ   Один таймер генерит единственные прерывания с част...   Jan 15 2013, 14:14
- - rx3apf   Не вникая в подробности протокола, могу тем не мен...   Jan 15 2013, 15:32
- - RabidRabbit   Если скорость UART будет 115200 - то всё успеете. ...   Jan 15 2013, 17:51
|- - S17   Делал на ADSP2185 (в ту пору сигнальный процессор,...   Jan 16 2013, 10:17
- - AlexandrB   Оцените такой вариант: Прием из аринка - Прерывани...   Jan 17 2013, 10:09
|- - Сергей Борщ   QUOTE (AlexandrB @ Jan 18 2013, 09:46) На...   Jan 18 2013, 09:10
||- - RabidRabbit   Цитата(Сергей Борщ @ Jan 18 2013, 13:10) ...   Jan 21 2013, 05:37
|- - RabidRabbit   Цитата(AlexandrB @ Jan 18 2013, 11:46) Ra...   Jan 18 2013, 12:27
- - Hmm   Делал когда-то ... Приёмопередатчики с линии от ...   Jan 18 2013, 13:42


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 19:50
Рейтинг@Mail.ru


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