Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [avr] Протокол передачи данных 
:(
    Опции темы
ProgramerForever
  Дата 27.3.2010, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 15.11.2006
Где: Новосибирск

Репутация: нет
Всего: 5



Доброго времени суток.
Пишу диплом: делаю осциллогрфическую приставку к ПК.

Уже сделал один луч, написал программку для отображения. Данные передаются по USART.

Но хотелось бы использовать больше каналов АЦП. (Для Atmega8L в DIP корпусе - 6 каналов. В TQFP корпусе - 8 каналов ).
Возник вопрос: "Как передать данные для N каналов?"
Думаю делать так:
Код

Передать данные с 1го канала;
Передать данные со 2го канала;
...
Передать данные с Nго канала;

Передать контрольную последовательность (например "NewFrame")

Но вот при малой длинне последовательности (2 символа, например), вероятность ошибки равна (1/((N+Длина_последовательности)*(255^2))). При скорости передачи 115000 - это ошибка каждые несколько секунд.
Правда при 4 символах ошибка произойдёт только раз в несколько суток.
Но, всё равно, неохота передавать лишние символы.
Может есть другое решение?
PM MAIL WWW ICQ   Вверх
Mazzi
Дата 27.3.2010, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



Другого нет. Во избежание получения недостоверной информации используют протоколы, которые содержат дополнительные служебные данные.


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
ManiaK
Дата 30.3.2010, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 2
Всего: 29



Цитата(Mazzi @  27.3.2010,  13:58 Найти цитируемый пост)
которые содержат дополнительные служебные данные.

Чтобы было проще найти инфу по этим служебных данным, назову название механизма: "избыточное кодирование", Копайте, ProgramerForever, тема простая и в инете освещена достаточно smile 
PM MAIL WWW   Вверх
cardinal
Дата 30.3.2010, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Цитата(Mazzi @  27.3.2010,  11:58 Найти цитируемый пост)
которые содержат дополнительные служебные данные. 

checksum добавь например...

И вообще лучше делать запрос, получать ответ, запрос ответ... (по крайней мере с помощью терминала отладить можно будет)


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
ProgramerForever
  Дата 30.3.2010, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 15.11.2006
Где: Новосибирск

Репутация: нет
Всего: 5



Цитата(cardinal @  30.3.2010,  13:27 Найти цитируемый пост)
И вообще лучше делать запрос, получать ответ, запрос ответ...

МК естественно с ПК будет общаться, но для каждого преобразования делать запрос  smile - не хватит скорости. (хотя, если не гнаться за частотой дискретизации, это тоже идея)
На скорости 57600 выходит 7200 8битных посылок. Ну, а если 2 канала (и +4 байта для разграничения), то получается по 1200 символов в секунду, т.е. максимальная частота входного сигнала - 600 Гц. Что очень мало.
Сегодня или завтра поговорю с преподавателем, может быть буду делать на другом контроллере.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.1195 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.