Jump to content

    

SSerge

Свой
  • Content Count

    1793
  • Joined

  • Last visited

Community Reputation

0 Обычный

About SSerge

  • Rank
    Профессионал
  • Birthday 05/11/1962

Информация

  • Город
    Novosibirsk

Recent Profile Visitors

9098 profile views
  1. Ну так и сделайте у своего источника питания регулируемый уровень ограничения тока. Устанавливаете ему ограничение по току на некотором разумном, безопасном уровне, включаете, измеряете напряжение на выходе. Если слишком мало, значит КЗ.
  2. У Вас есть два процесса, каждому из которых нужен эксклюзивный доступ к некому ресурсу, в данном случае это буфер в памяти. Наиболее "тру" это защитить доступ к данным мьютексом (mutex). Захватили мьютекс, поработали, освободили. Вместо глобальной measure_process будет глобальный мьютекс :) А самый простой - просто запрещать прерывания на время копирования данных в буфер или из буфера. Буфер небольшой, 15 слов копируются меньше чем за микросекунду, на вызовах планировщика больше потеряется.
  3. Если LTSpice , значит это случай низких частот, не СВЧ. Тогда наводки можно разделить на кондуктивные и индуктивные. Первые имитируют подавая сигнал от источника эдс через небольшую ёмкость, иногда ещё с резистором параллельно ёмкости. Вторые можно моделировать как связь между двумя индуктивностями через элемент K. Или можно просто включать источник эдс помехи в контур, куда наводится индуктивная помеха. А что до величины ёмкости или коэффициента связи, то это зависит от геометрии и спайс-симулятор тут бессилен, он не для этого.
  4. Это же не просто индуктивность, там ещё и сердечник перемещается. Так что это ещё и генератор, преобразующий энергию сжатой пружины в электричество.
  5. IAR 8.10

    Первым делом проверьте кнопку "Insert" на клавиатуре. Изначально она переключает режимы вставка/замена.
  6. В тензодатчиках обычно делают все четыре резистора одинаковыми и часто на одной подложке. Только располагают так, чтобы два из них деформировались, а два других нет.
  7. Стандарту не противоречит, так что не баг точно. С другой стороны, дополнение нулями выглядит как костыль, оставшийся с того времени когда без него было не обойтись. По идее, о выравнивании на границу слова нужно заботиться при размещении объекта для которого это нужно, например, задавая align при объявлении z4[], а не дополняя предшествующий ему z3[], которому самому это не надо, просто не повезло с соседями :) А уж линкер потом пусть разбирается где нужно заполнение, где нет.
  8. В таком виде уже не срабатывает: __root static u8 const z1[] @ ".zzz" = {1}; __root static u8 const z2[] @ ".zzz" = {1,2}; __root static u8 const z3[] @ ".zzz" = {1,2,3}; __root static u8 const z4[] @ ".zzz" = {1,2,3,4}; __root static u8 const z5[] @ ".zzz" = {1,2,3,4,5}; листинг: \ In section .zzz, align 1, root \ 00000000 0x01 DC8 1 28 __root static u8 const z1[] @ ".zzz" = {1}; \ In section .zzz, align 2, root \ 00000000 0x01 0x02 DC8 1, 2 29 __root static u8 const z2[] @ ".zzz" = {1,2}; \ In section .zzz, align 4, root \ 00000000 0x01 0x02 DC8 1, 2, 3, 0 \ 0x03 0x00 30 __root static u8 const z3[] @ ".zzz" = {1,2,3}; \ In section .zzz, align 4, root \ 00000000 0x01 0x02 DC8 1, 2, 3, 4 \ 0x03 0x04 31 __root static u8 const z4[] @ ".zzz" = {1,2,3,4}; \ In section .zzz, align 4, root \ 00000000 0x01 0x02 DC8 1, 2, 3, 4, 5, 0, 0, 0 \ 0x03 0x04 \ 0x05 0x00 \ 0x00 0x00 32 __root static u8 const z5[] @ ".zzz" = {1,2,3,4,5}; То есть всё портится уже компилятором, который самовольно добавляет нули до границы в 4 байта. Линкеру достаются сегменты уже с заполнением. #pragma data_alignment=1 не помогает, пишет в листинге "In section .zzz, align 1, root", но нулевые байты в конец всё равно добавляет. Сработало только добавление опции компилятора --no_const_align (в Extra Options), но она же и на другие константы в этом файле подействует.
  9. Да этой идее уже лет 40 примерно. Статья 1980-го года. Силовые мосфеты в те годы были так себе, поэтому там два биполярных. Barry Jackson Dan Y. Chen Effects of Emitter-Open switching on the turn-off characteristics of high-voltage power transistors
  10. Алгоритм двойной буферизации при записи на SD карту.

    Вместо двух отдельных массивов проще иметь дело с одним, но двойного размера. Мало будет двойного - сделаете N-кратный размер изменив в коде одну константу.
  11. Modbus Line Polarization

    Там путаница заложена с самого начала, прямо в тексте стандартов RS-422 и RS-485. Это ж надо было додуматься, написать A, which is low for logic 1 and high for logic 0. B, which is high for logic 1 and low for logic 0 и одновременно назвать линию А неинвертирующей, а линию B - инвертирующей. (На самом деле причины у них для этого были, но такие, что в 21-м веке это понять уже невозможно.) Нужно просто помнить что в покое, при передаче стопового бита, на линии B будет положительное напряжение. В конце концов именно это Вы и будете проверять тестером при очередном разбирательстве с полярностью. PS. Ну, и контрольный прямо в мозг: кому не нравятся названия А и В, те линию А маркируют как (+), а линию В как (-).
  12. Таак, не понимает параметры модели ALPHA1, VOFFCV и другие. У моделей полевика в PSpice LEVEL = 7 значит BSIM3 model version 3.2. В pdf-ке есть ссылка на описание этой модели: [8] Department of Electrical Engineering and Computer Science, “BSIM3v3.2 MOSFET Model User’s Manual,” University of California, Berkeley, CA 94720. Возможно, Альтиум подразумевает другую разновидность модели BSIM, в которой нет таких параметров. PSpice с ней прекрасно справляется. Видно, что при 20 вольтах на стоке наступает лавинный пробой (avalanche breakdown), помечено красным овалом.
  13. Gate Drive Optocoupler with Integrated Desaturation Detection Например, классический HCPL-316J. PS. Когда-то их славно готовили в Славянском базаре делали в подразделении Хьюлетт-Паккарда, мутировавшего теперь в три стадии в Broadcom Limited.
  14. Посмотрел. В самой модели нет ничего особенного, должна работать практически в любом симуляторе. Вот только не все они понимают конструкцию .MODEL вложенную внутрь .SUBCTK как это сделано здесь. И картинка на это намекает. Попробуйте перенести .ENDS из конца файла в строку перед первым появлением .MODEL
  15. Похоже только у этого. Во всяком случае мне такие не попадались. У ADS1210 в 1996 году ничего подобного не наблюдалось.