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.
AD9850SPI.h@0:4aaced3b219c, 2020-01-09 (annotated)
- Committer:
- tyamadajp
- Date:
- Thu Jan 09 16:48:45 2020 +0000
- Revision:
- 0:4aaced3b219c
- Child:
- 4:c60c1caa2593
Uploaded AD9850SPI, SPI-based serial interface for AD9850 signal generator.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tyamadajp | 0:4aaced3b219c | 1 | /** |
tyamadajp | 0:4aaced3b219c | 2 | * Fast AD9850 serial interface over SPI |
tyamadajp | 0:4aaced3b219c | 3 | */ |
tyamadajp | 0:4aaced3b219c | 4 | |
tyamadajp | 0:4aaced3b219c | 5 | #include <mbed.h> |
tyamadajp | 0:4aaced3b219c | 6 | |
tyamadajp | 0:4aaced3b219c | 7 | class AD9850SPI { |
tyamadajp | 0:4aaced3b219c | 8 | |
tyamadajp | 0:4aaced3b219c | 9 | public: |
tyamadajp | 0:4aaced3b219c | 10 | AD9850SPI(SPI &spi, PinName fq_ud, PinName reset); |
tyamadajp | 0:4aaced3b219c | 11 | ~AD9850SPI(); |
tyamadajp | 0:4aaced3b219c | 12 | |
tyamadajp | 0:4aaced3b219c | 13 | void reset_spi(); |
tyamadajp | 0:4aaced3b219c | 14 | void reset(); |
tyamadajp | 0:4aaced3b219c | 15 | void setFrequency(int freq, int powerdown=0, int phase=0); |
tyamadajp | 0:4aaced3b219c | 16 | |
tyamadajp | 0:4aaced3b219c | 17 | private: |
tyamadajp | 0:4aaced3b219c | 18 | SPI &_spi; |
tyamadajp | 0:4aaced3b219c | 19 | DigitalOut _fq_ud; |
tyamadajp | 0:4aaced3b219c | 20 | DigitalOut _reset; |
tyamadajp | 0:4aaced3b219c | 21 | }; |
tyamadajp | 0:4aaced3b219c | 22 |