spirit_1 5 2 декабря, 2022 Опубликовано 2 декабря, 2022 · Жалоба Может у кого есть идеи как вывести данные в порт GPO через ДМА Идея такова , есть массив где записаны длинны импульсов, есть второй такой же где записано будет ли это 1 или 0 Например Arr_time[0] = 100; Arr_polarita[0] = 1; Arr_time[1] = 123; Arr_polarita[1] = 0; итд Сейчас это выводиться через таймер с прерыванием Хотелось бы просто это как то стартануть через ДМА все это и заниматься другими вычислениями без прерываний пока ДМА вываливает эти данные в порт Есть какие то идеи? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 2 декабря, 2022 Опубликовано 2 декабря, 2022 · Жалоба Микроконтроллер-то какой? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spirit_1 5 2 декабря, 2022 Опубликовано 2 декабря, 2022 · Жалоба On 12/2/2022 at 10:00 AM, haker_fox said: Микроконтроллер-то какой? работет сейчас на STm32f429/ . Отладить хочу на нем, Но в перспективе есть желание уйти на китайца. Есть уже опыт переноса софта. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 2 декабря, 2022 Опубликовано 2 декабря, 2022 (изменено) · Жалоба Один канал DMA обеспечивает таймер отсчитываемыми интервалами (если они разные), а другой канал DMA, пинаемый этим таймером, в порт выставляет единички-нулики... Как-то так. Изменено 2 декабря, 2022 пользователем Obam ДМА - нельзя, надо - ПДП Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tgruzd 11 3 декабря, 2022 Опубликовано 3 декабря, 2022 (изменено) · Жалоба А нельзя ли сделать один массив в котором будут поочередно записаны длительности высокого и низкого уровней? У вас ведь всего два уровня, верно? Изменено 3 декабря, 2022 пользователем tgruzd Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndyBig 8 3 декабря, 2022 Опубликовано 3 декабря, 2022 · Жалоба 5 hours ago, tgruzd said: А нельзя ли сделать один массив в котором будут поочередно записаны длительности высокого и низкого уровней? У вас ведь всего два уровня, верно? А что это даст в плане вывода через DMA? 🙂 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spirit_1 5 3 декабря, 2022 Опубликовано 3 декабря, 2022 · Жалоба On 12/2/2022 at 11:28 PM, Obam said: Один канал DMA обеспечивает таймер отсчитываемыми интервалами (если они разные), а другой канал DMA, пинаемый этим таймером, в порт выставляет единички-нулики... Как-то так. Спасибо, такая мысль тоже крутится, нашел что-то подобное AN4666 Application note Parallel synchronous transmission using GPIO and DMA буду капать в этом направлении Надо вывести пакеты подобные манчестеру. Беда в том что кроме стандартного клока присуствуют вставки с нестандартными значениями времени битов что портит всю картину и требует индивидуального тайминга на каждый бит а не просто клока для потока Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 3 декабря, 2022 Опубликовано 3 декабря, 2022 · Жалоба 46 минут назад, spirit_1 сказал: Надо вывести пакеты подобные манчестеру. Беда в том что кроме стандартного клока присуствуют вставки с нестандартными значениями времени битов что портит всю картину и требует индивидуального тайминга на каждый бит а не просто клока для потока Просто берёте МК с SGPIO и не нужно никакого колхозинга с таймера+DMA. И никакого джиттера из-за этого DMA. И точность длин импульсов получаете с точностью до такта CPU. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spirit_1 5 3 декабря, 2022 Опубликовано 3 декабря, 2022 · Жалоба On 12/3/2022 at 11:41 AM, jcxz said: Просто берёте МК с SGPIO и не нужно никакого колхозинга с таймера+DMA. И никакого джиттера из-за этого DMA. И точность длин импульсов получаете с точностью до такта CPU. То что описано выше это одна из задач решаемых на данном МК, есть другие параметры как то доступность, скорость выполнения, скорость АЦП , память, цена итд ткоторые так же дожны удовлетворять Пэтому хотелость бы это сделать на классическом вариане . И почему колхозинг? Если у контроллера перферия позволяет чтото то сделать за счет комбинации переферии это замечательно и гибко Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 4 декабря, 2022 Опубликовано 4 декабря, 2022 · Жалоба 2 часа назад, spirit_1 сказал: Пэтому хотелость бы это сделать на классическом вариане . И почему колхозинг? Если у контроллера перферия позволяет чтото то сделать за счет комбинации переферии это замечательно и гибко Ну вот у LPC43xx она как раз и удовлетворяет. А вы пытаетесь сляпать на том, где не удовлетворяет. Потому и колхозинг. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spirit_1 5 4 декабря, 2022 Опубликовано 4 декабря, 2022 · Жалоба On 12/4/2022 at 2:25 AM, jcxz said: Ну вот у LPC43xx она как раз и удовлетворяет. А вы пытаетесь сляпать на том, где не удовлетворяет. Потому и колхозинг. Я бы не сказал что по описанию она меня удовлетворяет. Попробую обьснить Мне сейчас необходим контроллер с 1)минимальной ценой, 2.) Минимально 2 ADC 12 бит и не менее 2.5 Msps на канал работающие синхроннно 3). Максимальня произволительность ядра для вычисления DSP целых числел как минимум Мспользуеться все это в трансивере, АDC оцифровывают IQ и далее обрабатываем ядром. Пердача как бог пошлет, сейчас через прерывания , надо бы через ДМА но на фукционал это не влияет никоим образом Сейчас это STM32F429 который стал стоить хрен знает сколько и к тому же еще попроьуй найди Ваш вариант стоит около 20 евро https://eu.mouser.com/c/semiconductors/embedded-processors-controllers/microcontrollers-mcu/arm-microcontrollers-mcu/?adc resolution=2 x 10 bit&m=NXP&series=LPC431x~~LPC433x&tradename=LPC&rp=semiconductors%2Fembedded-processors-controllers%2Fmicrocontrollers-mcu%2Farm-microcontrollers-mcu|~Series&sort=pricing при этом имеет АЦП при разрешении 10 бит всего лишь 400ksps и ядро М4 с частотой 200 мгц Мне это не подходит, как миниуи по причине АЦП 0.4msps Какая альиернатива? например такая AT32F435 Что имееем 1. Цена 3-4$ vs 17-20 $(NXP) 2.ADC 12 bit (5.6 msps!) vs 10bit 0.4msps(NXP) 3, M4 288мгц vs M4 200 мгц(NXP) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 4 декабря, 2022 Опубликовано 4 декабря, 2022 · Жалоба 2 hours ago, spirit_1 said: Я бы не сказал что по описанию она меня удовлетворяет. Попробую обьснить Главное, что Вы учитываете, что контроллер ПДП - конкурент процессору за шину, и, наоборот. Другими словами, если процессор займёт шину, то ПДП будет в это время ждать тихо в сторонке. Соответственно, даже при большом желании, он не сможет начать выводить очередной импульс на ножку. Потом шина освободится и этот импульс будет выведен. Но время ожидания ПДП будет составлять джиттер. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 5 декабря, 2022 Опубликовано 5 декабря, 2022 · Жалоба 2 часа назад, spirit_1 сказал: при этом имеет АЦП при разрешении 10 бит всего лишь 400ksps и ядро М4 с частотой 200 мгц Советую вам внимательнее что-ли читать мануалы. Открываем даташит на LPC4370 и читаем: Цитата Analog peripherals One 10-bit DAC with DMA support and a data conversion rate of 400 kSamples/s. LBGA256 package only. Two 8-channel, 10-bit ADCs (ADC0/1) with DMA support and a data conversion rate of 400 kSamples/s for a total of 16 independent channels. The 10-bit ADCs are only available on the LBGA256 package. One 6-channel, 12-bit high-speed ADC (ADCHS) with DMA support and a data conversion rate of 80 MSamples/s. И там не "ядро М4 с частотой 200 мгц", а 3 ядра M4+M0+M0 каждое up to 204МГц. Т.е. - если уж так хочется ногодрыжить, то делать это можно полностью на отдельном ядре, не мешая основному M4 заниматься полезными делами. Да и ногодрыжить (через DMA или иначе) там вовсе незачем, потому как имеется специально предназначенный для таких дел SGPIO. 2 часа назад, spirit_1 сказал: 2.ADC 12 bit (5.6 msps!) vs 10bit 0.4msps(NXP) Т.е. - всего лишь в 14 раз медленнее чем у NXP? 2 часа назад, spirit_1 сказал: 3, M4 288мгц vs M4 200 мгц(NXP) Я в китайских МК не силён. Но по опыту с али чётко помню, что все китайские ватты и амперы нужно делить примерно на 10. Может и с мегагерцами также? PS: Вас упорно сносит в сторону ногодрыга и колхоза. Вместо того, чтобы использовать специально предназначенную периферию. Пытаетесь сваять что-то на неподходящем. Как показывает практика - до удовлетворительного результата это обычно не доводит. Но тут уже в мировоззрении что-то менять надо. не иначе... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 5 декабря, 2022 Опубликовано 5 декабря, 2022 · Жалоба Мспользуеться все это в трансивере, АDC оцифровывают IQ и далее обрабатываем ядром. Возможно, вы забурились не настолько глубоко, по сему посмотрите у https://habr.com/ru/users/dmitriyrudnev/posts/ несколько статей про "звуковуху" для SDR на F4xx - и возможно будете искать решение не на АЦП в микроконтроллере. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spirit_1 5 5 декабря, 2022 Опубликовано 5 декабря, 2022 · Жалоба On 12/5/2022 at 1:45 AM, Obam said: Мспользуеться все это в трансивере, АDC оцифровывают IQ и далее обрабатываем ядром. Возможно, вы забурились не настолько глубоко, по сему посмотрите у https://habr.com/ru/users/dmitriyrudnev/posts/ несколько статей про "звуковуху" для SDR на F4xx - и возможно будете искать решение не на АЦП в микроконтроллере. в чем именно я заблудился? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться