-
- Второй вопрос к знатокам. Можно ли так сделать. Evgeny_CD(882 знак., 30.01.2020 01:46)
- По какому сигналу считываем содержимое таймера? - Крок(30.01.2020 09:20)
- Евгений же обозначил - обычный захват по фронту. - my504(30.01.2020 09:22)
- А блин, не разглядел. Объединить две ноги. По сигналу одной ловим таймер, по сигналу второй - вход. - Крок(30.01.2020 09:27)
- Ничего не надо объединять. Все мапится без объединения ног. И зачем объединять, если нужны только реквесты, точнее один общий реквест от одного сигнала. Ну или CLC сконфигурировать на внутренние записи. - my504(30.01.2020 09:40)
- Мапится - это от "Мапет-шоу"? При настройке ДМА-каналов можно использовать один запрос на разные каналы? - Крок(30.01.2020 10:12)
- Жаргон от mapped. Ремаппинг пинов. Реквесты каналов друг от друга не зависят. Каждый канал может быть ассоциирован с любым событием из списка. Хоть от одного для всех. Или у всех разные. - my504(30.01.2020 12:54)
- Спасибо! - Evgeny_CD(30.01.2020 14:52)
- вот этот нюанс у меня и выпал из головы, что по одной команде можно хоть все каналы ДМА зарядить. Тогда задача Евгения становится тривиальной. - Крок(30.01.2020 12:58)
- Жаргон от mapped. Ремаппинг пинов. Реквесты каналов друг от друга не зависят. Каждый канал может быть ассоциирован с любым событием из списка. Хоть от одного для всех. Или у всех разные. - my504(30.01.2020 12:54)
- Мапится - это от "Мапет-шоу"? При настройке ДМА-каналов можно использовать один запрос на разные каналы? - Крок(30.01.2020 10:12)
- Ничего не надо объединять. Все мапится без объединения ног. И зачем объединять, если нужны только реквесты, точнее один общий реквест от одного сигнала. Ну или CLC сконфигурировать на внутренние записи. - my504(30.01.2020 09:40)
- А блин, не разглядел. Объединить две ноги. По сигналу одной ловим таймер, по сигналу второй - вход. - Крок(30.01.2020 09:27)
- Евгений же обозначил - обычный захват по фронту. - my504(30.01.2020 09:22)
- Исправляю. Реквест от InputCapture делаем на 2-х каналах ДМА. Но источник на одном от самого InputCapture, а на втором от PORTx. Получаем два массива DMA - один с захватами, а другой с портом. И 800 нс тут вообще вагон и маленькая тележка. При my504(151 знак., 30.01.2020 08:59 - 09:09)
- Реализация будет сильно зависеть от того, насколько "синхронно со считыванием регистра capture" нужно прочитать состояние входов - MBedder(30.01.2020 02:22)
- По какому сигналу считываем содержимое таймера? - Крок(30.01.2020 09:20)
- MBedder затих. А зря! Ему наверняка есть что сказать по теме. - Evgeny_CD(29.01.2020 22:41)
- Скорость операций с ОЗУ соответствует даташиту. То есть 100 MIPS. Иного не указано. my504(447 знак., 29.01.2020 18:03 - 18:06)
- Заметим, в некоторых случаях достаточно сильное преимущество архитектуры. - Evgeny_CD(29.01.2020 18:14)
- Не просто сильное, а очень сильное. По сути 8КБ оперативной памяти, включая регистры периферии, доступны в АЛУ напрямую. Правда математика только с WREG0, но все равно сильно увеличивает плотность кода. К тому же у 100 МИПСовых есть 5 полных my504(131 знак., 29.01.2020 22:06)
- Чота я не вьехал про "только WREG0". Какие-то радикальные обрезания произошли по сравнению с рабоче-крестьянскими ДСПИКами? - Крок(29.01.2020 22:29)
- Никаких абсолютно. Инструкции типа add <RAM> означают <RAM>=<RAM>+WREG0, а инструкция add <RAM>, WREG будет исполнена как WREG0=<RAM>+WREG0 my504(69 знак., 29.01.2020 22:55 - 22:57)
- Ну это можно стерпеть. Я уж думал их друг с другом складывать-премножать запретили. - Крок(29.01.2020 23:01)
- Я с этого начал - найти архитектуру, чтобы скорость работы с ОЗУ была как скорость работы с регистрами. RISC пролетают на уровне идеологии. Пусть даже не со всем ОЗУ, а с его частью. - Evgeny_CD(29.01.2020 23:12)
- Была какая-то К18ХХВЕYY. там было окно, которое двигалось по памяти и это был регистровый файл. Очень неплохая архитектура. Единственный косяк, как у млачших ПИКов, там не было операций с переносом. - mse homjak(30.01.2020 10:44)
- У семейства МК TMS9900 была аналогичная придумка - адрес окна регистрового файла задавался в каждом векторе прерывания. Удивительно, что это не распространилось на другие семейства, как must have - MBedder(30.01.2020 12:30)
- Вот тут -> хороший цикл статей по архитектурам, их истории и сравнению возможностей и ограничений, но много букв. - Dingo(12.02.2020 05:24 - 05:45, ссылка)
- Не увидел ничего, кроме статьи "Суперскалярный стековый процессор: скрещиваем ужа и ежа". Не там смотрел, или ты ссылку не ту дал? - MBedder(12.02.2020 12:52)
- Спасибо! - Evgeny_CD(12.02.2020 10:00)
- Вот тут -> хороший цикл статей по архитектурам, их истории и сравнению возможностей и ограничений, но много букв. - Dingo(12.02.2020 05:24 - 05:45, ссылка)
- Кажется, у восемьнадцатых уже были? - Крок(30.01.2020 10:49)
- У семейства МК TMS9900 была аналогичная придумка - адрес окна регистрового файла задавался в каждом векторе прерывания. Удивительно, что это не распространилось на другие семейства, как must have - MBedder(30.01.2020 12:30)
- Была какая-то К18ХХВЕYY. там было окно, которое двигалось по памяти и это был регистровый файл. Очень неплохая архитектура. Единственный косяк, как у млачших ПИКов, там не было операций с переносом. - mse homjak(30.01.2020 10:44)
- Я с этого начал - найти архитектуру, чтобы скорость работы с ОЗУ была как скорость работы с регистрами. RISC пролетают на уровне идеологии. Пусть даже не со всем ОЗУ, а с его частью. - Evgeny_CD(29.01.2020 23:12)
- Ну это можно стерпеть. Я уж думал их друг с другом складывать-премножать запретили. - Крок(29.01.2020 23:01)
- Никаких абсолютно. Инструкции типа add <RAM> означают <RAM>=<RAM>+WREG0, а инструкция add <RAM>, WREG будет исполнена как WREG0=<RAM>+WREG0 my504(69 знак., 29.01.2020 22:55 - 22:57)
- Да, 4 дополнительных набора РОН я оценил. Несколько килобайт регистров при экономном программизме многое позволят сделать :) - Evgeny_CD(29.01.2020 22:11)
- Да... ДСПИчье ядро, это сказка. Дебилам из Атмела во чем заниматься надо было, а не убогой ХМегой и АВР32. - mse homjak(29.01.2020 22:23)
- История пролета с AVR32 еще ждет своего историка. Но там система команд, заметим, была тоже сильно и сильно продвинутая, проблема в том, что она в другом направлении двигалась. - Evgeny_CD(29.01.2020 22:42)
- Я тут поупражнялся с DSP ядром в симуляторе ))) - написал "бабочку" для FFT: my504(1397 знак., 29.01.2020 22:33)
- Гуд. Вери гуд! :)) - MBedder(30.01.2020 00:01)
- 23 строки без return. Офигеть! - Evgeny_CD(29.01.2020 22:51)
- Это много или мало? - Крок(29.01.2020 23:12)
- Быстрее только с SIMD, а это уже другой уровень. Вот толковая преза по Cortex -> - Evgeny_CD(29.01.2020 23:27, ссылка)
- Ша! Поставим вопрос так. При какой длине выборки это "быстрое" преобразование станет работать быстрее "медленного", если здесь одна "бабочка" занимает 23 операции? - Крок(06.02.2020 00:37)
- Конкретно в dsPIC33 граница, на которой производительность FFT и DFT примерно одинаковы - 256 отсчетов. Это связано с тем, что комплексный бин для DFT выполняется строго за 2*N+1 машинных циклов, а отрицательные частоты считать нет никакой my504(265 знак., 06.02.2020 06:48 - 06:57)
- Не готов сказать. Это тонкий момент - потери на загрузку и выгрузку SIMD регистров. В отношении каждой архитектуры надо выкурить толстенные мануалы. - Evgeny_CD(06.02.2020 02:38)
- Ша! Поставим вопрос так. При какой длине выборки это "быстрое" преобразование станет работать быстрее "медленного", если здесь одна "бабочка" занимает 23 операции? - Крок(06.02.2020 00:37)
- Быстрее только с SIMD, а это уже другой уровень. Вот толковая преза по Cortex -> - Evgeny_CD(29.01.2020 23:27, ссылка)
- Это много или мало? - Крок(29.01.2020 23:12)
- Это сколько тактов? - Evgeny_CD(29.01.2020 22:39)
- Да... ДСПИчье ядро, это сказка. Дебилам из Атмела во чем заниматься надо было, а не убогой ХМегой и АВР32. - mse homjak(29.01.2020 22:23)
- Чота я не вьехал про "только WREG0". Какие-то радикальные обрезания произошли по сравнению с рабоче-крестьянскими ДСПИКами? - Крок(29.01.2020 22:29)
- Не просто сильное, а очень сильное. По сути 8КБ оперативной памяти, включая регистры периферии, доступны в АЛУ напрямую. Правда математика только с WREG0, но все равно сильно увеличивает плотность кода. К тому же у 100 МИПСовых есть 5 полных my504(131 знак., 29.01.2020 22:06)
- Спасибо! - Evgeny_CD(29.01.2020 18:05)
- Заметим, в некоторых случаях достаточно сильное преимущество архитектуры. - Evgeny_CD(29.01.2020 18:14)
- Вообще кто-нибудь на практике их хотя бы на отладке кодил? Они хоть работают? Там errata просто как Война и мир...... - Evgeny_CD(29.01.2020 16:08)
- Еще нет, семплы получил, плату почти развел. Эррата хоть и приличная, но вполне позволяет с ними работать. Основной баг в части МК семейства - проблема с байтовыми операциями, но на старшие МК семейств этого бага не указано. my504(206 знак., 29.01.2020 17:57)
- Чет не понимаю, настраиваю Fosc = 200MHz (Fcy 100MHz), в коде пишу asm("REPEAT #500"); asm("BTG LATC,#4"); вижу хороший синус с частотой 25МГц. dsPIC33CH128MP508 Илья(109 знак., 30.01.2020 17:10)
- При Fosc=40M этот фрагмент программы даёт 10МГц клок на выходе. Камень 33fj - Крок(01.02.2020 16:04)
- Если без PLL, то все правильно - Ftoggle = Fcy/2 = Fosc/4 - MBedder(01.02.2020 16:11)
- ну да. Без ФАПЧ. Неясно, почему у Ильи получилось 1/8 - Крок(01.02.2020 16:35)
- Дык ровно на строчку ниже я написал почему. А если он вот это попробует - должен получить 1/4 --> - MBedder(01.02.2020 17:30, ссылка)
- ну да. Без ФАПЧ. Неясно, почему у Ильи получилось 1/8 - Крок(01.02.2020 16:35)
- Если без PLL, то все правильно - Ftoggle = Fcy/2 = Fosc/4 - MBedder(01.02.2020 16:11)
- DS70005371B-page 713, Note 1: Read and Read-Modify-Write (e.g., bit operations and logical operations) on non-CPU SFRs incur an additional instruction cycle. - как и в dsPIC33E/PIC24E. MBedder(50 знак., 30.01.2020 17:20 - 17:25)
- OK. а осцил нормальный: Agilent MSO-X 3034A (350MHz 4GSa/s) - Илья(30.01.2020 17:45)
- И щуп нормальный, и 1:10, и фильтр входной отключен? Кстати, попробуй так - вроде без RMW: MBedder(101 знак., 30.01.2020 17:57 - 18:05)
- Не исключено, что эффекты цифрового осциллоскоп. Ещё и не такое бывает. - Крок(02.02.2020 10:18)
- Кстати, раз Илья в спячке, попробуй ты --> - MBedder(02.02.2020 13:19, ссылка)
- Поздно, я уже в запое - Крок(02.02.2020 14:12)
- "- Вы млекопитающий, не правда ли? Да. - В таком случае приятного млекопитания!"(с)Лем :)) - MBedder(02.02.2020 14:37)
- Я не бухаю m16_home(217 знак., 02.02.2020 15:00 - 15:03)
- Речь была о Е/Сх, у которых RMW добавляет 1 цикл - для 24F/H и 33F и в случае BTG будет Fcy/2. Придется поставлить последнюю MPLABX и самому проверить на 33СН - MBedder(02.02.2020 15:16 - 15:18)
- у ЕР я могу проверить только завтра. Если не отвлекут текучкой))). Но проку от такого результата немного. Чисто синтетический эксперимент. - my504(02.02.2020 15:24)
- Я тоже не сразу - оказалось, что боевой скоп на работу утащил :(( - MBedder(02.02.2020 16:03)
- Как и следовало ожидать, код на dsPIC33EP512GM304: my504(537 знак., 03.02.2020 09:20 - 10:21)
- Ты из моего кода выкинул .rept, поэтому видишь несимметричный сигнал. Полный код даст частоту ~50 МГц со скважностью ~50% - MBedder(03.02.2020 13:07)
- Фронты 5нс? - Evgeny_CD(03.02.2020 10:24)
- Слишком много, я в свое время 500-мегагерцовым Тектрониксом намерял 1.8-2 нС - MBedder(03.02.2020 12:43)
- Ну да. А что? 70 MIPS. Осциллограф 100 МГц. Нагрузка пина - светодиод с током примерно 1 мА. - my504(03.02.2020 10:29 - 10:32)
- Спасибо. Одно дело ДШ, другое - живой чип. - Evgeny_CD(03.02.2020 10:54)
- Ну это не СН и не СК, но в этой части они идентичны. Только будет не 14 нс, а 10. - my504(03.02.2020 10:56)
- Подходит! :) - Evgeny_CD(03.02.2020 10:59)
- Ну это не СН и не СК, но в этой части они идентичны. Только будет не 14 нс, а 10. - my504(03.02.2020 10:56)
- Спасибо. Одно дело ДШ, другое - живой чип. - Evgeny_CD(03.02.2020 10:54)
- Как и следовало ожидать, код на dsPIC33EP512GM304: my504(537 знак., 03.02.2020 09:20 - 10:21)
- Я тоже не сразу - оказалось, что боевой скоп на работу утащил :(( - MBedder(02.02.2020 16:03)
- у ЕР я могу проверить только завтра. Если не отвлекут текучкой))). Но проку от такого результата немного. Чисто синтетический эксперимент. - my504(02.02.2020 15:24)
- Речь была о Е/Сх, у которых RMW добавляет 1 цикл - для 24F/H и 33F и в случае BTG будет Fcy/2. Придется поставлить последнюю MPLABX и самому проверить на 33СН - MBedder(02.02.2020 15:16 - 15:18)
- Я не бухаю m16_home(217 знак., 02.02.2020 15:00 - 15:03)
- "- Вы млекопитающий, не правда ли? Да. - В таком случае приятного млекопитания!"(с)Лем :)) - MBedder(02.02.2020 14:37)
- Поздно, я уже в запое - Крок(02.02.2020 14:12)
- Это надо здорово постараться, чтобы осциллограф с выборкой 4ГГц начал зеркальные частоты показывать! Современные, у которых полоса 1/10 от частоты выборки, на такие глюки в обычных режимах не способны. - Nikolay_Po(02.02.2020 11:17)
- Кстати, раз Илья в спячке, попробуй ты --> - MBedder(02.02.2020 13:19, ссылка)
- XOR - это ЧМЗ. - my504(30.01.2020 20:01)
- всёравно 25МГц. Задал вопрос человеку с фабрики, подожду ответа специалиста - Илья(30.01.2020 19:14)
- А вот так? MBedder(109 знак., 30.01.2020 22:03 - 01.02.2020 16:14)
- Что значит "все равно"? Частота и не может быть выше. Пополам ее делит сама инструкция тоггл, плюс ноп после инструкции удваивает период. - my504(30.01.2020 19:32)
- На dsPIC33F будет Fcy/2, а на Е или СН/СК - Fcy/4. И какой это NOP ты имеешь в виду? - MBedder(30.01.2020 19:38)
- Тот самый, который вставляет конвейер или программист. my504(65 знак., 30.01.2020 19:50)
- На dsPIC33F будет Fcy/2, а на Е или СН/СК - Fcy/4. И какой это NOP ты имеешь в виду? - MBedder(30.01.2020 19:38)
- Не исключено, что эффекты цифрового осциллоскоп. Ещё и не такое бывает. - Крок(02.02.2020 10:18)
- И щуп нормальный, и 1:10, и фильтр входной отключен? Кстати, попробуй так - вроде без RMW: MBedder(101 знак., 30.01.2020 17:57 - 18:05)
- OK. а осцил нормальный: Agilent MSO-X 3034A (350MHz 4GSa/s) - Илья(30.01.2020 17:45)
- При Fosc=40M этот фрагмент программы даёт 10МГц клок на выходе. Камень 33fj - Крок(01.02.2020 16:04)
- "проблема с байтовыми операциями" - это какой пункт ерраты? - Evgeny_CD(29.01.2020 18:16)
- 15 пункт. my504(473 знак., 29.01.2020 21:59)
- Ик... Byte Mode Instructions - Upper byte of the destination register may not be persistent Evgeny_CD(132 знак., 29.01.2020 22:08)
- 15 пункт. my504(473 знак., 29.01.2020 21:59)
- Т.е. выходной сигнал будет меняться каждый второй фронт максимальной тактовой 100 МГц. Достаточно. Спасибо! - Evgeny_CD(29.01.2020 18:10)
- Чет не понимаю, настраиваю Fosc = 200MHz (Fcy 100MHz), в коде пишу asm("REPEAT #500"); asm("BTG LATC,#4"); вижу хороший синус с частотой 25МГц. dsPIC33CH128MP508 Илья(109 знак., 30.01.2020 17:10)
- Еще нет, семплы получил, плату почти развел. Эррата хоть и приличная, но вполне позволяет с ними работать. Основной баг в части МК семейства - проблема с байтовыми операциями, но на старшие МК семейств этого бага не указано. my504(206 знак., 29.01.2020 17:57)
- Второй вопрос к знатокам. Можно ли так сделать. Evgeny_CD(882 знак., 30.01.2020 01:46)