Автор Тема: Микроконтроллер - как перспектива примочкостроения  (Прочитано 25165 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Rst7

  • Сообщений: 1619
  • Мимо проходил...
    • Просмотр профиля
    • E-mail
Цитировать
А для передатчика есть примерчик?

Не, не делал, у меня там в проекте только АЦП были на I2S.
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен

Rst7

  • Сообщений: 1619
  • Мимо проходил...
    • Просмотр профиля
    • E-mail
Да, пардон, потерял разрешение прерываний от I2S (если читать процом, а не при помощи DMA)
  I2SIRQ=(4UL<<8)|(1UL<<0); //RX_IRQ_ENABLE=1, RX_DEPTH_IRQ=4
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен

Rus

  • Сообщений: 1017
    • ICQ клиент - 305702633
    • Просмотр профиля
    • E-mail
А RX_DEPTH_IRQ=4 - это значит, что прерывание вызывается, когда в FIFO остается меньше битов, чем указано в этом значении, или как?

Rst7

  • Сообщений: 1619
  • Мимо проходил...
    • Просмотр профиля
    • E-mail
Цитировать
это значит, что прерывание вызывается, когда в FIFO остается меньше битов, чем указано в этом значении, или как?

Для приемника - что в FIFO накопилось не менее чем 4 слова. Для передатчика - наоборот - места не менее, чем 4 слова.
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен

Rus

  • Сообщений: 1017
    • ICQ клиент - 305702633
    • Просмотр профиля
    • E-mail
Ясно. Еще такой момент проясните, пожалуйста.
В мануале FIFO определен, как один 32-х битный регистр. Но там-же указано, что их 8. Но обратиться можем к одному. :D Это значит, что если, допустим, я запишу туда какое-то значение, а потом следующее, то второе запишется рядом с первым, третье рядом со вторым и т.д.? И таким образом, пока кол-во заполненных регистров (в случае 32-х битного слова) не достигнет значения FIFO level, он будет заполняться. А когда достигнет, то первое слово уйдет на выход, и опять ждем, пока не придет новое значение и т.д.
Верно я понял, или бред написал?)

KMG

  • Сообщений: 3776
    • ICQ клиент - 412221711
    • AOL клиент - Mike
    • Просмотр профиля
    • E-mail
Хорошее представление о работе FIFO дает его второе название "очередь".
Представь себе очередь в кассу, первый подошедший (твои 32 бит) сразу оплачивает (начинает побитно сдвигаться в I2S), если за это время подойдет второй (третий...), то они пристраиваются в "хвост" и ждут своей очереди. С точки зрения софта ты видишь хвост очереди.
А на приеме ты сидишь в кассе и видишь "голову" очереди.
« Последнее редактирование: Мая 15, 2012, 07:18:47 pm от mike »

Rus

  • Сообщений: 1017
    • ICQ клиент - 305702633
    • Просмотр профиля
    • E-mail
Вроде проясняется, спасибо)


Rst7

  • Сообщений: 1619
  • Мимо проходил...
    • Просмотр профиля
    • E-mail
Цитировать
http://habrahabr.ru/post/146489/

Мда, человек не понимает, что такое Starter Kit и для чего он нужен.

С другой стороны согласен в том, что 8 бит - это уже мертво. Я сейчас для того, чтобы быстро  какую-нибудь поделку споделить использую вот такое - http://www.embeddedartists.com/products/lpcxpresso/lpc1769_xpr.php

Особенно приятно лично для меня то, что для работы с Ethernet там не хватает только разъема со встроенным трансформатором. Других интерфейсов нынче не использую, ибо все говно.

Цена вопроса 20 евро плюс копеечная доставка, что суть стоимость трех часов моего рабочего времени. Скастрюлить такой модуль на коленке с учетом стоимости затраченного рабочего времени дешевле (и быстрее) никак не выйдет.
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен

KMG

  • Сообщений: 3776
    • ICQ клиент - 412221711
    • AOL клиент - Mike
    • Просмотр профиля
    • E-mail
Цитировать
Мда, человек не понимает, что такое Starter Kit и для чего он нужен.
Про стоимость отдельный разговор, разговор о том что человек привыкший к кривому резиденту ардуины не будет переходить на нормальное программирование.

Rst7

  • Сообщений: 1619
  • Мимо проходил...
    • Просмотр профиля
    • E-mail
Цитировать
разговор о том что человек привыкший к кривому резиденту ардуины не будет переходить на нормальное программирование

Да можно подумать, в других областях софтописания как-то по другому. Все ищут какие-нибудь сторонние решения (библиотеки, компоненты, среды и так далее), которые за них должны все сделать. Классика жанра - шутка про быдлодизайнеров, которым в фотошопе/иллюстраторе и т.д. нужна одна кнопка "сделать пи$$aто".

Ну в общем и 99 процентов звукорежиссеров/музыкантов тоже ищут плагин/прибор обработки с одним тумблером - "говно/зае$$сь".
« Последнее редактирование: Октября 17, 2012, 01:51:29 pm от Rst7 »
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредствен

bunyaman

  • Сообщений: 136
  • GtLab.Net forever!
    • ICQ клиент - 485470807
    • Просмотр профиля
    • E-mail
Подскажите, каким программатором прошить сей контроллер?
AT89C2051-24PU. Знаю, что старый он, найти купить готовый пока не вышло.
Если собирать самому, то нашел пока  такое вот http://arv.radioliga.com/component/option,com_remository/Itemid,27/func,select/id,7/

Tonwood

  • Сообщений: 799
    • Просмотр профиля
    • E-mail
Тут на старости лет боссы отправили на доучку, и для диплома стал возиться управлялками на Ардуине, как наиболее простом варианте.
Заодно поковырял на предмет использования в примочкострроении.
Некоторые обнаруженные нюансы (конкретно по Nano, возможно, секрет Полишинеля...) :
1. АЦП, в лучшем случае, можно использовать для считывания положения регуляторов, дискретизация 1024, но квантование для звука - никакое.
2. использование ШИМ для аналогового управления (с интегрированием) - тоже не
 фонтан, дискретизация 256, а выходная ШИМ-частота примерно 1кГц в лучшем случае (о ШИМ-ДАУ ваще молчу, а губу раскатывал...).
 В общем, увидел единственное применение - управлять ключами коммутации , и запоминать/выставлять их пресеты, крутить движками ручки резюков, по аналогу - разве что кодом управлять внешними ключами с резюками - наборами R/2R 
Печально, аднака - думал, Atmega328 может пошустрее хотя бы ШИМ выдавать.
Или, может, если ее на асме программиуровать, а не на детском, но ущербном ардуинском сишке?
« Последнее редактирование: Февраля 01, 2020, 12:01:26 am от vermalizer »
May the Force be with you...

Torbjörn

  • Сообщений: 136
  • GtLab.Net forever!
    • Просмотр профиля
    • E-mail
Цитировать
думал, Atmega328 может пошустрее хотя бы ШИМ выдавать.
Может. 2 канала 16 бит. Просто таймеры программировать нужно на уровне регистров, а не  функции analogWrite().
Погуглите "atmega328 16 bit pwm arduino".

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Рекомендую вместо Ардуины использовать что-нибудь из STM32 - сейчас есть несколько вариантов маленьких "плат разработчика" - фактически те же Ардуино (размер и форма платы со штырьками разъема) за очень небольшие деньги. Например, https://aliexpress.ru/item/32581820854.html - на STM32F103, там уже есть 2 АЦП 12 бит, тактовая частота 72 МГц и куча всяких пасочек/периферии. Я использовал такую плату с переставленным на нее процессором STM32F303 - на нем есть 4 АЦП и 2 ЦАП 12бит - для отработки алгоритмов на временных задержках (ревер/хорус/дилей). Для гитарного применения (в параллельной петле эффектов) вполне достаточно, хотя более удобным мне представляется использование внешнего звукового ЦАП на интерфейсе I2S - так получается заметно проще схемотехнически и качество выводимого звука выше. В общем - рекомендую, так получается гораздо более мощное устройство за меньшие деньги, чем Ардуино. Программируется с помощью программатора ST-Link (https://aliexpress.ru/item/32792513237.html?spm=a2g0o.detail.1000060.2.285d537aN6kF2D&gps-id=pcDetailBottomMoreThisSeller&scm=1007.13339.146401.0&scm_id=1007.13339.146401.0&scm-url=1007.13339.146401.0&pvid=79559246-20d1-4880-bc2a-08130e71b6ab). Единственная сложность (по крайней мере - была для меня :)) - это намного более сложное устройство МК и обилие настроек периферии (после ПИКов с АВРами). Пришлось заняться сначала переводами даташитов, потом освоением С...
PS Я в свое время не нашел нормальной документации по STM на русском, потому перевел себе кое-какие доки на Cortex 0, и частично на 3 и 4 - ну я читаю и по аглицки, но мне быстрее и удобнее читать по русски :)... Дык вот - ежели кому вдруг надо - охотно поделюсь своими переводами - вдруг кому поможет... :)
Вот вариант звукового модуля на основе STM32F411 и CS4344:

Это, правда, делалось не для гитары, а для клавишных, но схемотехника там практически одинаковая. Если ничего не помешает и будет время :) - соберу в законченное устройство чисто гитарную версию - ну, например, ТАР Дилей на этой основе. Да, процессор слишком мощный для таких применений, но учитывая его низкую стоимость, получается недорогое и качественное устройство...
« Последнее редактирование: Февраля 02, 2020, 09:25:55 am от OldMike »
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100

Torbjörn

  • Сообщений: 136
  • GtLab.Net forever!
    • Просмотр профиля
    • E-mail
Более того. Для ардуинщиков есть API и огромная база библиотек от ребят из проекта stm32duino. "Синяя Пилюля", понятное дело, - в топах :) Хороший старт для тех, кто не изучал основы программирования в ВУЗе. Как и в случае с AVR-arduino, можно мягко перейти к более "прямому" программированию.

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
Мысли вслух...
Честно говоря - никогда не понимал Ардуино и его поклонников: чему можно научиться, просто копируя чужие библиотеки и соединяя готовые модули? Естественно - это лишь мое личное мнение, а не истина в последней инстанции... Просто, думается мне, программировать даже на С (не говоря об ассемблерах) не зная досконально архитектуру процессора - профанация... Потому я и занимался переводами даташитов - изучал матчасть :)... В моем подходе есть и минус - легко портировать мои проги на другие камни фиг получится - они все "привязаны" к железу, везде работа с регистрами периферии...
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100

kwlw

  • Сообщений: 2408
  • Тёплый, ламповый
    • Просмотр профиля
Цитировать
Мысли вслух...
Честно говоря - никогда не понимал Ардуино и его поклонников: чему можно научиться, просто копируя чужие библиотеки и соединяя готовые модули? Естественно - это лишь мое личное мнение, а не истина в последней инстанции... Просто, думается мне, программировать даже на С (не говоря об ассемблерах) не зная досконально архитектуру процессора - профанация... Потому я и занимался переводами даташитов - изучал матчасть :)... В моем подходе есть и минус - легко портировать мои проги на другие камни фиг получится - они все "привязаны" к железу, везде работа с регистрами периферии...

Тут разница миров/методик обучения. Западный - сможет освоить каждый, а гении пусть находят себе задачи сами. И советский - для постройки оружия нам нужны только гении, для них образование и заточим, а посредственные люди пусть идут на народное хозяйство работать. И про военку - это не шутка, сами задумайтесь для чего вашей стране (были?) нужны хорошие спецы. Точно не хорошие автомобили производить :).

А ардуина взорвала ИТ мир, заинтересовав и подтянув в микроконтроллеры миллионы людей, благодаря низкой входной ступеньке. Слышал от коллеги, что пару лет назад, количество людей изучающих ассемблер - рекордное за все времена.

Если что, я сам - "старой закалки", писал машинные коды на бумаге 30 лет назад, но мне как-то отчётливо видна польза этих всех "детских игрушек". Особенно, когда ими занимаются именно школьники.

Sau
У меня - свой путь.

OldMike

  • Сообщений: 1963
  • Сложно сделать - просто, наоборот - сложнее...
    • ICQ клиент - 366028254
    • Просмотр профиля
    • E-mail
С этим я согласен, хотя и не полностью... Возможно потому, что тоже начинал с машинных кодов на бумаге, вручную вычисляя адреса переходов... :).  Я же честно сказал, что это лишь мысли вслух - т.е. мое частное, и, возможно, ошибочное мнение... :)
Лично мне в идее Ардуины привлекает только аппаратная часть - многим (и мне тоже!) часто лень собирать по деталькам какую-либо схему, а тут масса готовых решений - датчики, моторчики, плюшечки и пасочки... Именно для начинающего. Но вот я, начиная осваивать STM, часто натыкался в интернете на сайты школярского уровня, где некий "гуру" учит еще больших новичков в стиле: "Смотрите, как круто я умею! Берем Ардуино, соединяем с экраном, закачиваем библиотеку и добавляем файл, который взяли на другом сайте. Вуаля! У нас тут нарисовалась картинка! Учитесь!"
А чему учится то? Соединить 5 проводков и закачать чужую прошивку?
Все равно ведь придется разбираться с архитектурой процессора - ну хотя бы, чтоб понять, как этим, блин, светодиодом моргать... А этот шаг сделает отнюдь не каждый, кто купил Ардуинку...
Я это к чему - Ардуино - это здорово, но это не волшебная палочка...

PS А хорошие спецы нужны любой стране! :)
производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100

Tonwood

  • Сообщений: 799
    • Просмотр профиля
    • E-mail
Ну, я Ардуину рассматриваю, как очень быстрый способ получения результата, достаточного для поставленной задачи. А далее уже идет шлифовка-полировка, и при необходимости, смена платформы. Язык программирования - не проблема, перед упрощенным ардуинским С  лично у меня была развлекаловка с ассемблером 51-го проца, а лет 20 раньше - с Z80. На бумажке, правда, как-то избегал кодить, респект тем, кто это делал, не имея своего компа или среды.  Сейчас ощущаю, что надо кардинально менять концепсию всего наработанного , благодаря китайским товарисчам...
В итоге, по своему бзику TONWOOD Guitar Engine (с которым знакомил народ ), рисуется:
1 переход внешнего питания бревна на любое от 5 до 20 вольт, подаваемые по кабелю.
2 Внутреннее питание бревна перевести с +12в на двухполярку +5в 2А -5в 100мА с применением  DC/DC на частоте 1-1.5 Мгц.
3 Задействовать на сикстейнере (6-канальном сустейнере) ШИМ-овские 5-ваттные PAM-ки в качестве усилителя драйверов, и хамбакерообразные низкоомные драйверы.
4 Управление пресетами (думаю, даже 8 хватит) режимов/гейна/фильтра на Ардуинке или другой достаточной платформе. Кнопками и энкодером.
Ну, приблизительно такие наполеоновские сумасбродные планы... ;-)

May the Force be with you...