Cortex-M0 vs Cortex-M0 + pour un capteur IoT utilisant LoRA [fermé]

Sam Hammamy

Cortex-M0 vs Cortex-M0 + pour un capteur IoT utilisant LoRA [fermé]


Bien que je sois un ingénieur logiciel expérimenté, je suis encore assez novice en génie électrique. Alors s’il vous plaît, expliquez-moi mes exigences:

J’ai un petit jardin dans ma cour et je voudrais ajouter un capteur d’humidité du sol dans le sol, le connectant avec un RFM95W comme nœud LoRaWAN.

Le capteur prendra probablement une mesure toutes les 6 à 9 heures et se mettra en veille pour économiser la batterie.

Quelle que soit la carte que j’utilise se connectera à un autre RFM95W qui est une passerelle LoraWAN connectée à un Rpi à l’intérieur de ma maison, afin que je puisse transmettre les données à un serveur LoRa local (MQTT).

Finalement, j’espère arriver à un point où la planche ouvrira une source d’eau lorsque le sol est sec (sur le contrôle du moteur PWM – ce que j’ai fait avec le Pi sur du métal nu auparavant).

Deuxièmement, j’espère exécuter un apprentissage approfondi très basique sur les données, directement sur le MCU, comme indiqué dans ce billet de blog

Par conséquent, le choix d’un MCU ARM semble être un bon choix. Il y a le Cortex-M0 et son successeur le M0 + .

Le problème que j’ai à prendre la décision entre eux est basé sur ce qui suit:

1) Le M0 + est commercialisé comme un MCU très économe en énergie et peut donc bien fonctionner avec une batterie pendant une longue période

2) Le M0 semble cependant à un prix très raisonnable dans ses cartes de développement, telles que le SMT32F par rapport au SAMD

Je me demande donc si la faible consommation d’énergie est le cas pour la différence de prix et si je peux toujours obtenir les mêmes performances; c’est-à-dire une longue durée de vie de la batterie, du M0 ?

Chris Stratton

@Maple an ATtiny ne sera pas en mesure d’exécuter une pile radio pratiquement appropriée pour cet émetteur-récepteur, et ce noyau désormais ancien ne gagnera pas nécessairement en puissance. LoRa est une modulation radio, ce n’est pas un contrôleur, vous ne pouvez donc pas y connecter directement un capteur. La puce Semtech LoRa du Hope RF RFM95 mentionné est un périphérique SPI et a besoin de beaucoup de code de support d’un MCU hôte pour les protocoles typiques et les schémas de saut de fréquence utilisés avec ce type de modulation.

Chris Stratton

@SamHammamy ce type de question est hors sujet ici. La réalité est que vous changerez probablement de cap plusieurs fois avant de déployer quelque chose avec une durée de vie utile de la batterie après avoir pris en compte des éléments comme le régulateur et les fenêtres de réception (si vous voulez un contrôle en aval, qui est beaucoup plus cher que les rapports en amont). Commencez avec une carte ARM de ressources de mémoire plus élevée pour laquelle vous pouvez trouver un bon exemple LoRa (ou mieux, LoRaWAN ou TTN), et une fois que vous avez appris de cela, vous pouvez porter sur quelque chose qui basé sur cette expérience semble être un meilleur ajustement.

Chris Stratton

Personnellement, j’obtiendrais le NUCLEO-L073RZ et le prototype sur une variante à haute mémoire jusqu’à ce que je me décide ce dont j’avais besoin dans le déploiement, ou le CMWX1ZZABZ-078 qui est le même 192KB M0 + combiné avec le SX1276 du RFM95, en un module compact.

old_timer

Vous avez plusieurs tâches, prenez d’abord N’IMPORTE QUELLE carte, un rpi ou autre et découvrez comment configurer et utiliser le RFM95W, la plupart de ces connaissances peuvent être portées sur votre plate-forme finale. Ensuite, effectuez le travail à faible consommation, la plupart des fournisseurs de microcontrôleurs ont des produits à faible consommation, achetez-en un / certains et découvrez comment les faire fonctionner à faible consommation. Vous devez également faire votre conception de l’alimentation, comprendre combien chaque composant utilise pendant le sommeil et quand ce n’est pas le cas, c’est l’énergie solaire, la batterie, etc. Et faites cette conception. c’est génial d’avoir un objectif global mais vous avez un long chemin pour y arriver.

old_timer

Attendez-vous à l’échec et à la refonte. si vous vous en tenez à cela, vous pouvez sur chaque nouvelle conception prolonger la durée de vie de la batterie ou augmenter la portée de votre transmission, utiliser une batterie plus petite, un boîtier plus petit, etc.

Réponses


 Jon

Il n’est pas vraiment possible de répondre précisément à cette question, car ni vous ni l’article que vous liez pour fournir une sorte de définition utile de «l’apprentissage en profondeur». Selon qui vous parlez, cela peut englober un travail de filtrage et de corrélation simple, jusqu’à ce que DeepMind fait. Le terme est ambigu au point d’être vide de sens.

À un niveau plus pratique, il y a très peu de différences entre le M0 et le M0 +. Alors que le M0 + a le potentiel d’être plus économe en énergie, la réalité est qu’il dépend beaucoup plus de la mise en œuvre réelle du fournisseur. Sur un système à très faible consommation, les périphériques et les circuits d’horloge peuvent facilement annuler les économies d’énergie dans le cœur lui-même. La plupart des fournisseurs ont des gammes spécifiques de puces optimisées pour économiser de l’énergie, et vous devez simplement prendre votre décision en fonction des caractéristiques de ces puces – en ignorant si l’implémentation interne est un M0 / M0 + ou même tout autre noyau Cortex M.

Une chose à noter est que l’architecture M0 / M0 + est assez fortement contrainte d’E / S, car il faut généralement 2-3 cycles d’instructions pour charger / stocker un registre à partir de la mémoire ou d’E / S. Il n’y a pas non plus de pipeline de chargement / stockage comme dans les puces Cortex haut de gamme. Le résultat est que si vous faites beaucoup de dénigrement de bits, un processeur 8 bits peut généralement exécuter des anneaux autour d’un M0 / M0 +. Par exemple, le retournement d’un bit de port IO sur le PIC12 peut être effectué en 1 cycle d’instructions. Sur un Cortex M0 / M0 +, il faudrait entre 5 et 7.

À l’autre extrémité du spectre des performances, cette lenteur des transferts de registres peut également avoir un impact profond sur la capacité de la puce à traiter de grands ensembles de données (par exemple, si vous implémentez un filtre ou un corrélateur). Aller à quelque chose de plus puissant comme un M3 / M4 pourrait en fait vous faire gagner en efficacité énergétique sous de lourdes charges mathématiques, mais vous devez en savoir beaucoup plus sur l’analyse que vous prévoyez de faire avant de pouvoir le déterminer.

Sam Hammamy

Pas du tout vrai! DeepLearning a une définition claire: injecter une ou plusieurs couches d’un réseau neuronal dans n’importe quelle tâche d’apprentissage automatique. Prenant par exemple la sortie d’un SVM, ou utilisé comme sortie d’un algorithme d’apprentissage par renforcement.

Sam Hammamy

J’accepte votre réponse car elle donne vraiment un excellent raisonnement pour expliquer pourquoi la question est trop vague. J’ai beaucoup à faire avant de pouvoir décider du fonctionnement de l’apprentissage.

 

[fermé], #pour, +, capteur, Cortex-M0, IoT, LoRA, un, utilisant, vs

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *