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

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

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

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

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

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


 
Опции темы
Непрочитано 10.11.2010, 19:47  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Вот ещё фактики про дма

1) Передача одного байта занимает 3 такта. ЦПУ похоже стоит.

2) Передача одного слова, скажем для цап, занимает 5 тактов. ЦПУ похоже стоит.

3) Из п.2 следует, что максимальная скорость передачи для STM8L равна 16/5=3.2 МГц. Больше ничего не делается, т.к. все шины заняты, цпу стоит. Так что, ни о каких 10МГц выдачи отсчётов речь просто не идёт.

4) Время установления выхода ЦАПа составляет 7 (макс до 12 мкс), т.е. частота выдачи (83)-142 кГц.

5) Внешний цап в связке с дма использовать нельзя, т.к. дма не может работать с портами ввода-вывода.

Вывод такой. Это костыли какие-то, а не дма. А в остальном чип хорош, да.
Реклама:
=GM= вне форума  
Непрочитано 10.11.2010, 23:41  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от =GM= Посмотреть сообщение
1) Передача одного байта занимает 3 такта. ЦПУ похоже стоит.
Нет, не стоит. Есть приоритеты у DMA и даже при самом высоком ядро остановится на такт при одновременном доступе с DMA к одному ресурсу. Например к ОЗУ. Но в это время вполне можно работать с регистрами например. Можно задать приоритет DMA пониже, тогда ждать будет как раз DMA, а CPU работать.

Сообщение от =GM= Посмотреть сообщение
3) Из п.2 следует, что максимальная скорость передачи для STM8L равна 16/5=3.2 МГц. Больше ничего не делается, т.к. все шины заняты, цпу стоит. Так что, ни о каких 10МГц выдачи отсчётов речь просто не идёт.
Пошли откровения. Может это... документацию почитать?

Сообщение от =GM= Посмотреть сообщение
4) Время установления выхода ЦАПа составляет 7 (макс до 12 мкс), т.е. частота выдачи (83)-142 кГц.
Ну что поделать, мало потреблять и быстро работать видимо не выходит. Ну пусть тогда не STM8L, а STM32F100 - там ЦАП с 1мкс установки. Стоимость - те же 50р.
Я же не говорил, что STM8 прямо на все задачи ложится. Нет конечно, надо подбирать подходящий под конкретную задачу. Но со многим и STM8L справится - звук, типа голоса, музыки. Или НЧ генератор 20-50000Гц. В общем много где и нешустрый ЦАП сгодится.
Сообщение от =GM= Посмотреть сообщение
5) Внешний цап в связке с дма использовать нельзя, т.к. дма не может работать с портами ввода-вывода.
Да все равно смысла в этом нет. Если нужен синус выше 50КГц, лучше взять более приспособленный кристалл. Например тот же STM32F100. Навешивать же внешний ЦАП как то неинтересно - он стоит дорого. Дороже микроконтроллера со встроенным. А резисторный еще дороже.
С STM32F100 наврал - ЦАП за 4мкс устанавливается. Но это от минимума до максимума, так что килогерц на 400 синуса рассчитывать можно.
Кстати и внешний ЦАП к STM8L можно подключить. Канал 3 DMA имеет такую возможность.

Последний раз редактировалось kison; 11.11.2010 в 00:04.
kison вне форума  
Непрочитано 11.11.2010, 00:34  
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Дело в том что DDS это фактичекси 2 арифметические операции. Никто не спорит что можно откапать 8-битник который две эти операции,который две эти операции подряд будет делать быстро. Но это все синтетика.

Я уже какой раз прошу сравнивать большие куски программ. Несколько я привел.
Сравнения я так и не увидел.
Gnider вне форума  
Непрочитано 11.11.2010, 03:32  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Вам же сказали, по моей оценке вгрубе можно уложиться в 500 тактов. Кстати, от вас сравнения тоже не видно, с чем сравнивать-то?
=GM= вне форума  
Непрочитано 11.11.2010, 03:50  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Такие откровения

Сообщение от kison Посмотреть сообщение
Пошли откровения. Может это... документацию почитать?
Вообще-то, цифры про 3 такта и 5 тактов для передачи байта и слова посредством дма взяты из документации на стм8л, так что учите матчасть.

Проц, как вы наверное заметили, в основном работает с памятью, поскольку более-менее ходовых регистров у него всего 3. Теперь, если вы посмотрите, как реализован дма, то вы придёте в ужас. Он захватывает общую шину, так что больше никаких операций просто физически невозможно совершить. Поэтому и говорю, что это не полновесный дма, а некие костыли в системе.

Сообщение от kison Посмотреть сообщение
Кстати и внешний ЦАП к STM8L можно подключить. Канал 3 DMA имеет такую возможность
Вроде бы не имеет. Я ещё раз проверю, конечно, а вы пока расскажите, как будете подключать внешний цап к дма?
=GM= вне форума  
Непрочитано 11.11.2010, 08:55  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от =GM= Посмотреть сообщение
Вообще-то, цифры про 3 такта и 5 тактов для передачи байта и слова посредством дма взяты из документации на стм8л, так что учите матчасть.
Я не про такты, а про то, что больше ничего не делается. Еще как делается. Например за время требующееся на команду условного перехода вполне пройдет полная транзакция DMA. Но конечно полностью от конфликтов не уйти, поэтому я честно сказал - примерно на 10% ядро все же притормозится. Пусть даже на 20, это все равно лучше 100% загрузки и невозможности использовать прерывания. С DMA прерывания доступны.
Сообщение от =GM= Посмотреть сообщение
Теперь, если вы посмотрите, как реализован дма, то вы придёте в ужас. Он захватывает общую шину, так что больше никаких операций просто физически невозможно совершить. Поэтому и говорю, что это не полновесный дма, а некие костыли в системе.
Вполне нормально реализован. Ну вот с ЦАП - транзакция должна выполниться за время между запросами. Не нужно выдерживать позицию вывода с точностью до такта, все равно данные идут в буферный регистр ЦАП. Для встроенного ЦАП делать выборки выше мегасэмпла смысла не имеет, все равно 50-70КГц предел для синуса. Ну и за 16 тактов всяко место для 3 на транзакцию найдется. Если задать DMA максимальный приоритет,то да - ядро будет приостанавливаться. Но и это не беда, 3/16*100 = 18% загрузки. Однако имеем еще 82 на разные нужды.
Сообщение от =GM= Посмотреть сообщение
Вроде бы не имеет. Я ещё раз проверю, конечно, а вы пока расскажите, как будете подключать внешний цап к дма?
Я - не буду. Но как можно это сделать расскажу. Есть куча параллельных асинхронных ЦАП, вплоть до R2R матрицы, хоть последняя и совсем хреновый выбор. Но и интегральные встречаются. 3 канал DMA может работать с адресами 0х4000-0х5FFF, а там все регистры GPIO.
kison вне форума  
Непрочитано 11.11.2010, 13:29  
EugVor
Временная регистрация
 
Регистрация: 15.03.2006
Сообщений: 80
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
EugVor на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Изобразил скрипт для расчёта таймеров STM8 ›› http://eugenemcu.ru/index/0-65
EugVor вне форума  
Сказали "Спасибо" EugVor
Highlander (29.01.2011)
Непрочитано 11.11.2010, 17:11  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от kison Посмотреть сообщение
Я не про такты, а про то, что больше ничего не делается. Например за время требующееся на команду условного перехода вполне пройдет полная транзакция DMA
Не думаю, а то больно умный чип выйдет . ПМСМ, на время работы дма всё остальное просто замирает, так было исторически, это и для разработчиков проще в реализации. Учтите, в ядре ещё трёхкаскадный конвейер стоит, поэтому архисложно что-либо сделать или не сделать, когда дма захватил системную шину (см. картинку), мало ли какой сигнал и куда пойдет во время работы дма.

Сообщение от kison Посмотреть сообщение
Есть куча параллельных асинхронных ЦАП. 3 канал DMA может работать с адресами 0х4000-0х5FFF, а там все регистры GPIO.
С регистрами вы меня убедили, похоже, можно работать. А как быть с выводом 16-битных значений на внешний цап? Имеется в виду вывод не одного байта, а двух. Есть у дма возможность вывести два байта в два порта?

И последнее. Как вы планируете запускать дма через 1 мкс?
Миниатюры:
Нажмите на изображение для увеличения
Название: dmaIssue.jpg
Просмотров: 62
Размер:	29.3 Кб
ID:	14578  

Последний раз редактировалось =GM=; 11.11.2010 в 17:16.
=GM= вне форума  
Непрочитано 11.11.2010, 17:31  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от =GM= Посмотреть сообщение
Не думаю, а то больно умный чип выйдет . ПМСМ, на время работы дма всё остальное просто замирает, так было исторически, это и для разработчиков проще в реализации. Учтите, в ядре ещё трёхкаскадный конвейер стоит, поэтому архисложно что-либо сделать или не сделать, когда дма захватил системную шину (см. картинку), мало ли какой сигнал и куда пойдет во время работы дма.
Ну значит в ST дебилы сидят. Или напротив - там думают что пользователи - дебилы. Они ведь в документации приоритеты расписали и четко указали, что только высший приоритет для DMA может притормозить CPU. Но и при других приоритетах DMA как то работает. Несмотря на то, что ядро имеет более высокий приоритет. А вот по Вашей логике кроме высшего все остальные приоритеты неработоспособны в принципе. Типа DMA будет вечно ждать когда же ядро шину освободит.


Сообщение от =GM= Посмотреть сообщение
А как быть с выводом 16-битных значений на внешний цап? Имеется в виду вывод не одного байта, а двух. Есть у дма возможность вывести два байта в два порта?
Нет. Точнее есть, но в два соседних адреса. Порты же разнесены, так что - такой возможности у STM8L нет. Но есть у STM32F100
Сообщение от =GM= Посмотреть сообщение
И последнее. Как вы планируете запускать дма через 1 мкс?
Таймером. Им тактируется ЦАП, по этому такту содержимое буферных регистров идет в выходные регисты ЦАП. Сразу после этого ЦАП сам запрашивает очередную транзакцию от DMA.
kison вне форума  
Непрочитано 11.11.2010, 17:46  
avp94
Почётный гражданин KAZUS.RU
 
Аватар для avp94
 
Регистрация: 26.01.2007
Сообщений: 3,123
Сказал спасибо: 61
Сказали Спасибо 1,153 раз(а) в 624 сообщении(ях)
avp94 на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

IAR Embedded Workbench for STM8 v.1.20.1 если интересно http://iar.com/website1/1.0.1.0/2891/1/
avp94 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
KiCAD-объявления и впечатления al_dan KiCAD 32 03.10.2016 17:02
Народ, посмотрите quasm, Как ваши впечатления? suri Proteus, KiCAD и другие ECAD 5 14.10.2009 11:57


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


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