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

 
 
> Протокол внутрь драйвера или поверх драйвера?
inventor
сообщение Dec 29 2011, 17:26
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Сейчас разрабатываем устройтство на AVR32-я пишу внутреннюю прогу для него, вот такой вопрос, даже не знаю, в какой раздел мне его писать.
Устройство опрашивает 4 АЦП и кроме того должно писать данные на SD карту и делать еще кое-какие расчеты и обмениваться по UART и Ethernet.
В других устройствах мы использовали вот примерно такой протокол обмена RS485 -он очень хорошо работал-

запрос:
-первый байт адрес устроства
-второй команда и число след. байт в посылке
-посылка
-контрольная сумма CRC16

ответ-
-число байт
-посылка
-контрольная сумма CRC16

так как сейчас я решил это устройство делать с помошью этой небольшой оськи и у меня вот такой вопрос возник-все примеры этой оси предлагают уже написанный драйвер UART в котором все общение может вестись на уровне write / read.
Но мне это как бы совсем не нужно, все другие камни , которые я программировал, что там весь обмен идет на прерываниях по чтения и по записи,
и, соответственно ошибочные пакеты, неправильная контрольная сумма, не мой адрес и пр. -я просто отбрасываю и не вожусь с ними.
так как длина посылок разная-сначала идет прием IRQ UART , а после получения длинны посылки включаю ДМА чтобы принять все остальное.
Вобщем эта ось мне нужна, чтобы распределить обмен между запущенными процессами (ака задачи)-например
та же запись на карту.
и мне вот интересно спросить у знатоков, если писать обмен для этой OS так как делаю я-это правильно с точки зрения этой оси,
или все таки нужно писать драйвер, а потом в верхнем уровне протокола делать разбор всей этой байды-типа парсинга того что я принял.
И еще, мне это интересно, так как и для обработки прерываний от АЦП нужно будет то же решить, как все это по-правильному сделать.
Go to the top of the page
 
+Quote Post



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

 


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


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