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

Arlleex

Свой
  • Постов

    5 701
  • Зарегистрирован

  • Посещение

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

    12

Arlleex стал победителем дня 25 января

Arlleex имел наиболее популярный контент!

Репутация

122 Очень хороший

2 Подписчика

Информация о Arlleex

Контакты

  • ICQ
    Array

Посетители профиля

17 371 просмотр профиля
  1. Какое-то катастрофичное количество опечаток получается тогда🙂 Потому что внутри одного и того же техпроцесса-серии LVC1G могут как быть, так и не быть эти самые триггеры. И таких микросхем - много. Да и даташиты производителей-компаньонов скопированы почти в букву. У Diodes и т.д. Output current это ток во внешнюю цепь. А я о внутреннем токе полуоткрытых верхнего и нижнего плеча, а наличие и длительность этого состояния зависит от входного напряжения.
  2. Ну я бы не сказал что это прям бриллиант... Микросхемы не редкие весьма. Одно дело, когда их мешок в каждом продуктовом, другое - когда это какой-то специализированный кейс, которого завтра след простыл...
  3. У нас "ходовыми" были LVC1G97, я посмотрел что он умеет - и хватило всего что нужно, кроме XOR. Поэтому особо больше ничего не искал, поставив отдельный XOR. 58 не подходит (нет обычного AND), а 99 на Элитане сроки не вменяемые🙂 Вот эту наскальную живопись нужно изобразить логикой)))
  4. Есть простейшая схема "блокировки" неправильных или промежуточных положений галетника, выполненная на логике. Сами сигналы с галетника я задавил RC-цепочками, чтобы переходные процесссы при переключении лишний раз не переключали исполнительное реле. Так вот, когда выбирал серию микросхем логики, открыл даташит на нужный мне компонент 2-И с одним инвертированным входом, увидел нужный мне триггер Шмитта по входам в наличии. Серия SN74LVC1G. И такой же серии заложил корпус 2-Исключающего ИЛИ. И только щас (исправить все не поздно) заметил косяк: в выбранном SN74LVC1G86 нет триггера Шмитта по входам. Печаль. В даташите на LVC1G86 прям написано, мол, если сигналы ваши медленные, надо ставить или внешние триггеры, или микросхему со встроенными. Рисуют вот такую табличку Почему указаны максимальные скорости фронтов, а минимальных нет? Минимальные ведь тоже надо знать, чтобы не допустить выгорания выходного каскада транзисторов. Ищу корпус-замену. Нахожу SN74AHC1G86. У него только в рекламном блоке упоминание Лезу ниже - ищу такую же табличку Вот здесь как раз можно опустить минимальное время входных переходных процессов и указать максимальное. Как понять-то, вообще этот компонент точно имеет входной триггер Шмитта или реклама - брехня?
  5. Обычный микроконтроллер. В каждом первом программаторе с али МК и внешняя I2C/SPI Flash🙂
  6. IAR вроде так и остался при своем. Т.е. генерит варнинг и пустой код. На LLVM сделан Keil, вернее его ARM Compiler 6 основан на LLVM, а от нативного ARMCC они отказались года 4-5 назад))
  7. Я говорю про начальные условия (состояния регистров), при которых будет работать формирование импульса заданной ширины в One Pulse Mode. Привел цитату из RM. Естественно, сами компараторы срабатывают по ==.
  8. Да, все соответствует в т.ч. моему описанию выше. Ширина импульса будет равна ARR - CCR (при OCxFE == 0) или ARR - начальный CNT (при OCxFE == 1). Задержка до начала импульса будет равна CCR - CNT или 3 такта соответственно. Проблема в том, что это точно будет работать при запуске от внешнего триггера, но не факт (я не проверял), что при ручном запуске таймера.
  9. Вообще все эти RCREG4; или (void)RCREG4; или через вызов фиктивной функции - сугубо на усмотрение конкретного компилятора И языка программирования. Си-шный стандарт сразу говорит, что понятие "доступа" в отношении к volatile-объектам отдается на усмотрение реализации: ISO/IEC 9899:201x: Открыл референс на свой компайлер и читаю: В Си строчка RCREG4; является выражением и это выражение должно оцениваться компилятором. А оценка невозможна без доступа. А вот в C++ доступ к volatile в этом отношении несколько другой: он вполне вправе считать, что такое выражение не имеет смысла, о чем может выкинуть варнинг "Expression has no effect". Так что все несколько запутано и нужно проверять конкретно "у себя". А еще ссылка по теме, кому интересно: https://embeddedgurus.com/stack-overflow/2010/03/reading-a-register-for-its-side-effects-in-c-and-c/. Тут подверждается, что даже "правильная" для конкретного языка C/C++ конструкция - не гарантия.
  10. Вы не правильно понимаете суть замысла бита OCxFE. А суть очень проста. Есть таймер. У него есть режим активации (например, включения счета) от внешнего события. Также предусмотрен режим генерации PWM, а режим одновибратора есть частный его случай (генерация одного периода). В CCR записывается задержка до формирования первого фронта импульса, а в ARR - значение, при котором будет сформирован второй (задний) фронт импульса и выключится таймер. Так вот, для того, чтобы эта шайтан-машина работала правильно, начальные условия должны удовлетворять CNT < CCR <= ARR. Отсюда видно, что с момента получения сигнала включения таймера от внешнего триггера до генерации первого фронта должно пройти минимум CCR + (5, вроде, по документации) циклов синхронизации. А теперь представьте ситуацию, когда импульс должен начать формироваться максимально быстро после получения триггера запуска таймера. Никаких задержек в виде отсчета CCR до первого фронта импульса не должно быть. Поэтому: при установленном OCxFE таймер при получении триггера старта немедленно (а если точнее, всего лишь строго 3 цикла) формирует первый фронт на выходном пине (как будто произошло событие равенства CNT == CCR). Затем, при достижении счетчиком CNT значения CCR, ничего не происходит. А потом счет доходит до ARR, ножка формирует второй фронт и таймер выключается. P.S. Если у Вас вопрос только в том, почему требуется запись в CCR == 1, то я выше привел требование документации насчет запуска режима OPM для генерации импульса:
  11. Тогда рекомендую поставить Win10 IoT. Там под корень выпилены виндовые магазины, службы не пойми чего, и т.д. Чистая голая винда для работы без лишних приложений.
  12. Вот с их сайта😉 Device_limitations_of_GD32F45x_F40x_Rev1.2.pdf
  13. Понял. Спасибо. Это, правда, требования к преобразователям, но все равно интересно почитать.
×
×
  • Создать...