-
- Да нет, вы не поняли! Я выгружаю данные в регистр процессора. Все.
По очереди. Больше ничего не делаю с данными. Но если прерывание -
обрабатываю значение которое больше текущего максимума. В ситуации
когда значений в массиве миллиард, я попаду в прерывание максимум
255 раз. Все остальные переборы по одному такту процессора
например. Ну или больше, плохо понимаю как в тактах оценить - Tpoeшник(02.02.2021 19:04)
- откуда выгружаете данные и с какого перепугу должно сработать
какое-то прерывание?? Если имеете ввиду регистры АЦП/ЦАП, то всё
равно аппаратно всё ограничено возможным сэмплрейтом. Adept(111 знак., 02.02.2021 19:13)
- АЦП используется не сами по себе а как блок внутри которого есть
цифровой компаратор. У этого компаратора есть свое прерывание ADC0
- Window Compare. Ну вот "идея" в том чтоб настроить блоки системы
так что из исследуемого массива я подаю байты в регистры WINHT,
аппаратно сравниваю с регистром RES и жду "ADC0 - Window Compare".
В самом прерывании обновляю текущим максимальным регистр RES Tpoeшник(83 знак., 02.02.2021 19:42)
- есть запись данных в IO регистр, есть чтение этих данных их памяти,
есть время обработки прперывания (вход/выход) = гораздо больше трёх
тактов на байт. В чём смысл (ну разве что поиграться с оригинальной
идеей :)) ??? - Adept(02.02.2021 23:02)
- Да черт с ней с идеей! Тут о деньгах поговаривали!? А когда речь
идет о деньгах то я страшный человек.. Tpoeшник(359 знак., 02.02.2021 23:20)
- Код получится примерно такой ... Те же 3 такта на байт при чтении
из внутренней РАМ. Boвa(84 знак., 03.02.2021 00:48)
- Почему 3? А разве st может так? Tpoeшник(37 знак., 06.02.2021 20:11)
- В варианте о котором вы говорите есть проблема с 0xff. Без проверки
на максимальное значение алгоритм принципиально обречен. - Tpoeшник(03.02.2021 02:07)
- Запись в регистр сравнения референсного значения - 16-битная (т.е.
медленная, в два приёма), и ещё возможно ошибаюсь, но мне кажется,
что вся периферия АЦП завязана на тактовую систему АЦП (по крайней
мере я бы так поступил наверное (было бы легче реализовать
аппаратуру). Так что вариант действительно "так себе", но за
пытливый умшаловливые ручки - респект :)) Adept(314 знак., 03.02.2021 09:59)- Почему? Я пишу младшее значение, а проц в этот момент пишет пару и младший и старший. Да и пусть. А вот что касается прерывания и его сдвига во времени относительно самого сравнения, то здесь как раз и вся красота. А и ничего страшного что прерывание запоздает, мне не важно. Главное получить факт что текущее больше чем в RES! Потом без спешки разбор, обновление RES и снова поиск. Если нужно то после прерывания с индексом -5 например можно начать:) - Tpoeшник(03.02.2021 12:20)
- Запись в регистр сравнения референсного значения - 16-битная (т.е.
медленная, в два приёма), и ещё возможно ошибаюсь, но мне кажется,
что вся периферия АЦП завязана на тактовую систему АЦП (по крайней
мере я бы так поступил наверное (было бы легче реализовать
аппаратуру). Так что вариант действительно "так себе", но за
- Код получится примерно такой ... Те же 3 такта на байт при чтении
из внутренней РАМ. Boвa(84 знак., 03.02.2021 00:48)
- Да черт с ней с идеей! Тут о деньгах поговаривали!? А когда речь
идет о деньгах то я страшный человек.. Tpoeшник(359 знак., 02.02.2021 23:20)
- Как только не извращаются, лишь бы на рассыпухе не собрать - lloyd(02.02.2021 20:03)
- есть запись данных в IO регистр, есть чтение этих данных их памяти,
есть время обработки прперывания (вход/выход) = гораздо больше трёх
тактов на байт. В чём смысл (ну разве что поиграться с оригинальной
идеей :)) ??? - Adept(02.02.2021 23:02)
- АЦП используется не сами по себе а как блок внутри которого есть
цифровой компаратор. У этого компаратора есть свое прерывание ADC0
- Window Compare. Ну вот "идея" в том чтоб настроить блоки системы
так что из исследуемого массива я подаю байты в регистры WINHT,
аппаратно сравниваю с регистром RES и жду "ADC0 - Window Compare".
В самом прерывании обновляю текущим максимальным регистр RES Tpoeшник(83 знак., 02.02.2021 19:42)
- откуда выгружаете данные и с какого перепугу должно сработать
какое-то прерывание?? Если имеете ввиду регистры АЦП/ЦАП, то всё
равно аппаратно всё ограничено возможным сэмплрейтом. Adept(111 знак., 02.02.2021 19:13)
- Да нет, вы не поняли! Я выгружаю данные в регистр процессора. Все.
По очереди. Больше ничего не делаю с данными. Но если прерывание -
обрабатываю значение которое больше текущего максимума. В ситуации
когда значений в массиве миллиард, я попаду в прерывание максимум
255 раз. Все остальные переборы по одному такту процессора
например. Ну или больше, плохо понимаю как в тактах оценить - Tpoeшник(02.02.2021 19:04)