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

haker_fox

Модератор
  • Постов

    7 287
  • Зарегистрирован

  • Посещение

  • Победитель дней

    12

Сообщения, опубликованные haker_fox


  1. 14 minutes ago, Слесарь said:

    Современные преобразовательные устройства

    Я с ними не работаю. Вот я и говорю, что требования к ЛАТРу зависят от специфики. У меня разрабатываемые приборы с линейным (трансформаторным 50 Гц) источником питания. Я живу в несовременном мире измерительных инструментов))))

  2. 31 minutes ago, Слесарь said:

    Нет, CV, СС, не представляю как этим можно пользоваться в современном мире

    Я не спорю, что всё это не нужно. Я бы и сам не отказался от хорошего электронного блока питания, способного выдавать чистую синусоиду до 400 В примерно. При этом для меня обязателен GPIB/LXI (сеть конечно же лучше). CV тоже весьма востребован. А вот CC мне не нужен. Вам бы тоже определиться с характеристиками. Скорее всего такие блоки питания, в отличие от традиционных с выходным постоянным напряжением, стоят довольно дорого. Можно вбухать в них десятки тысяч деревянных, восхититься красивым видом на полке, а потом с досадой понять, что тебе хватило бы "старого ржавого ЛАТРа за 1000 рублей с авито".

    Я своим развязанным ЛАТРом проверяю линейные (ой как несовременно) блоки питания разрабатываемых устройств. Они должны обеспечивать свои характеристики без ухудшения в диапазоне 210..250 VAC. Был случай, когда нужно было питать завышенным напряжением 250 В и заниженным 205 один прибор. На выход ЛАТРа пришлось подключить мультиметр с GPIB и логировать сетевое напряжение. Да, неудобно, но выполнимо и недорого. Хотя я был бы и рад, если бы менять напряжение можно было через удалённый интерфейс в скрипте на Питоне) Но нет, пришлось пару раз подойти к столу, и крутануть штурвал)))) (Регулятор ЛАТРа).

  3. 10 hours ago, Слесарь said:

    ЛАТР, но выглядит как-то громоздко, не функционально и не современно.

    Громоздко? Зависит от мощности. Не функционально? Что нужно? Не современно? Ну это уж совсем ни о чём, простите.

    Вот мой, собственного изготовления. Может быть выглядит и несовременно, но зато работает и уже много раз пригодился. На выходе VAC/VDC.

    image.thumb.jpeg.e3404c15a2298ebe8635d3eacf4ad19a.jpeg

     

     

  4. 4 hours ago, Arlleex said:

    Обычно на отладках не режут, а либо снимают перемычки-резисторы, либо перемычки-сопли олова.

    Честно говоря, плата для GD была первой, где я резал дорожки. Просто, когда у тебя не работает USB, и ты отпаиваешь резистор от диффлинии, который идёт на какой-нибудь сигнал, то получаешь рабочий, но сбоящий USB. Спустя некоторое время (у меня это была неделя), выясняется, что в крайним нижнем углу схемы, запряталось ещё одно подключение данной диффлинии к микросхеме фиттера. И чтобы уже не рисковать - в сердцах режешь)

  5. 15 minutes ago, dOb said:

    При включении порта PD2 в режим GPIO_MODE_OUTPUT
    перестаёт работать порт PA9.

    Рекомендую изучить схему платы. Я тут на GD32450Z-EVAL множество чудес выловил за полгода работы. Дорожки приходилось резать, чтобы USB завести. Просто на одну из диффлиний была посажена линия фиттера Ethernet.

  6. 4 hours ago, barkey said:

    Компания Элитан намерена вскоре закрыть доступ пользователям из-за пределов России к своему сайту.

    Жителям РБ тоже? А вообще, какой смысл? Вы же чисто с коммерческой точки зрения потеряете клиентов, если они есть у Вас на текущий момент.

  7. 15 hours ago, jcxz said:

    У вас разве не так?

    У нас настолько всё сложно, что я бы даже не стал развивать эту тему. Мне проще иногда выполнить то, о чём просят, чем даже вступать в какие-либо дебаты. Условия работы разные у всех. Но есть моменты, которые иногда позволяют на всё это закрыть оба глаза))))

  8. 5 minutes ago, mantech said:

    Ну в принципе логично, ОС, как хост не обязана какой-то командой информировать устройство, что оно ей больше не нужно. 

    Я, конечно, за несколько дней не стал экспертом в области USB MSC, но из беглого чтения документации понял, что всё же может.

    6 minutes ago, mantech said:

    А вот тут возможен попадос, если это время не регламентировано, надо тестировать на разных ОС.

    Да тут вообще ничего не регламентировано((( Всё нужно тестировать и на разных ОС(((((

  9. 10 minutes ago, uriy said:

    Какой процессор?

    Cortex-M0/M3/M4(F).

    10 minutes ago, Arlleex said:

    Так программой (в run-time) или, все же, при компиляции?

    Программой. Но 100% достоверно.

    При компиляции это невозможно. Я пример неудачный привёл в исходном сообщении. Компилятор ничего не знает про то, что программа будет запускаться из под отладчика. А конфигурации, о которых сказал @VladislavS, мне не подходят.

  10. 1 hour ago, VladislavS said:

    Бинарник должен быть разный?

    Не обязательно.

    1 hour ago, VladislavS said:

    Тогда это и есть условная компиляция, которая делается заданием WE_ARE_RUNNING_UNDER_DEBUGGER в одной из конфигураций. 

    Этот способ мне известен. Но всё же именно хочется понять, возможно ли программой определить факт того, что она запущена под отладчиком? Наверное, условная компиляция была не совсем удачным примером с моей стороны.

  11. On 5/26/2023 at 5:02 PM, makc said:

    Вам нужно сообщить ОС, что ваше устройство "removable" для обеспечения отправки SCSI START/STOP UNIT при нажатии кнопки извлечения. Сейчас у вас она не приходит, значит нужно менять содержимое SCSI дескриптора для обеспечения отправки этой команды и команды SCSI PREVENT ALLOW MEDIUM REMOVAL.

    Посмотрел сегодня функцию Inqury, там такой фрагмент:

    image.thumb.png.1e7585579deab4eaf0549c3478458f77.png

    Получаю в wireshark что-то типа этого, из чего следует, что устройство REMOVABLE.

    image.thumb.png.4d098b5786ff70cbda94d6b18cea0157.png

    В момент извлечения флешки получаю это (простите за скрин, мне так удобнее):

    image.thumb.png.e49d602ca5f975909b4f6202995355c6.png

    Выше этого идут только Test Unit Response:

    image.thumb.png.5f8fc8595e7020a6ebb2642496e08a55.png

    Ниже уже ничего, относящегося к SCSI.

    На компьютере установлена Windows 10 Pro.

    Моих знаний на текущий момент не хватает, чтобы сделать дальнейшие выводы. Буду благодарен, если подскажете направление)

     

     

  12. Добрый день, коллеги!

     

    Перечитал по диагонали руководство на отладчик (IAR 9.10 ARM), и мне даже стало казаться, что то, чего я хочу - невозможно. Но всё же задам вопрос, вдруг есть иной путь.

     

    Есть ли возможность условной компиляции ПО (как с помощью директив препроцессора) для случаев запуска под отладчиком J-Link и без него? Термин "компиляция" выбран неверно, т.к. компилятору далеко неважно, что там будет и где отлаживаться. В общем, есть ли возможность получить что-то наподобие этого?

    void foo() {
    #if WE_ARE_RUNNING_UNDER_DEBUGGER
    	foo_under_debugger();
    #else
     	foo_release();
    #endif
    }

     

  13. 2 hours ago, makc said:

    после "извлечения" должны перестать приходить запросы TEST_UNIT_READY,

    Уф. При устной беседе (до этого всё происходило в переписке) выяснилось, что нужен сигнал, что "устройство можно извлечь". Т.е. отключить кабель USB. Т.е. просто вывести надпись на экран прибора. В свете этих новых событй не могли бы Вы что-то дополнительно порекомендовать?❤️

    Другими словами: мы "извлекаем" диск из системы по команде, прибор узнаёт об этом, и пишет на экране сообщение пользователю "можете отключить прибор от USB хоста"...

  14. 11 minutes ago, makc said:

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

    Понятно. В моём случае диск MSC - это массив 2 Мб, расположенный SDRAM. После отключения устройства от USB не предполагается, что файл, записанный на "диск" должен быть доступен.

    5 minutes ago, _4afc_ said:

    Проблемы могут быть при наличии защитного диода D+/Vbus, при его наличии уровень Vbus придётся контролировать внешним компаратором, а не делителем на IO.

    Понял, чисто схемотехнические проблемы.

  15. 16 minutes ago, makc said:

    Гарантий это не даёт, т.к. при других настройках ОС или при другом патче драйвера в ОС поведение может быть другим.

    Возможно, что я чего-то не понимаю. Но руководитель настаивает на том, что событие извлечения нужно ловить, чтобы не потерять данные. Я уже не знаю, что говорить ему. Дал ссылку на форум. И всё равно... бесполезную работу я делать не хочу. Но и своих знаний в этой области почти ноль. А получить их за пару  дней нереально. 

     

    Вот что может произойти, если пользовать выбрал "извлечть", затем отключил кабель USB? Ну как там могут потеряться данные? Ума не приложу.

  16. 1 minute ago, makc said:

    Поэтому потеря данных при некорректном извлечении - это проблема не железа (носителя), а пользователя и его ОС.

    Понял, спасибо!

    1 minute ago, makc said:

    Устройство вполне может работать через USB и без этих +5В

    В нашем случае VBUS всегда заведён на разъём, поэтому, как я понимаю, проблемы нет?!)))

  17. 6 minutes ago, makc said:

    Сказать можно только одно: нет общего механизма и Linux != Windows. Ну это он, наверное, и так знает, но стоит напомнить. 😉

    Простите, что Вы хотите этим сказать? Я немного плохо соображаю после нескольких часов чтения документации... Мой алгоритм: вытащили кабель из хоста, задетектировали пропадание напряжения +5 В, начали искать файл с помощью FatFS - рабочий? Или всё же нужно добавлять события в стек?

  18. Добрый день, коллеги!

     

    Подниму тему. Начальство озадачило вопросом извлечения USB MSC. Другими словами можно ли как-то USB стеком в микроконтроллере задетектировать событие извлечения? Типа, чтобы не нужно было отключать кабель USB от хоста. Зачем это нужно, честно говоря не знаю. Но ответ хотят получить быстро.

     

    В иаровском стеке я поставил ради интереса две команды с точками останова. Сделал в Win извлечение диска. И ни на одной строке не произошло останова. При этом отладчик работал корректно. Я остановил его кнопкой "пауза" и программа прекратила выполнение. Т.е. глюков отладки не было. В Win10 при этом съёмный диск пропал.

    image.thumb.png.1bf62d13d9d249f71522be48749c0ee1.png

    Я перечитал описание команд SCSI, и так и не понял, к какой команде можно "прикрутить" свой код, который должен выполниться однозначно в случае извлечения диска со стороны ОС? Прошу помощи более опытных коллег в данном вопросе.

    Т.к. я не могу изучить все ОС (веток того же линукса довольно много), да и физически проверить те же Win98 (мало ли), Win XP довольно сложно, вообще спрошу, как правильно сделать всё же так, чтобы загрузчик получил целый файл?

     

    Сейчас сделано так: при подключении устройства по USB, на ОС видент диск. На диск я копирую файл. После окончания копирования, отключаю кабель USB от компа. Программа на микроконтроллере видит пропадание напряжения +5 В на ножке VBUS, и далее начинает работать с массивом памяти как с диском через FatFS. Всё работает корректно.

  19. Может быть применить метод "разделяй и властвуй". Сейчас непонятно, где проблема: в источниках питания или/и в плате. Запитать всё от хорошего лабораторгого блока питания и имитировать включение/выключение этого питания...

  20. 5 minutes ago, gte said:

    Проверю положив рядом с процессором провод и отдельный конденсатор такой же емкости.

    А специальные приборы для помехоэмиссии у Вас есть? Чтобы всё же воздействие было нормированным согласно какого-либо класса отказоусточивости...

    6 minutes ago, gte said:

    Но начал подозревать, что это  воздействие помехи в момент инициализации процессора и у него слетают настройки.

    Слетают настройки? Я работал плотно с 1768 в своё время. Что там можно настроить? У него даже EEPROM нет. Биты защиты памяти разве что... Может быть я что-то забыл...

×
×
  • Создать...