Easyelectronics.ru

Электроника для всех
Текущее время: 24 окт 2020, 19:52

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: STM32F100 ADC ->DMA ->DAC
СообщениеДобавлено: 18 фев 2011, 02:48 
Старожил

Зарегистрирован: 25 апр 2010, 10:13
Сообщения: 1927
Откуда: Томск
В общем надо было запустить проверку ADC и DAC чтобы оценить насколько можно их использовать в проекте.
Схема была выбрана простая - ADC оцифровывает, сливает в буфер DMA, а DAC берет из этого буфера и превращает в аналог. Заодно второй канал DAC просто выдает треугольный сигнал(я его подключил на вход ADC). На данный момент задача была хоть как-то запустить связку.

Может кому поможет, но потрахался я основательно, особенно с DAC и TIM6.

Засада в том что DAC умеет запрашивать данные у DMA, но только если включено управление от внешних триггеров, цитата "A DAC DMA request is generated when an external trigger (but not a software trigger) occurs while the DMAENx bit is set. The value of the DAC_DHRx register is then transferred into the DAC_DORx register."
Т.е. нельзя просто подать частоту на DAC (RCC_APB1Periph_DAC), надо ему еще дать частоту с триггера, например TIM6.

Таймеры вообще описаны через одно место, чуть ли не методом "научного тыка" искал чтобы TIM6 выдавал синхронизацию на DAC_Trigger_T6_TRGO, для этого надо MMS(Master mode selection) задать 2 (TIM6->CR2 = 2<<4 )

Код основывался на AN3116 STM32™’s ADC modes and their applications. (кстати замечательные примеры по ADC , эх-х... такой бы по таймерам и DAC....)
Гонялся на STM32vldiscovery, среда uVision 4.14

Show

зы. не забудь-те включить в stm32f10x_conf.h используемые peripheral header
ззы. и еще была там одна бяка с DIV HSE или PLL, уже не помню точно, но что-то правил в stm32f10x_rcc.h чтобы генерило 24MHz SYS_CLK и заработало на STM32VL.

_________________
Какое небо голубое....(с) лиса Алиса


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F100 ADC ->DMA ->DAC
СообщениеДобавлено: 03 мар 2011, 13:07 
Заглядывает иногда

Зарегистрирован: 17 окт 2010, 22:38
Сообщения: 36
Возможно мне пригодится. На STM32F100C8T6B запустится?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F100 ADC ->DMA ->DAC
СообщениеДобавлено: 04 мар 2011, 11:50 
Старожил
Аватара пользователя

Зарегистрирован: 22 апр 2010, 09:08
Сообщения: 623
На сотом dac нету


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F100 ADC ->DMA ->DAC
СообщениеДобавлено: 04 мар 2011, 12:30 
Заглядывает иногда

Зарегистрирован: 17 окт 2010, 22:38
Сообщения: 36
Как нету, когда я в даташите вижу, что есть. 2 штуки. 12-и битные.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F100 ADC ->DMA ->DAC
СообщениеДобавлено: 04 мар 2011, 19:42 
Старожил
Аватара пользователя

Зарегистрирован: 22 апр 2010, 09:08
Сообщения: 623
внезапно о_О видимо попутал с чем-то. в таком случае должно прокатить скорее всего


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F100 ADC ->DMA ->DAC
СообщениеДобавлено: 11 мар 2011, 13:24 
Заглядывает иногда

Зарегистрирован: 17 окт 2010, 22:38
Сообщения: 36
Я совсем новичек в ARM и Keil вижу впервые. До сих пор работал только с AVR на AVR Studio, поэтому испытываю некоторые трудности. Пожалуйста, не сочтите за труд просвятить меня )

Этот код, приведенный выше, использует CMSIS или нет? Просто если я начинаю подключать stm32f10x_lib то у меня сразу лезет куча ошибок

Build target 'STM32'
compiling main.c...
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(23): error: #256: invalid redeclaration of type name "s32" (declared at line 421 of ".\CMSIS\DeviceSupport\ST\STM32F10x\stm32f10x.h")
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(27): error: #256: invalid redeclaration of type name "sc32" (declared at line 425 of ".\CMSIS\DeviceSupport\ST\STM32F10x\stm32f10x.h")
C:\Keil\ARM\INC\ST\STM32F10x\stm32f10x_type.h(31): error: #256: invalid redeclaration of type name "vs32" (declared at line 429 of ".\CMSIS\DeviceSupport\ST\STM32F10x\stm32f10x.h")

Как я понимаю они конфликтуют между собой.

Что это за файлы, относящиеся к STM32, лежащие в папках Keil? Это какая-то альтернативная библиотека для STM32 от Keil, конкурирующая с CMSIS? Просто, как видно, одновременно они не хотят работать. Либо я что-то не так делаю.

Где находятся объявления всяких там ADC_InitTypeDef?

>>>зы. не забудь-те включить в stm32f10x_conf.h используемые peripheral header
А что это за файл и откуда он берется? Если не трудно- выложите пожалуйста весь проект с вышеприведенным кодом для кейла целиком.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F100 ADC ->DMA ->DAC
СообщениеДобавлено: 12 мар 2011, 19:10 
Старожил

Зарегистрирован: 25 апр 2010, 10:13
Сообщения: 1927
Откуда: Томск
CMSIS - это как бы стандартный интерфейс С для всех ARM.
Ошибки - это не конфликты, а скорее всего нескомпиленые исходники.
Чтобы они компилились - надо файлы подключить в проект.
Проект уже ушёл, поэтому выложить не могу.
Только что в соседнюю тему написал последовательность настройки Keil.
Примеры можно скачать с сайта st.com - ищи там Application Notes с зиповаными архивами - там готовые и настроенные проекты с примерами и всеми библиотеками. Удобнее всего начинать отсюда

_________________
Какое небо голубое....(с) лиса Алиса


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB