|
|
|
|
И вообще я когда-то делал ЦАП на R2-R матрице - вполне ничего получался синус. |
|
|
Part Number: P89LPC9107FDH-S Manufacturer: NXP Semiconductors Series: - Short Description: IC 80C51 MCU FLASH 1K 14-TSSOP Прикольный камушек, 10 ног. Principal features n 1 kB byte-erasable flash code memory organized into 256-byte sectors and 16-byte pages. Single-byte erasing allows any byte(s) to be used as non-volatile data storage. n 128-byte RAM data memory. n Two 16-bit timer/counters (P89LPC9102/9107). Two 16-bit timers (P89LPC9103) n 23-bit system timer that can also be used as a RTC. n Four input multiplexed 8-bit A/D converter/single DAC output. One analog comparator with selectable reference. n Enhanced UART with fractional baud rate generator, break detect, framing error detection, automatic address detection and versatile interrupt capabilities (P89LPC9103/9107). n High-accuracy internal RC oscillator option, factory calibrated to 1 %, allows operation without external oscillator components. The RC oscillator option is selectable and fine tunable. n VDD operating range of 2.4 V to 3.6 V with 5 V tolerant I/O pins (may be pulled up or driven to 5.5 V). n Up to 10 (P89LPC9107) or eight (P89LPC9102/9103) I/O pins when using internal oscillator and reset options. n Ultra-small 10-pin HVSON package (P89LPC9102/9103). 14-pin TSSOP and DIP packages (P89LPC9107). Additional features n A high performance 80C51 CPU provides instruction cycle times of 136 ns to 272 ns for all instructions except multiply and divide when using the internal 7.3728 MHz RC oscillator in clock doubling mode (111 ns to 222 ns when using an external 18 MHz clock). A lower clock frequency for the same performance results in power savings and reduced EMI. n In-Application Programming (IAP-Lite) and byte erase allows code memory to be used for non-volatile data storage. n Serial flash ICP allows simple production coding with commercial EPROM programmers. Flash security bits prevent reading of sensitive application programs. n Watchdog timer with separate on-chip oscillator, requiring no external components. The watchdog prescaler is selectable from eight values. n Low voltage reset (Brownout detect) allows a graceful system shutdown when power fails. May optionally be configured as an interrupt. n Idle mode and two different reduced power Power-down modes. Improved wake-up from Power-down mode (a LOW interrupt input starts execution). Typical Power-down mode current is less than 1 µA (total Power-down mode with voltage comparators disabled). n Active-LOW reset. On-chip power-on reset allows operation without external reset components. A reset counter and reset glitch suppression circuitry prevent spurious and incomplete resets. A software reset function is also available. n Programmable port output configuration options: quasi-bidirectional, open drain, push-pull, input-only. n Port ‘input pattern match’ detect. Port 0 may generate an interrupt when the value of the pins match or do not match a programmable pattern. n LED drive capability (20 mA) on all port pins. A maximum limit is specified for the entire chip. n Controlled slew rate port outputs to reduce EMI. Outputs have approximately 10 ns minimum ramp times. n Only power and ground connections are required to operate the P89LPC9102/9103/9107 when internal reset option is selected. n Four interrupt priority levels. n Two keypad interrupt inputs. n Second data pointer. n External clock input. n Clock output (P89LPC9102/9107). n Schmitt trigger port inputs. n Emulation support. |
|
|
ATtiny2313 с матрицей R-2R в качестве DDS будет самым народным вариантом. Тем более, что все алгоритмы давно написаны. При 10 МГц тактовой получается свыше 50 кГц синус. |
|
|
Wladimir_TS: ЦАП на R2-R матрице - вполне ничего получался синус. y_kiyko: ATtiny2313 с матрицей R-2R в качестве DDS будет самым народным вариантом. Тем более, что все алгоритмы давно написаны. При 10 МГц тактовой получается свыше 50 кГц синус. да оно нормально будет, конечно, просто хотелось когонибудь 8-ногого юзать А вообще пусть даже по 20 точкам синус 10КГц. Получается на 1 период (100мкс) 2000циклов при 20МГц, 100 циклов на 1 точку... Если типа "плюнул данные в ЦАП - померял АЦП - сложил выборку в общую кучку - обновил данные для ЦАПа" Все будет жестко привязано к генерации синуса, фаза никуда убегать не будет. В эти 100 циклов уложиться можно и с последовательным ЦАП. И контроллер второй не нужен, и ноги лишние не используются (упр по И2С) Что говорит теория если Фурье 20 точек на период? В смысле точности... alx25v: Serial flash ICP allows simple production coding with commercial EPROM programmersштука вкусная, но ИМХО "антинародная", как я понял, шьется непонятно чем "коммерческим"...
|
|
|
http://www.myplace.nu/avr/minidds/index.htm можно получить больше 1МГц синуса при тактовой 20М на тини2313 |
|
|
Михаил__: Что говорит теория если Фурье 20 точек на период? В смысле точности... Чем больше периодов будет «усреднено» тем точнее будет результат.
|
|
|
Михаил__: программистовштука вкусная, но ИМХО "антинародная", как я понял, шьется непонятно чем "коммерческим" ... http://www.e-tools.info/index.php?page=component_detail&id=14897 Цитата: Последовательное внутрисхемное программирование FLASH памяти позволяет использовать недорогой программатор на стадии производства. Возможность установки битов безопасности исключает считывание программы из FLASH памяти.
|
|
|
Link: Чем больше периодов будет «усреднено» тем точнее будет результат. дык это и ежу понятно я спросил насколько точнее, чем, к примеру при 40 выборках (при одном и том же количестве периодов) Это так, просто для интересу. В железе оно сразу все видно будет Link: Последовательное внутрисхемное программирование FLASH памяти позволяет использовать недорогой программатор на стадии производства. Возможность установки битов безопасности исключает считывание программы из FLASH памяти. да у меня пока с англ. проблем нет, по-моему это переводится чуть по-другому "with commercial EPROM programmers." ;) Просто атмелы и пики шьются чем угодно (хоть понькой, хоть "5 проводками"), поэтому я их и считаю "народными". И компиляторов каких хочешь полно... Хотя, этот камешек действительно красивый и недорогой, и вроде доставабельный. |
|
|
Михаил__: дык это и ежу понятно я спросил насколько точнее, чем, к примеру при 40 выборках (при одном и том же количестве периодов) Это так, просто для интересу. Для интереса взял Фурье по пяти точкам, ради интереса к f(n) прибавил 4мВ как бы постоянная составляющая непонятной помехи. Результат немного удивил. Или я не правильно формулами пользуюсь, или… почему в железе нет такой точности? Маткад синус округляет до третьего знака после запятой. Фиг его знает, почему в Маткаде всё красиво, а в железе нет.
|
|
|
Link: в Маткаде всё красиво, а в железе нет. ДА УЖ!!! Теоретически,получается, хватит и пяти выборок?! Надо что-нибудь типа случайных чисел прибавлять-вычитать для каждого отсчета (те же 4мв, только допустим, к двум отсчетам из пяти прибавить/вычесть) так будет на реальность больше похоже. Хотя в первом случае как я понял, наложили 3ю гармонику с ампл. 0.5. В железе надо пробовать... Насчет железа еще мысль появилась - избавиться от переменников(обычных), цифровые поставить. Можно будет не 1-10-100 усиление делать, а именно то, которое нужно! Предел нужный будет автовыбираться подольше, но это не страшно. Думаю, так можно точность повысить. |
|
|
|
|