Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Гы.. ну глянь - для dsPIC писал. Генерит синус само, без таблицы, 8 тактов (200 нс) на итерацию - на ЦАПе до 5 МГЦ синус получается. DDS с управлением по UART добавить - еще десяток-другой строк :))(+)

Отправлено MBedder 07 июня 2008 г. 20:49
В ответ на: Кстати, "нормально" - это как? я б хотел глянуть в ассемблерном изложении. отправлено Крок 07 июня 2008 г. 19:40


; IIR based 16-bit sinewave sample generator (256 samples per sine period)
; Output: w5
; 8 clocks per sample (5 MHz sinewawe can be generated with dsPIC33F @40 MIPS)

sin1 = 806 ; 2^15*sin(2*pi/256)
cos1 = 32758 ; 2^15*cos(2*pi/256)
dacport = LATB ; External DAC connected to this port

clr w12 ; sin 0
mov #sin1,w5 ; 2^15*sin(2*pi/256)
mov w5,w13 ; 2-tap 16-bit delay 1st stage
mov #cos1,w4 ; 2^15*cos(2*pi/256)

1: mpy w4*w5,A ; AH = 0.5*sin(2*pi*N/256)
sac.r A,#-2,w5 ; w5 ~= 2*sin(2*pi*N/256)

sub w5,w12,w5 ; w5 = 2*sin(2*pi*N/256)-sin(2*pi*(N-2)/256)
mov w13,w12 ; w12 = sin(2*pi*(N-1)/256) (previous sample)
mov w5,w13 ; w13 = w5 (current sample)

mov w5,dacport ; Write a next sinewave sample to a DAC port

bra 1b ; Loop forever




Гыгы сто раз :))


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
прибавьте тройку к двум:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru