Спасибо за ответ) Но регистр управления режимом работы ЦАП - DACСON и бит DACCON.7 (MODE) отвечает за 8 бит или 12 бит - mode=1 8 бит, mode=0 12 бит а регистр ADCCON1 регистр управления режимом АЦП Разве нет?) а мне нужен ЦАП Хотя я вижу что ADCCON1.6 (EXT_REF) отвечает за внутр ИОН и внеш ИОН и как вот в таком случае записать регистры для 12 битного режима ЦАП с внутр ИОН Или я совсем не так думаю?
Добавлено after 11 minutes 51 second: BlackKilkennyCat, Спасибо за ответ) Но регистр управления режимом работы ЦАП - DACСON и бит DACCON.7 (MODE) отвечает за 8 бит или 12 бит - mode=1 8 бит, mode=0 12 бит а регистр ADCCON1 регистр управления режимом АЦП Разве нет?) а мне нужен ЦАП Хотя я вижу что ADCCON1.6 (EXT_REF) отвечает за внутр ИОН и внеш ИОН и как вот в таком случае записать регистры для 12 битного режима ЦАП с внутр ИОН Или я совсем не так думаю?
А, это я перепутал, отвечал как для ЦАП, прошу прощения. Но тогда Вы всё правильно указали, DACCON.7 за выбор режима 12 бит, и DACCON.6 (DACCON.5) за выбор внешнего или внутреннего ИОН
Вот пример от производителя генерации синусоиды через 12-битный DAC0 c Vref:
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Обычная математика: любой график - это функция. Например, синосоиды у=sin(x). здесь x может принимать значения от 0 до 2 * Pi. Следующим этапом мы выбираем частоту выборки (или разрешение, или кол-во шагов, или качество - боюсь, что не очень точно помню здесь терминологию), в данном примере взято 64, то есть, делим 2*Pi на 64 и получаем приращение x на каждом шаге. Дальше мы вычисляем значение у для каждого шага и получаем таблицу значений у, фактически то, что надо послать в цап. Ну а изменение амплитуды синусоиды достигается умножением у на какой-то коэффициент. Фактически, можно было бы просто написать что-то типа такого:
dx = 2 * 3.14 / 64; for ( i = 0 ; i < 64; i++) { DAC = (sin(i*dx) + 1) * 2047; //здесь я упростил разбивку на старший и младший байты } И разумеется, надо учесть то, что у может принимать отрицательные значения, что нам совершено не нужно, поэтому в формуле есть +1 и таким образом синусоида имеет изменение амплитуды от 0 до 2. В случае 12 битного ЦАП, максимальное значение амплитуды может быть 4095, поэтому умножаем на 2047; Но вычисления синуса медленны, поэтому проще их сразу просчитать и загнать в таблицу. Выборка из таблицы - самый быстрый вариант. Только придется расплачиваться объёмом памяти.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения