Pull to refresh
51
0
Ksenia Kondrashova @uuuulala

Пользователь

Send message
Ваша правда, спасибо за уточнение!)

Но если, например, вбить cortex в поиск гугла по картинкам, то чаще всего имеется в виду либо процессор, либо головной мозг человека.
Вот кстати отлично было бы в списке публикаций пользователя видеть статьи со всех ресурсов.
По той же логике сейчас формируется блок «интересные публикации»
Иронично, но этот пост имеет равное отношение к обоим ресурсам, а размещен на хабре
Вы правы, нужно выразиться яснее:
вместо «как работает готовое устройство» — «какие функции предоставляет готовое устройство»

Впрочем, спорных моментов всё равно не избежать, идеального решения такой странной задачи как дробление понятия «разработка» не существует, однако если выбирать меньшее из зол, то нужно разделять на средства создания устройств + DIY и готовые устройства (хоть программные, хоть аппаратные).
Во первых, я почему-то не дописала свой комментарий:
… при условии что желание разделять аудиторию хабра никак не сломить.
То есть в идеальном случае всё сваливается на один ресурс с возможностью фильтрации новостной ленты по хабам (хм, где-то такое уже было).

Во-вторых, по моему критерию указанные вами статьи однозначно попадают на хабр. Если статья отвечает на вопросы «Как сделать устройство?», «Зачем делать устройство?», «Что использовать чтобы правильно сделать устройство?» — на хабр, а если на вопросы «Как работает готовое устройство?», «Зачем это устройство нужно?» — на гиктаймс.
Ох. Тенденция, конечно, хорошая, но иметь программирование микроконтроллеров и робототехники на одном сайте, а процессоры и разработку электроники на другом — это как минимум странно. Думаю, авторы просто будут просто выбирать для своих статей только переехавшие обратно хабы — вместо «электроники для начинающих» выберут «IoT» и т.п.
Так смысл держать железные хабы на geektimes вернется обратно к нулевой отметке.

Самым логичным разделением мне кажется такое: статьи о готовых устройствах — от планшета до космического спутника — на geektimes, статьи об устройствах и технологиях, которые служат для разработки — на хабр. Ну это при условии что желание
Я, конечно, не в курсе какие микросхемы стоят у MrYuran, но с навигацией по докам я могу помочь.

Однонаправленные изоляторы:



Выбираете подходящую микросхему, например Si8631BB-B-IS — изолятор на 2.5 кВ, два прямых и три обратных канала, скорость до 150 Мбит/сек, низкий уровень на всех выходах по умолчанию и т.д.
Далее переходите сюда и на вкладке Documentation ищете подходящую pdf-ку

двунаправленные изоляторы


Даташит тут

для прямой замены оптрона


Выбираете какой нравится и кликаете здесь на подходящую pdf-ку

со встроенным DC/DC-контроллером


Даташит на двухканальные здесь, на четырехканальные здесь
Познавательно, но не совсем уместно.
Речь, как уже сказано, пойдет о изоляции цифровых сигналов. Далее по тексту под гальванической развязкой будем понимать передачу информационного сигнала между двумя независимыми электрическими цепями.
Двунаправленный канал для шины I2C не может работать, если будет являться просто парой однонаправленных и подключенных в противоположных направлениях однонаправленных каналов. Как только на один из входов подадут лог. 0, он пройдет сначала в нужном направлении (приемнику), а потом мгновенно вернется передатчику через изолятор подключенный в обратном направлении. На обоих направлениях канала установится лог.0, канал «защелкнется» и шина I2C/SMBus перестанет работать.

Поэтому на одном из направлений двунаправленного канала (см. side A) устанавливается т.н. антизащелкивающая схема.

Действительно, если смотреть на цифровые изоляторы с DC/DC-преобразователем, то ADUMы, в отличие от Si88xx, имеют встроенный трансформатор.
Второй подход менее универсален, но отдельный трансформатор решает распространенную проблему с нагревом (это основной плюс) и снижает уровень излучаемых помех.
все еще дешевле оптрона ничего не придумали…

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

Наверное было не совсем правильно разбирать в статье почти полностью автоматически созданное приложение. Это наталкивает на мысль, что программирование заключается в тыканьи мышкой, в реальности же работа инженера начинается только после нажатия «Genarate Source».
Ну это же не Arduinoвские analogRead(), а интерфейс, позволяющий вместо поиска в datasheet регистров Timer 2 Reload High и Low Byte набрать в поле Timer Overflow 1000 мс и, главное, получить

	// $[TMR2RLH - Timer 2 Reload High Byte]
	/*
	// TMR2RLH (Timer 2 Reload High Byte) = 0xFF
	*/
	TMR2RLH = (0xFF << TMR2RLH_TMR2RLH__SHIFT);
	// [TMR2RLH - Timer 2 Reload High Byte]$

	// $[TMR2RLL - Timer 2 Reload Low Byte]
	/*
	// TMR2RLL (Timer 2 Reload Low Byte) = 0x30
	*/
	TMR2RLL = (0x30 << TMR2RLL_TMR2RLL__SHIFT);
	// [TMR2RLL - Timer 2 Reload Low Byte]$


Я бы вообще не говорила что конфигуратор — инструмент, предназначенный для новичков. Это инструмент, помогающий специалистам любого класса упросить ту часть работы, которую упрощать можно и нужно. Это как использовать Ctrl-F вместо пролистывания 500-страничного pdf.
Это инициализатор кристалла, ничего революционного, но весьма удобно. Позволю себе самоцитату:
Многие микроконтроллерные платформы поддерживают инструменты для создания начальной конфиграции периферийных устройств и портов ввода/вывода. Обычно это ...

Т.е. речь о автоматизации создания «статичных» режимов работы, а не полноценных алгоритмов.
Ага, главное чтобы errata вовремя подгружались :)
А вы не представляйте, вы посмотрите.
Там разграничены области, которые обновляются конфигуратором, и области для user code. Всё что между знаков $ перезаписывается автоматически.
Часть функции инициализации АЦП
extern void ADC_0_enter_DefaultMode_from_RESET(void) {
	// $[ADC0MX - ADC0 Multiplexer Selection]
	/*
	// ADC0MX (AMUX0 Positive Input Selection) = ADC0P6 (Select channel
	//     ADC0.6.)
	*/
	ADC0MX = ADC0MX_ADC0MX__ADC0P6;
	// [ADC0MX - ADC0 Multiplexer Selection]$


	// $[ADC0CF - ADC0 Configuration]
	/*
	// AD8BE (8-Bit Mode Enable) = 8_BIT (ADC0 operates in 8-bit mode.)
	// ADGN (Gain Control) = GAIN_1 (The on-chip PGA gain is 1.)
	// ADSC (SAR Clock Divider) = 0x19
	// ADTM (Track Mode) = TRACK_NORMAL (Normal Track Mode. When ADC0 is
	//     enabled, conversion begins immediately following the start-of-
	//     conversion signal.)
	*/
	ADC0CF = ADC0CF_AD8BE__8_BIT | ADC0CF_ADGN__GAIN_1 | (0x19 << ADC0CF_ADSC__SHIFT)
		 | ADC0CF_ADTM__TRACK_NORMAL;
	// [ADC0CF - ADC0 Configuration]$


	// $[ADC0TK - ADC0 Burst Mode Track Time]
	// [ADC0TK - ADC0 Burst Mode Track Time]$


	// $[ADC0PWR - ADC0 Power Control]
	// [ADC0PWR - ADC0 Power Control]$

...


громоздко разве что
Меня посетила идея написать цикл статей, посвященных обучению, где был бы представлен такой вот полноценный курс по этой отладочной плате, где все написано простыми словами и объяснено на пальцах


главное сильно не повторяться :D
habrahabr.ru/search/?q=stm32
Хотелось бы попросить автора статьи немного «причесать» перевод, смысл абзаца «Как извлечь энергию звуковых сигналов» уловить трудновато, это отвлекает от сути статьи) Спасибо!

Information

Rating
Does not participate
Location
Россия
Registered
Activity