Bootloader Atmega328p avec NRF24L01 connecté

Bonjour,

Je suis en train de concevoir un circuit imprimé composé d'un Atmega328P-A, d'une puce NRF24L01, de deux boutons et d'un potentiomètre. C'est une carte simple qui permettra de contrôler une autre carte.

J'ai d'abord réalisé ce projet avec les modules tout fait tel qu'un arduino Nano, un NRF24l01 etc sur breadboard pour m'assurer que tout fonctionne, et j'aimerai désormais miniaturiser et soigner le projet en concevant des PCB.

Je débute donc dans l'univers des puces atmega "pures" et en réalisant mon schéma je me suis posé une question : Si je connecte un programmateur USBASP aux bonnes broches SPI de l'atmega, à savoir MISO, MOSI,SCK... pour bootloader le microcontrôleur, mais que j'ai déjà une puce NRF24L01 de connectée au bus SPI, est ce que ça risque de poser problème ?
Et si oui, comment remédier à ce problème ?

Merci !

Il faut que l'interface du NRF soit inactive pendant le téléchargement.
Pour être certain de ça, il suffit de s'assurer que CSN soit au niveau haut au moment du téléchargement. Pour cela, il faut prévoir une résistance de pullup sur la ligne CSN.
ATTENTION: Le NRF fonctionne en 3,3V il faut donc que le pullup soit tiré au VDD.
Il faut aussi interposer une adaptation de niveau entre l'ATmega et le NRF si l'ATmega est alimenté en 5V.
Erreur de ma part, le NRF est 5V tolérant

Est ce qu'un schéma comme celui là semble cohérent ?

Oui, mais

  • je ne vois pas le label +3V3 sur la sortie du régulateur 3,3V donc ton pullup ne sera pas connecté à l'alimentation 3,3V.
  • la capa C6 avant l'antenne n'est pas connectée au plan de masse
  • AVCC sur l'ATmega n'est pas raccordé à une alimentation.

Merci beaucoup !

J'ai une autre question : puisque les deux modules (nrf et atmega) fonctionnent chacun à l'aide d'un oscillateur 16Mhz, est ce qu'il est possible de n'utiliser qu'un seul oscillateur pour les deux puces ?
Si la réponse est non, c'est parce que les deux composants doivent avoir leur propre horloge respective ?
Merci !

Dans l'absolu oui, mais pas certain que cela fasse faire des économies.
Il faudra soit:

  1. avoir un oscillateur externe qui alimente les 2 composants
  2. avoir un quartz sur l'ATmega le configurer en Full Swing Crystal Oscillator et avoir un buffer pour fournir une horloge au NRF.

La première option est la moins risquée mais un oscillateur coûte relativement cher.
La seconde option devrait fonctionner, il faut juste soigner le routage du buffer pour ne pas perturber l'oscillateur, piste courte entre le buffer et le quartz pour respecter la capacité rapportée aux bornes du quartz.

Ouais donc pas forcément très utile.

Cela dépend un peu de la finalité de ton développement.
Ça peut être rentable si tu produis beaucoup de cartes.
Il peut y avoir aussi un bénéfice car avec un seul oscillateur la carte sera sans doute moins "bruyante" en CEM car il n'y aura qu'une raie à 16MHz et il n'y aura pas le battement inévitable causé par 2 fréquences très proches mais pas égales.
Mais on trouve plein de cartes avec le label CE qui ont 2 voir 3 oscillateurs donc....

Je suis encore trop novice dans le domaine pour m'aventurer là dedans. J'ai déjà du mal à choisir mes composant correctement, et je serai bien content si ma carte fonctionne :sweat_smile:

Y a-t-il d'ailleurs un moyen de simuler le fonctionnement d'une carte ? parce qu'une fois qu'on assemble le pcb, si ça fonctionne pas, faut tout refaire.

Pas au niveau amateur sur des cartes avec des composants complexes.

Si tu as fais fonctionner un prototype avec des modules du commerce et que ton schéma est juste, normalement tu ne devrais pas rencontrer de difficultés.

La difficulté, c'est que dans un soucis de miniaturisation, plutôt que de greffer ces petits composants de commerce au pcb central, je tente de reproduire ces modules à l'aides des schémas et des composants trouvables sur internet, sur un seul pcb. Je sais que le choix mais également le placement des composants cms est sensible, d'où ma crainte d'une erreur dans le rendu final.

Pour faire ce genre de chose, j'utilise des plaquettes génériques ou plus spécialisé

cela permet de tester les schémas que tu veux faire sur le PCB.
Certes il y a des composants sensible, mais dans les erreurs possibles, ce n'est pas forcément ce qui revient le plus, si tu es étourdi comme moi :slight_smile:
Après je ne suis pas sûr que les composants cms soit plus sensible que les autres ?

Je ne connaissais pas ce genre de plaquette, comment ça s'utilise ? Le problème, c'est que je fais concevoir la carte sur un site spécialisé, qui se charge aussi de l'assemblage.

Par sensible je voulais dire que certains condos doivent être placées proches des alims, certaines pistes doivent être d'un certain diamètre pour des soucis d'impédance ou de bruit etc. Mais en effet cms ou non ça ne change rien.
J'ai quelques connaissances dans le domaine, mais avec les milliers de composants différents, si je dois choisir un inducteur de 1nF, je ne sais pas quelle valeur de courant ou d'impédance sélectionner, et si ça joue un rôle majeur. Idem pour n'importe quel autre composant, comme les oscillateurs à quartz ou les antennes céramiques...

Ca s'utilise en amont de la conception du PCB, pour tester ton schéma électrique avant de faire produire le PCB.
Si tu en est à faire produire ton PCB, cela ne te servira plus vraiment.

Même si il faut bien évidement respecter les règles, comme condensateur de filtrage au plus prés des alimentations des IC, plan de masse, ...
Ce que je voulais dire c'est qu'il ne faut pas oublié les erreurs d'étourderie sur la conception du schéma.
Après effectivement concepteur de PCB est un métier à part entière :slight_smile:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.