Например TDA7294

Форум РадиоКот • Просмотр темы - програмирование AVR на АСЕМБЛЕРЕ для чайников
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Чт фев 26, 2026 23:31:39

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


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



Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 119 ]    , , , , , 6
Автор Сообщение
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Сб фев 25, 2012 00:55:19 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Там UART только скорость нестандартная, 38000 бод что-ли. Осциллографом посмотри, старт, 8 бит, контроль четности и стоп.


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Сб фев 25, 2012 15:47:59 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 781
Откуда: ковров
Рейтинг сообщения: 0
эм... а что смотретьт то? если только еще собираюсь писать программу? или вы имеете ввиду посмотреть на компе?

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Сб фев 25, 2012 16:34:14 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
На клавиатуре. Хотя и правда, что там смотреть - просто так клавиатура ничего не выдаст. Это старые XT-шные клавиатуры работали автономно, современные AT-шные требуют команду инициализации.


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Сб фев 25, 2012 16:48:23 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 781
Откуда: ковров
Рейтинг сообщения: 0
изначально вопрос стоял как подключить клаву к авр на ассемблере?

команды инициализация, опроса и прочие команды от МК к клавиатуре и обратно входят в изначальный вопрос.

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн мар 05, 2012 20:46:09 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 781
Откуда: ковров
Рейтинг сообщения: 0
по клавиатуре будут ответы?





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

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн мар 05, 2012 21:01:03 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Теория есть на википедии(Дискретное Преобразование Фурье), формула проста. фишка в том что надо считать комплексную функцию e^x. На ассемблере я где-то видел только готовые решения, выделить там функцию ДПФ не так-то просто. Памяти нужно много - N ячеек для сигнала, и N/2 для результата.


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн мар 12, 2012 22:36:40 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 781
Откуда: ковров
Рейтинг сообщения: 0
не стал новую тему заводить а подходящюю не нашел. как и чем программировать ATXMEGA256A3. и где писать программу под нее? студия 4.12 не держит в себе таких. кто пробовал 5 студию? посмотрите есть ли в ней ATXMEGA256A3. и, еще прогер на неё надо, хотя если она есть в 5 студии, то наверно можно и через STK500 по ISP прошить.

хочу купить себе такую игрушку на тестовую платку для поделок.

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Вт мар 13, 2012 00:30:37 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
В 5-й студии она должна быть, там вроде бы как раз и ввели поддержку XMEGA.

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


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Ср апр 11, 2012 05:45:02 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1505
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15484
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
xkp скачай 4.19 :beer:


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн сен 03, 2012 13:19:44 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 781
Откуда: ковров
Рейтинг сообщения: 0
Alexeyslav писал(а):
Для таймера выбираешь режим FAST PWM.
Биты регистра TCCR0A: COM0A1=1 COM0A0=0 или 1(инверсный выход)
WGM01=1 ,WGM00=1.
В регистре OCR0A - значение момента при котором будет меняться состояние выхода OC0A.

вернемся к 4 странице темы. но нужно теперь менять частоту в пределах 1-100кГц. иными словами сделать аппаратный генератор частот.

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн сен 03, 2012 20:19:37 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
А в чем сложности? Хотя, помоему лучше делать такой генератор по топологии DDS, потому что если использовать таймер - будет ограничение на диапазон частот и шаг в диапазоне максимальных частот, поскольку коэффициент деления будет целочисленный. Допустим 100кГц можно получить делением 10Мгц на 100, тогда соседняя частота может быть получена только делением 10Мгц на 101 и будет равна 99кГц. Разрядность таймера (16 бит) не даст получить частоту аппаратно меньше чем 10Мгц/65535 = 152.69Гц, придется вводить как минимум два диапазона переключая предделитель чтобы охватить весь диапазон частот. и у каждого диапазона будет своя "сетка" частот, среди которых точных значений необходимой частоты не будет.


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн сен 03, 2012 20:51:48 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 781
Откуда: ковров
Рейтинг сообщения: 0
точные частоты нужны от 1 до 30 кГц. шаг 0.05 кГц

От 30 до 100 кГц с шагом 1 кГц.

хочу именно на АВР. так как у МК будет только одна задача - выдавать необходимую частоту на PB0/OC0A по запросу от другого МК по I2C, то думаю поставить тини13.
иными словами будет главный МК, к нему по I2C шине будут подключены другие МК. один из них должен выдавать необходимую частоту, другой анализировать входной сигнал, третий будет отвечать за вывод на ЖК-дисплей 128*64 и клавиатуру.
почему так много МК? -спросите вы. Мне нужно быстродействие всей конструкции. если все закошачить в один МК, то просто он не сможет дать большое быстродействие. а тут... главный сказал дать N-частоту - 1-й МК выдает. сказал второму анализировать вход - тот анализирует и передает на третий а тот в свою очередь на ЖК и с кнопок на главный МК. + с первого МК есть провод синхронизации на второй, со второго на третий.
Примерная наброска в картинке.


Вложения:
точечный рисунок (2).rar [782 байт]
Скачиваний: 211

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн сен 03, 2012 21:35:51 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Нужно оценить ресурсоемкость задач, возможно дела не настолько плохи. Хотя достичь шага в 50Гц на нижнем диапазоне до 30кГц будет проблематично. Самое узкое место - это получить шаг 50Гц на частоте в 30кГц. Выше я давал простой рассчет.

Задачка простая, делитель на N дает частоту 30кГц, делитель на N+1 дает частоту 30.05кГц, требуется найти исходную частоту F и делитель N.

Значит, F/N = 30000 и F/(N+1) = 29950
F = 30000*N и F = 29950*N + 29950, откуда следует 30000*N - 29950*N = 29950 = 50*N, (при N <> 0)
откуда N = 29950/50 = 599 и F = 30000*599 = примерно 18Мгц надо подать на вход таймера, чтобы обеспечить такой шаг по частоте. Боюсь, тинька такое не обеспечит. Но задача выглядит выполнимой на более быстродействующем контроллере. Но оглянись на расчет... этот контроллер загружен будет практически на 0%, так что задачу генерации можно возложить и на основной контроллер. Сложность с таймером будет заключаться в том что ему надо задавать не частоту а необходимый период. Чтобы задавать ему указанную частоту, необходимо реализовать функцию 1/x или завести массив заранее просчитанных периодов.
Тут самое время рассмотреть вариант аппаратного DDS...


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн сен 03, 2012 21:39:31 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 781
Откуда: ковров
Рейтинг сообщения: 0
ну а что это за DDS? как и с чем его есть?
на счет загруженности... необходимо будет примерно 300 раз в секунду выдавать разные частоты хотя бы по 3-5 импульсов и между разными частотами должна быть небольшая пауза, равная примерно 2-3 периодам текущей частоты

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн сен 03, 2012 22:07:03 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Алгоритма описан на страничке, только собственно ЦАП нам здесь не нужен, из всего нужно только отлавливать момент переполнения аккумулятора фазы и в этот момент менять состояние выхода. Для 100кГц необходимо чтобы программно алгоритм каждой итерации отрабатывал 200тыс раз в секунду. К сожалению тут придется сначала разработать алгоритм, просчитать количество необходимых тактов и высчитать минимальную тактовую частоту контроллера. На 20Мгц будет примерно 100 тактов на итерацию. В нее будет входить алгоритм сложения 24-битного числа(каскадно сложить 3 пары регистров) и установка состояния порта в зависимости от признака переполнения в результате операции сложения. Если реализовать этот алгоритм можно одним махом охватить диапазон 0..100кГц с шагом по 0.01Гц задавая частоту без необходимости вычислять её период. Переключение на новую частоту будет практически мгновенным. Так что пожалуй надо будет предусмотреть остановку алгоритма по внешней команде или указывать частоту 0.01Гц на время паузы.


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн сен 03, 2012 22:14:21 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 781
Откуда: ковров
Рейтинг сообщения: 0
еще и на СИ :( хотелось бы без науки. прямо.
1. инициализация: в регистр Х закошачиваем х для того-то того-то
разрешаем работу
2. работа: в регистр Y закошачиваем y.
3. в регистре Z (либо на вводе порта) получаем результат.

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн сен 03, 2012 22:28:25 
Опытный кот
Аватар пользователя

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Ср ноя 18, 2009 12:50:31
Сообщений: 781
Откуда: ковров
Рейтинг сообщения: 0
выбор МК не должен уйти за пределы tiny13/2313/261/26 mega8/16/32/8535 . просто их у меня навалом.

PS. да, и плата генератора уже спаяна на тини13.

_________________
R5VCH
Хотелки:
СпойлерАналоговый осциллограф С1-112, С1-118, другие
не/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Пн сен 03, 2012 23:02:00 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
А как ты спаял плату если не известна еще схема подключения и даже предварительных расчетов не было?

Ты просто почитай как этот генератор работает, проникнись идеей. По запросу гугл тебе выдаст сотню ссылок на алгоритм работы DDS которые может быть будут более понятны.

Просто прибавляй в некий аккумулятор (24 бит например) число пропорциональное необходимой частоте. Частота переполнения этого аккумулятора будет пропорциональна установленному коду и частоте с которой происходит суммирование! Максимальная частота будет равна частоте суммирования деленной на 2 при установленном коде равном $FFFFFF.


Вернуться наверх
 
 Заголовок сообщения: Re: програмирование AVR на АСЕМБЛЕРЕ для чайников
СообщениеДобавлено: Вт сен 04, 2012 08:10:08 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1443
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4609
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ассемблер (ASM) для AVR в вопросах и ответах


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

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


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

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


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