Перейти к содержанию
    

Лидеры

Популярный контент

Показан контент с высокой репутацией за 15.06.2024 во всех областях

  1. Отечественная микроэлектроника: *мертва* Общество: "Э, а х*ли она мертвая? Ничего не делают и не хотят! Развалили страну!" Микроэлектроника: *делает микрошаги навстречу, хоть как-то начинает шевелиться* Общество: "Ой да лежи уже, куда ты лезешь, ну тебя нахрен и плевать мне на тебя" Микроэлектроника: Общество: Общество: "Ну и че лежишь? Ты подыматься будешь? Обед уже! Шо за люди, ничего делать не хотят" И я на 146% уверен, товарищи, что вам хоть кортексы последние полностью российские подавай - вам все равно будет на что высказать свое фи. Наше общество заслуживает такой микроэлектронной промышленности. Потреблядтво и годами сложившийся маркетинг вокруг STM и прочих дешевых контроллеров вскружило голову. Пока мы будем так настроены на любые шевеления нашей микроэлектроики - не видать нам этой самой микроэлектроники как собственных ушей.
    6 баллов
  2. Если "дёшево и сердито" и надёжно при этом (с защитой от бабаха), то: Поставьте возле батареи большой разъём. "Маму". 8 контактов. Подключите к его контактам 1...6 ваши 6 концов батарей. И сделайте два замыкателя "папы". У одного замыкателя соедините: 2-4; 3-5; 6-7; 1-8. У другого замыкателя соедините: 1-4-5-8; 2-3-6-7. Дальше просто воткнули один замыкатель или воткнули другой. Два одновременно воткнуть невозможно. Разъёмы можно взять любые на большой ток. Нагрузка подключается к 7:8. Без всяких дидов Шоттки, хитрых реле и пр. тряхомудрии. Кондово и надёжно.
    3 балла
  3. Разобрался с 10G линком для Titan 2. Может будет полезно. Проверено на плате Alinx AXP-390 для одного канала. https://github.com/boikovaleksandr/axp390-pangomicro-titan2-raw-10g-link
    3 балла
  4. Подтяните BOOT0 вверх, включите процессор и программатором сделайте Erase All
    3 балла
  5. Практически любые современные пылесосы на 1200-1800 ватт имеют регулятор скорости, который по совместительству выполняет функцию плавного старта. Движок современного пылесоса при прямом включении в сеть без регулятора тоже с большой вероятностью выносит 16а автомат. Только маломощные пылесосы до 1 квт мощи имеют включение по кнопке. Пытались применять турбины от мощных пылесосов в технологическом оборудовании и нахлебались с этим стартом по самое нехочу.
    2 балла
  6. Удобно, но часто. Аж каждые 10 минут CR2032: диапазон напряжений 2000-3300 мВ, ёмкость 200+ мА/ч. LIR2032: диапазон напряжений 3300-4200 мВ, ёмкость 35 — 45 мА/ч.
    2 балла
  7. Ничего лучше я сегодня на форумах уже не прочту :)))
    2 балла
  8. Лишние позиции в BOM, лишние затраты, когда достаточно простого резистора, который стоит в серии практически ноль рублей. Везение может изменить в определённых температурных условиях. Поэтому резистор в вышеприведённой схеме нужен. Мы с коллегами тоже так делали, но людям почему-то больше нравится видеть зелёный, который показывает, что ПЛИС сконфигурировалась. Некоторые к этому так привыкли, что другого и видеть не хотят в принципе.
    2 балла
  9. Как поставить Xilinx ISE 14.7 под windows 11. - 0 - Установить все Visual C++ Redistributable Package & Runtime Pack. - 1 - Заранее прописать системные переменные окружения: XILINXD_LICENSE_FILE C:\Xilinx\xilinx_ise.lic Xilinx C:\Xilinx\14.7\ISE_DS\ISE XIL_PAR_ENABLE_LEGALIZER 1 XILINX_VC_CHECK_NOOP 1 - 2 - Скопировать лицензию xilinx_ise.lic в папку C:\Xilinx\ - 3 - Установщик использовать 64-битный отсюда: <extracted_directory>\bin\nt64\xsetup.exe, запуск от администратора. - 4 - Примерно на 84% установщик зависнет. Над полосой прогресса будет написано что то про Web Talk. Надо запустить Диспетчер Задач, найти дерево процессов Установщика, прибить процесс этого WebTalk. Он будет выглядеть как то так: webtalk.exe или Xwebtalk.exe. После уничтожения этого процесса Установщик поедет дальше. Примечание: снятие галки с пункта "Web Talk" в диалоге начала установки не помогает. - 5 - В появившейся папке C:\Xilinx\14.7\ найти все файлы nt64\libPortability.dll и заменить их на аналогичные файлы xilinx-ise-win10-hang-hotfix\nt64\libPortability.dll - 6 - Также в папке C:\Xilinx\14.7\ найти все файлы nt64\sdk\libPortability.dll и заменить их на аналогичные файлы xilinx-ise-win10-hang-hotfix\nt64\libPortability.dll - 7 - Также в папке C:\Xilinx\14.7\ найти все файлы nt\libPortability.dll и заменить их на аналогичные файлы xilinx-ise-win10-hang-hotfix\nt\libPortability.dll - 8 - Если стоит отдельно LabTools, то последнии 3 операции проделать для него так же. - 9 - Для запуска Impact использовать бат-файлы Impact_Start_Bat.7z. Impact_Start_Bat.7z xilinx-ise-win10-hang-hotfix.zip
    2 балла
  10. Эх, только площадь заняли змейками)) Я бы память под процессором разместил) С кварцами тоже не стоит мудрить - все эти гуард ринги никакой реальной полезности не несут.
    2 балла
  11. лучше в редакторе слоев
    2 балла
  12. Это изначально ложное утверждения - для равных свобода не может заканчиваться там где она начинается. Отсюда более корректное утверждение "свобода человека заканчивается там, где начинается свобода власти".
    2 балла
  13. О, манагер пожаловал. Конечно оно так... ровно до момента когда требуется создать изделие с жесткими ограничениями хотя бы по одному критерию: стоимость, энергопотребление, производительность, отсутствие или "китайскость" документации на ключевой компонент например cpu... Тогда оказывается что толпа обезьянок совершенно бесполезна и все-таки нужен гуру.
    2 балла
  14. I. Стандартный подход отделить мух от котлет через имплементарный заголовок с реализацией в файле myTemplate.h template <typename T> void f(T value); #include "myTemplateImpl.h" // Включаем реализацию здесь Файл myTemplateImpl.h template <typename T> void f(T value) { // Реализация функции } В этом случае мы отделяем объявление и определение шаблонной функции в разные файлы, но включаем файл с реализацией myTemplateImpl в конце файла с объявлением myTemplate.h. II. альтернативный подход Сделать инстанцировку в исходном файле. Файл myTemplate.h template <typename T> void f(T value); Файл myTemplate.cpp #include "myTemplate.h" template <typename T> void f(T value) { // Реализация функции } // Явная инстанцировка для нужных типов template void f<int>(int); template void f<double>(double); Использование #include "myTemplate.h" int main() { float a = 1.0f; double b = 3.14; f<float>(a); //для варианта II ошибка, т.к. нЭт его (нет инстанцировки для float в cpp) f<double>(b); //будет работать для обоих вариантов return 0; }
    2 балла
  15. Да не надо там оптронов, потенциал земли один и тот же, источник питания тоже один, обычная защита по цепи входа и все, землю просто разводить нужно правильно и хороший стабилизатор питания...
    2 балла
  16. вроде как в C++ нет прямого способа передать список инициализации {1, 2} в функцию, без std::initializer_list (может ошыбаюсь). Можно использовать перегрузку шаблонной функции или макрос создающий массив template<int N> void f1(int (&arr)[N]) { for (int i = 0; i < N; ++i) { printf("%d ", arr[i]); } std::cout << std::endl; } // Вспомогательная функция template<int... Args> void f2(Args... args) { int arr[] = { args... }; func(arr); } int main() { f2(1, 2); // вызов f2 развернется в вызов f1 с массивом из двух элементов f2(3, 4, 5); // вызов f2 развернется в вызов f1 с массивом из трех элементов //можно без прокладки f2, но кто-то должен создать массив, например макрос #define F3(...) { int temp[] = { __VA_ARGS__ }; f1(temp); } F3(1, 2); F3(3, 4, 5); return 0; }
    2 балла
  17. В догонку для размышления кину наработки красноярских ученых мужей: Беляева, Сержантова, Лексикова. Погуглив по фамилиям, найдете много интересного за десятки лет плодотворного труда. Серебрения и прочих "безобразий" нет, но потребуется серьезный умственный вклад в AWR, ADS, CST, HFSS и подобных. Belyaev_2021.pdf
    1 балл
  18. Я встречал такой вариант: когда is link down, прошивка отмечает это. И как только is link up, за этим сразу следует RESET. А теперь о RESET. В прошлый раз я не написал кое-что чтобы не засорять эфир. Допишу это сейчас. Есть мысль, что фокусы типа "я прошиваю МК, первый раз работает" или "из регистров читаются 0xFFFF" могут быть связаны вот с чем: 1. На NUCLEO-H743 сигналы nRST микроконтроллера STM32 и сигнал nRST у LAN8742 связаны. При этом nRST у STM32 может выступать в роли выхода общесистемного сброса. 2. Требуемая длительность сигнала nRST для PHY (извините, давно смотрел Datasheet, лучше проверьте) дольше чем генерируемый выходной nRST микроконтроллером STM32. Возможно, это может объяснять странности с запуском Ethernet. 3. Отладчик STLink/JLink способен генерировать аппаратный сигнал RESET. Есть мысль, что дело не в прошивке FLASH, а скорее всего в генерируемом отладчиком аппаратном сбросе. 4. Иногда в своей схемотехнике для PHY не разводят сигнал сброса. Это еще одно отличие.
    1 балл
  19. 1 балл
  20. CBB-20 буржуйские посмотрите, может найдется среди них
    1 балл
  21. Потому что вы пишете, но не читаете написанное. Нулевой уровень на DONE задержит запуск ПЛИС, как написано, например здесь https://support.xilinx.com/s/article/51686?language=en_US Не обращайте внимание, что написано не про Spartan-6, логика у них в этом плане одна и та же. И низкий уровень на DONE из-за светодиода не даст нормально запуститься ПЛИС, поэтому добавили резистор, дающий дополнительное падение напряжения и в результате правильный уровень единицы на DONE.
    1 балл
  22. Плюсы, если используем альтиум на двух и более рабочих местах. Например дома и на работе. Проект (или библиотеки) закоммитили на работе, пришли домой, проапдейтили, и через 5 минут продолжаем работать с той же точки. я использую именно так. откаты на какие-то предыдущие версии и прочие фишки контролей версии не помню даже, чтоб понадобились. сливы, конкатенации и т.д. с бинарными файлами в принципе невозможны. ---- если же работать на одном месте, лучше использовать бекап, причем автоматический. я использую robocopy. можно поиском много инфы нарыть или могу свою инструкцию скинуть
    1 балл
  23. Тема себя исчерпала и была закрыта.
    1 балл
  24. Не кормите тролля Стогова. Так - понятно?
    1 балл
  25. TOG, если длина 19 см, то возможно это не четверть волны, а 5/8L c компенсирующей реактивность индуктивностью. Можете такую попробовать сделать из рулеточной ленты.
    1 балл
  26. Добрый день Верно есть такие. Авиационного диапазона. Авианаводчик наводит на удар вертолёты.Точно уже не помню диапазон, кажись 127-146МГц. Также показали СВО и новые радиостанции, с шифрованным каналом. Там диапазон от 27-60МГц. Идея интересная , т.к. чем шире диполь, тем лучше согласование. Загоните в HFSS и посмотрите.
    1 балл
  27. Ничего странного: Оттуда же про постоянный ток: Ну и подробнее по ссылке.
    1 балл
  28. Новая версия PDS - 2023.2.SP3 Release_Notes_2023_2_SP3 (microterra).pdf
    1 балл
  29. Как отключить проверку на "хорошие" и "плохие" файлы - не знаю, но можно зайти сбоку: т.к. для синтеза вы используете Synplify, то рекомендую сделать проект в Synplify, а выходной "хороший" Verilog-файл уже подключить в PDS и в синтезе выставить ADS. Таким образом, всё "нехорошее" вы прогоняете через Synplify, а потом в ADS объединяете результат работы Synplify и то, что должно проходить только ADS. Я так делал в PDS 2023-1, в котором ещё не было поддержи у ADS VHDL+Verigol Synthesis, а мне необходимо было использовать PDS IP-Core (Verilog) + мои исходные файлы на VHDL.
    1 балл
  30. Да, так и будет)) Я просто хотел отразить саму неизбежность в обрастании классов всякими плюсовыми прибамбасами даже в низкоуровневом коде. Потому что, ИМХО, терять все те прелести C++ - равносильно покупке нового авто, а продолжать кататься на старом ведре. Я за подход в стиле "нужно чутка подумать над низкоуровневыми классами, чтобы их поведение было максимально предсказуемым при реализации в разных компиляторах и по занимаемым ресурсам".
    1 балл
  31. Сами светодиоды будут греться как чайники, всё-таки 1 Вт. Если так хочется сэкономить, то лучше мосфет, дроссель, выходной конденсатор, шунт для измерения тока и компаратор, тогда можно в релейном режиме запустить или банально через шунт-АЦП завести управление ключом на микроконтроллер.
    1 балл
  32. 3,3 В белому/синему при –20°C будет в лучшем случае впритык, а стабилизатору/транзистору соответственно останется шиш. Здесь логично применить 4 обыкновенных источника тока на ОУ и NPN, а светодиоды коммутировать PMOS, либо PNP и NMOS. Если нужен КПД, тогда источники тока на любых импульсных светодиодных драйверах.
    1 балл
  33. Не имеет, она неработоспособна. Р-канальный MOSFET там вообще говоря не нужен. Вполне сгодится N-канальный, пусть на нем падает напряжение и рассеивается мошность. Зато LDO будет меньше греться при питании от 17В
    1 балл
  34. Vivado 2021.1 PC: Intel Xeon W 2145 , DDR4 - 32GB, Platform- LENOVO ThinStation P520
    1 балл
  35. Так сделайте IARовский проект с этим бинарником и отлаживайте...
    1 балл
  36. Замените R1 на 470 Ом и выносите кнопку хоть на два метра.
    1 балл
  37. Системы подобные СКРАМУ нарезают простейшие задачи в соответствии с ожидаемыми навыками специалиста и ставят вполне конкретные сроки их выполнения. Если сотрудник видит что срок не выполним - он его увеличивает с указанием реальных причин, которые всегда можно проанализировать в группе подобных специалистов (реальны они или нет). Зачем человеку самоорганизовываться - если ему уже нарезан план работ?
    1 балл
  38. Как раз те места, где без "Михалыча" все идет по "п..де" работают без системы, подобной СРАМ (или подобных). Если Ваше предприятие зависит от таких людей - вы в любой момент можете оказаться на грани увольнения из-за разорения организации. В нормальных конторах процессы делают так, чтобы их мог повторить ЛЮБОЙ специалист с аналогичным (требуемым) образованием (навыками). У Вас крайне странные представления про управление проектами и людьми... Как Вы в этом убедитесь? поверите на слово? Так кажды сотрудник Вам заявит, что работал не покладая рук весь месяц, давай премию!
    1 балл
  39. В рамках постановления Правительства Российской Федерации от 18.11.2020 № 1867 было приобретено оборудование, предназначенное для измерений и испытаний СБИС микроконтроллеров в части проверки их функционирования, электрических параметров и режимов работы. Оборудование представляет собой шасси на модульной платформе, доукомплектованные специальными рабочими местами. Приобретенные комплексы позволят расширить производственные мощности измерительного участка ИМС по основной номенклатуре поставляемых изделий, как цифровых, так и аналоговых. При этом планируется использование данных измерителей при выполнении целого спектра проектов АО «НИИЭТ». Важно отметить, что измерители вовлечены в работы по разработке и освоению аналогов микросхем, ранее производившихся на зарубежных фабриках. Узнать подробную информацию по испытательному оборудованию производства АО «НИИЭТ» можно на сайте производителя АО «НИИЭТ».
    1 балл
  40. Не понятно где вы такое нашли, но вот тело вызываемой вами функции HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) { uint32_t *tmp; /* Check that a Tx process is not already ongoing */ if(huart->gState == HAL_UART_STATE_READY) { if((pData == NULL ) || (Size == 0U)) { return HAL_ERROR; } /* Process Locked */ __HAL_LOCK(huart); huart->pTxBuffPtr = pData; huart->TxXferSize = Size; huart->TxXferCount = Size; huart->ErrorCode = HAL_UART_ERROR_NONE; huart->gState = HAL_UART_STATE_BUSY_TX; /* Set the UART DMA transfer complete callback */ huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt; /* Set the UART DMA Half transfer complete callback */ huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt; /* Set the DMA error callback */ huart->hdmatx->XferErrorCallback = UART_DMAError; /* Set the DMA abort callback */ huart->hdmatx->XferAbortCallback = NULL; /* Enable the UART transmit DMA Stream */ tmp = (uint32_t*)&pData; HAL_DMA_Start_IT(huart->hdmatx, *(uint32_t*)tmp, (uint32_t)&huart->Instance->DR, Size); /* Clear the TC flag in the SR register by writing 0 to it */ __HAL_UART_CLEAR_FLAG(huart, UART_FLAG_TC); /* Process Unlocked */ __HAL_UNLOCK(huart); /* Enable the DMA transfer for transmit request by setting the DMAT bit in the UART CR3 register */ SET_BIT(huart->Instance->CR3, USART_CR3_DMAT); return HAL_OK; } else { return HAL_BUSY; } } Непосредственно перед выходом из функции SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
    1 балл
  41. Из-за проблем на оборудовании у облачного провайдера сервисы (сайты компании Резонит) временно недоступны. На текущий момент провайдер не обнадёживает и сообщает о том, что восстановление может затянуться на неопределенный срок. Инженеры Резонита занимаются восстановлением сайтов и ЛК из имеющихся резервных копий.
    1 балл
  42. Запускать без отладчика. В интересующих местах программы дергать ногами, писать их состояние логическим анализатором. Выводить диагностику в USART, смотреть ее в терминалке на компе.
    1 балл
  43. Вероятно поможет использование Hardware Reset при стирании STLink-oм. Смотрите в настройках программатора. Я пользуюсь STM32CubeProgrammer.
    1 балл
  44. Как это - ненадежно? А писать во флеш МК с невысоким ресурсом и медленной записью - надежнее чтоль? К тому же, особенность записи такова, что во время операций записи невозможны операции чтения. То есть, при однобанковой организации флеша МК просто стоит и ждет завершения стирания/записи. С блоком backup SRAM же всё там надежно, а на батарейке работают бытовые счетчики газа, одна незаменяемая (впаянная) батарейка на 12 лет работы. Есть батарейки-таблетки, впаиваемые в плату, вертикально или горизонтально, такой хватит на добрый десяток лет. Защита от хацкеров - tamper pin, автоматически сбрасывающий всё содержимое Backup SRAM при вскрытии корпуса прибора. Писать же в Backup SRAM можно хоть каждую микросекунду, без риска потери данных. Блок на 4 килобайта покроет большинство хотелок по бекапу. Вот как раз внешняя микросхема еепром или фрам - вот тут как раз никакой аппаратной защиты - подключайся "лягушкой" и считывай содержимое в открытом виде. Получил прибор, считал микросхему памяти, прибор поработал, ты берешь и перезаписываешь микросхему, и у тебя прибор снова "новый". Про "перечиповку" принтерных картриджей не слышали чтоль? Ха, я всегда так делаю - получаю новый картридж, вешаю на него "лягушку", считываю еепромку, а когда подходит время перезаправки картриджа, вместе с замерой тонера цепляю "лягушку" и прошиваю первоначальный дамп, и всё в ажуре, как новенькое и оригинальное. Такой вот афтырь "ынжынэр". Меня беспокоит будущее росс.прома при таких кадрах. Впрочем, у меня уже есть примеры "ынжынерных" работ ажно из самой "Бауманки". Насмотрелся.
    1 балл
  45. А где там? Вы с помощью API телеграма получаете сообщения и отправляете их, а как их интерпретировать уже ваше дело. Хотите шифруйте AES/ГОСТом, хотите открытом текстом пишите. Конкретно в Java по части шифрования есть вот что https://www.baeldung.com/java-aes-encryption-decryption Я python'ом не пользуюсь, но думаю там тоже все ok с AES. JavaScript это вообще для выполнения прям у пользователя в браузере. Какие-то сервисы на этом вообще не пишут... Ну то есть это как пассатижами забивать гвозди, забить конечно можно, но для этого молоток все-таки придумали.
    1 балл
  46. Потому что так задумано. DTCM и ITCM только для ядра доступны без всяких шин быстро и сразу. Вообще, настройки линкера никак не влияют на работу периферийных устройст, а лишь размещают данные в памяти. Можете тупо указывать в функциях абсолютные адреса и ни один линкер это не изменит. Проверяйте включены и настроены ли все нужные области памяти и периферийные модули. Обратите внимение на настройки MPU - защита и кэширование областей памяти могут мешать работе DMA.
    1 балл
  47. vs Так это требование или пожелание? Как вам правильно заметили коллеги, снижайте требования или ещё лучше разбейте на две вакансии. Так шансы найти специалиста будут намного выше. Но по многолетнему опыту общения, схемотехники/топологи/конструкторы крайне редко горят желанием что-то профессионально программировать для МК, т.к. им и так забот хватает.
    1 балл
×
×
  • Создать...