Преобразовать PWM в напряжение

Dec 24, 2005 27 Replies

Hello, Anatoly Mashanov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 28 Dec 2005 09:00:36

+0300:

AM>>> Либо предложи более эффективный алгоритм.

DO>> Алгоритм чего?

AM> [Цитирую предыдущее письмо]

VV>>>> Я бы сделал ШИМ на более высокой несущей с noise shaping и VV>>>> dithering. Это позволило бы сильно упростить ФHЧ.

AM>>> Я бы тоже сделал. Вот только такой дивайс я собирал на AM>>> рассыпухе в виде пары счетчиков, пары компараторов и AM>>> триггера, и не знаю готового дивайса для этой цели, если не AM>>> считать 155ИЕ8.

SS>> возьми одникристалку какую-нибудь.

Если я ничего не путаю, ШИМ этот был нужен для повышения разрядности АЦП, а это все решается таки на однокристаллке, без всякого ШИМа вообще, просто с АЦП достаточной разрядности. Внешнем, если не хватает встроенного. Из мелких однокристаллок, впрочем, готовый аппаратный 10разрядный ШИМ afaik самый быстрый у PIC - 19кГц. У AVR, на сколько я помню, можно сделать 16тибитный, но таки довольно медленный

dima

formatting link

Wed Dec 28 2005 19:13, Dmitry Orlov wrote to Anatoly Mashanov:

AM>>>> Либо предложи более эффективный алгоритм. DO>>> Алгоритм чего? AM>> [Цитирую предыдущее письмо] VV>>>>> Я бы сделал ШИМ на более высокой несущей с noise shaping и VV>>>>> dithering. Это позволило бы сильно упростить ФHЧ. AM>>>> Я бы тоже сделал. Вот только такой дивайс я собирал на AM>>>> рассыпухе в виде пары счетчиков, пары компараторов и AM>>>> триггера, и не знаю готового дивайса для этой цели, если не AM>>>> считать 155ИЕ8.

Все равно непонятно, зачем потребовался ИЕ8 и причем тут переворачивание задом наперед битов в байте. SS>>> возьми одникристалку какую-нибудь.

Вот именно. 8-битный ШИМ с частотой в десятки килогерц + noise shaping + RC-цепочка делается на чем угодно.

DO> Если я ничего не путаю, ШИМ этот был нужен для повышения разрядности АЦП, DO> а это все решается таки на однокристаллке, без всякого ШИМа вообще, DO> просто с АЦП достаточной разрядности. Внешнем, если не хватает DO> встроенного. Из мелких однокристаллок, впрочем, готовый аппаратный DO> 10разрядный ШИМ afaik самый быстрый у PIC - 19кГц. У AVR, на сколько я DO> помню, можно сделать 16тибитный, но таки довольно медленный

Это все равно. Разрешение и скорость размениваются друг на друга.

VLV

"Я добрый, и это единственный мой недостаток" (Достоевский)

Hello, Anatoly!

Вторник Декабрь 27 2005 18:55, Anatoly Mashanov wrote to Sergey Shopin:

SS>> возьми одникристалку какую-нибудь. AM> Окей. Предложи однокристалку, которая способна выполнить следующий AM> цикл за 150 нсек (Или около того, и всегда за одно и то же AM> время): char i,i1; AM> loop: AM> i++; i1=0; AM> if(i&1) i1 |= 0x80; AM> if(i&2) i1 |= 0x40; AM> if(i&4) i1 |= 0x20; AM> if(i&8) i1 |= 0x10; AM> if(i&0x10) i1 |= 8; AM> if(i&0x20) i1 |= 4; AM> if(i&0x40) i1 |= 2; AM> if(i&0x80) i1 |= 1; /* При желании заменить перекодировку i в i1 AM> на таблицу */ if(i1 >> input()) output(0); else output(1); AM> goto loop; А зачем ЭТО нужно? предлагавшийся dithering & noise shaping в этом коде не виден.

А так ШИМ на достаточно большой частоте можно сделать, например, на attiny15 -

100кГц, 8 бит

Best regards и все такое... Sergey. [Death/Black/Power Metal]

Hello, Sergey Shopin! You wrote in conference fido7.ru.embedded to Anatoly Mashanov on Thu, 29 Dec 2005 19:35:18

+0300:

SS> А так ШИМ на достаточно большой частоте можно сделать, SS> например, на attiny15 - 100кГц, 8 бит

У нее таймер от 25МГц может тактироваться?

dima

formatting link

Hello, Dmitry!

Пятница Декабрь 30 2005 01:05, Dmitry Orlov wrote to Sergey Shopin:

SS>> А так ШИМ на достаточно большой частоте можно сделать, SS>> например, на attiny15 - 100кГц, 8 бит DO> У нее таймер от 25МГц может тактироваться? Там PLL внутри для таймера сделан:

=== Cut === There is an internal PLL that provides a 16x clock rate locked to the system clock (CK) for the use of the Peripheral Timer/Counter1. The nominal frequency of this peripheral clock, PCK, is 25.6 MHz. === Cut ===

Снаружи таковую на таймер подать нельзя (контроллер мелкий - 8 ног всего).

Best regards и все такое... Sergey. [Death/Black/Power Metal]

Fri Dec 30 2005 00:05, Dmitry Orlov wrote to Sergey Shopin:

SS>> А так ШИМ на достаточно большой частоте можно сделать, SS>> например, на attiny15 - 100кГц, 8 бит

DO> У нее таймер от 25МГц может тактироваться?

BTW, ATTiny26 - up to 64MHz.

Hello Sergey!

29 Dec 05 19:35, you wrote to me:

SS> А зачем ЭТО нужно? SS> предлагавшийся dithering & noise shaping в этом коде не виден. Алгоритм, сэр, в студию, плиззззз. Уж больно мне хочется посмотреть, ложится ли этот алгоритм на _любую_ однокристалку, как это было сказано. SS> А так ШИМ на достаточно большой частоте можно сделать, например, на SS> attiny15 - 100кГц, 8 бит И получить основной спектральный компонент в районе 100 кгц с уровнем в 2.5 вольта. Плюс к тому, 100 кгц * (2**8) = 25.6 Мгц необходимой тактовой. Тогда как алгоритм имени К155ИЕ8 AM>> if(i&0x10) i1 |= 8; if(i&0x20) i1 |= 4; if(i&0x40) i1 |= 2; дает при тех же параметрах основной спектральный компонент с частотой 12.5 Мгц, что существенно упрощает выходной фильтр.

Anatoly

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required