Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 09.01.2011, 00:54  
pigtail
Временная регистрация
 
Регистрация: 22.06.2006
Сообщений: 82
Сказал спасибо: 5
Сказали Спасибо 9 раз(а) в 8 сообщении(ях)
pigtail на пути к лучшему
По умолчанию Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы

Да все что угодно, название любое, а в объяснении я например указал пульт радиоуправления, не думаю, что кто то там вчитывается при таких массовых рассылках.
Реклама:
pigtail вне форума  
Сказали "Спасибо" pigtail
Flopix (09.01.2011)
Непрочитано 09.01.2011, 04:01  
akimych
Прописка
 
Регистрация: 02.01.2011
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 32 раз(а) в 28 сообщении(ях)
akimych на пути к лучшему
По умолчанию Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы

Цитата:
Куда идут эти 24000/110/2=110 тактов?
Нашлись такты. Не оптимальная процедура вывода значения в DAC. Настройкой уровня оптимизации удалось увеличить вывод до 167 КГц. Получилось примерно 24000/167/2= 70 тактов
Кокосовый компилятор суров, зачем он использует стек
При таком подходе стм-вская библиотека ему противопоказана.

При выключенной оптимизации кейл выдает такое
Код:
0x08000AFC F04F0170  MOV      r1,#0x70
0x08000B00 F04F0008  MOV      r0,#0x08
0x08000B04 F7FFFBFC  BL.W     DAC_SetChannel1Data (0x08000300)

DAC_SetChannel1Data:
0x08000300 2200      MOVS     r2,#0x00
0x08000302 4A03      LDR      r2,[pc,#12]  ; @0x08000310
0x08000304 F1000308  ADD      r3,r0,#0x08
0x08000308 441A      ADD      r2,r2,r3
0x0800030A 6011      STR      r1,[r2,#0x00]
0x0800030C 4770      BX       lr
При включенной
Код:
0x080008D6 F04F0170  MOV      r1,#0x70
0x080008DC F04F0008  MOV      r0,#0x08
0x080008E0 F7FFFCF6  BL.W     DAC_SetChannel1Data (0x080002D0)

DAC_SetChannel1Data:
0x080002D0 4A01      LDR      r2,[pc,#4]  ; @0x080002D8
0x080002D2 4410      ADD      r0,r0,r2
0x080002D4 6081      STR      r1,[r0,#0x08]
0x080002D6 4770      BX       lr
Оказалось, DAC_SoftwareTriggerCmd(DAC_Channel_1, ENABLE) тормозит значительно сильнее, т.к. там условные переходы. Вообще эта процедура бредовая, имхо. ENABLE там нафиг не нужен, не представляю, зачем может понадобится DISABLE.

А если процедуру переписать так
Код:
void DAC_SetChannel1Data(uint32_t DAC_Align, uint16_t Data)
{  
  uint32_t tmp = (uint32_t)DAC_BASE + DHR12R1_Offset; 
  *(__IO uint32_t*)(tmp + DAC_Align) = Data;
}
то получится без оптимизации
Код:
0x08000A4C 4A01      LDR      r2,[pc,#4]  ; @0x08000A54
0x08000A4E 5011      STR      r1,[r2,r0]
0x08000A50 4770      BX       lr
с оптимизацией кейл вообще выкидывает ее и вместо вызова ставит одну команду STR

Интересно, что в этом случае сгенерит кокос (мне лениво его ставить).

Последний раз редактировалось akimych; 09.01.2011 в 04:04.
akimych вне форума  
Сказали "Спасибо" akimych
lsa (09.01.2011)
Непрочитано 09.01.2011, 14:05  
akimych
Прописка
 
Регистрация: 02.01.2011
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 32 раз(а) в 28 сообщении(ях)
akimych на пути к лучшему
По умолчанию Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы

Ну в принципе быстродействие ЦАП-а и так известно из даташита. Если хочется самому посмотреть, то можно попробовать такой код
надеюсь у компилятора хватит ума положить переменные в регистры, констатны тоже можно положить в регистры заранее
Код:
__IO uint32_t *dac_reg1, *dac_reg2; 
dac_reg1  = (__IO uint32_t *)(DAC_BASE + DHR12R1_Offset + DAC_Align_8b_R);
dac_reg2  = &DAC-›SWTRIGR;
while (1)
{
// в идеале 4*2 такта + команда перехода
  *dac_reg1  = 120; 
  *dac_reg2 = 1;
  *dac_reg1  = 136;
  *dac_reg2 = 1;
}
При включенном буфере на выходе ЦАП-а, мин и макс напряжение должно быть от +0.2В до VCC-0.2В (хотя я там видел не 0.2 а побольше, этак 0.8 ), так что лучше делать колебания не от 0, а в середине диапазона и не на всю шкалу, т.к. ограничена скорость изменения, т.е. грубо говоря, меандр небольшой апмлитуды будет более прямоугольный.
Кстати, в этом коде я не вижу команды запуска (типа SoftwareTriggerCmd)
Код:
8000454:	4620      	mov	r0, r4
 8000456:	4629      	mov	r1, r5
 8000458:	f7ff ffb8 	bl	80003cc ‹DAC_SetChannel1Data›
 800045c:	4620      	mov	r0, r4
 800045e:	4631      	mov	r1, r6
 8000460:	f7ff ffb4 	bl	80003cc ‹DAC_SetChannel1Data›
У меня без этого на выходе ЦАП-а глухо.

П.С.
Может лучше эту тему было развивать в соседней ветке "изучаем стм32"?
akimych вне форума  
Сказали "Спасибо" akimych
lsa (09.01.2011)
Непрочитано 09.01.2011, 14:59  
Flopix
Гражданин KAZUS.RU
 
Регистрация: 31.12.2010
Сообщений: 837
Сказал спасибо: 371
Сказали Спасибо 153 раз(а) в 113 сообщении(ях)
Flopix на пути к лучшему
По умолчанию Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы

В общем как я понял по написаному выше компилятор для этого контроллера настолько сыр что все критичные к скорости исполнения куски кода нужно писать исключительно на ассемблерных вставках, с таким объемом кода формируемым для простейших инструкций микроконтроллер может не справится даже с задачей чтения SD карты и вывода и проигрывания звукового файла с частотой дискритизации 44100Гц. А я уже замахнулся сделать на этом чипе VGA карту для вывода изображения на монитор в терминальном режиме .



Сообщение от lsa Посмотреть сообщение
Только непонятно - 250 нс это 4МГц (где 24МГц?)
В соседней ветке (или в теме на радиокоте уже не помню) на ST8 добились частоты дрыга лапкой около 9Мгц при частоте квара 20Мгц, что то тут совсем не чисто.

Последний раз редактировалось Flopix; 09.01.2011 в 15:10.
Flopix вне форума  
Непрочитано 10.01.2011, 01:27  
akimych
Прописка
 
Регистрация: 02.01.2011
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 32 раз(а) в 28 сообщении(ях)
akimych на пути к лучшему
По умолчанию Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы

Цитата:
Где там 1 такт на команду при 24МГц?
Ну запись в память (str) 2 такта. Наблюдаю почти синусоиду ~2МГц, цап уже не успевает.
Но меня на самом деле сейчас больше заинтересовало ногодрыгание. А точнее, странный вид сигнала.
Если у нас есть код
Код:
0x0800057A 6101      STR      r1,[r0,#0x10]
0x0800057C 6102      STR      r2,[r0,#0x10]
0x0800057E E7FC      B        0x0800057A
то было бы логично ожидать короткую 1 и подлиннее 0. Так оно и есть, но почему-то через раз. Т.е. выглядит так, как будто на самом деле
Код:
STR      r1,[r0,#0x10]
STR      r2,[r0,#0x10]
STR      r1,[r0,#0x10]
STR      r2,[r0,#0x10]
B
Если добавить NOP
Код:
STR      r1,[r0,#0x10]
NOP
STR      r2,[r0,#0x10]
B
то этот эффект исчезает.
Интересно себя ведет команда перехода.

Если сделать
Код:
STR      r1,[r0,#0x10]
STR      r1,[r0,#0x10]
STR      r2,[r0,#0x10]
STR      r2,[r0,#0x10]
B
то будет без хитростей, каждый виток цикла одинаковый.

А если так
Код:
reg2 = &GPIOA-›ODR;
reg1 = GPIO_Pin_7; 
while (1)
{
   reg1 ^= GPIO_Pin_7;
  *reg2 = reg1;
}

EOR      r4,r4,#0x80
STR      r4,[r5,#0x00]
B
то похоже, что переход занимает меньше тактов, чем в пред. вариантах.
Или мне показалось...

GPIO_WriteBit - тормозззз, ecли и пользоваться, то GPIO_SetBits/ResetBits.

Цитата:
В общем как я понял по написаному выше компилятор для этого контроллера настолько сыр что все критичные к скорости исполнения куски кода нужно писать исключительно на ассемблерных вставках, с таким объемом кода формируемым для простейших инструкций микроконтроллер может не справится даже с задачей чтения SD карты и вывода и проигрывания звукового файла с частотой дискритизации 44100Гц. А я уже замахнулся сделать на этом чипе VGA карту для вывода изображения на монитор в терминальном режиме
Да не, там не компилятор сырой. Это СТМ такую библиотеку выдал. Я вообще удивился, когда они начали повально использовать структуры для инициализации, в старых версиях такого не было. Да и вообще, уж слишком много лишнего в них. С выключенной оптимизацией код генерируется просто монстроидальный.
Ну а вообще, тут еще надо думать, как лучше использовать ресурсы мк.
Вот мы тут в цикле пытаемся закидать ЦАП данными, но это просто тест.
В реальной программе я бы не стал так делать. Данные через дма, синхронизация по таймеру, процессор занимается другимим делами или спит. То же самое и с чтением SD. Правда там с дма не все гладко, на каждом канале много чего висит, жаль нельзя выбирать, на какой канал что повесить.

Вот кстати тоже момент интересный. Сейчас запустил ЦАП через дма + ногодрыгание. В момент чтения данных ДМА (через ? тактов после изменения на выходе ЦАП-а) наблюдается доп. пауза. Хотя в этом ничего особенного нет.

А еще прикол, оказывает дрыгать ногами можно и через DMA, но получается медленно, ~1МГц всего
akimych вне форума  
Непрочитано 12.01.2011, 21:17  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы

Советую о STM32 писать в соответствующей ветке , так как эту ветку скоро потру . Ибо не о том она .

Теперь по теме : обломы начались где то числа 10 декабря .
Отпишитесь кто заказывал примерно в этих числах и кому пришло .
Может и ждать уже не стоит ?
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 12.01.2011, 22:15  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы

Заказал 4-го декабря, получил мессагу типа надо подождать, 23-го отправили (а расчитывал получить в этих числах), получил 11-го января. Так что... надо ждать.
st_1 вне форума  
Сказали "Спасибо" st_1
dosikus (12.01.2011)
Непрочитано 12.01.2011, 22:31  
you_go
Гражданин KAZUS.RU
 
Аватар для you_go
 
Регистрация: 30.05.2008
Адрес: Нижний Новгород
Сообщений: 903
Сказал спасибо: 90
Сказали Спасибо 1,276 раз(а) в 414 сообщении(ях)
you_go на пути к лучшему
По умолчанию Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы

Я заказывал 25 ноября - мне пришло только 26 декабря. А с учетом "рождественских каникул" можно ожидать, что заказы после 10 декабря будут идти еще дольше.
you_go вне форума  
Непрочитано 12.01.2011, 22:43  
Gray_Wolf
Частый гость
 
Регистрация: 25.12.2009
Сообщений: 19
Сказал спасибо: 0
Сказали Спасибо 9 раз(а) в 8 сообщении(ях)
Gray_Wolf на пути к лучшему
По умолчанию Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы

Заказал 14 декабря, 20 декабря пришло сообщение о "6-8 недель" - пока ничего не получил. Координаты: Беларусь, Могилев.
Gray_Wolf вне форума  
Сказали "Спасибо" Gray_Wolf
dosikus (12.01.2011)
Непрочитано 12.01.2011, 22:53  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Конкурс от EBV Elektronik и STMicroelectronics. Рассылают отладочные платы

Сообщение от dosikus Посмотреть сообщение
Советую о STM32 писать в соответствующей ветке , так как эту ветку скоро потру . Ибо не о том она .
А зачем тереть? Может "вклеить" в соответствующую? Может кому (с учётом интереса народа к STM32) и пригодится, ну чтобы вопросов по второму кругу ни у кого не возникало (хотя... один фиг, "наша песня хороша..." ).
st_1 вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Технология изготовления печатной платы Tungus55 Делимся опытом 1165 06.01.2017 19:19


Часовой пояс GMT +4, время: 19:25.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot