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

 
 
7 страниц V  « < 3 4 5 6 7 >  
Reply to this topicStart new topic
> Высшая степень вложенности Real/Soft FIQ/IRQ
GetSmart
сообщение Nov 16 2009, 09:58
Сообщение #61


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(VslavX @ Nov 16 2009, 15:21) *
А ничего сложного-то там и нету - давно уже все осознано, попробовано и отложено в сторону. Я сразу написал - использовать вложенные прерывания можно, догмы никакой нет. Но, имхо, архитектурно оптимальнее - вынести сложную обработку в тред, потом это будет проще отлаживать/модифицировать/портировать/поддерживать. Если Вы к этому выводу еще не пришли - Ваше право, больше ничем помочь не могу.

biggrin.gif Это типа как "Я попробовал наркотик и отказался. Другим просто запрещаю пробовать" biggrin.gif
Шютка. Все совпадения с действительностью вымышленные. Шютку немедленно забыть smile.gif

Ключевое слово я выделил, остальное ИМХО ерунда.

Цитата(VslavX @ Nov 16 2009, 15:21) *
Это для любой программы справедливо. А ОС именно помогает разложить по уровням архитектуры.

Но только в безосной проге начинаешь по-настоящему уважать (да,да!) вложенные прерывания. И слышать после этого про них всякий бред - как ножом по стеклу smile.gif

Цитата(VslavX @ Nov 16 2009, 15:21) *
Да критика в-общем-то не столько против вложенных прерываний, сколько против заявлений - "все чудаки, один я д'Артаньян".

Тут Вы неправы. Всё началось с "заявления" zltigo.

Цитата(VslavX @ Nov 16 2009, 15:21) *
Я сразу написал - использовать вложенные прерывания можно, догмы никакой нет.

Нет, Вы сразу написали:
Цитата
если уж понадобились вложенные прерывания, то в консерватории что-то не так - где-то "главный консерватор" провтыкал.

Даже не зная подробностей алгоритма.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 16 2009, 09:59
Сообщение #62


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Nov 16 2009, 12:44) *
Но только в безосной проге начинаешь по-настоящему уважать (да,да!) вложенные прерывания. И слышать после этого про них всякий бред - как ножом по стеклу smile.gif

Не менее странно слышать о "безосной (без операционной СИСТEМЫ!!! ) проге". Не обязательно иметь на любом контроллере операционные системы уровня uC/OS и иже с ней, но СИСТЕМНЫЙ подход должен быть, задачи прежде всего ставится терминах операционных систем и соответственно решаться, хотя собсвенно готовая универсальная система может и близко не присутствовать. Ну а если системного подхода нет, то тогда конечно "Но только в безоснойсистемной проге начинаешь по-настоящему уважать (да,да!) вложенные прерывания." Слегка уточнив в цитате буквально полслова получаем фразу с которой я абсолютно согласен smile.gif smile.gif smile.gif. В таком случае без них действительно труба дело - думать уже нечего - "трясти надо".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
VslavX
сообщение Nov 16 2009, 10:17
Сообщение #63


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(GetSmart @ Nov 16 2009, 11:58) *
Ключевое слово я выделил, остальное ИМХО ерунда.

Это Вы просто с этой "ерундой" в по-настоящему сложных проектах не сталкивались. Когда этой "ерунды" становится достаточно много, мнение о ней меняется существенно.

Цитата(GetSmart @ Nov 16 2009, 11:58) *
Нет, Вы сразу написали:

Сразу я написал - "наверное, так тоже можно делать" и про существующую поддержку вложенных прерываний в моем коде. То есть - вложенность поддерживается и допускается, только пока не понадобилась и сомневаюсь что понадобится.

Цитата(GetSmart @ Nov 16 2009, 11:58) *
Даже не зная подробностей алгоритма.

А какие тут подробности? Про минимизацию "джиттера" на DAC - принимается (с оговоркой что в 99% случаев 48кГц на линейных 10 битах оно нафиг никому не нужно), использовать FIQ для DAC - приемлемо, если уж не можем позволить нормальную аппаратуру. Но какого подвязывать этот же FIQ на ADC? Все равно ж реалтаймовым является только момент захвата - а он у Вас, скорее всего, стартует по таймеру, посмотреть/обработать результаты можно и позже, не обязательно в хендлере прерывания. В итоге имеем невразумительный свитч на входе в FIQ обработчик, и рассказы про борьбу против оверхеда. Ну, попробуйте убедить нас что без привязки ADC на FIQ - ну никак, пока это совсем неочевидно (мне, по крайней мере).
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 16 2009, 10:27
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Nov 16 2009, 10:50) *
....проверить где и как ОСь работает в SVC режиме.

FreeRTOS всегда и везде работает в SVC, естественно, кроме exception.
Цитата
FreeRTOS использует стек SVC только до старта тредов, а дальше он пропадает без дела. И было бы разумно задействовать его для вложенных прерываний.

Соответственно стеков много - для каждой из задач, а "первоначальном" стеке лично у меня продолжает жить самая главная и обязательная задача 'IDLE', которая создается у меня ПЕРВОЙ, а не последней, как в оригинальной реализации FreeRTOS, ибо если ее создавать последней, то при недостатке памяти она не создастся и рухнет все. Стеки для разных режимов могут быть и объединены - у меня Abort и Undef обычно работают на одном стеке - они короткие, прозрачные и я имею уверенность, что перекрестных excеptions не будет. За одно эта область используется в качестве буфера IAP. Режимиа System/User нет вообще - указатель стека на эту-же область.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 16 2009, 15:19
Сообщение #65


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Rst7 @ Nov 16 2009, 15:27) *
Что стоило изменить частоту дискретизации WAV-файла (для приведения к частоте семплирования АЦП) на ходу (без всяких фильтров, все равно 99.9% людей никакой разницы не услышит). Стоило бы это копейки:

Я так и не понял, что это такое. Но догадываюсь, что DAC_REG это порт ЦАПа со значением на его выходе.
На ресемплинг не похоже smile.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 16 2009, 16:51
Сообщение #66


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(VslavX @ Nov 16 2009, 16:17) *
Ну, попробуйте убедить нас что без привязки ADC на FIQ - ну никак, пока это совсем неочевидно (мне, по крайней мере).

Внешний мультиплексор rolleyes.gif

Цитата(VslavX @ Nov 16 2009, 16:17) *
...(с оговоркой что в 99% случаев 48кГц на линейных 10 битах оно нафиг никому не нужно)...

Я тестировал, да и вообще баловался. На 44100 музон гонял на хорошей колонке. Не отличить от того, что у меня из компа играет.


Цитата(zltigo @ Nov 16 2009, 15:59) *
"Но только в безоснойсистемной проге начинаешь по-настоящему уважать (да,да!) вложенные прерывания." Слегка уточнив в цитате буквально полслова получаем фразу с которой я абсолютно согласен smile.gif smile.gif smile.gif.

Как же мелко Вы скатились. Уже буквы в тексте подменяете, лишь бы смысл изменить "под себя" smile.gifsmile.gifsmile.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 16 2009, 17:15
Сообщение #67


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
На ресемплинг не похоже


Он и есть, только без фильтрации. В delta необходимо занести соотношение частот в формате 32.32, в point в старшие 32 бита положить указатель на семплы. Правда, немного я погорячился с short, код в таком виде нормально работает только с байтами, для слов необходим небольшой костыль -сброс младшего бита, ну это плюс один такт.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
VslavX
сообщение Nov 16 2009, 17:40
Сообщение #68


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(GetSmart @ Nov 16 2009, 18:25) *
Внешний мультиплексор rolleyes.gif

И что? Какой именно мукс - сколько-во-сколько?
Цитата(GetSmart @ Nov 16 2009, 18:25) *
Я тестировал, да и вообще баловался. На 44100 музон гонял на хорошей колонке. Не отличить от того, что у меня из компа играет.

Шутите? Или у Вас настолько паршивенькие колонки? smile.gif Отожралось минимум 30дБ диндиапазона от реальных 60дБ и никакой разницы? "Не верю" ©
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 16 2009, 17:57
Сообщение #69


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(VslavX @ Nov 16 2009, 23:40) *
И что? Какой именно мукс - сколько-во-сколько?

16 в 1.

Цитата(VslavX @ Nov 16 2009, 23:40) *
Шутите? Или у Вас настолько паршивенькие колонки? smile.gif Отожралось минимум 30дБ диндиапазона от реальных 60дБ и никакой разницы? "Не верю" ©

Дык музон и на 8 битах шикарно смотрится smile.gif В том плане, что на максимальной громкости всё пучком. А вот динамический диапазон да, небольшой. Там вообще планируется аналоговая регулировка громкости прямо в подключаемом усилителе.

А колонка хорошая. Советская, с "подушкой" внутри.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 16 2009, 18:15
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Nov 16 2009, 20:57) *
Дык музон и на 8 битах шикарно смотрится smile.gif

К делу, конечно не относится, но 8bit музыку не заметит только глухой от рождения. Проверено в молодости и многие еще наверное помнят слово Covox. Недавно в речевом канале попытался поймать заказчика, правда искушенного, на слепом тесте отличиить 13bit от 16bit. Отличил smile.gif и меня научил smile.gif - шипяшие звуки имеют явно другую окраску. Что касается полосы, то львиная доля 2-3 дюймовых матюгальничков даже официально до 5KHz разве только дотягивает. Реально и этого нет. Те которые тянут больше стоят от 10 и выше баксов за штуку. Из них прилично звучащий стоил 15 и по чувствительности проигрывал массовке порядка 10dB.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 16 2009, 18:25
Сообщение #71


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Ладно, ладно, приврал smile.gif На 8-битных WAV квантование слышно когда громкость звука спадает. Но музон я вообще ради прикола гонял. Это не плейер. Так, впечатление произвести на заказчика smile.gif

Цитата(zltigo @ Nov 17 2009, 00:15) *
К делу, конечно не относится, но 8bit музыку не заметит только глухой от рождения.

Особенно в наушниках. Но это к моему девайсу не относится.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
VslavX
сообщение Nov 16 2009, 18:41
Сообщение #72


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(GetSmart @ Nov 16 2009, 19:57) *
16 в 1.

То есть Ваши 14 каналов заведены на один вход ADC? Частоты дискретизации по-канально какие? Запуск таки от таймера или софтовый? Пока проблем особых не видно - сработал таймер, запустил АЦП, тот отработал, выдал прерывание, забрали результат, сохранили, например в кольцевом буфере и настроили внешний мукс на следующий канал. Где сложности? Если минимальный период дискретизации меньше чем "время обработки" + "max IRQ latency", то "это залет, воин" © - грубый просчет при проектировании системы.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 16 2009, 18:47
Сообщение #73


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(VslavX @ Nov 17 2009, 00:41) *
То есть Ваши 14 каналов заведены на один вход ADC? Частоты дискретизации по-канально какие? Запуск таки от таймера или софтовый? Пока проблем особых не видно - сработал таймер, запустил АЦП, тот отработал, выдал прерывание, забрали результат, сохранили, например в кольцевом буфере и настроили внешний мукс на следующий канал. Где сложности? Если минимальный период дискретизации меньше чем "время обработки" + "max IRQ latency", то "это залет, воин" © - грубый просчет при проектировании системы.

"Не портите мне систему, пока она работает" ©


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
VslavX
сообщение Nov 16 2009, 18:55
Сообщение #74


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(GetSmart @ Nov 16 2009, 20:47) *
"Не портите мне систему, пока она работает" ©

Ну и? Конкретные ответы-то на поставленные вопросы будут? Или "алгоритм ну очень сложный"? smile.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 16 2009, 19:36
Сообщение #75


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(VslavX @ Nov 17 2009, 00:41) *
... то "это залет, воин" © - грубый просчет при проектировании системы.

Меня вот эта фраза пугает. Я боюсь её передавать заказчику. Может уволить biggrin.gif

Тем более внутри FreeRTOS я точно не знаю чему равна "max IRQ latency"

Цитата(VslavX @ Nov 16 2009, 16:17) *
...В итоге имеем невразумительный свитч на входе в FIQ обработчик, и рассказы про борьбу против оверхеда.

Да нет там оверхеда, несколько лишних тактов (чтение T2IR + 1) на сэмпл ЦАП - это ерунда. Там по-любому нужно сбрасывать флаги в T2IR.

По сравнению с IRQ вариантом - это ничто.

И вообще, у меня щас дела посерьёзней. Я походу баг ядра нашёл. Дубль 2 smile.gif Только лень его трассировать и исследовать. Жаль за это деньги не платят.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

7 страниц V  « < 3 4 5 6 7 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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