Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Hot
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн май 25, 2015 21:29:15
Откуда: Владимир

Сообщение Hot »

Спасибо попробую
Реклама
Родился
Сообщения: 8
Зарегистрирован: Пн апр 10, 2017 20:04:05

Сообщение sergey-arhipov-1988 »

Доброго времени суток уважаемые форумчане! Есть акустика 2.1 хотелось бы сделать для нее проводной пульт с цифровой регулировкой громкости и басов, данная акс уже имеет проводной пульт с двумя переменными резисторами (резисторы моно). Вот хочется их заменить на кнопки, да и с индикацией 8 светодиодов. Есть у меня тинька 2313 вот хотелось бы на ней это дело собрать. Подскажите как это лучше реализовать. Да к стати в программировании мк я новичок.
Реклама
Друг Кота
Сообщения: 5432
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий

Сообщение petrenko »

Решение " в лоб" : переменные сопротивления заменить на перемножающие ц.а.п. ,управляемые м.к.

Но ведь есть и готовые решения, хотя чуток дороже.
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Контактная информация:
Родился
Сообщения: 8
Зарегистрирован: Пн апр 10, 2017 20:04:05

Сообщение sergey-arhipov-1988 »

[uquote="petrenko",url="/forum/viewtopic.php?p=3096835#p3096835"]Решение " в лоб" : переменные сопротивления заменить на перемножающие ц.а.п. ,управляемые м.к.

Но ведь есть и готовые решения, хотя чуток дороже.[/uquote]
Про мк я читал достаточно много, и то что переменные сопротивления можно заменить я знаю, только как это реализовать? Вот здесь мои знания расплываются. Так примерная картина есть но очень слабая. А именно какую и куда подавать команду?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Сообщение АСУ »

[uquote="sergey-arhipov-1988",url="/forum/viewtopic.php?p=3096814#p3096814"]Есть у меня тинька 2313 вот хотелось бы на ней это дело собрать.[/uquote]
У тини 2313 есть 4 канала ШИМ… но не зная программирования тебе такую задачу не реализовать. :dont_know:
Реклама
Родился
Сообщения: 8
Зарегистрирован: Пн апр 10, 2017 20:04:05

Сообщение sergey-arhipov-1988 »

[uquote="АСУ",url="/forum/viewtopic.php?p=3096895#p3096895"][uquote="sergey-arhipov-1988",url="/forum/viewtopic.php?p=3096814#p3096814"]Есть у меня тинька 2313 вот хотелось бы на ней это дело собрать.[/uquote]
У тини 2313 есть 4 канала ШИМ… но не зная программирования тебе такую задачу не реализовать. :dont_know:[/uquote]
Это я понимаю. Вот и обратился за помощью.
Реклама
Модератор
Аватара пользователя
Сообщения: 4618
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Помощь и то, что Вы ожидаете от форумчан - немного разные вещи :)
Мало вероятно, что найдутся энтузиасты, которые разработают Вам схему и напишут ПО для МК за "спасибо" :)
Собутыльник Кота
Аватара пользователя
Сообщения: 2500
Зарегистрирован: Пн мар 09, 2009 16:22:50
Откуда: Украина, Донецкая обл., г. Торез

Сообщение alekseykolesnik »

Подскажите, пожалуйста. Есть два МК, если все упростить, то к МК1 подключены светодиоды и кнопки, к МК2 - кнопки и вся основная схема.
Необходимо реализовать двусторонний обмен по интерфейсу SPI. (Atmega 16, Atmega 48)

С МК 1 должны посылаться биты на на МК 2, который будет выполнять определенные действия. В то же время с МК2 должны посылаться биты на МК1, которые будут зажигать светодиоды.

МК2 - основной, на нем завязана вся работа (схема управления нагрузкой с настройкой режимов посредством меню на жки дисплее).

С МК1 на МК2 настроил передачу битов, но вот не могу въехать как сделать одновременно и обратную операцию. При этом всем МК 2 выполняет другие действия.

Кто поможет - буду очень благодарен!
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Сообщение АСУ »

ИМХО. Раз МК2 основной, значит он должен быть ведущим. Производить обмен данными можно двумя способами:
1 По внешнему прерыванию от инициатора МК1.
2 Через определённый промежуток времени принудительно производить обмен данными.

Раз МК2 занят разного рода деятельностью, то обмен по SPI необходимо реализовать на аппаратном уровне…
Пакет данных как мне видится, должен иметь 2 байта. Первый это команда, второй информационный (информация об этой команде).
Собутыльник Кота
Аватара пользователя
Сообщения: 2500
Зарегистрирован: Пн мар 09, 2009 16:22:50
Откуда: Украина, Донецкая обл., г. Торез

Сообщение alekseykolesnik »

Прошу прощения, а у Вас случайно нет никакой инфы по 2 методу? Столько времени потратил на поиски и ничего не нашел, может не там искал...
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Сообщение АСУ »

Я не совсем понимаю вопрос…
Так это обычный обмен ведомого с ведущим через определённый промежуток времени. Промежуток времени ты определяешь сам в зависимости от поставленных задач. ИМХО. 5 раз в секунду делаешь обмен... вполне достаточно для получения информации по кнопкам от МК1.

P.S. Если не совсем понимаешь как работает SPI или не знаешь как настраивать регистры, то вот в этой книге всё подробно написано - https://yadi.sk/i/p3Ej_rure7zgU
Собутыльник Кота
Аватара пользователя
Сообщения: 2500
Зарегистрирован: Пн мар 09, 2009 16:22:50
Откуда: Украина, Донецкая обл., г. Торез

Сообщение alekseykolesnik »

Ну так передача идет же от ведущего к ведомому. А мне необходимо передавать еще и другую информацию от ведомого к ведущему. Спасибо, сейчас гляну
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Сообщение АСУ »

Передача по SPI идёт одновременно от ведущего к ведомому и от ведомого к ведущему… похоже тебе нужно книжку покурить… там всё подробно изложено. Удачи!
Друг Кота
Аватара пользователя
Сообщения: 25864
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

В общем случае, когда SPI реализован всеми линиями данных (их две - от мастера к слейву и от слейва к мастеру), обмен В ОБОИХ направлениях происходит ОДНОВРЕМЕННО. Мастер тактирует этот обмен клоками, а два сдвиговых регистра (один у мастера, другой у слейва) обмениваются своим содержимым друг с другом.
Таким образом, можно передать СОСТОЯНИЕ (слово состояния) слейва к мастеру. Передать таким образом СОБЫТИЕ нельзя. Событие с той или иной латентностью может передавать только мастер.
Сиречь, частота обменов должна быть выбрана такой, чтобы чтение состояний слейва не пропускало событий слейва, которые апдейтят оное состояние (флаги).
Собутыльник Кота
Аватара пользователя
Сообщения: 2500
Зарегистрирован: Пн мар 09, 2009 16:22:50
Откуда: Украина, Донецкая обл., г. Торез

Сообщение alekseykolesnik »

Сейчас гляну у Евстифеева. Но про то ,что Вы говорите написано в интернете, но не понятно как на стороне слейва сделать так, чтобы в SPDR, по окончании передачи с мастера на слейв, сохранилась та инфа, которая нужна и ее можно было бы прочитать на мастере

Добавлено after 53 minutes 27 seconds:
Нихрена не получается, ладно
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Сообщение АСУ »

Что не получается?

МК1 (ведомый), должен помещать в регистр SPDR нужную информацию до обмена по SPI между МК… это делается в любое время, но не во время обмена. Когда МК2 организовывает обмен с МК1, в регистре SPDR МК1 необходимая информация для МК2 должна уже быть.
Допустим тебе нужно передавать состояние кнопок с МК1 на МК2… так вот реализовываешь мастером (МК2) с ведомым (МК1) обмен через допустим каждые 200 мс… МК1 информацию по кнопкам будет записывать в регистр SPDR при старте самого МК1, а последующая запись в регистр SPDR будет производится в прерывании по приёму байта от МК2. То есть в прерывании считал из регистра SPDR то что приняли от МК2, а затем «в него же» записали состояние кнопок. При следующем обмене эта информация будет передана в МК2… Вот примерно так.
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Сообщение АСУ »

[uquote="alekseykolesnik",url="/forum/viewtopic.php?p=3115133#p3115133"]Нихрена не получается, ладно[/uquote]
Вот две блок – схемы примерного алгоритма…
Desktop.zip
(78.04 КБ) 306 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 15793
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

[uquote="alekseykolesnik",url="/forum/viewtopic.php?p=3115133#p3115133"]Сейчас гляну у Евстифеева. Но про то ,что Вы говорите написано в интернете, но не понятно как на стороне слейва сделать так, чтобы в SPDR, по окончании передачи с мастера на слейв, сохранилась та инфа, которая нужна и ее можно было бы прочитать на мастере

Добавлено after 53 minutes 27 seconds:
Нихрена не получается, ладно[/uquote]

Аппаратный блок работает в жестко заданном режиме. Если задача выходит за рамки, определенные простейшим стандартным функционалом прийдется добавить программные доработки необходимого и/или перейти полностью на программную обработку, добавить аппаратные линии согласования взаимодействия между МК, разработать свой протокол-примитив для синхронизации обмена.
8)
Или в качестве альтернативы (полнодуплексный обмен) применить UART.
:roll:
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 16, 2009 14:23:59

Сообщение NebelWefer »

Товарищи, подскажите по такой странной ситуации:
есть усилитель и на входе спектроанализатор на атмеге8. При работающем АЦП на выходе усилителя появляется небольшой гул и случайные низкочастотные всплески ( больше всего похоже, будто басовую струну легонько дергают). Причем есть особенность, на входе АЦП сигнал поднимается на ОУ к середине питания, если отключаю питание ОУ, по гул и всплески передаются даже просто через питание, сигнальный кабель от спектра отключаю. Если ОУ запитан, но всплески слышны только при подключении сигнального кабеля к спектру. В обоих случаях на светодиодной матрице спектра в такт всплескам подпрыгивают столбики, будто и правда кто-то подает их на вход. :dont_know:
Если программно выключаю АЦП, то при всех соединениях никаких артефактов в звуке нет.
Питание меги и предварительных усилителей с одного трансформатора, но с разных LM7812(усил) и LM05(мега), усилитель мощности с отдельного транса.
на меге стоит 0.1мкФ прямо под ней на ножках питания, + подается на Avcc через дроссель 10мкГн.
Опорное напряжение - Vcc, Aref с кондером 0.1мкФ или без пробовал.
Подключение ОУ по схеме от Wiselord , только без входных переменников http://radiokot.ru/circuit/audio/other/39/12.png

И если питаю спектр от отдельного БП ничего не меняется
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 16, 2009 14:23:59

Сообщение NebelWefer »

Выяснил новые подробности: дело на в АЦП, а в выводе информации на матрицу, стоит мне отключить питание столбцов и басиста как не бывало. Использую обычные сдвиги 74HC595, столбцы через транзисторы IRLML6401TRPBF
Ответить

Вернуться в «Разные вопросы по МК»