Вс мар 13, 2022 14:32:38
Вс мар 13, 2022 16:13:01
tonyk писал(а):минимальное время для УВХ не канает
наверное надо было максимум написатьDimon456 писал(а):ADC_SampleTime_239_5Cycles
Мне интересно, сколько дма каналов можно задействовать одновременно?tonyk писал(а):Ещё не забывай, что пересылки из АЦП в память занимают полосу пропускания шин,
и опять все упирается в такты время и т.п.tonyk писал(а):Во-вторых, на расчёты нужно время,
Вс мар 13, 2022 17:02:04
Вс мар 13, 2022 17:26:21
И каковы же предельные значения для шины памяти? К примеру вот у этого stm32f030f4p6.КРАМ писал(а):на скоростях близких к предельным для шины памяти.
Вс мар 13, 2022 17:31:36
Вс мар 13, 2022 17:49:12
Даже если и так. 48МГц/4=12МГц, это что-то около 0,083us,КРАМ писал(а):четверть от системной частоты
Вс мар 13, 2022 17:54:00
Вс мар 13, 2022 19:14:58
Думаю, цель, использование одновременно дма каналов.КРАМ писал(а):Какая цель ставится?
Вс мар 13, 2022 20:51:07
Вс мар 13, 2022 21:15:42
Ну а тогда какого хрена мне тут тарочут про занимаемую полосу пропускания шины? Если эта штука способна все запросы обработать +кучу прерываний и положить это все куда нужно, тогда ни какой проблемы не вижу.КРАМ писал(а):Вы путаете Божий дар с яичницей.
Нооооо. Две темы перетрясли и в разделе stm и в разделе avr. Пока что, из вас, ни кто не предложил другого варианта измерения.КРАМ писал(а):ЗЫ. В догон.
Вс мар 13, 2022 21:47:28
Вс мар 13, 2022 23:27:05
Пн мар 14, 2022 01:17:33
Пн мар 14, 2022 01:47:39
Пн мар 14, 2022 04:17:18
Пн мар 14, 2022 05:59:11
Пн мар 14, 2022 08:01:01
Пн мар 14, 2022 09:19:54
Допусти такКРАМ писал(а):Однако кроме того, что вы поместили данные в ОЗУ, делать с этими данными вы что то планируете?
volatile uint32_t avg_s;
#define ARRAYSIZE 1024UL
uint16_t ADC_values[ARRAYSIZE] __attribute__ ((aligned(4)));
#define d_count 512UL
void DMA1_Channel1_IRQHandler(void)
{
static uint32_t avg;
static uint32_t avg_t;
static uint32_t count=0;
uint16_t *dp;
uint32_t irq; uint16_t n;
DMA1->IFCR = irq = DMA1->ISR & D_IRQ_MASK;
dp = &ADC_values[(irq & DMA_ISR_TCIF1) ? ARRAYSIZE / 2 : 0];
n = ARRAYSIZE / 2;
avg = 0;
do {
avg += *dp;
dp += 1;
} while (--n != 0);
avg_t += avg;
if(count++ == d_count) {
avg_t /= ((ARRAYSIZE * d_count) / 2); // 1024*512/2=262144 или 2^18
avg_s = avg_t;
count=0; avg_t=0;
}
}
А конечная цель, на дма все весит, все что можно повесить, и uart и spi и i2c, и куча прерываний.КРАМ писал(а):Вы так и не озвучили КОНЕЧНУЮ ЦЕЛЬ.
Пн мар 14, 2022 10:12:15
Пн мар 14, 2022 10:14:40
Но тогда и с вашим FIFO и с полосой пропускания шины не должно возникнуть ни каких проблем.КРАМ писал(а):Никаких проблем с накоплением тут нет от слова совсем.