Подскажите, знающие люди, есть ли какие-то стандартные режимы ШИМ у 18F4520-I/P? Я имею ввиду ряд стандартных частот? Шаг изменения скважности, диапазон?
Мне не нужно знать (пока), как контроллер запрограммировать на ШИМ. Есть устройство, которое построено на этом МК. Мои измерения выдаваемых импульсов имеют некую погрешность. Хотел подвязаться к стандартным значениям, проверить.
В любом МК любой архитектуры и производителя ШИМ построен по совершенно идентичной архитектуре. Частота ШИМ определяется регистром переполнения таймера на котором работает ШИМ. То есть сетка частот ШИМ определяется частотой накачки (тактирования) таймера ШИМ. И ничем более. Изменить период ШИМа (величину обратную частоте) можно не мельче, чем на один период частоты тактирования. То есть сетка частот будет НЕЛИНЕЙНА (функция 1/х) и шаг будет зависеть от частоты ШИМ. Чем выше частота, тем крупнее шаг. Скважность ШИМа определяется регистром CCPR. То есть скважность находится в диапазоне значений этого регистра но не может быть выше значения регистра периода (переполнения таймера) ШИМ. То есть если выбран период ШИМа равный всего 8 периодам тактовой частоты, то изменять скважность можно всего в пределах этого периода с дискретом в 1. Из чего следует, что разрешение ШИМ так же зависит от частоты ШИМ. Чем выше частота ШИМ (при фиксированной частоте тактирования), тем ниже (хуже) доступное разрешение по скважности. ЗЫ. Можно, конечно, изменить частоту тактирования МК, но это совсем другая история....
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650.
Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Это схема осциллятора обсуждаемого МК: Из нее следует, что из представленной Вами конфигурации МК о частоте его работы НИЧЕГО СКАЗАТЬ НЕЛЬЗЯ. То есть это может быть любая частота от 31 кГц до 32 МГц. Таким образом, если ПРЕДПОЛОЖИТЬ, что автор кода для МК включил внутренний RC генератор на частоте 8 МГц и включил PLL, то есть запустил осциллятор на 32 МГц, то для частоты ШИМ 1,2 кГц и полного 10-разрядного разрешения по скважности ему нужно было бы установить предделитель у TMR2 на 1:26 МИНИМУМ, что невозможно (максимум 1:16). Что дает основание предполагать, что PLL не включен или включен с частотой RC генератора 4 МГц. Итого, скорее всего имеет место быть один из двух вариантов частоты накачки МК - 8 или 16 МГц. Для частоты 16 МГц и предделителем 1:16 мы получаем частоту 1 МГц в качестве тактовой для ШИМ. И при установке регистра PR2 равным 208 (десятичное значение), мы получим частоту ШИМ равной 1000000/(4*208)=1202 Гц. Шаг частоты будет определяться шагом в регистре PR2. То есть следующее значение будет 1000000/(4*207)=1208 Гц. Ну или вниз: 1000000/(4*209)=1196 Гц Для частоты 8 МГц потребуется предделитель 1:4 - частота накачки TMR2 (ШИМ) - 2 МГц (другого после 1:16 в ряду нет) и расчет даст значение для PR2=417. То есть для этого значения частота ШИМ будет 2000000/(4*417)=1199 Гц Ближайшие шаги: PR2=416 даст 1202 Гц, а PR2=418 даст 1196 Гц. Разрешение по скважности во всех случаях одинаково и составит 10 разрядов (1/1024). Разрешение по частоте выше для варианта с осциллятором 8МГц без PLL. Если автор поступил рационально, то это именно так и есть.
Термин "фьюзы" ничем от термина "конфигурационные биты" не отличается. Речь может идти только о привычном обозначении для документации производителя. Поэтому Ваше замечание не имеет никакого практического смысла.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Определить по прошивке можно реальную схему формирования частоты ШИМ. Частота осциллятора может быть перестроена в небольших пределах. В зависимости от имеющихся приборов можно подумать что с этим сделать. Определите конечную задачу Ваших действий.
Нужен не дамп, а хекс. Так удобнее. Но главное, нужна Ваша цель. Конечная цель. Патамушта именно она может стать проблемой. Не Ваши промежуточные хотелки, а именно конечная цель.
Я хочу реализовать часть!! функционала имеющегося устройства на Ардуино. Для этого хочу максимально полно понимать параметры импульсов, выдаваемые оригинальным устройством. (Если число шагов на МК 1024, а у Ардуино 256, возможно буду думать над другой реализацией или Ардуино + внешний модуль ШИМ).
То есть Вам нужна не точная частота, а разрешение по частоте и скважности? Причем тут Ардуина? Вы можете переписать код на этот МК. Все что для этого нужно - ПИКкит и МПЛАБ. Компилятор XC8. В базовой версии бесплатен.
Я думаю он наоборот хочет переписать под ардуино код, который изначально был под пик. Вот при чем тут ардуино.
FuseStart, а там так много режимов у вас? Может проще лог. анализатором снять параметры? Иногда хардварный реверс проще, чем копаться в дампе прошивки. А вообще берете ДШ на ПИК и читаете главу 15 про ШИМ. Читаете и разбираетесь какие там есть регистры и пробуете найти их изменение в коде. Но если алгоритм не просто и параметры ШИМ меняются в зависимости от многих других факторов - будет непросто наверное. И всё-таки сказанное вами - еще не конечная цель. Что за устройство? Что за функционал? Может там нафиг не надо гадать, как было на ПИКе сделано, а проще своё с нуля написать и не страдать. В большинстве случаев обычно так и бывает.
Если выходить за рамки Ардуино, то тогда можно и железо не менять. Что касается 16 разрядов ШИМа в АВР, то нужно сначала вспомнить о частоте ШИМ и соотнести ее с частотой тактирования МК, которая в АВР является частотой тактирования ШИМ. И быстро убедиться в том, что при потребных 1200 Гц ШИМа ни о каких 16 разрядах разрешения по скважности даже близко речи быть не может. Ибо для этого потребуется частота накачки примерно 80 МГц.
Оставаясь в рамках AVR всё-таки проще - полно примеров для того же Arduino IDE для простой настройки таймера 1 для ШИМа. Думаю может даже либа какая есть. Это всё-таки проще, чем совсем другая среда/архитектура. Хотя бы так: https://arduino.stackexchange.com/quest ... tion/12719 И речь о максимальной разрядности конечно же. У любого МК разрядность будет коррелировать обратно с частотой. У ПИКа тоже.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения