-
Постов
281 -
Зарегистрирован
-
Посещение
-
Спасибо за ответ. Стало интересно: как будет вести себя STM с прошивкой от GD. Не пытались проверить?
-
Прошу прощения за реанимацию старой ветки. У меня такая же проблема на GD32F105RB. Я пробовал использовать как код, сгенерённый кубом для STM32F105, так и библиотеку tinyUSB - в обоих случаях подведение такое же, как вы описали. Скажите, вам удалось решить эту проблему? Или может быть есть у кого положительный опыт переезда с STM32F105 на GD32F105, что бы работал USB device? Уточню: можно ли переделать HAL от STM, что бы это без проблем работало на GD?
-
Защита от перегрузки - 20в, 100мА
Vitёk ответил Vitёk тема в Вопросы аналоговой техники
Снова нет. Диалог был следующий: k155la3: Ограничение (без отключения) тока, LM317 + (переменный) резистор. См. в datasheet Current-Limiter пример включения. Vitёk: Такой вариант вполне приемлем. Только ограничиваемый ток должен быть пропорционален напряжению на выходе, и при КЗ составлять например 1/10 от номинального, что бы не перегреть регулирующий элемент. Это чуть сложнее, чем LM317. И остаётся вопрос, как оно будет стартовать на нагрузках разного характера. wim: Не получится, если не ограничить диапазон емкостей нагрузки. И понеслась... Будьте внимательней. -
Защита от перегрузки - 20в, 100мА
Vitёk ответил Vitёk тема в Вопросы аналоговой техники
Нет. Вероятно, Вы неправильно поняли идею. Ключевым моментом здесь является прямая (ну почти) пропорция между током и напряжением на нагрузке. При нулевом напряжении на выходе (режим КЗ) ток поддерживается в районе 1/10 - 1/20 от максимального, и таким образом нагрев регулирующего элемента снижается до терпимого уровня. На картинке результаты измерения, полученные на макете, нагруженном на переменный резистор. Нижний левый конец графика - это и есть КЗ. По мере роста напряжения на нагрузке - ток через неё тоже растёт, и в случае чисто ёмкостной нагрузки напряжение на ней будет расти почти по экспоненте. Благодарю Вас! -
Защита от перегрузки - 20в, 100мА
Vitёk ответил Vitёk тема в Вопросы аналоговой техники
Получится, от величины ёмкости зависит только время, требуемое на её зарядку. По мере зарядки и увеличения напряжения на ней, ток зарядки будет пропорционально расти. Т.о., график напряжения на ёмкости будет похож на экспоненту. -
Защита от перегрузки - 20в, 100мА
Vitёk ответил Vitёk тема в Вопросы аналоговой техники
Спасибо всем откликнувшимся! Такой вариант вполне приемлем. Только ограничиваемый ток должен быть пропорционален напряжению на выходе, и при КЗ составлять например 1/10 от номинального, что бы не перегреть регулирующий элемент. Это чуть сложнее, чем LM317. И остаётся вопрос, как оно будет стартовать на нагрузках разного характера. Боюсь, Вы правы. На напряжения до 5.5в (для защиты USB выхода) на рынке представлены сотни наименований, на любой вкус и почти бесплатно. А как только шаг вправо или влево - добро пожаловать в клуб "сделай сам". Немного не то, но с удовольствием ознакомился бы более подробно. Навскидку не нашёл, можете поделиться ссылкой? С уважением, Виктор. -
Защита от перегрузки - 20в, 100мА
Vitёk опубликовал тема в Вопросы аналоговой техники
Добрый день! Есть задача защитить выходы источника питания от перегрузок. При обнаружении таковой, выход должен отключаться, и через время пытаться включиться снова. Выходное напряжение - до 20в, ток срабатывания желательно регулировать от десятков до сотен мА. Отключать можно как "+", так и "-", без разницы. Просмотрел множество готовых решений, из подходящих нашёл только TPS1H000, но у него почти нулевая доступность. Есть вариант на рассыпухе, но он громоздок. Подскажите, есть ли доступное интегральное решение с небольшой обвязкой? -
AVI-crak, спасибо, ответил в ЛС.
- 10 ответов
-
- arm cortex-m3
- gcc
-
(и ещё 1 )
C тегом:
-
Очень близко к тому, что я ищу. Но, к сожалению, компилятор выдаёт ошибку: Error: bad arguments to instruction -- smull r4,r5 Видимо, в регистровые пары (или что значит Rp) ассемблер не умеет.
- 10 ответов
-
- arm cortex-m3
- gcc
-
(и ещё 1 )
C тегом:
-
По сути я так и делаю - получаю доступ к половинкам через юнион.
- 10 ответов
-
- arm cortex-m3
- gcc
-
(и ещё 1 )
C тегом:
-
Forger, штатные библиотеки устраивают, умножение 32х32 приведено в качестве примера. Вопрос в том, что бы обойтись без структур, объединений и прочего. Что бы объявить переменную long long, и разбить её на 2 половинки. В avr-ском ассемблере, емнип, были директивы hi/lo, которые позволяли получить доступ к 8-битным половинкам 16-битной переменной.
- 10 ответов
-
- arm cortex-m3
- gcc
-
(и ещё 1 )
C тегом:
-
Добрый день! Что бы передать внутрь ассемблерной вставки половинки 64-битной переменной, использую union, примерно вот так: union u_i64 { int64_t i64; int32_t i32[2]; }; int64_t mul64(int32_t m1, int32_t m2) { register union u_i64 ret; asm volatile ( "smull %0, %1, %[m2], %[m1] \n" : "=r" (ret.i32[0]), "=r" (ret.i32[1]) : [m1] "r" (m1), [m2] "r" (m2) ); return ret.i64; } Но хотелось бы, что бы можно было на входе/выходе asm'а указывать непосредственно половинки большой переменной, что-то вроде "res.H" и "res.L". Или объявлять переменную с явным указанием пары регистров, примерно как register uint64_t res asm ("r0:r1"), тогда можно было бы скормить указанную пару r0 и r1. Беглый просмотр документации ответа не дал. Это вообще возможно? Заранее благодарю за ответ. Компилятор arm-none-eabi-gcc 5.4.1 из состава embitz 1.11, проект для Cortex-M3, если что.
- 10 ответов
-
- arm cortex-m3
- gcc
-
(и ещё 1 )
C тегом:
-
Просьба понизить 10% уровень пятилетней давности. :)
-
OrCAD -> Expedition
Vitёk ответил Vitёk тема в Siemens EDA - Xpedition, PADS (ex. Mentor)
OMG... Я, канэшна, подозревал, что освоение новой САПР и перенос проектов не будет безболезненным. Но чтоб через такую ж..... :crying: PS: Спасибо за информацию. :) -
OrCAD -> Expedition
Vitёk ответил Vitёk тема в Siemens EDA - Xpedition, PADS (ex. Mentor)
Спасибо, получилось. Успешно импортировал ячейки в central library. Только вот вопрос остался. Скачанные с сайта мегратека трансляторы OrCAD->PADS и PADS<->Expedition не очень дружат друг с другом - первый создаёт файлы типа *.??4, а второй требует файлы *.??07. Это в пределах нормы (и их просто нужно переименовать), или я что-то не так сделал?