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

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

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

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

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

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


 
Опции темы
Непрочитано 06.11.2010, 00:49  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: А я вам в сотый раз говорю, не надо сравнивать 32-разрядную

Сообщение от Gnider Посмотреть сообщение
Что такое пиколло мне известно. Старье. Довольно медленный. Появился еще в эпоху АРМ7. С современными кортексами тягаться не сможет. Сигнальным процессором его назвать с натяжкой можно
Во-первых, тексасы позиционируют его, как сигнальный цифровой КОНТРОЛЛЕР, а не процессор, там периферии вагон и маленькая тележка. Появился он всего 2-3 года назад, думаю, как побочный продукт 2812/2811/2810 и т.д. (У 28хх, кстати, есть экземпляр с 512 КБ флеши на борту, и даёт он до 150 мипсов.)

Ногами пикколо дрыгает так же хорошо, как и соображает. Скажем, складывает/вычитает 32-битные числа прямо в памяти, перемножает числа 32*32, это я уже говорил, делает ДВА МАСа за один такт. В общем, не последнего ряда камушек - байтодробилка.
Реклама:

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

Сообщение от kison Посмотреть сообщение
Ну раз для сравнения, то и цифры для одного из состязующихся давайте. Для АВР или STM8, а я соберу пример для другого. Только нужно массив урезать - 320х240 хранить банально негде, да и не нужно столько для теста. И функцию наполнения массива приведите - время существенно зависит от данных.
Идеал - рабочий исходник, который можно сразу собрать. Пример такого в 181 сообщении.
Вот исходняк но он корявый,ибо выдран из пограммы.



#define ADC_BUF_SIZE 32

#define ADC_BUF_LOW 8

#define ADC_BUF_HIGH 24


int FilterBuf(unsigned short int * buf, unsigned short int * sortbuf, short int buf_pointer, unsigned short int newvalue)
{
int i = 0, n;
char f;
long s;
unsigned short int ret_val, t;

buf[buf_pointer] = newvalue;
for (i = 0; i ‹ ADC_BUF_SIZE; sortbuf[i] = buf[i], i++)
;
n = ADC_BUF_SIZE;
f = 1;
while (f)
{
n--;
f = 0;
for (i = 0; i ‹ n; i++) if (sortbuf[i] ‹ sortbuf[i + 1])
{
t = sortbuf[i];
sortbuf[i] = sortbuf[i + 1];
sortbuf[i + 1] = t;
f = 1;
}
;
}

for (i = ADC_BUF_LOW, s = 0; i ‹ ADC_BUF_HIGH; s += sortbuf[i++])
;
ret_val = s / (ADC_BUF_HIGH - ADC_BUF_LOW);
return ret_val;
// return newvalue;
}

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

Сообщение от =GM= Посмотреть сообщение
Выходит, для частот 16-24 будет не 0 состояний ожидания? А сколько?
Там это настраивается. Для работы из флеши при частоте выше 24МГц нужго включить лишний такт ожидания. Но он не всегда будет - зависит от длинны команды. Впрочем нужно проверить быстродействие из ОЗУ и если оно такое же как из флеши, то перенести критичные по времени участки туда. В филипсовых арм7 несмотря на МАМ так приходится делать и выходит быстрее, несмотря на 128 битную шину к флеши. МАМ плохо работает при переходах, а их в цикличных алгоритмах много.

Сообщение от =GM= Посмотреть сообщение
Например, для генерации 3-х частот по выбору, 100 Гц, 1 кГц и 10 кГц, я остановился на тайни2313, 2КБ памяти, чего явно недостаточно для хранения таблиц под эти частоты. При частоте выдачи 1000 квыб/с они составляют 10000, 1000 и 100 байт соответственно. У меня работает на 10 МГц, 10 тактов на отсчёт, успеваю ещё проверить, нажатие кнопок на переход к другой частоте. Сделаете то же самое на СТМ8?
Вполне. Причем с почти 0-ой загрузкой процессора. На 8L151, заодно и внешний ЦАП не понадобится.

Сообщение от =GM= Посмотреть сообщение
По поводу сортировки методом пузырьков. Для аврки без разницы, какие числа сравнивать. Могу поспорить, что сделаю за 500 тактов.
Попробуйте. Я в это не верю. Исходные данные - указатель на массив А uint16_t[32], одна переменная для добавления также uint16_t, указатель на массив B аналогичный В, впрочем можете хоть на стеке его создать - это на Ваше усмотрение. Ну и переменная для среднего арифметического элементов 8-23 отсортированного массива. Массив А заполняем как 0,31,1,30,2,29 и т.д. Переменная для добавления = 16. Получите результат, тогда я тоже соберу под STM8.

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

Сообщение от =GM= Посмотреть сообщение
У него всего 80 команд, а-ля 8051, посмотрел, проникся. В дейташите на STM8S208xx насторожила такая фраза "Max fCPU: up to 24 MHz, 0 wait states @ fCPU ‹ 16 MHz". Выходит, для частот 16-24 будет не 0 состояний ожидания? А сколько?


Ну, меня интересуют потенциальные возможности проца, т.е. что из него можно выжать, находясь в рамках приличий, то бишь заявленных производителем характеристик.

Например, для генерации 3-х частот по выбору, 100 Гц, 1 кГц и 10 кГц, я остановился на тайни2313, 2КБ памяти, чего явно недостаточно для хранения таблиц под эти частоты. При частоте выдачи 1000 квыб/с они составляют 10000, 1000 и 100 байт соответственно. У меня работает на 10 МГц, 10 тактов на отсчёт, успеваю ещё проверить нажатие кнопок на переход к другой частоте. Сделаете то же самое на СТМ8?

Для DSP тот же подход - раз есть мозги, выжать из них максимум возможного. Вот думаю разработать анализатор спектра 0-100 МГц на DSP.

Насчёт ДДС, программно выше 2-4 Мвыборок/с заходить не стоит, уже есть хорошие ДДС от Аналоговых Девиц с тактовой 25-50-100 МГц и выше. Но для низких частот - аппаратные ДДС избыточны, т.ч. здесь находится естественная ниша для программных ДДС.

По поводу сортировки методом пузырьков. Для аврки без разницы, какие числа сравнивать. Могу поспорить, что сделаю за 500 тактов. Хочется также послушать постановщика задачи gnider, сколько тактов у него.
Насчет DDS. Вы в курсе что такое DMA? Эти вещи давно можно делать аппаратно без участия ЦП.

А насчет пузырька. Я не знаю сколько это займет на стм8. Я утверждаю что на стм8 и авр будет одинаково.

Последний раз редактировалось Falconist; 13.04.2011 в 23:42.
Gnider вне форума  
Непрочитано 06.11.2010, 01:06  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Ну, это вы прямо в лоб делаете, так никаких

циклов не хватит . Хотя бы разбили на 4 части, отсортировали каждую часть, потом бы слили уже отсортированные. Раз в 5 быстрее было бы. Это не наш метод .

И ещё, вы уверены в заигрываниях с переменной f?
=GM= вне форума  
Непрочитано 06.11.2010, 01:12  
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Ну, это вы прямо в лоб делаете, так никаких

Сообщение от =GM= Посмотреть сообщение
циклов не хватит . Хотя бы разбили на 4 части, отсортировали каждую часть, потом бы слили уже отсортированные. Раз в 5 быстрее было бы. Это не наш метод .

И ещё, вы уверены в заигрываниях с переменной f?
Про 4 части не понял. А про переменную f сейчас не скажу. Но исходняк был работающий.

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

Сообщение от =GM= Посмотреть сообщение
У него всего 80 команд, а-ля 8051, посмотрел, проникся.
Кстати о командах. Их действительно около 80. А вот сколько у АВР? 120? Нет, значительно меньше. Например cbr - очистка бит в регистре на самом деле andi, и таких псевдонимов там много. Когда то считали команды, так их у АВР тоже около 80 насчиталось. Ну и например команда ld у STM8 - вроде одна. Но умеет память-› аккумулятор, аккумулятор-›память, константа-›аккумулятор. Или команда ldw - аж 6 вариантов. ST считает ее одной командой, а вот атмел бы на 6 разбил.

Последний раз редактировалось Falconist; 13.04.2011 в 23:41.
kison вне форума  
Сказали "Спасибо" kison
Highlander (27.01.2011)
Непрочитано 06.11.2010, 01:17  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от Gnider Посмотреть сообщение
Насчет DDS. Вы в курсе что такое DMA? Эти вещи давно можно делать аппаратно без участия ЦП.
А насчет пузырька. Я не знаю сколько это займет на стм8. Я утверждаю что на стм8 и авр будет одинаково.
Ну, если в лоб и на Си, то возможно. Кстати, тогда состязание будет не просто двух архитектур. но ещё и двух компиляторов. Кривость ассемблера и архитектуры будет тщательно скрыта.

О дма я в курсе. Дма только перекачивает данные, но не обрабатывает их, так что в задаче для ддс дма не поможет, скорее, помешает.

А вот вы в курсе, что ДМА останавливает проц, и толку от такого дма, не так уж и много, поскольку проц всё равно стоит?

Последний раз редактировалось Falconist; 13.04.2011 в 23:41.
=GM= вне форума  
Непрочитано 06.11.2010, 01:22  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Что там понимать-то

Сообщение от Gnider Посмотреть сообщение
Про 4 части не понял. А про переменную f сейчас не скажу. Но исходняк был работающий
Количество операций в сортировке N*(N-1)=32*31=992. если N=8, то количество операций равно 8*7=56. Всего 56*4=224. Теперь упорядоченные списки можно слить вместе, но уже не надо елозить по всему массиву.

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

Сообщение от Gnider Посмотреть сообщение
А про переменную f сейчас не скажу.
Я скажу. Там все правильно, это немного модифицированный пузырек. Каждый раз проход сокращается на 1 значение, а f - признак что замен не было. Позволяет выйти после первого же прохода если вышло так, что данные в сортировке не нуждаются. Этот алгоритм описан наверно 1000 раз Впрочем я бы пузырек в такой задаче не использовал, есть много куда более быстрых алгоритмов сортировки, но вот для сравнения производительности он в самый раз.

Последний раз редактировалось Falconist; 13.04.2011 в 23:41.
kison вне форума  
 

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

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

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, время: 09:35.


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