Перейти к содержанию
    

Поиск

Показаны результаты для тегов 'stm32f722'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Сайт и форум
    • Новости и обсуждения сайта и форума
    • Другие известные форумы и сайты по электронике
    • В помощь начинающему
    • International Forum
    • Образование в области электроники
    • Обучающие видео-материалы и обмен опытом
  • Cистемный уровень проектирования
    • Вопросы системного уровня проектирования
    • Математика и Физика
    • Операционные системы
    • Документация
    • Системы CAD/CAM/CAE/PLM
    • Разработка цифровых, аналоговых, аналого-цифровых ИС
    • Электробезопасность и ЭМС
    • Управление проектами
    • Нейронные сети и машинное обучение (NN/ML)
  • Программируемая логика ПЛИС (FPGA,CPLD, PLD)
    • Среды разработки - обсуждаем САПРы
    • Работаем с ПЛИС, области применения, выбор
    • Языки проектирования на ПЛИС (FPGA)
    • Системы на ПЛИС - System on a Programmable Chip (SoPC)
    • Методы и средства верификации ПЛИС/ASIC
  • Цифровая обработка сигналов - ЦОС (DSP)
    • Сигнальные процессоры и их программирование - DSP
    • Алгоритмы ЦОС (DSP)
  • Микроконтроллеры (MCU)
    • Cредства разработки для МК
    • ARM
    • RISC-V
    • AVR
    • MSP430
    • Все остальные микроконтроллеры
    • Отладочные платы
  • Печатные платы (PCB)
    • Разрабатываем ПП в САПР - PCB development
    • Работаем с трассировкой
    • Изготовление ПП - PCB manufacturing
  • Сборка РЭУ
    • Пайка и монтаж
    • Корпуса
    • Вопросы надежности и испытаний
  • Аналоговая и цифровая техника, прикладная электроника
    • Вопросы аналоговой техники
    • Цифровые схемы, высокоскоростные ЦС
    • RF & Microwave Design
    • Метрология, датчики, измерительная техника
    • АВТО электроника
    • Умный дом
    • 3D печать
    • Робототехника
    • Ремонт и отладка
  • Силовая электроника - Power Electronics
    • Силовая Преобразовательная Техника
    • Обратная Связь, Стабилизация, Регулирование, Компенсация
    • Первичные и Вторичные Химические Источники Питания
    • Высоковольтные Устройства - High-Voltage
    • Электрические машины, Электропривод и Управление
    • Индукционный Нагрев - Induction Heating
    • Системы Охлаждения, Тепловой Расчет – Cooling Systems
    • Моделирование и Анализ Силовых Устройств – Power Supply Simulation
    • Компоненты Силовой Электроники - Parts for Power Supply Design
  • Интерфейсы
    • Форумы по интерфейсам
  • Поставщики компонентов для электроники
    • Поставщики всего остального
    • Компоненты
  • Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир
    • Обсуждение Майнеров, их поставки и производства
  • Дополнительные разделы - Additional sections
    • Встречи и поздравления
    • Ищу работу
    • Предлагаю работу
    • Куплю
    • Продам
    • Объявления пользователей
    • Общение заказчиков и потребителей электронных разработок

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


Город


Код проверки


skype


Facebook


Vkontakte


LinkedIn


Twitter


G+


Одноклассники


Звание

Найдено: 0 результатов

  1. Здравствуйте, уважаемые коллеги, прошу высказать свое мнение или поделиться опытом по такому вопросу. Процессор STM32F722, генератор TXCO 50МГц, внутренняя частота ядра 216 МГц. Для фазометра сконфигурировал работу двух АЦП в сдвоенном режиме с одновременным запуском запуском от таймера 2. Приоритет при обработки прерываний от АЦП установил наивысший. Функция обработки прерывания вызывается из ОЗУ. Вовремя работы выводится сигнал для контроля частоты выборок. По сигналу тому наблюдается джиттер, т.е. при частоте выборок 1200 kS, джиттер порядка 48 ns. Все другие процессы остановлены. Планируется перенос данных из регистров в рабочий массив посредством ПДП, но понимаю, что джиттер отстанет. В чем может быть его причина и как свести его к минимуму? Заранее очень благодарен. // Инициализация АЦП1 и АЦП2 void Daul_ADC_DMA_Init(void) { RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; // разрешение тактирования АЦП 1 RCC->APB2ENR |= RCC_APB2ENR_ADC2EN; // разрешение тактирования АЦП 2 IN_ADC_Init(); // Конфигурирование аналог. входов ADC1->CR1 = 0; // Сброс в управляющих регистрах ADC1->CR2 = 0; ADC2->CR1 = 0; ADC2->CR2 = 0; ADC1->SMPR2 &= ~ADC_SMPR2_SMP2; // время выборки 3 цикла ADC2->SMPR2 &= ~ADC_SMPR2_SMP3; // время выборки 3 цикла // выбор каналов ADC1->SQR3 = 0x0000; //0b00000000000000000000000000000010; // канал 2 посл. рег. каналов АЦП1 ADC2->SQR3 = 0x0001; //0b00000000000000000000000000000011; // канал 3 посл. рег. каналов АЦП2 ADC1->CR2 = ADC_CR2_EXTEN_0 | ADC_CR2_EXTSEL_0 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_3;// | ADC_CR2_SWSTART; // источник запуска TIM2_CH2 / 1011: Timer 2 TRGO ADC2->CR2 = ADC_CR2_EXTEN_0 | ADC_CR2_EXTSEL_0 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_3;// | ADC_CR2_SWSTART ; // источник запуска TIM2_CH2 / 1011: Timer 2 TRGO //ADC2->CR1 |= ADC_CR2_DMA; // Активация режима работы с DMA ADC123_COMMON->CCR &= ~ADC_CCR_MULTI; // Очистка битов режимов ADC123_COMMON->CCR |= ADC_CCR_MULTI_0 | ADC_CCR_MULTI_3; // Режим совместной работы, одновременное преобразование регулярных каналов (0101) // Разрешение работы нескольких каналов, однократное преобразование ADC1->CR1 |= ADC_CR1_SCAN; // разрешение режима сканирования ADC2->CR1 |= ADC_CR1_SCAN; // разрешение режима сканирования // DMA_Init(); ADC1->CR1 |= ADC_CR1_EOCIE; // Разрешение прерывания от АЦП1 ADC2->CR1 |= ADC_CR1_EOCIE; // Разрешение прерывания от АЦП2 ADC1->CR2 |= ADC_CR2_ADON; // Запуск каналов АЦП в непрерывном режиме ADC2->CR2 |= ADC_CR2_ADON; // Запуск каналов АЦП в непрерывном режиме } // Daul_ADC_DMA_Init(void) // Функция обработки прерывания АЦЦП volatile uint32_t Duble_ADC_Data_1 ,Duble_ADC_Data_2; __irq void ADC_IRQHandler(void) { if ((ADC123_COMMON->CSR & ADC_CSR_EOC1) && (ADC123_COMMON->CSR & ADC_CSR_EOC2)) { ADC1->SR &= ~ADC_SR_EOC; // Очистка линии запроса прерывания ADC2->SR &= ~ADC_SR_EOC; // Очистка линии запроса прерывания LED_Blank_ON; Duble_ADC_Data_1 = (uint16_t)ADC1->DR; // Read data A from ADC1 / Sighal Duble_ADC_Data_2 = (uint16_t)ADC2->DR; // Read data A from ADC1 / Sighal LED_Blank_OFF; } } // __irq ADC_IRQHandler ()
×
×
  • Создать...