Например TDA7294

Форум РадиоКот • Просмотр темы - Вытесняющая многозадачная ОС. Практика AVR
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Вт янв 21, 2020 19:47:30

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 209 ]     ... , , , 9, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 12:01:25 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 35
Рейтинг сообщений: 283
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2069
Рейтинг сообщения: 0
Если хочется быстроты опроса датчиков, их можно вообще повесить на отдельные пины целого порта и опрашивать одновременно. Вот вам и быстродействие и одновременность.

Мало того, что данный подход требует синхронизации датчиков, так он еще будет конфликтовать с парадигмой мультизадачности. С точки зрения мультизадачности, опрос датчика, показания которого принимают только значения 0/1 не нужен, так как достаточно обработать прерывание по переднему или заднему фронту. То же самое относится и датчику, передающему информацию путем длительности одного или нескольких импульсов. А уж по прерыванию, раз мы получаем его от порта, а не от пина, у нас нет иного варианта, кроме как считывать весь порт и проверять все пины, для которых разрешено прерывание.

ARV писал(а):
но хочется ознакомиться с иными подходами и мнениями

Я вообще-то уже описывал свой подход выше. По прерыванию фиксируем передний и/или задний фронт на порту. Для каждого пина, состояние которого изменилось, формируем сообщение с маркером времени в кольцевом буфере сообщений. При необходимости, можно иметь два кольцевых буфера - высокоприоритетный и низкоприоритетный. То бишь:
4. Опрос датчиков не производится. События от датчиков фиксируются по прерыванию, и обрабатываются фоновым процессом в порядке их поступления (FIFO).

Отдельная история с устранением дребезга. С одной стороны, минимальное устранение дребезга при обработке по прерыванию уже есть, так как сначала смена уровня вызывает прерывание, а потом в прерывании мы повторно считываем уровень, для того, чтобы понять, на каких пинах прерывание возникло. С другой стороны, логика устранения дребезга может потребовать дополнительных чтений из порта.
Тут я вижу два пути решения:
1. Устранять дребезг аппаратным путем, благо NE555 стоит очень дешево (от 1 рубля).
2. В прерывании по таймеру предусмотреть вызов обработчика прерывания порта (можно и отдельной функцией оформить) при необходимости повторного чтения данных с порта.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 12:05:46 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 83
Рейтинг сообщений: 1537
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 14457
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
стоп-стоп-стоп! вы забыли, что датчик - это DS18x20 - не опрашивать его нельзя. соответственно, никаких прерываний по фронтам и т.п.
это выход релейный...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 12:23:46 
Вымогатель припоя

Карма: 7
Рейтинг сообщений: 118
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 640
Рейтинг сообщения: 0
это выход релейный...

?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 12:35:20 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 83
Рейтинг сообщений: 1537
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 14457
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
:dont_know:

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


Вернуться наверх
 
Контроль в спящем режиме: повышение КПД батарейного питания с помощью DC/DC MAX17225 nanoPower

В статье описан практический опыт разработчика, применившего повышающий DC/DC-преобразователь MAX17225. В результате ряда практических экспериментов, потребовавших существенного обновления технической базы компании-разработчика, автор убедительно доказывает преимущества выбранного компонента и схемотехнической реализации. Увеличенное на 50% время автономной работы лучше других аргументов говорит об эффективности конвертеров MAX17225, а также о важности предварительной оценки элементной базы.

Читать статьи>>
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 12:47:20 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 35
Рейтинг сообщений: 283
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2069
Рейтинг сообщения: 0
"очередь" отложенных действий

Чаще, такой механизм делается иначе. В динамически формируемый список помещается сообщение и время, после достижений которого следует это сообщение обработать. При каждом помещении в этот список и при каждом извлечении из этого списка, он сортируется в порядке увеличения этого времени. Таким образом, обработчику этого списка достаточно проверять время только верхнего в списке сообщения, для того, чтобы понять, надо ли вообще обрабатывать сообщения в этом списке и когда нужно заглянуть в этот список очередной раз.

Цитата:
датчик - это DS18x20

На макро уровне его, конечно, опрашиваем, но все равно ведь инициируем этот опрос по прерыванию от таймера. Например, во время просмотра того списка отложенных сообщений, который я описал выше. Ответ, после завершения его обработки так же попадет в наш кольцевой буфер сообщений и будет обработан в фоне. На основании этой обработки ответа принимается решение о времени нового опроса этого датчика (чем больше модуль производной, тем меньше промежутки между опросами).


Вернуться наверх
 
Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 12:55:25 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 83
Рейтинг сообщений: 1537
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 14457
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
извините, но я вынужден немного поофтопить.

вот я задаю вопрос: концептуально датчики как опрашивать по отношению к обработке? а мне отвечают, что угодно, но не на этот вопрос! просто обидно становится, что не мою проблему помогают мне решить, а рассказывают о собственных достижениях! да я не против, что у вас была практика и почище моих игр, но мне-то это как поможет?

ПростоНуб писал(а):
но все равно ведь инициируем этот опрос по прерыванию от таймера
как я уже писал - это один из подходов. лучший ли он? я колеблюсь...
ПростоНуб писал(а):
Чаще, такой механизм делается иначе.
я не спорю, вариантов много. ваш мне кажется более сложным: сортировки, время... а преимуществ дает не так уж и много. в состоянии Idle все равно, что делать: или время опрашивать, или функции вызывать...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 14:27:25 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 35
Рейтинг сообщений: 283
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2069
Рейтинг сообщения: 0
ПростоНуб писал(а):
но все равно ведь инициируем этот опрос по прерыванию от таймера
как я уже писал - это один из подходов. лучший ли он? я колеблюсь...

А лучший или худший можете понять только Вы сами. Потому что никто кроме Вас не знаком со всеми критериями оценки, которые Вы используете для того, чтобы определить что лучше, а что хуже. Я могу только предложить что-то, но никак не смогу доказать, что для Вас и Вашего проекта - это оптимальный вариант.

ARV писал(а):
ПростоНуб писал(а):
Чаще, такой механизм делается иначе.
я не спорю, вариантов много. ваш мне кажется более сложным: сортировки, время... а преимуществ дает не так уж и много. в состоянии Idle все равно, что делать: или время опрашивать, или функции вызывать...

Я не сталкивался с такими случаями, когда все равно, CPU что-то считает или висит в режиме минимального потребления с включенными таймерами, ожидая прерывания. Чем меньше нагрузка на любой компонент, включая CPU, тем дольше этот компонент прослужит и меньше энергии съест. Это даже безотносительно к тому, что любая ОС должна оптимизировать потребление ресурсов системы, а не сама их все пожирать )


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 14:34:30 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 83
Рейтинг сообщений: 1537
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 14457
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ПростоНуб писал(а):
А лучший или худший можете понять только Вы сами. Потому что никто кроме Вас не знаком со всеми критериями оценки, которые Вы используете для того, чтобы определить что лучше, а что хуже.
я потому и спрашиваю стороннее мнение, что сам не могу четко сформулировать критерии. вот мне кажется, лучший способ - это в фоне собирать результаты датчиков поочередно (т.е. из одного считали и ждем подольше, хоть секунду), а обработку вести по таймеру с заданным периодом, беря результаты не с датчиков, а из собранного массива. тогда с точки зрения обработки все данные берутся "мгновенно и одновременно", хотя на самом деле это не так. по затратам всего это мне кажется лучшим вариантом. но по факту - это обман потребителя...
ПростоНуб писал(а):
когда все равно, CPU что-то считает или висит в режиме минимального потребления с включенными таймерами, ожидая прерывания
если б была существенная разница между "считает" или "в режиме минимального потребления" - я бы задумался крепко. а поскольку разница эта очень невелика (ибо уснуть с погашением тактовой частоты нельзя из-за работающих таймеров и АЦП), то и не принимаю её в расчет...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


Вернуться наверх
 
Распродажа паяльных станций ATTEN и аксессуаров!
Индукционная паяльная станция AT315D - 3 977 ₽, станция паяльная AT80D – 2177 ₽, станция паяльная AT936b – 1000 ₽!

Заходите в раздел акции и спецпредложения на сайте prist.ru, покупайте измерительные приборы, инструмент и паяльно-ремонтное оборудование по специальным ценам.
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 15:54:51 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 35
Рейтинг сообщений: 283
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2069
Рейтинг сообщения: 0
лучший способ - это в фоне собирать результаты датчиков поочередно (т.е. из одного считали и ждем подольше, хоть секунду), а обработку вести по таймеру с заданным периодом, беря результаты не с датчиков, а из собранного массива. тогда с точки зрения обработки все данные берутся "мгновенно и одновременно", хотя на самом деле это не так. по затратам всего это мне кажется лучшим вариантом. но по факту - это обман потребителя...

Так я же не знаю подробности задачи. Если речь идет о контроле за фиксированной температурой, то пусть датчики сами ее контролируют, а мастер опрашивает их все, выдавая Alarm Search.
При ПИД регулировании частоту опроса можно привязывать к модулю значения производной в последней точке. Причем, для корректного интегрирования и дифференцирования к каждому показанию датчику все равно нужно будет привязывать метку времени. А значит потребителя в обман не введете.

ARV писал(а):
если б была существенная разница между "считает" или "в режиме минимального потребления"

Измерьте температуру корпуса МК в этих двух ситуациях. А потом вспомните, что зависимость срока службы полупроводниковых приборов от температуры - экспонента (гуглим коэффициент диффузии). Нет, гарантийный срок он точно отработает. На это он расчитан. Но не сильно дольше. Особенно купленный на Алиэкспрессе, а не промышленной приемки.
Для меня загадка, почему для коммутации 200ма выбирают транзистор с максимальным током в 500ма, а не 200ма. А МК гонять в пиковом режиме энергопотребления - норма.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 17:08:00 
Собутыльник Кота
Аватар пользователя

Карма: 5
Рейтинг сообщений: 144
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 2780
Рейтинг сообщения: 0
Нужно правильно подбирать МК под задачу чтобы не возникало таких ситуаций. С большим объемом памяти чтобы хватило для нормальной RTOS. Если дробить код как предлагает ARV, это скажется на его читаемости и при дальнейшей доработке (к примеру через несколько месяцев) будет сложно разобраться что в чему.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 18:05:20 
Вымогатель припоя

Карма: 7
Рейтинг сообщений: 118
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 640
Рейтинг сообщения: 0
но по факту - это обман потребителя...

Вы продолжаете идти на поводу убеждений, заблуждений. Программирование - виртуально изначально. Это абстракции, ассоциации. RTOS - обман потребителя. Потому что процессы размазаны, раздроблены на временные интервалы. И переключение процессов происходит со скоростью не заметной для потребителя. Светодиоды, динамическая индикация, инерция зрения - тоже по сути обман.
Вам не хватает системного мышления. Когда проект оценивается и анализируется КОМПЛЕКСНО. Что входит в ваш проект. Аппаратные компоненты проекта. Как работает каждый компонент по отдельности. Ищется компромисс. Любой проект - это всегда компромисс. И нужно вклиниваться в бутылочное горлышко. Любой момент концептуально можете оценивать только вы сами. Мы со своей стороны можем дать только варианты, примеры, как делали это сами, как сделали бы...

Добавлено after 23 minutes 35 seconds:
Я, кажется, понял, как доходчиво вам пояснить. Прокрутка проекта в уме по сути эволюционно. Мы прокручиваем, прокручиваем, пока не получим приемлемый вариант. Все как в природе, итерация вариантов. Весь цимус в том, какой объём, массив вы способны провернуть в уме. Виртуально....


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт мар 07, 2019 18:17:26 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 83
Рейтинг сообщений: 1537
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 14457
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
я бы не сказал, что динамическая индикация или RTOS обман потребителя. потребителю не говорится, что индикация непрерывная, ему сказано - индикция есть. и она есть. потребителю сказано: пока на индикаторе бежит строка текста, а динамик проигрывает мелодию, вы можете нажимать кнопки и управлять системой - и это так и происходит. а что фактически в каждый миг ни строка не бежит, ни мелодия не звучит - это пользователю не интересно.
так и в случае с регулированием температуры. если я говорю, что каждую секунду происходит опрос датчиков температуры и выходное реле включаетя или выключается - то это и надо соблюсти. а если пользователь берет термодатчик в руку и греет его, а реле выключается спустя 8 или 15 секунд - вот это уже обман (если это не инерционность датчика, естественно).
если я вынесу опрос датчиков в фон поочередно (что мне представляется наиболее удачным вариантом), то на опрос всех 8 датчиков уйдет 8 секунд, не смотря на то, что управлять релюшками я могу каждую секунду по данным из массива температур, как и выводить значения температур из того массива могу хоть 5 раз в секунду, с заявляемым "каждую секунду" это не совсем стыкуется. вот о чем я. но я не уверен, что об этом стоит беспокоиться...
причем, вероятно, беспокоиться и о жалких 100 мс времени тоже не стоит - чай, не истребителем управляю, 0,1 секунды - это миг для среднего человека, пренебрежимо малая величина...

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

Добавлено after 4 minutes 6 seconds:
только не подумайте, что я делаю коммерческое устройство... просто, как и все мои проекты, я его опубликую в свободный доступ, когда доделаю, и заранее не хочу попасть под критику за обман...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Пт мар 08, 2019 04:51:18 
Вымогатель припоя

Карма: 7
Рейтинг сообщений: 118
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 640
Рейтинг сообщения: 0
Коммерческий или нет не суть. Любой проект нужно делать на совесть.
Пусть вы опрашиваете датчики с периодичностью в 1 секунду. Опоздание показания первого датчика будет 1 секунда. На 8 секунд будет перебор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Пт мар 08, 2019 06:26:19 
Прорезались зубы

Карма: 1
Рейтинг сообщений: 31
Зарегистрирован: Вс дек 28, 2014 21:54:05
Сообщений: 214
Рейтинг сообщения: 0
Если датчики на одной линии,- нельзя подать им общую команду convert а через 100 или чуть больше мс начинать разбираться по search rom кто там чего намерял? 100 мс это когда режим 9 бит. Или точнее надо?

_________________
Я всё-всё узнAю и стану профессором.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Пт мар 08, 2019 07:10:33 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 83
Рейтинг сообщений: 1537
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 14457
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
если разбираться по search rom, то времени будет потрачено еще больше, т.к. процедура поиска более долгая. кроме того, датчики все на не одной линии, а на 8 разных - с целью упрощения подключения и настройки. дефолтно датчики в 12-битном режиме, и изменение его не предусматривается опять же для упрощения эксплуатации. 100 мс - это слегка завышенное реально получающееся значение с учетом накладных расходов, в т.ч. всяких прерываний.
Demiurg писал(а):
На 8 секунд будет перебор.
вот у меня характер такой: всегда ищу способ оспорить утверждение. даже своё собственное (от чего и страдаю). датчики в 12-битном режиме измерют температуру 750 мс, т.е. опрашивать их чаще смысла нет. 750 мс - цифра не круглая, и я (да, пожалуй, и все другие) использую более круглый интервал в 1 секунду.
датчики у меня на 8 разных линиях порта, поэтому, теоретически, я могу за сеанс обмена с одним датчиком получить информацию со всех восьми... мне тут эту идею снова подкинули ранее. это выливается для меня в очередное переписывание библиотечки master-1-wire :) так же дополнительно потребуется 72 байта промежуточного буфера для приема всех битов... ну и потом разбирательства с этими байтами, конвертирование их в нормальные байты SCRATCHPAD-данных датчика, вычисление CRC и т.п. обработка.
предполагаю, что все это займет значительно меньше времени, чем 100 мс... и тогда можно будет реально 1 раз в секунду опрашивать все 8 датчиков и коммутировать все 8 выходов.


геморрою, конечно, это добавит в кодописании... считаете, стоит этим заморачиваться?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Пт мар 08, 2019 08:06:06 
Модератор
Аватар пользователя

Карма: 78
Рейтинг сообщений: 797
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4073
Откуда: Планета Земля
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
ARV писал(а):
если разбираться по search rom, то времени будет потрачено еще больше, т.к. процедура поиска более долгая.
Процедура поиска происходит только один раз - в самом начале. Дальше идёт работа с датчиками только по их ID.
8 датчиков опросить (выдрать из них температуру) за 100 мс, адресуя каждый последовательно, вполне реально. Ну а запуск на преобразование посылается всем датчикам одновременно.
Так что, раз в секунду можно опрашивать кучу датчиков, подключенных и параллельно.

ARV писал(а):
стоит этим заморачиваться?
Всяко это решать тебе. Ни один совет не сможет тебя заставить делать то, что тебе не хочется :))
Как по мне, так таким способом можно заморочиться только в случае разгрузки процессора. Например, задействовав DMA, который сам будет делать всю работу.
Но это, скорее всего, касается очень шустрых камней, которых заставить ждать 120 мкс, тупо зациклив его и отключив все прерывания - издевательство над оным.

_________________
Я мненью вашему вращенье придавал, а осью был - мой детородный орган.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Пт мар 08, 2019 10:55:42 
Прорезались зубы

Карма: 1
Рейтинг сообщений: 31
Зарегистрирован: Вс дек 28, 2014 21:54:05
Сообщений: 214
Рейтинг сообщения: 0
1. В 9ибитный режим датчики вводятся один раз при включении
2. 100 мс я имел ввиду время от посылки общего запроса на начало конвертации до окончания оной.

Т.е. по истечении 100мс , допустим по тику сис таймера спрашиваем температуру каждого датчика - 8 тиков. А дальше сами ршаете что и когда делать с данными. Если успеваете включить/выключить выход за 1 тик - то и буфера не надо

_________________
Я всё-всё узнAю и стану профессором.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Пт мар 08, 2019 16:39:27 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 83
Рейтинг сообщений: 1537
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 14457
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
dgrett писал(а):
100 мс я имел ввиду время от посылки общего запроса на начало конвертации до окончания оной
100 мс я имел ввиду - это вообще все затраты времени на единоразовое обслуживание всех 8-и датчиков. обслуживание заключается в вычитывании из него температуры и отправки команды на очередное измерение.
Аlex писал(а):
Дальше идёт работа с датчиками только по их ID
у меня все 8 датчиков на 8 линиях порта, поэтому их ID не нужно знать. меня вот всегда интересовало: каким образом можно объяснить пользователю, как он должен сопоставить свои датчики с их ID-ами в устройстве, к которому они подключены?! мне эта процедура представляется крайне глупой и неудобной, поэтому везде, где только это возможно, я избегаю обращений к датчикам по их ID.
Аlex писал(а):
заставить ждать 120 мкс
да ладно, 120 мкс! сейчас-то я уже не помню точно таймингов, но сдается мне, реально надо запрещать прерывания на гораздо меньшее время. и снова вопрос: в каком банке принимают сэкономленнные такты процессора и под какой процент? ;)
Аlex писал(а):
Всяко это решать тебе
само собой. просто я высказал три варианта, среди которых не могу выбрать, и надеялся то ли на критику, то ли на альтернативы им, чтобы сделать выбор окончательно. но, как и всегда, безрезультатно...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Сб мар 09, 2019 08:23:03 
Потрогал лапой паяльник

Карма: 2
Рейтинг сообщений: -3
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 330
Рейтинг сообщения: 0
А на что там вообще 100 мс? Дикое время! Можно ведь размазать по отдельным операциям. Даже в 1мс системный тик уложитесь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Сб мар 09, 2019 08:35:58 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 83
Рейтинг сообщений: 1537
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 14457
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
размазать можно. так я о том и веду речь: если размазать, то теряется связь между моментом реального считывания температуры и моментом реакции на неё.
если, например, размазывать по одному биту в системный тик, то (если не считать заметного роста сложности приема-передачи), потребуется порядка 72 системных тиков на считывание температуры...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 209 ]     ... , , , 9, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Core-X, densir, dryupitz и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y