Пн ноя 29, 2021 17:40:40
Dimon456 писал(а):51 51 TVS350V 330 и 13009?
astrahard писал(а):Или я что-то не понимаю?
Чт дек 16, 2021 10:18:19
Сб дек 18, 2021 13:10:26
Сб дек 18, 2021 14:11:51
Сб дек 18, 2021 14:23:51
Сб дек 18, 2021 14:48:11
Сб дек 18, 2021 15:28:54
Сб дек 18, 2021 16:27:12
Сб дек 18, 2021 17:40:06
Сб дек 18, 2021 20:29:05
На чистом СИjcxz писал(а):Я когда-то крутил на тактовой CPU=16МГц и частоте ШИМ=10кГц. Загрузка CPU правда тогда - по самые гланды, на ассемблере большая часть кода.
В моих тестах на мега168 16МГц, при частоте ШИМ 7,8кГц(128мкс), на расчет табличного синтеза и амплитуды для 6 каналов ШИМ требуется всего 11мкс, с учетом вхождения в прерывания и выхода, грубо, остается еще 100мкс, вагон времени.
Сб дек 18, 2021 21:59:51
На чистом СИjcxz писал(а):Я когда-то крутил на тактовой CPU=16МГц и частоте ШИМ=10кГц. Загрузка CPU правда тогда - по самые гланды, на ассемблере большая часть кода.
В моих тестах на мега168 16МГц, при частоте ШИМ 7,8кГц(128мкс), на расчет табличного синтеза и амплитуды для 6 каналов ШИМ требуется всего 11мкс, с учетом вхождения в прерывания и выхода, грубо, остается еще 100мкс, вагон времени.
Сб дек 18, 2021 22:24:06
jcxz писал(а):всего с 8КБ флеша.
Для тестаjcxz писал(а):Даже в этом случае у меня при компиляции в режиме debug размер образа был ~7КБ (в release с оптимизацией = ~6КБ). Т.е. - и так еле влезало.
AVR Memory Usage
----------
Device: atmega168p
Program: 1026 bytes
(.text + .data + .bootloader)
Data: 6 bytes
(.data + .bss + .noinit)
Сб дек 18, 2021 22:47:41
AVR Memory Usage
----------
Device: atmega168p
Program: 1026 bytes
(.text + .data + .bootloader)
Data: 6 bytes
(.data + .bss + .noinit)
Вс дек 19, 2021 08:01:31
Блин, я то думал, что речь шла о том что бы просто покрутить.jcxz писал(а):Я когда-то крутил на тактовой CPU=16МГц и частоте ШИМ=10кГц.
Какой смысл от такой точности?jcxz писал(а):точность расчёта синуса была около 16 бит
Вс дек 19, 2021 14:52:23
Какой смысл от такой точности?jcxz писал(а):точность расчёта синуса была около 16 бит
Вс дек 19, 2021 16:39:45
если у вас брать таблицу в 16 бит, это у вас 65536 точек что ли?jcxz писал(а):таблица в 128 значений имеет точность 7 бит (по аргументу), у меня =16 бит
У вас ШИМ 10кГц, туда физически нельзя запихать более 10000 точек.jcxz писал(а):Таймеры у STM8 - 16 битные
А это не верно.jcxz писал(а):И частота у меня меняется плавно, а не как у вас с таблицей - скачками.
А если мало таблицы в 128 точек, ни вопрос, можно и 256 точек, 512 точек, 1024 точек.Пусть мне нужно генерировать частоту 50Гц, учитывая, что основную процедуру таймер исполняет 7812 раз в секунду
65536 / (7812 / 50Гц) = 419
65536 / (7812 / 50,25Гц) = 422
65536 / (7812 / 50,5Гц) = 424
65536 / (7812 / 50,75Гц) = 426
65536 / (7812 / 51Гц) = 428
Точность установки данного метода ~0,125Гц
Пн дек 20, 2021 18:15:25
Пн дек 20, 2021 21:59:26
И все таки мне не понятно, откуда взялись 16 бит и 7 бит?jcxz писал(а):что вычисления с точностью 16 бит однозначно точнее чем 7 бит.
но что бы получить 16 битный ШИМ, если конечно речь о этих 16 битах идет, то по вашей формуле: FFFF*10кГц = 655МГц? Может что-то опять не так?jcxz писал(а):Поделите частоту тактирования таймера на 10кГц - вот такую дискретность позволяют обеспечить таймеры.
Раз таблицу не используете - значит просчитываешь синус на лету (не которые тут уже пытались просчитывать синус быстрее 4 пня в месте с атлоном, а один да же умудрился за 30 тактов), по другому синус не получить.jcxz писал(а):Ну пускай не квадратных, а 128-угольных.
Не нравится?jcxz писал(а):360/128=~2.8
NCO модуль есть только в PIC, таймер это делитель, 2 4 8 16 и т.п.jcxz писал(а):А это что если не скачки?
Пн дек 20, 2021 22:57:04
Вт дек 21, 2021 07:41:30
Я же сказал - это шутка, но, к примеру, на F100 с размером флеша 128кБат вполне реализуем.jcxz писал(а): Объясните - как?
Значит скачки есть, куда уж без них.jcxz писал(а):Есть конечно.
Матом загнуть что ли?jcxz писал(а):Только у меня они размером = 360/65536 градусов, а не 360/128. Почувствуйте разницу!
127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,
127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,128,128,
128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
128,128,128,128,128,128,128,128,128,128,128,128,128,128,129,129,129,129,129,129,129,129,
129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,
129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,
129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,
129,129,129,129,129,129,129,129,130,130,130,130,130,130,130,130,130,130,130,130,130,130,
130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,
130,130,130,130,130,130,130,130,130,130,130,130,130,130
65536 точек 128 точек
0 127 127
512 133 133
1024 139 139
1536 146 146
2048 152 152
2560 158 158
3072 164 164
3584 170 170
4096 176 176
4608 181 181
5120 187 187
5632 192 192
6144 198 198
6656 203 203