annotate DDSBes.h @ 23:65e277fdf01f

Correct DDS3 frequency adjustement on N3 measurement We need to take into account the phase locked loop divisor factor that links DDS1 frequency change to repetition rate change.
author Daniele Nicolodi <daniele.nicolodi@obspm.fr>
date Fri, 20 Jul 2012 16:50:11 +0200
parents d9aae7d7f2c6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1 //
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2 // Title: DDSBes.h
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
3 // Purpose: header for the Besancon DDS crypto-class
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
4 //
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
5 // Created on: by YLC
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
6 // Copyright: syrte. All Rights Reserved.
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
7 //
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
8 //==============================================================================
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
9
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
10 #ifndef __DDSBES_H__
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
11 #define __DDSBES_H__
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
12
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
13 #ifdef __cplusplus
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
14 extern "C" {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
15 #endif
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
16
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
17
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
18 // DDSBes_Data : the data of crypto class DDSBesancon
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
19
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
20 typedef struct {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
21 double ClockFrequency ; // in Hz
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
22 double Frequency ; // the real frequency (in Hz) which is at the DDS output
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
23 double Amplitude ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
24 } DDSBes_Data ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
25
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
26
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
27 /************** Member Function Declarations (Private) **************/
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
28
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
29 static int delai(int t);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
30 static int Strb_adress(unsigned char ad);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
31 static int Strb_data(unsigned char da);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
32 static int Strb_nWrite(void);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
33 static int Strb_Update(void);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
34 static int Strb_MReset(void);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
35
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
36
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
37 /************** Member Function Declarations (Public) **************/
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
38
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
39 extern void DDSBes_Initialize(DDSBes_Data * Instance);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
40 extern void DDSBes_Close(DDSBes_Data * Instance);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
41 extern void DDSBes_SetClockFrequency(DDSBes_Data * Instance, double ClockFrequency);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
42 extern void DDSBes_SetFrequency(DDSBes_Data * Instance, double Frequency); // In Instance->Frequency, the real output frequency is stored
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
43 // (<> from requested frequency due to rounding effect
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
44 extern void DDSBes_SetAmplitude(DDSBes_Data * Instance, int Amplitude);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
45
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
46 #ifdef __cplusplus
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
47 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
48 #endif
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
49
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
50 #endif /* ndef __DDSBES_H__ */