Например TDA7294

Форум РадиоКот • Просмотр темы - In vino veritas
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 03:24:59

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


ПРЯМО СЕЙЧАС:



Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 1081 ]     ... , , , 33, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 11:37:50 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
Пример исходника на чистом ассемблере для АРМ (а не распечатку Сишного листинга) приложите.
:wink:
Я понимаю, что под Си это не вопрос в принципе.

Код:
float sin(float x)   // -Pi..Pi
{
    float x2 = x * x;
    float p7 = -0.00000002f * x2 + 0.000002522f;
    float p5 = p7 * x2 - 0.000173505f;
    float p3 = p5 * x2 + 0.006620879f;
    float p1 = p3 * x2 - 0.101321180f;
    return (x - Pi) * (x + Pi) * p1 * x;
}

Спойлер
Код:
vldr s14, [sp, #28]
vldr s7, [pc, #636]
vldr s8, [pc, #636]
vldr s9, [pc, #636]
vldr s12, [pc, #636]
vldr s10, [pc, #636]
vldr s15, [pc, #636]
vmul.f32 s13, s14, s14
vsub.f32 s11, s14, s12
vfma.f32 s8, s13, s7
vadd.f32 s12, s14, s12
vfma.f32 s9, s13, s8
vmul.f32 s12, s11, s12
vmov.f32 s11, s10
vfma.f32 s11, s13, s9
vfma.f32 s15, s13, s11
vmul.f32 s15, s15, s12
vmul.f32 s15, s15, s14
vstr s15, [sp, #24]


На пальцах можно объяснить как это работает? Из теории попалось только ряд Тейлора, в виде степенных рядов.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 11:41:00 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Но это же Си, а не ассемблер - я уже про то говорил, что спрашивающего интересует АССЕМБЛЕРНОЕ воплощение.
И не на математическом сопроцессоре, а "стандартным арсеналом" типового 8-разрядного МК.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 11:47:51 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
Но это же Си, а не ассемблер - я уже про то говорил, что спрашивающего интересует АССЕМБЛЕРНОЕ воплощение.

Чем спрашивающему листинг на ассме не угодил учитывая, что под ARM с FPU он все равно ничего писать не будет?

Цитата:
И не на математическом сопроцессоре, а "стандартным арсеналом" типового 8-разрядного МК.

Уважаемый, следовало бы изначально изъясняться яснее, потому как исходник на чистом ассемблере для 32-х битного АРМ и типового 8-разрядного МК - это в принципе несопоставимые вещи :)


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 11:54:24 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
BOB51 писал(а):
И не на математическом сопроцессоре, а "стандартным арсеналом" типового 8-разрядного МК.
Вы же просили.
BOB51 писал(а):
Пример исходника на чистом ассемблере для АРМ
Что попросили, то и дали. В STM32F4 и не только есть математический сопроцессор, для чисел с плавающей точкой.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 12:02:09 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14062
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Ясненько - сунули команды математического сопроцессора и рады.
8)
Ох уж та реклама АРМов.
А ближе к примитиву, что человеку нужно?
Таки проще табличного варианта похоже и не предвидится.
:sleep:


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 12:09:57 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
Ясненько - сунули команды математического сопроцессора и рады.
Ох уж та реклама АРМов.

Ну да, FPU+DSP, $2.8 штучка, десяток по $2.2.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 12:33:43 
Друг Кота
Аватар пользователя

Карма: 76
Рейтинг сообщений: 770
Зарегистрирован: Чт мар 07, 2013 20:39:17
Сообщений: 3663
Откуда: Краснодар
Рейтинг сообщения: 0
Reflector писал(а):


Спойлер
Код:
float sin(float x)   // -Pi..Pi
{
    float x2 = x * x;
    float p7 = -0.00000002f * x2 + 0.000002522f;
    float p5 = p7 * x2 - 0.000173505f;
    float p3 = p5 * x2 + 0.006620879f;
    float p1 = p3 * x2 - 0.101321180f;
    return (x - Pi) * (x + Pi) * p1 * x;
}


Ладно с ней с матиматикой, а как работает этот код?
Reflector писал(а):
Чем спрашивающему листинг на ассме не угодил учитывая, что под ARM с FPU он все равно ничего писать не будет?

Я писать ни чего не буду, мне интересно именно уровень матиматики, единиц и нолей.

_________________
„Выживает не самый сильный и не самый умный, а тот, кто лучше всех приспосабливается к изменениям.“
— Чарлз Дарвин


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 12:55:36 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
BOB51 писал(а):
Ясненько - сунули команды математического сопроцессора и рады.
Почему сунули? Ведь написали же.
Reflector писал(а):
6 сложений, 7 умножений, на STM32 с FPU синус тактов за 30 считает с неплохой точностью.
FPU.

BOB51 писал(а):
Ох уж та реклама АРМов.
Это все равно что в начале 90-тых, имея Радио-86РК писать "Ох уже эта реклама Pentium 1".
В STM32 есть математический сопроцессор и не только он, а в 8-ми битниках его нет. Вам нужно решить, пользоваться новым или устаревшим.

BOB51 писал(а):
Таки проще табличного варианта похоже и не предвидится.
Для тех МК под которые вы пишите, может быть, а для современных есть другие варианты.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 13:03:48 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
Ладно с ней с матиматикой, а как работает этот код?

Я не знаю что объяснять, если абстрагироваться от математического обоснования, то что останется?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 13:17:40 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
:facepalm:

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 13:19:17 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Я писать ни чего не буду, мне интересно именно уровень матиматики, единиц и нолей.


Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 13:49:51 
Друг Кота
Аватар пользователя

Карма: 76
Рейтинг сообщений: 770
Зарегистрирован: Чт мар 07, 2013 20:39:17
Сообщений: 3663
Откуда: Краснодар
Рейтинг сообщения: 0
Reflector, хотел уточнить что такое в коде "х" , а что "Рi".

_________________
„Выживает не самый сильный и не самый умный, а тот, кто лучше всех приспосабливается к изменениям.“
— Чарлз Дарвин


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 13:56:29 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 3
x - переменная float, аргумент функции
Pi - константа https://ru.wikipedia.org/wiki/%D0%9F%D0 ... 0%BB%D0%BE)

но вам это не поможет...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 14:10:17 
Друг Кота
Аватар пользователя

Карма: 76
Рейтинг сообщений: 770
Зарегистрирован: Чт мар 07, 2013 20:39:17
Сообщений: 3663
Откуда: Краснодар
Рейтинг сообщения: 0
х - это градусы угла?
И почему не поможет?

_________________
„Выживает не самый сильный и не самый умный, а тот, кто лучше всех приспосабливается к изменениям.“
— Чарлз Дарвин


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 14:20:53 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
х - это градусы угла?

Нет, аргумент там в радианах.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 14:40:54 
Друг Кота
Аватар пользователя

Карма: 76
Рейтинг сообщений: 770
Зарегистрирован: Чт мар 07, 2013 20:39:17
Сообщений: 3663
Откуда: Краснодар
Рейтинг сообщения: 0
Работает! :)) :beer:


Изображение

_________________
„Выживает не самый сильный и не самый умный, а тот, кто лучше всех приспосабливается к изменениям.“
— Чарлз Дарвин


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 15:01:56 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
И почему не поможет?

https://electronix.ru/forum/index.php?showtopic=65613


Ну и по поводу ваших скриншотов



Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 15:49:59 
Друг Кота
Аватар пользователя

Карма: 76
Рейтинг сообщений: 770
Зарегистрирован: Чт мар 07, 2013 20:39:17
Сообщений: 3663
Откуда: Краснодар
Рейтинг сообщения: 0
Попробую в железе, там видно будет. Вроде не сильно страшно всё.
Про скриншоты, так быстрей, пишу с планшета, а компьютер рабочий, к интернету не подключен.

_________________
„Выживает не самый сильный и не самый умный, а тот, кто лучше всех приспосабливается к изменениям.“
— Чарлз Дарвин


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 17:55:10 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
Проверил без FPU, на Cortex-M3, где есть умножение 32 * 32 -> 64, всего в 2 раза медленнее, но они и сами в 2 раза дешевле.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 30, 2018 18:59:16 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
На 8-ми битниках особенно где нет аппаратной поддержки умножения и деления (PIC16 к примеру), будет очень медленно.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 1081 ]     ... , , , 33, , , ...  

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


Кто сейчас на форуме

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


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y