Le groupe DDS
Introduction
Le but de ce wiki est de donner les outils de bases pour démarrer un projet autour d'un DDS, de la programmation à l'implémentation sur circuits imprimés : réalisation de cartes "propriétaires" ou utilisation de kits de développement commerciaux.
Vous pouvez aussi participer à l'enrichissement de cette page avec vos sources ou partager vos projets.Contacter l'animateur du Groupe DDS par mail Fabrice.wiotte@univ-paris13.fr LPL Université Paris 13
http://jmfriedt.free.fr/network_analyzer.pdf : travaux pratiques de Master1 EEA Besançon pour réaliser un petit analyseur de réseau à base d'AD9834 (faible consommation, MCK=75 MHz) commandé par STM32F410.
Environnement de programmation : IAR for MSP430 & ARM, code composer studio for MSP430 & ARM, IDE cube for STM32...
Code Composer Studio for ARM or MSP
Conception CAO électronique -> Tuto prise en main d'Altium Designer 20: support TP Ingénieur Instrumentation Galilée USPN
Les kits de développement c'est bien ! mais des cartes maisons c'est pas mal aussi !
Pour ceux qui veulent se lancer dans la CAO. Un tutoriel simple et une prise en main rapide du logiciel Altium designer 20
Fichier:CAO Electronique Fabrice Wiotte 2020.pdf
Conception CAO électronique avec projet moteur pas à pas sous Xilinx ISE et communication Python: Support TP ingénieurs instrumentation
Un tutoriel ISE XILINX pilotage d'un moteur pas à pas avec conception de cartes filles autour d'une carte Digilent Nexys 4 et Nexys A7 avec Artix7.
Fichier:TP 2021 FPGA2 moteur pas à pas Ingénieurs Instrumentation Galilée.pdf
Mise à jour des TP et correctifs: Fichier:TP 2022 Ingénieurs Instrumentation 2 Galilée mise a jour du 04 02 2022.pdf
Conception CAO électronique communication Python sur Raspberry pi 4 et programmation FPGA: J'ai adapté le TP FPGA 2 ci-dessus pour que le puisse piloter à distance sur le réseau le moteur pas à pas. Dans notre TP nous pouvions piloter le moteur grâce à une liaison USB-Série avec un PC à proximité. Pour un pilotage réseau j'ai donc connecté ma carte FPGA avec une Raspberry PI 4 et j'ai pu donc contrôler le moteur à distance via une liaison SSH. Le mieux est évidemment je pense de travailler en ligne de commande avec le terminal LX de la Raspberry Pi et il a de nombreux tuto pour installer et utiliser la Raspberry Pi.
Mise à jour du TP sous Vivado 2021.2 : environnement Vivado
TP VIVADO 2020 CmodA7 board digital clock
Ci-joint le lien pour le projet: https://github.com/fabzz60/Cmod-A7-Horloge-Demo-
TP réalisation de carte électronique, réalisation avec Altium Designer AD21: carte Spartan 6 LX4
Raspberry pi et cartes maisons connectées à la pi 4 projets 2021
Utilisation d'une Raspberry pi 4 pour contrôler les cartes maisons et des cartes DDS Procédure de communication avec une pi 4: Fichier:SSH Raspberry Pi.pdf Communication avec des cartes maisons et une liaison USB-série avec la pi 4 J'ai du tout de même installé ce paquet pylibftdi sous Raspbian qui est une interface Pythonic minimale pour les périphériques FTDI utilisant libftdi car je souhaite connecter plusieurs appareils disposant d'une puce FTDI serial-UART.
J'ai deux cartes électroniques connectées à ma Raspberry Pi 4:
--Une carte FPGA Artix 7 qui pilote le moteur pas à pas et communique via une puce FTDI double pont FT2232HQ pour l'UART et le JTAG.
--Une carte uC ARM TI puce TM4C1294 pour un projet générateur multi-voies à base de DDS (voir ce Wiki DDS), carte développée avec Altium au LPL qui est connectée avec une liaison USB-série, UART puce FTDI FT232.
J'ai donc un programme Python pour la carte DDS multivoie et un programme Python pour le moteur pas à pas que l'on a étudié. Sur ma Raspberry Pi 4 les programme Python sont modifiable à distance sous le terminal grâce à l'outil intégré à Raspbian nano -> éditeur de texte qui me permet de modifier et d'enregistrer mon code Python et de lancer les programmes.
Normalement je peux également charger la puce FPGA (bit file) avec la Raspberry Pi grâce à l'outil développé par Digilent (Adept2) qui est l'équivalent d'Impact sous ISE mais en version linux 32 bits pour Raspberry. La suite pour moi c'est d'utiliser les GPIO de la Raspberry Pi 4 notamment les ports SPI, I2C et Uart pour des projets d'électroniques embarqués...et d'intégrer des cartes filles maisons sur la Raspberry Pi.
Projet DDS's Strontium 2 Laser Superradiant 2022
Pour une nouvelle expérience du laboratoire utilisant de nombreux DDS synchronisés ou pas sur un signal d'horloge externe:
Rack multivoies DDS AD9852 & AD9858 : programmation uC ARM TM4C1294 and server TCP/IP Rack à droite de l'image:
Raspberry Pi 4 sur bus SPI DDS à gauche de l'image ci-dessous:
Carte DDS sur uC TI ARM TM4C1294 et serveur TCP-IP pour microcontrôleur développé par Texas Instruments.
Ci-dessous script Python pour la Raspberry Pi4 qui pilote le rack DDS: Script pour la liaison USB-serial (UART0 de la pi4)
Fichier:Code python liaison série UART0 pi4 .pdf
Ci-dessous script dans la Raspberry pi 4 : activation des broches GPIO, SPI, UART0 de la pi 4 qui contrôle les DDS
Fichier:Code Raspberry pi 4.pdf
Ci-dessous les cartes développées pour le projet Laser super radiant (Strontium 2) carte Format Europe 4 couches FR4 35um
Raspberry Pi4 sur carte Europe et fond de panier
Carte DDS AD9852 ou AD9858 sur fond de panier
Carte uC ARM TM4C1294, USB-sérial et Ethernet TCP-IP
General Note on the DDS card and on the BUS driver 2014 & update 2022
Présentation de l'architecture BUS DDS, communication parallèle pour le pilotage de 24 DDS sous Labview Fichier:NoteBusDDS LPL Strontium.pdf