Fast SPI-based serial interface to AD9850 clock generator. Has same interface as (bit-banging based) AD9850 library, but more than x100 faster in frequency update speed. Can sweep 1KHz to 30MHz in 1KHz step in a few seconds.

Committer:
Taisuke Yamada
Date:
Fri Jan 10 10:24:30 2020 +0900
Branch:
switch-to-cmsis-bitops
Revision:
4:c60c1caa2593
Parent:
0:4aaced3b219c
Switched to CMSIS bitops

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Taisuke Yamada 4:c60c1caa2593 1 /**
Taisuke Yamada 4:c60c1caa2593 2 * Fast AD9850 serial interface over SPI
Taisuke Yamada 4:c60c1caa2593 3 */
Taisuke Yamada 4:c60c1caa2593 4
Taisuke Yamada 4:c60c1caa2593 5 #include <mbed.h>
Taisuke Yamada 4:c60c1caa2593 6
Taisuke Yamada 4:c60c1caa2593 7 class AD9850SPI {
Taisuke Yamada 4:c60c1caa2593 8
Taisuke Yamada 4:c60c1caa2593 9 public:
Taisuke Yamada 4:c60c1caa2593 10 AD9850SPI(SPI &spi, PinName fq_ud, PinName reset);
Taisuke Yamada 4:c60c1caa2593 11 ~AD9850SPI();
Taisuke Yamada 4:c60c1caa2593 12
Taisuke Yamada 4:c60c1caa2593 13 void reset_spi();
Taisuke Yamada 4:c60c1caa2593 14 void reset();
Taisuke Yamada 4:c60c1caa2593 15 void setFrequency(int freq, int powerdown=0, int phase=0);
Taisuke Yamada 4:c60c1caa2593 16
Taisuke Yamada 4:c60c1caa2593 17 private:
Taisuke Yamada 4:c60c1caa2593 18 SPI &_spi;
Taisuke Yamada 4:c60c1caa2593 19 DigitalOut _fq_ud;
Taisuke Yamada 4:c60c1caa2593 20 DigitalOut _reset;
Taisuke Yamada 4:c60c1caa2593 21 };
Taisuke Yamada 4:c60c1caa2593 22