Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ср май 03, 2017 22:14:46
Есть у меня тинька 2313 вот хотелось бы на ней это дело собрать.
У тини 2313 есть 4 канала ШИМ… но не зная программирования тебе такую задачу не реализовать.
Ср май 03, 2017 22:38:20
Есть у меня тинька 2313 вот хотелось бы на ней это дело собрать.
У тини 2313 есть 4 канала ШИМ… но не зная программирования тебе такую задачу не реализовать.
Это я понимаю. Вот и обратился за помощью.
Ср май 03, 2017 22:44:33
Помощь и то, что Вы ожидаете от форумчан - немного разные вещи
Мало вероятно, что найдутся энтузиасты, которые разработают Вам схему и напишут ПО для МК за "спасибо"
Сб май 27, 2017 19:12:34
Подскажите, пожалуйста. Есть два МК, если все упростить, то к МК1 подключены светодиоды и кнопки, к МК2 - кнопки и вся основная схема.
Необходимо реализовать двусторонний обмен по интерфейсу SPI. (Atmega 16, Atmega 48)
С МК 1 должны посылаться биты на на МК 2, который будет выполнять определенные действия. В то же время с МК2 должны посылаться биты на МК1, которые будут зажигать светодиоды.
МК2 - основной, на нем завязана вся работа (схема управления нагрузкой с настройкой режимов посредством меню на жки дисплее).
С МК1 на МК2 настроил передачу битов, но вот не могу въехать как сделать одновременно и обратную операцию. При этом всем МК 2 выполняет другие действия.
Кто поможет - буду очень благодарен!
Вс май 28, 2017 08:54:57
ИМХО. Раз МК2 основной, значит он должен быть ведущим. Производить обмен данными можно двумя способами:
1 По внешнему прерыванию от инициатора МК1.
2 Через определённый промежуток времени принудительно производить обмен данными.
Раз МК2 занят разного рода деятельностью, то обмен по SPI необходимо реализовать на аппаратном уровне…
Пакет данных как мне видится, должен иметь 2 байта. Первый это команда, второй информационный (информация об этой команде).
Вс май 28, 2017 09:23:32
Прошу прощения, а у Вас случайно нет никакой инфы по 2 методу? Столько времени потратил на поиски и ничего не нашел, может не там искал...
Вс май 28, 2017 09:48:30
Я не совсем понимаю вопрос…
Так это обычный обмен ведомого с ведущим через определённый промежуток времени. Промежуток времени ты определяешь сам в зависимости от поставленных задач. ИМХО. 5 раз в секунду делаешь обмен... вполне достаточно для получения информации по кнопкам от МК1.
P.S. Если не совсем понимаешь как работает SPI или не знаешь как настраивать регистры, то вот в этой книге всё подробно написано -
https://yadi.sk/i/p3Ej_rure7zgU
Вс май 28, 2017 10:22:03
Ну так передача идет же от ведущего к ведомому. А мне необходимо передавать еще и другую информацию от ведомого к ведущему. Спасибо, сейчас гляну
Вс май 28, 2017 10:46:27
Передача по SPI идёт одновременно от ведущего к ведомому и от ведомого к ведущему… похоже тебе нужно книжку покурить… там всё подробно изложено. Удачи!
Вс май 28, 2017 10:55:55
В общем случае, когда SPI реализован всеми линиями данных (их две - от мастера к слейву и от слейва к мастеру), обмен В ОБОИХ направлениях происходит ОДНОВРЕМЕННО. Мастер тактирует этот обмен клоками, а два сдвиговых регистра (один у мастера, другой у слейва) обмениваются своим содержимым друг с другом.
Таким образом, можно передать СОСТОЯНИЕ (слово состояния) слейва к мастеру. Передать таким образом СОБЫТИЕ нельзя. Событие с той или иной латентностью может передавать только мастер.
Сиречь, частота обменов должна быть выбрана такой, чтобы чтение состояний слейва не пропускало событий слейва, которые апдейтят оное состояние (флаги).
Вс май 28, 2017 11:57:44
Сейчас гляну у Евстифеева. Но про то ,что Вы говорите написано в интернете, но не понятно как на стороне слейва сделать так, чтобы в SPDR, по окончании передачи с мастера на слейв, сохранилась та инфа, которая нужна и ее можно было бы прочитать на мастере
Добавлено after 53 minutes 27 seconds:
Нихрена не получается, ладно
Вс май 28, 2017 12:43:32
Что не получается?
МК1 (ведомый), должен помещать в регистр SPDR нужную информацию до обмена по SPI между МК… это делается в любое время, но не во время обмена. Когда МК2 организовывает обмен с МК1, в регистре SPDR МК1 необходимая информация для МК2 должна уже быть.
Допустим тебе нужно передавать состояние кнопок с МК1 на МК2… так вот реализовываешь мастером (МК2) с ведомым (МК1) обмен через допустим каждые 200 мс… МК1 информацию по кнопкам будет записывать в регистр SPDR при старте самого МК1, а последующая запись в регистр SPDR будет производится в прерывании по приёму байта от МК2. То есть в прерывании считал из регистра SPDR то что приняли от МК2, а затем «в него же» записали состояние кнопок. При следующем обмене эта информация будет передана в МК2… Вот примерно так.
Вт май 30, 2017 22:20:54
Нихрена не получается, ладно
Вот две блок – схемы примерного алгоритма…
Ср май 31, 2017 05:34:21
Сейчас гляну у Евстифеева. Но про то ,что Вы говорите написано в интернете, но не понятно как на стороне слейва сделать так, чтобы в SPDR, по окончании передачи с мастера на слейв, сохранилась та инфа, которая нужна и ее можно было бы прочитать на мастере
Добавлено after 53 minutes 27 seconds:
Нихрена не получается, ладно
Аппаратный блок работает в жестко заданном режиме. Если задача выходит за рамки, определенные простейшим стандартным функционалом прийдется добавить программные доработки необходимого и/или перейти полностью на программную обработку, добавить аппаратные линии согласования взаимодействия между МК, разработать свой протокол-примитив для синхронизации обмена.
Или в качестве альтернативы (полнодуплексный обмен) применить UART.
Вс июн 04, 2017 19:56:14
Товарищи, подскажите по такой странной ситуации:
есть усилитель и на входе спектроанализатор на атмеге8. При работающем АЦП на выходе усилителя появляется небольшой гул и случайные низкочастотные всплески ( больше всего похоже, будто басовую струну легонько дергают). Причем есть особенность, на входе АЦП сигнал поднимается на ОУ к середине питания, если отключаю питание ОУ, по гул и всплески передаются даже просто через питание, сигнальный кабель от спектра отключаю. Если ОУ запитан, но всплески слышны только при подключении сигнального кабеля к спектру. В обоих случаях на светодиодной матрице спектра в такт всплескам подпрыгивают столбики, будто и правда кто-то подает их на вход.
Если программно выключаю АЦП, то при всех соединениях никаких артефактов в звуке нет.
Питание меги и предварительных усилителей с одного трансформатора, но с разных LM7812(усил) и LM05(мега), усилитель мощности с отдельного транса.
на меге стоит 0.1мкФ прямо под ней на ножках питания, + подается на Avcc через дроссель 10мкГн.
Опорное напряжение - Vcc, Aref с кондером 0.1мкФ или без пробовал.
Подключение ОУ по схеме от Wiselord , только без входных переменников
http://radiokot.ru/circuit/audio/other/39/12.pngИ если питаю спектр от отдельного БП ничего не меняется
Пн июн 05, 2017 22:56:54
Выяснил новые подробности: дело на в АЦП, а в выводе информации на матрицу, стоит мне отключить питание столбцов и басиста как не бывало. Использую обычные сдвиги 74HC595, столбцы через транзисторы IRLML6401TRPBF
Ср июн 07, 2017 11:01:41
Классическая проблема - протекание питающего индикатор тока по общему земляному проводнику с ненулевым сопротивлением. На этом сопротивлении выделяется напряжение, которое затем усиливается...
Ср июн 07, 2017 23:49:06
при питании матрицы и 74хх от отдельного БП все норм. Попробовал снять отдельные 5В с другой ветки, эффект меньше, но все равно достаточен. Я вроде и земли разделил: земли матрицы и 74хх и земля ОУ+ МК встречаются только на плате БП. Как бороться с такой проблемой?
Чт июн 08, 2017 14:33:11
Значит, протекание тока не устранено - где-то у вас земли имеют общий протяжённый участок. Об этом красноречиво говорит то, что при питании от отдельного источника питания всё в порядке. Т.к. этот источник питания имеет соединение земель с усилителем только в одной точке. А вот когда питаете от источника усилителя - это оказывается не так. Где именно - сказать смогу только после изучения конструкции, которой у меня нет. Поэтом ограничиваюсь только советами.
По-хорошему, в сложных случаях, когда имеются "блуждающие" земляные токи, для передачи сигналов нужно использовать дифференциальные сигнал. Ну, или как минимум этот механизм - сигнальный провод + сигнальная земля. Сигнальная земля при этом - это такой же вход, как и сигнальный, только инвертирующий (тут надо к основам применения ОУ отсылку сделать, у них вход '+' и вход '-', так сигнальный - это вход '+', сигнальная земля - вход '-')
Вт июн 20, 2017 21:47:46
Здравствуйте.
Поделитесь опытом.
Какие задачи лучше решать на ПЛИС, а какие на МК?
Как можно организовать обмен между ПЛИС и МК?
Может есть несложный проектик для примера?
Спасибо.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.