Outils pour utilisateurs

Outils du site


votre temps local: :: ()

heure officielle (en France) : ::(TZ:)

Heure UTC client: :: Offset client: s - delai: ms - - timeZone: Heure UTC: ::
fr:programmes_pour_communiquer_avec_le_dds

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
fr:programmes_pour_communiquer_avec_le_dds [2016/03/04 10:21]
fwiotte
fr:programmes_pour_communiquer_avec_le_dds [2016/03/04 10:45]
fwiotte
Ligne 1: Ligne 1:
-Interface avec un microcontrôleur TI: le MSP430+===Interface avec un microcontrôleur TI: le MSP430===
  
 Exemple de programme en C écrit dans le microcontrôleur MSP430F169 Exemple de programme en C écrit dans le microcontrôleur MSP430F169
Ligne 30: Ligne 30:
     P5OUT = 0x00;          I/O update du DDS bit de validation du MSP430  ​     P5OUT = 0x00;          I/O update du DDS bit de validation du MSP430  ​
     ​     ​
-==Commentaires sur le programme==:​+==Commentaires sur le programme== 
 + 
 +Pour initialiser le DDS on applique cette procédure ​RESET-DATA_SEND_to_BUFFER-IO_UPDATE.
  
-Pour initialiser le DDS on applique cette procédure : RESET-DATA SEND-IO_UPDATE. 
 RESET du DDS (pin 3), on charge les données de chaque registre au travers du port SPI write_serial_port… Puis on réalise un I/O UPDATE pin 46 du DDS pour la validation et le transfert des données. Ce bout de programme permet de charger le channel 0 avec une fréquence de 80MHz et une amplitude par défaut FULL DAC. RESET du DDS (pin 3), on charge les données de chaque registre au travers du port SPI write_serial_port… Puis on réalise un I/O UPDATE pin 46 du DDS pour la validation et le transfert des données. Ce bout de programme permet de charger le channel 0 avec une fréquence de 80MHz et une amplitude par défaut FULL DAC.
  
Ligne 89: Ligne 90:
         while (i < num_byte);         while (i < num_byte);
       }       }
-Interface avec un microcontrôleur ARM TI: le TM4C123GH6PM+===Interface avec un microcontrôleur ARM TI: le TM4C123GH6PM===
  
 Exemple de programme en C écrit dans le microcontrôleur ARM TM4C123GH6PM Exemple de programme en C écrit dans le microcontrôleur ARM TM4C123GH6PM
Ligne 99: Ligne 100:
 la routine pour le chargement des données en mode SPI de l'ARM TM4C123GH6PM : la routine pour le chargement des données en mode SPI de l'ARM TM4C123GH6PM :
  
- int i=0; + 
- ​SSI0_DR_R =  instruction; ​+  int i=0; 
 +  SSI0_DR_R =  instruction; ​
   while( num_byte )   while( num_byte )
    {    {
Ligne 112: Ligne 114:
           ;           ;
         }         }
 +        ​
 La routine init (SPI) pour l'ARM TM4C123GH6PM:​ La routine init (SPI) pour l'ARM TM4C123GH6PM:​
  
Ligne 128: Ligne 131:
 Exemple d'​initialisation d'un PORT sur l'ARM TM4C123GH6PM Exemple d'​initialisation d'un PORT sur l'ARM TM4C123GH6PM
  
-//void PortB_Init(void) 
-volatile unsigned long delay; 
-SYSCTL_RCGC2_R |= 0x00000002; ​    // 1) activate clock for Port B 
-delay = SYSCTL_RCGC2_R; ​          // allow time for clock to start 
-GPIO_PORTB_AMSEL_R = 0x00;        // 3) disable analog on PB 
-GPIO_PORTB_PCTL_R = 0x00000000; ​  // 4) PCTL GPIO on PB0 
-GPIO_PORTB_DIR_R |= 0xFF;         // 5) PB0-PB7 is out 
-//​GPIO_PORTB_AFSEL_R &= ~0x01; ​     // 6) disable alt funct on PB0 
-GPIO_PORTB_AFSEL_R &= ~0xFF; ​     // 6) disable alt funct on PB0-PB7 
-GPIO_PORTB_DEN_R |= 0xFF;         // 7) enable digital I/O on PB0-PB7 
-Exemple d'​initialisation d'un PORT pour la communication série USB-UART0 sur l'ARM TM4C123GH6PM:​ 
  
-//​void ​init_UART0(void) +   //​void ​PortB_Init(void) 
-SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0)+   volatile unsigned long delay
-SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); +   SYSCTL_RCGC2_R |= 0x00000002    // 1activate clock for Port B 
-GPIOPinConfigure(GPIO_PA0_U0RX); +   delay = SYSCTL_RCGC2_R          // allow time for clock to start 
-GPIOPinConfigure(GPIO_PA1_U0TX); +   GPIO_PORTB_AMSEL_R = 0x00;        // 3disable analog on PB 
-GPIOPinTypeUART(GPIO_PORTA_BASE,​ GPIO_PIN_0 ​GPIO_PIN_1); +   ​GPIO_PORTB_PCTL_R = 0x00000000  // 4) PCTL GPIO on PB0 
-UARTConfigSetExpClk(UART0_BASE,​ SysCtlClockGet(), 9600,                      ​ +   GPIO_PORTB_DIR_R ​|= 0xFF;         // 5PB0-PB7 is out 
-(UART_CONFIG_WLEN_8 ​UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE))+   //​GPIO_PORTB_AFSEL_R &= ~0x01     // 6) disable alt funct on PB0 
-Exemple ​de déclaration et d'​initialisation ​des registres mot de fréquences:+   GPIO_PORTB_AFSEL_R &= ~0xFF; ​     // 6disable alt funct on PB0-PB7 
 +   GPIO_PORTB_DEN_R ​|= 0xFF        // 7) enable digital I/O on PB0-PB7 
 +    
 +    
 +Exemple d'​initialisation ​d'un PORT pour la communication série USB-UART0 sur l'ARM TM4C123GH6PM:
  
-//​AD9852//​ +   //​void init_UART0(void) 
-int  FTW0_ADRESS = 0x02;  +   ​SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);​ 
-//unsigned long long FTW0 = 0x17E4B17E4B1;​ //​1.75MHz@300MHz clk +   ​SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);​ 
- ​unsigned long long FTW0; +   ​GPIOPinConfigure(GPIO_PA0_U0RX);​ 
-//float FTW0 = 0x17E4B17E4B1;​ //​1.75MHz@300MHz clk +   ​GPIOPinConfigure(GPIO_PA1_U0TX);​ 
-int  FTW0_NUM_BYTE = 0x06; +   ​GPIOPinTypeUART(GPIO_PORTA_BASE,​ GPIO_PIN_0 | GPIO_PIN_1);​ 
-//​AD9858//​ +   ​UARTConfigSetExpClk(UART0_BASE,​ SysCtlClockGet(),​ 9600,                       
-int  FTW1_ADRESS = 0x03;  +   ​(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));​ 
-unsigned ​ long FTW1 = 0x418937; //​1MHz@1000MHz clk +    
-int  FTW1_NUM_BYTE = 0x04; +       
-//​AD9858//​ +   ​Exemple de déclaration et d'​initialisation des registres mot de fréquences:​ 
-int  CFR_ADRESS = 0x00;  +   //​AD9852//​ 
-unsigned ​ long CFR = 0x79; // MSB first +   ​int  FTW0_ADRESS = 0x02;  
-int  CFR_NUM_BYTE = 0x04;+   ​//unsigned long long FTW0 = 0x17E4B17E4B1;​ //​1.75MHz@300MHz clk 
 +   ​unsigned long long FTW0; 
 +   ​//float FTW0 = 0x17E4B17E4B1;​ //​1.75MHz@300MHz clk 
 +   ​int  FTW0_NUM_BYTE = 0x06; 
 +   ​//​AD9858//​ 
 +   ​int  FTW1_ADRESS = 0x03;  
 +   ​unsigned ​ long FTW1 = 0x418937; //​1MHz@1000MHz clk 
 +   ​int  FTW1_NUM_BYTE = 0x04; 
 +   ​//​AD9858//​ 
 +   ​int  CFR_ADRESS = 0x00;  
 +   ​unsigned ​ long CFR = 0x79; // MSB first 
 +   ​int  CFR_NUM_BYTE = 0x04;
fr/programmes_pour_communiquer_avec_le_dds.txt · Dernière modification: 2016/03/04 10:46 par fwiotte