Pages: [1] 2   Go Down
Author Topic: numéro de serie atmega328  (Read 2379 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 0
Posts: 207
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Je me pose une question :

y a til un nuémro de serie propre a chaque boitier atmega (328 en loccurence) ?

Un "code" chiffré qui serait unique, inchangeable, dans chaque boitier ?

AU quel cas, comment le récupérer ?

Ou si ca n'existe pas, comment créer un "numero de serie" une fois pour toute, inchangeable et incopiable d'un boitier a un autre ?

Merci pour votre aide !
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3031
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
y a til un nuémro de serie propre a chaque boitier atmega (328 en loccurence) ?
Non

Quote
Ou si ca n'existe pas, comment créer un "numero de serie" une fois pour toute, inchangeable et incopiable d'un boitier a un autre ?
En fait, je crois qu'il n'y a pas vraiment de solution qui réponde à toutes tes exigences. L'atMega n'a pas été conçu pour répondre à ce type de besoin. Tu peux protéger le code en flash mais alors tu ne sais plus le relire.

Si tu veux identifier de manière unique une réalisation tu peux éventuellement y ajouter un composant comme celui-ci http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2903 le prix est ridiculement faible. La mise en oeuvre n'est pas très compliqué et il y a des exemples sur le playground http://www.arduino.cc/playground/Learning/OneWire. Ces mémoires contiennent un code unique (garantie par le constructeur). Tout dépend de ton besoin de protection et de l'investissement (temps, coût) que tu est prêt à consentir pour en assurer la protection
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 207
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok merci fdufnews pour tes réponses toujours aussi claires et précises !

j'ai plus de pins dispo du coup je vais pas pouvoir utliser ce composant mais je vais cogité !  8-)
Logged

Massongex, Suisse
Offline Offline
Full Member
***
Karma: 2
Posts: 169
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut,

Tu peux aussi, selon tes besoins et si cela te suffit, inscrire dans l'Eprom de l'Atmega un code que tu auras généré pour l'occasion et que tu changeras à chaque chargement du programme sur une carte différente.

Churchill
Logged

Celtic Kingdom
Offline Offline
Sr. Member
****
Karma: 2
Posts: 455
hard oui no!!!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ou coller à la cyano' sur le composant une barrette avec un numéro de série (?).

En fait, comme le dit fdufnews, tout dépend du niveau de protection et des moyens financiers. Par exemple pour de la petite série il est possible de demander à un fabriquant une version OEM avec un numéro de série gravé sur le composant.
Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3171
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il y a une possibilité de faire une variable avec ton n° de série et de bloquer la reprogrammation en réglant les fuses, mais ensuite tu ne pourras pas refaire de mise à jour.
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3031
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Tu peux aussi, selon tes besoins et si cela te suffit, inscrire dans l'Eprom de l'Atmega un code que tu auras généré pour l'occasion
Il n'y a là aucun niveau de protection possible on peut le copier comme on veut.
Quote
Par exemple pour de la petite série il est possible de demander à un fabriquant une version OEM avec un numéro de série gravé sur le composant.
Il faut déjà en commander un beau paquet pour que cette solution soit rentable. D'autant qu'on peut le faire assez facilement à la Dremel et au stylo graveur.
Si on va par là, il suffit de protéger le code en positionnant les fusibles comme il faut pour empêcher la copie. Et graver un numéro de série sur la carte (ou le processeur) au stylo graveur.

Tu as une grosse série à faire??
Logged

Massongex, Suisse
Offline Offline
Full Member
***
Karma: 2
Posts: 169
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quote
Quote:
Tu peux aussi, selon tes besoins et si cela te suffit, inscrire dans l'Eprom de l'Atmega un code que tu auras généré pour l'occasion
Il n'y a là aucun niveau de protection possible on peut le copier comme on veut.

C'est clair ! Mais comme je ne connais pas le besoin, cela aurait pu tout aussi bien être pour un usage interne où le besoin de protection n'existe pas, par exemple pour différencier plusieurs cartes d'acquisition, ou plusieurs cartes effectuant quasiment la même tâche...

Churchill
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 207
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

"il suffit de protéger le code en positionnant les fusibles comme il faut pour empêcher la copie"

c'est a dire ? je ne comprends pas...

Merci !
Logged

Massongex, Suisse
Offline Offline
Full Member
***
Karma: 2
Posts: 169
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

L'atmega a des fusibles pour le configurer. En positionnant certains d'entre eux aux bonnes valeurs, tu peux empêcher que le code soit relu de l'extérieur... mais alors plus de programmation possible après.

Tu peux aller jeter un coup d'œil sur :
http://www.atmicroprog.com/cours/atmega/fuses.php

A manier avec beaucoup de précaution !

Franssoa
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 21
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sérieux, on ne peut pas empêcher la lecture sans bloquer la programmation à tout jamais ???? :-/
Logged

0
Offline Offline
Newbie
*
Karma: 1
Posts: 41
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Churchill: +1  smiley-wink
C'est ce que j'ai fait pour une application où l'Arduino est contrôlé par une application externe. Dans l'EEPROM j'ai enregistré un n° de série, le code de l'application et son code de version.
En fonction du niveau de protection souhaité, tu peux éparpiller ces codes dans les 512 bytes de mémoire EEPROM, utiliser un encodage pour éviter une lecture directe trop intuitive.
Sinon, la soluce Maxim/Dallas semble (je ne l'ai pas testée mais je l'ai étudiée un moment donné) assez simple et robuste.
HTH
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3031
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
sérieux, on ne peut pas empêcher la lecture sans bloquer la programmation à tout jamais ????
Non, la seule chose que l'on peut encore faire c'est effacer complètement le composant. Toute la mémoire est alors vierge comme à la sortie d'usine.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 21
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ah ok, il n'est donc pas définitivement figé, ça me rassure smiley
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 274
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je veux protéger le code de mon ATmega328 sur mon Arduino Duemilanove.

J'ai utilisé PonyProg2000 Version  2.07c, mais je suis incapable de faire quoi que ce soit.

Voici ce que j'ai fait
1) j'ai brancher mon Arduino à l'ordinateur avec le cable USB.
2) Dans PonyProg je suis allé dans le menu Setup->Interface Setup... et j'ai sélectionné Serial et SI Prog API et j'ai choisi le bon port COM.
3) Ensuite j'ai sélectionné dans le menu Device->AVR micro->ATmega32.
4) Après j'ai choisi l'option Command->Security and Configuration Bits... pour modifier les valeurs des fusibles de protection.

5) ensuite il y a une fenêtre qui est affiché et dans la fenêtre c'est écrit Reading Security Bits et le pourcentage reste à 0% pendant environ 5 minutes et après il y a une autre fenêtre qui est afficher et c'est écrit ce message d'erreur "Device missing or unknown device -24".

Je doit faire quoi pour modifier les valeurs des fusibles de protection avec PonyProg?

Merci
« Last Edit: April 02, 2010, 04:53:10 pm by userid3456789 » Logged

Pages: [1] 2   Go Up
Jump to: