PT8211
- Войдите на сайт для отправки комментариев
Хочу предостеречь от покупки ЦАП PT8211. Стоит он копейки и я купил побаловаться. Это двухканальный 16 битный звуковой ЦАП, и постоянку он выдавать не может, хардварно заложено, переменку пожалуйста. Поэтому применить его можно например для генератора. Кстати часто ставят в ресиверах спутниковой тарелки
Максимум выжал на spi, в одноканальном 8 битном режиме. Вообще таких режимов нет, но если для второго канала ничего не передавать, а сразу переключится обратно на первый, можно сразу передавать данные для первого. А 8 бит получилось так: меняю канал после 8 бит. Так как сначала идут старшие биты все замечательно работает
#define CS 10 #define DAT 11 #define CLK 13 #define SPI_OFF SPCR = 0; #define SPI_ON SPCR = _BV(MSTR) | _BV(SPE); #define SPI_WAIT while (!(SPSR & _BV(SPIF))); #define CS_On PORTB = 1<<2 // CS PB2 #define CS_Off PORTB = 0<<2 void setup(){ pinMode(CS, OUTPUT); pinMode(DAT, OUTPUT); pinMode(CLK, OUTPUT); SPSR |= 1; // 2x clock } void loop(){ for(byte i=0;i<0xFF;i=i++){ SendData(i); } } //=========================================================Отправка 8 байт void SendData(byte c){ CS_On; SPI_ON; SPDR = c; SPI_WAIT; SPI_OFF; CS_Off; }
С таким кодом пила 1,95кгц, грустно что так мало, но на 4 битном (софтварно не шлю все данные) уже 90кгц. Ступенка заметна, но уже веселее
Кстати сигнал на выходе дергается относительно половины питания или около того, до 0 и 5В никогда не доходит, ну число звуковой)))
не понимаю, может у кого то есть мысли
отправляю код синуса
но получаю:
даже в экселе построил график, но там все правильно
если интуитивно, то строку
byte
sin5[50]
нужно разделить пополам и склеить нулями.кароче: где-то у тебя не с нуля, а с единицы начинает синусоида строиться.
логично. завтра попробую, хотя вроде уже пробовал
0 получается это 127 и от него нужно идти дальше
так же пробовал все режимы: 8 битный режим одноканальный и двухканальный, 16 битный режим одноканальный и двухканальный. тоже самое, только частота меняется
0 получается это 127 и от него нужно идти дальше
суть в том, что у тебя где-то то ли к коде, то ли аппаратно инвертируется начало построения синусоиды -+ от нуля. вместо 0 начинается с 1 или наоборот, смотря что считать 1 и 0
больше похоже на особенность микросхемы. что то нужно инвертировать, но пока не понял что. пилу нормально выводил, поэтому совсем непонятно почему не хочет синусойда. вообще у меня массив есть какой то музыки. нашел в инете. думаю проиграть ее. но надо сначала разобраться как выводить
сделай по очереди
что бы понять, где у тебя 1, 0, -1 синусоиды находится.
не совсем так. постоянный уроверь не может долго держать на выходе, поэтому что 0 отправлять буду, что 254 или 127 всегда на выходе будет одно и тоже, только в самый начальный момент будет изменение
попробую изнать
Чем закончилось ?
Так и не выводит постоянку ? Тоже покупал давно, хотел напряжение регулировать :)
На самом деле это http://matthieu.benoit.free.fr/cross/data_sheets/TDA1311.pdf
Китайцы упростили структурную схему в описании.
На том и закончилось. Проще использовать MCP4725
Это дорого, я буду использовать WS2811 в режиме объединения и получать 16-24 бит
примерно как на рисунке, резисторы конечно точно такие не подберешь но это и не важно, главное три уровня точности подстройки напряжения грубо, точно и для фанатов.
(на алике по 3 р.)
Ну мне хватит 16 разрядов, 3 канал управлять будет вентилятором возможно.
WS2811 куда подпаиваться то ???
Эта микросхема без светодиодов, вернее WS2812 имеет внутри WS2811 + светодиоды.
Кстати у них открытый коллектор, так что надо последний резистор на + или на каждый коллектор по подтягивающему резистору.
В том то и дело что открытый коллектор, и выход токовый, работать нужно будет с падением напряжения на резисторе, и уровень будет в диапазоне, например 1-3В.
да хоть 20 вольт, микросхема позволяет :) И вообще предел определяется головой :)
https://aliexpress.ru/item/32790069527.html
вот эти наверняка тоже конденсаторные ЦАП, кто хочет проверить ? :)
Им еще надо частоту подать 2-100КГц например на вывод MCLK модулятора
Точно в 2812 стоит 2811? А чего у них тайминги разные тогда?
разные потому что в WS2812 по умолчанию включена высокоскоростная передача, раз уж это светодиод, а в WS2811 есть вывод отдельный для переключения.