ako ginamit ang DDS chip AD9833 ngunit mayroon ni sinus output

S

Stefken33

Guest
Minamahal na mga kaibigan

Maaari isang tao tumulong ako.Ako nakasulat ang aking code sa C para makontrol ang DDS chip.
Ako ay may binili sa pagsusuri board AD9833.
Ako subukin sa programa na ang aking maliit na tilad sundin ang mga flowcharts ng DDS chip mula sa analog devices.

Ang ilang katawan ay maaaring makatulong sa akin kung ano ang mali ay kasama ang control code?

Code:/ / ================================================ ===========================//

/ / Programma: Mula microcontroller verstuurd ng data sa pamamagitan ng het SPI protocol naar de / /

/ / Alipin aparato sa on geval de DDS chip / /

/ / Stap 1: Initialiseren van het control magrehistro / /

/ / Stap 2: Setuμ van het frequentieregister 28 bits woord / /

/ / Stap 3: Het frequentiewoord sa 4 x 1 byte versturen sa pamamagitan ng SPI protocol / /

/ / Stap 4: Hou een vertraging van ongeveer 10 μs sa stand / /

/ / Stap 5: Vergeet de chip niet laag actief te maken bij het versturen van / /

/ / Data / /

/ / Kami versturen het frequentiewoord bij een frequentie van 10kHz / /

/ / Kami gebruiken de directe methode zonder gemaakte functies / / / /

/ / ================================================ ===========================/// / Initialiseren van de hardware port van de mcu

# define SDO_TRIS PORTC.F5

# define SCK_TRIS PORTC.F3

# define FSYNC_TRIS PORTA.F3

# define SDO_PIN PORTC.F5

# define SCK_PIN PORTC.F3

# define FSYNC_PIN PORTA.F3# define FREQ0 0x4000 / / Address Freq0 = 0100 0000 0000 0000

# define CCNTROL_REG 0x2900 / / magrehistro Control Default setup/ / AD9833 Control Magrehistro bits

# define B28 (1 <<13) / / bit 13 B28

# define HLB (1 <<12) / / bit 12 HLB

# define FSELECT (1 <<11) / / bit 11 FSELECT

# tukuyin ang I-reset (1 <<8) / / 8 bit I-reset

# define OPBITEN (1 <<5) / / bit 5 OPBITEN

# define Mode (1)

# define sain 1

# define MCLK 25000000

# define FREQ_STEP (MCLK / 2 ^ 28)const pansamantalang trabaho PIN_ZERO = 1;

magpawalang-bisa pangunahing ()

(/ / ------------------------------------------------

/ / Maak SDO, SCK en FSYNC hoog dus als outputs

/ / ------------------------------------------------SDO_TRIS = 0;

SCK_TRIS = 0;

/ / FSYNC_TRIS = 0;/ / ------------------------------------------------ ------------------------

/ / Initialiseren van de SPI module van de mcu module

/ ------------------------------------------------ ------------------------

SPI1_Init_Advanced (_SPI_MASTER_OSC_DIV64, / / Master orasan = Fosc/64

_SPI_DATA_SAMPLE_END, / / Input-sample na data sa

/ / Dulo ng pagitan

_SPI_CLK_IDLE_LOW, / / Clock idle Mababang

_SPI_HIGH_2_LOW); / / Data ihatid sa mataas

/ / Sa mababang edgetFSYNC_PIN | = PIN_ZERO; / / SetBit (PORTC, 0)

FSYNC_TRIS & = ~ PIN_ZERO; / / ClearBit (TRISC, 0)

/ / ------------------------------------------------ ------------------------

/ / Initialiseren van het control magrehistro van de AD9833 (enkel sequenties)

/ / Eerst MSB en daarna LSB

/ / Data isulat sa pamamagitan ng SPI sa loob ng 2 * 1 byte dus 16 bits versturen

/ / ------------------------------------------------ ------------------------/ / 0010 0001 0000 0000 (Control salita)

/ / habang (1) (

/ / ================================================ =======================

/ / Setup CW dus B28 = 1 en I-reset ang = 1

/ / ================================================ =======================

FSYNC_PIN & = ~ PIN_ZERO;

Delay_us (20);

SPI1_Write (0x21);

SPI1_Write (0x00);/ / ================================================ ======================

/ / Setup Freq magrehistro woord

/ / F = 1kHz

/ / Freq0_Reg:

/ / ================================================ ======================

SPI1_Write (0x40);

SPI1_Write (0x00);

SPI1_Write (0x69);

SPI1_Write (0xF1);/ / ================================================ ======================

/ / Setup FREQ1 magrehistro

/ / ================================================ ======================

SPI1_Write (0x00);

SPI1_Write (0x00);

SPI1_Write (0x00);

SPI1_Write (0x00);/ / ================================================ ======================

/ / Setup PHASE0 magrehistro

/ / ================================================ ======================

SPI1_Write (0x00);

SPI1_Write (0x00);/ / ================================================ ======================

/ / Setup PHASE1 magrehistro

/ / ================================================ ======================

SPI1_Write (0x00);

SPI1_Write (0x00);/ / ================================================ ======================

/ / Setup CW = 0010 0000 0000 0000

/ / ================================================ ======================

SPI1_Write (0x20);

SPI1_Write (0x00);

Delay_us (20);

FSYNC_PIN | = PIN_ZERO;

/ /)

/ / ------------------------------------------------ ------------------------

/ / Setup van het frequentie magrehistro FREQ0 en versturen ng data sa pamamagitan ng het SPI

/ / Protocol.

/ / Kami versturen de data sa 4 keer 1 byte maakt samen 32 bits maar gebruiken

/ / Echter maar 28 bits

/ / Eerst MSB daarna LSB byte sturen

/ / Voorbeeld f = 1kHz

/ / 28 bits frequentiewoord ay

/ / 2108 69F1 4000 8000 8000 C000 E000 2008

/ / FREQ_REG_WORD: =

/ / [0010 0001] [0000 1000] [0110 1001] [1111 0001] [0100 0000] [0000 0000] 1000

/ / ------------------------------------------------ ------------------------gawin

(

FSYNC_PIN & = ~ PIN_ZERO;

/ / 0010 0000 0000 0000

SPI1_Write (0x20);

SPI1_Write (0x00);

FSYNC_PIN | = PIN_ZERO;

gawin

(

FSYNC_PIN & = ~ PIN_ZERO;

SPI1_Write (0x40);

SPI1_Write (0x00);

SPI1_Write (0x40);

SPI1_Write (0x3F);

FSYNC_PIN | = PIN_ZERO;

)

habang (1);

) habang (1);

)
 
&lt;a href="http://www.komputerswiat.pl/blogi/blog-redakcyjny/2011/06/zaczela-sie-era-t-mobile.aspx"&gt; &lt;img align="left" src="http://www.komputerswiat.pl/media/2011/157/1908796/era-tmobile-zaj.jpg" /&gt;&lt;/a&gt; Zmiana marki to nie jest takie hop siup. Sprzedawcom w salonach zapewne łatwiej będzie się znależć w nowych realiach niż abonentom.&lt;img width='1' height='1' src='http://rss.feedsportal.com/c/32559/f/491281/s/15b118e9/mf.gif' border='0'/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href="http://da.feedsportal.com/r/104471194436/u/0/f/491281/c/32559/s/15b118e9/a2.htm"&gt;&lt;img src="http://da.feedsportal.com/r/104471194436/u/0/f/491281/c/32559/s/15b118e9/a2.img" border="0"/&gt;&lt;/a&gt;

Read more...
 

Welcome to EDABoard.com

Sponsor

Back
Top