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
fr:programmes_pour_communiquer_avec_le_dds [2016/03/04 10:21]
fwiotte
fr:programmes_pour_communiquer_avec_le_dds [2016/03/04 10:46] (Version actuelle)
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-IO_UPDATE.+ 
 +Pour initialiser le DDS on applique cette procédure : RESET-DATA_SEND_to_BUFFER-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 88: 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 98: 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 111: Ligne 114:
           ;           ;
         }         }
 +        ​
 La routine init (SPI) pour l'ARM TM4C123GH6PM:​ La routine init (SPI) pour l'ARM TM4C123GH6PM:​
  
Ligne 125: Ligne 129:
   SSIEnable(SSI0_BASE);​ // Enable the SSI    SSIEnable(SSI0_BASE);​ // Enable the SSI 
   ​   ​
-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; +   //void PortB_Init(void) 
-SYSCTL_RCGC2_R |= 0x00000002; ​    // 1) activate clock for Port B +   ​volatile unsigned long delay; 
-delay = SYSCTL_RCGC2_R; ​          // allow time for clock to start +   ​SYSCTL_RCGC2_R |= 0x00000002; ​    // 1) activate clock for Port B 
-GPIO_PORTB_AMSEL_R = 0x00;        // 3) disable analog on PB +   ​delay = SYSCTL_RCGC2_R; ​          // allow time for clock to start 
-GPIO_PORTB_PCTL_R = 0x00000000; ​  // 4) PCTL GPIO on PB0 +   ​GPIO_PORTB_AMSEL_R = 0x00;        // 3) disable analog on PB 
-GPIO_PORTB_DIR_R |= 0xFF;         // 5) PB0-PB7 is out +   ​GPIO_PORTB_PCTL_R = 0x00000000; ​  // 4) PCTL GPIO on PB0 
-//​GPIO_PORTB_AFSEL_R &= ~0x01; ​     // 6) disable alt funct on PB0 +   ​GPIO_PORTB_DIR_R |= 0xFF;         // 5) PB0-PB7 is out 
-GPIO_PORTB_AFSEL_R &= ~0xFF; ​     // 6) disable alt funct on PB0-PB7 +   ​//​GPIO_PORTB_AFSEL_R &= ~0x01; ​     // 6) disable alt funct on PB0 
-GPIO_PORTB_DEN_R |= 0xFF;         // 7) enable digital I/O on PB0-PB7+   ​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:​ Exemple d'​initialisation d'un PORT pour la communication série USB-UART0 sur l'ARM TM4C123GH6PM:​
  
-//void init_UART0(void) +   //void init_UART0(void) 
-SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);​ +   ​SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);​ 
-SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);​ +   ​SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);​ 
-GPIOPinConfigure(GPIO_PA0_U0RX);​ +   ​GPIOPinConfigure(GPIO_PA0_U0RX);​ 
-GPIOPinConfigure(GPIO_PA1_U0TX);​ +   ​GPIOPinConfigure(GPIO_PA1_U0TX);​ 
-GPIOPinTypeUART(GPIO_PORTA_BASE,​ GPIO_PIN_0 | GPIO_PIN_1);​ +   ​GPIOPinTypeUART(GPIO_PORTA_BASE,​ GPIO_PIN_0 | GPIO_PIN_1);​ 
-UARTConfigSetExpClk(UART0_BASE,​ SysCtlClockGet(),​ 9600,                       +   ​UARTConfigSetExpClk(UART0_BASE,​ SysCtlClockGet(),​ 9600,                       
-(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));​+   ​(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));​ 
 +    
 +      ​
 Exemple de déclaration et d'​initialisation des registres mot de fréquences:​ Exemple de déclaration et d'​initialisation des registres mot de fréquences:​
- +   //​AD9852//​ 
-//​AD9852//​ +   ​int  FTW0_ADRESS = 0x02;  
-int  FTW0_ADRESS = 0x02;  +   ​//unsigned long long FTW0 = 0x17E4B17E4B1;​ //​1.75MHz@300MHz clk 
-//unsigned long long FTW0 = 0x17E4B17E4B1;​ //​1.75MHz@300MHz clk +   ​unsigned long long FTW0; 
- ​unsigned long long FTW0; +   ​//float FTW0 = 0x17E4B17E4B1;​ //​1.75MHz@300MHz clk 
-//float FTW0 = 0x17E4B17E4B1;​ //​1.75MHz@300MHz clk +   ​int  FTW0_NUM_BYTE = 0x06; 
-int  FTW0_NUM_BYTE = 0x06; +   ​//​AD9858//​ 
-//​AD9858//​ +   ​int  FTW1_ADRESS = 0x03;  
-int  FTW1_ADRESS = 0x03;  +   ​unsigned ​ long FTW1 = 0x418937; //​1MHz@1000MHz clk 
-unsigned ​ long FTW1 = 0x418937; //​1MHz@1000MHz clk +   ​int  FTW1_NUM_BYTE = 0x04; 
-int  FTW1_NUM_BYTE = 0x04; +   ​//​AD9858//​ 
-//​AD9858//​ +   ​int  CFR_ADRESS = 0x00;  
-int  CFR_ADRESS = 0x00;  +   ​unsigned ​ long CFR = 0x79; // MSB first 
-unsigned ​ long CFR = 0x79; // MSB first +   ​int  CFR_NUM_BYTE = 0x04;
-int  CFR_NUM_BYTE = 0x04;+
fr/programmes_pour_communiquer_avec_le_dds.1457083288.txt.gz · Dernière modification: 2016/03/04 10:21 par fwiotte