Je voudrais concevoir un PCB pour un contrôleur de boucle analogique .. quelque chose avec un A / D, D / A et un processeur à bord. (Que ce soit DSP ou FPGA, je n'ai pas décidé.) Comme cela devrait moduler les signaux analogiques à 10 kHz, il faut que ce soit un processeur assez rapide.
D'après ce que je comprends, la conception d'une carte pour les processeurs fonctionnant au-dessus de 150 MHz ou plus peut être très difficile en raison de problèmes RF. Quels conseils pouvez-vous fournir pour concevoir une telle carte? Quels problèmes de mise en page peuvent survenir? Existe-t-il de bonnes ressources en ligne qui ont des bases de connaissances pour cela?
Merci.
Réponses:
Si vous êtes intéressé par le numérique haute vitesse, obtenez une copie de la conception numérique haute vitesse .
Points clés:
la source
Utilisez un avion au sol et motorisé complet. Les bouchons de dérivation sont limités par l'inductance, qui est principalement déterminée par la taille du boîtier, les traces et les vias. Choisissez donc la plus petite taille de boîtier avec laquelle vous pouvez travailler, puis optez pour la plus grande capacité qui ne casse pas votre budget. Si vous avez besoin de plus de contournement, augmentez la taille d'un package ou deux et obtenez la plus grande capacité de ce package. Lors de la connexion du capuchon aux plans de masse / d'alimentation, utilisez deux vias de chaque côté de chaque tampon; vias + cap ressemblera un peu à un H.
La division des avions peut aider à isoler les sections analogiques et numériques. Ne traversez jamais un plan divisé avec une trace de signal !!! Éloignez les signaux du bord de la carte. Gardez les signaux séparés d'au moins 2 fois la largeur de trace pour éviter la diaphonie (les simulations sont utiles ici). Gardez les signaux 5 fois plus larges que les signaux très bruyants (par exemple les horloges) ou les signaux extrêmement sensibles (par exemple les entrées analogiques). Utilisez des traces de garde mises à la terre autour des signaux bruyants / sensibles si nécessaire. Évitez les vias et les talons avec des signaux bruyants / sensibles.
Idéalement, fournissez un fil de terre par signal dans un connecteur. Terminez les signaux des connecteurs, car ils aiment cracher EMI. Des perles de ferrite autour du fil peuvent également aider à réduire le bruit des connecteurs. Empêchez les signaux de passer sous les connecteurs.
Le plan de masse vous permet de créer des traces microruban, qui ont une impédance bien définie. Vous pouvez également utiliser des résistances de terminaison si votre trace est longue. Je pense que la règle générale est que pour chaque nS de temps de montée, vous pouvez passer à 2,5 "sans résistance de terminaison.
Utilisez les simulations IBIS pour déterminer si vous avez besoin de résistances de terminaison. Les FPGA modernes ont de belles astuces pour ce genre de choses; ils peuvent contrôler la puissance de leur pilote de sortie, parfois même avec une «impédance à commande numérique» (terme Xilinx pour la technologie). Les simulations IBIS aident ici aussi à déterminer la force d'entraînement appropriée.
Consultez l'énorme liste de bulletins de conception numérique haute vitesse du Dr Howard Johnson. Vraiment génial. http://www.sigcon.com/pubsAlpha.htm
la source
Je connais très peu la disposition à grande vitesse. Mais les trois choses courantes que j'ai entendues sont les suivantes: évitez les angles droits pour les traces de signal (elles provoquent des réflexions), ayez un plan de masse sur autant de circuits que possible et partitionnez votre carte pour avoir des types de signaux similaires (faible vitesse numérique, numérique haute vitesse, analogique) dans différentes zones, avec des "points d'étranglement" dans votre plan de sol pour minimiser les interférences.
En ce qui concerne les bonnes ressources en ligne, j'imagine que les fiches techniques et les annexes pour le DSP ou le FPGA que vous envisagez auront de bons conseils. Je me souviens que Xilinx avait de bonnes choses.
la source
Pour répondre à votre candidature plutôt qu'à la question que vous avez posée directement (les autres réponses en ont parlé):
Le DSP 10 kHz pour un contrôleur de boucle n'est pas trop rapide. (nous utilisons des boucles de contrôle à 5 ou 10 kHz pour les contrôleurs de moteur) et les microcontrôleurs, c'est qu'ils utilisent des multiplicateurs d'horloge à boucle à verrouillage de phase (PLL) pour augmenter la fréquence d'horloge en interne, de sorte qu'en externe il n'y a pas vraiment besoin de signaux vraiment rapides. Les séries de DSP TMS320F28xx de TI (voir les 28044 et 28235) ont une PLL 5x (demi-pas de 0,5x à 5x), vous pouvez donc obtenir une horloge de 100 MHz avec un cristal de 20 MHz.
Pour le côté numérique, ce que vous devez faire attention, c'est de vous assurer de fournir une bonne paire solide de plans d'alimentation et de masse pour votre processeur, et assurez-vous d'ajouter des condensateurs de dérivation aussi près que possible des broches d'alimentation du processeur. De plus, au lieu de simplement saupoudrer un tas de condensateurs 0,1uF, utilisez une variété de condensateurs 0,1uF, 0,01uF et 0,001uF. Les condensateurs 0,1 uF fournissent plus de charge, mais leur inductance parasite entre en jeu à une fréquence inférieure à ce que vous verrez sur un condensateur 0,01 uF ou 0,001 uF. Les deux derniers ne fourniront pas autant de charge, mais fonctionneront correctement comme les bouchons de dérivation à une fréquence plus élevée. Nous avions une conception de carte qui fonctionnait mais avait un niveau de bruit modéré sur le convertisseur analogique-numérique du DSP.
La conversion analogique-numérique va être le point le plus faible de votre système. Vous n'aurez probablement pas à travailler trop dur pour que le système numérique fonctionne correctement. Mais à moins que vous ne soyez prudent, vous obtiendrez des performances de bruit médiocres sur votre ADC. (Je crains de ne pas avoir beaucoup d'expérience personnellement dans ce domaine; d'autres ingénieurs de notre entreprise s'occupent de la mise en page, donc ce que je vous dis est de seconde main.) Comment manipuler les avions au sol est quelque chose qui est soutenu par deux approches distinctes: l'opportunité d'utiliser un énorme plan de masse pour l'ensemble du système, par rapport à deux plans de masse séparés, un analogique + un numérique, liés ensemble à l'ADC - le premier convient aux systèmes 8-10 bits, et j'entends la séparation des zones numériques / analogiques du circuit est plus importante lorsque vous atteignez des nombres de bits plus élevés (16 bits ou plus).
Ne lésinez pas sur le nombre de couches de carte. Les avions au sol et électriques sont vos amis.
la source
Lisez la radio amateur ou trouvez un opérateur Extra Class pour vous aider. Nous traitons ces problèmes tout le temps à des fréquences beaucoup plus élevées. Nous utilisons également le traitement DSP dans presque tous nos équipements. Essayez les trucs éducatifs AARL en ligne ou QRZ. Les problèmes ne sont pas si difficiles à corriger, mais il existe de nombreux problèmes possibles à surveiller.
73, KF7BYU
la source
Comme déjà mentionné, vous pouvez utiliser un processeur rapide avec une PLL et ne disposer que de vos signaux 10 kHz + un oscillateur à quartz 12 MHz (proche du CPU) sur votre carte. Mettre cela en place ne sera pas un problème.
Beaucoup de gens (moi y compris) ont fait une sortie audio stéréo 48 kHz sur un ARM7TDMI (streaming depuis une carte SD connectée SPI dans mon cas). J'ai même vu le décodage mp3 dans un logiciel sur un ARM7 50 MHz fonctionnant à partir de la RAM (il peut y avoir des états d'attente lorsque vous travaillez à partir de Flash).
Peut-être acheter une carte mbed LPC1768 (100MHz, ADC / DAC et PWMs très rapides sur puce, pas cher: 50 €) et faire un prototype? Seulement si ce n'est pas suffisant, commencez à jouer avec d'autres trucs (plus coûteux et difficiles).
la source