Forum: Mikrocontroller und Digitale Elektronik atmega328-PU mit Device signature = 0x1e950f


von Tom M. (tomm) Benutzerseite


Lesenswert?

Hi Leute

Ich hab mir im Web einen Arduino Klon besorgt (das BTE RoBoT MCB), 
kostet gerade mal die Hälfte des Originals, funzt aber soweit prima.

Was mir aufgefallen ist: Anstatt des FTDI ist ein Prolific 2303 verbaut, 
und auf der Platine sitzt ein atmega328, kein ~328P.

Der Chip liefert allerdings wider erwarten die Device signature = 
0x1e950f, die eigentlich einem 328P vorbehalten ist, der 328er ohne 
Picopower sollte sich mit 0x1e9514 ankündigen.

Eigenartig. Falsch bedruckter Chip oder Plagiat?

von Jürgen S. (jurs)


Lesenswert?

Tom M. schrieb:
> Was mir aufgefallen ist: Anstatt des FTDI ist ein Prolific 2303 verbaut,
> und auf der Platine sitzt ein atmega328, kein ~328P.

Die Chinesen bauen bei den Arduino-Klones fast immer billigere USB-TTL 
Chips ein als den schweineteuren FTDI-Chip, den die Italiener sich für 
das Referenzdesign des Boards ausgedacht haben. Dann läuft der 
USB-TTL-Teil zwar mit anderen Treibern, aber zumindest unter Linux und 
Windows sollte es keine Probleme geben. Und die Boards lassen sich 
billiger fertigen und verkaufen.

> Der Chip liefert allerdings wider erwarten die Device signature =
> 0x1e950f, die eigentlich einem 328P vorbehalten ist, der 328er ohne
> Picopower sollte sich mit 0x1e9514 ankündigen.
>
> Eigenartig. Falsch bedruckter Chip oder Plagiat?

Wie ist denn Dein Chip bedruckt?
Mit dieser Kriegsbemalung auf dem Chip:
http://www.dipmicro.com/img/1/BTE-RCB2011-1.jpg

Das wäre auf jeden Fall nicht die originale Chipbeschriftung und wenn Du 
so einen Chip mit nachträglicher Sonderlackierung hast, würde ich eher 
der Device Signature glauben als der nicht-originalen Bemalung.

Oder meinst Du eine originale AVR Atmega-Beschriftung, in der das P 
fehlt?

Ich habe mehrere Arduino-Klone aus China, die sind alle mit 
Atmega328P-PU beschriftet. Aber nicht mit 
Robot-Control-Sonderlackierung, sondern Originalbeschriftung.

von F. F. (foldi)


Lesenswert?

... wenn er doch dann so viel billiger ist ...
Auf einem Arduino hab ich einen Zif gebaut und da mach ich auch die 328 
rein (sind 50Cent günstiger, mit ihren 2 Euro.) und auch 168ziger. 
Gerade so viel, wie ich Speicher brauch. Laufen alle auf dem Uno.

Gruß
Frank

von Tom M. (Gast)


Lesenswert?

Jürgen S. schrieb:
> Wie ist denn Dein Chip bedruckt?
> Mit dieser Kriegsbemalung auf dem Chip:
> http://www.dipmicro.com/img/1/BTE-RCB2011-1.jpg

Nein, der Chip sieht ganz "normal" aus; atmel logo und Typenbezeichnung 
sind drauf gedruckt. Äusserlich sehe ich da keinen Unterschied zu den 
anderen megas, die ich hier so rumliegen habe.

> Oder meinst Du eine originale AVR Atmega-Beschriftung, in der das P
> fehlt?

Genau so sieht's für mich aus.

von Peter D. (peda)


Lesenswert?

Wenns Dich stört, nimm einen Stift und male ein P drauf.


Peter

von Tom M. (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Wenns Dich stört, nimm einen Stift und male ein P drauf.

Da ist leider kein Platz. ;)

Nee ist schon okay, wollte nur kurz hören, ob jmd Ähnliches erlebt hat 
(falsch bedruckter atmega). Funktionieren tut das Teil jedenfalls und es 
ist mir für Bastelzwecke egal, ob ich ein Modell "mit Picopower" habe 
oder nicht.

von Jürgen S. (jurs)


Lesenswert?

Tom M. schrieb:
> Nee ist schon okay, wollte nur kurz hören, ob jmd Ähnliches erlebt hat
> (falsch bedruckter atmega). Funktionieren tut das Teil jedenfalls und es
> ist mir für Bastelzwecke egal, ob ich ein Modell "mit Picopower" habe
> oder nicht.

Ich glaube, ich habe was gefunden, wie man die Pico-Power 328er von den 
normalen unterscheiden kann, falls Du eventuell von einer gefälschten 
Signatur-ID ausgehst (keine Ahnung, ob es das gibt).

Und zwar sollte die Unterscheidung über das eingebaute "geheime 
Thermometer" der P-Chips funktionieren. Das "geheime Thermometer" haben 
wohl nur die 328P, aber nicht die 328er ohne das P.

Lade Dir mal folgenden Arduino-Sketch auf Dein Board:

[code]

long readTemp() {
  long result;
  // Read temperature sensor against 1.1V reference
  ADMUX = _BV(REFS1) | _BV(REFS0) | _BV(MUX3);
  delay(2); // Wait for Vref to settle
  ADCSRA |= _BV(ADSC); // Convert
  while (bit_is_set(ADCSRA,ADSC));
  result = ADCL;
  result |= ADCH<<8;
  result = (result - 125) * 1075;
  return result;
}

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println( readTemp(), DEC );
  delay(1000);
}

[/code}

Auf einem Atmega168P oder Atmega328P sollte dann ein 
temperaturabhängiger Wert ausgegeben werden. Auf einem Controller ohne 
das P (Atmega168 oder Atmega328) funktioniert das Thermometer nicht und 
Du bekommst immer denselben konstanten Wert angezeigt. Außer diesem 
Thermometer-Gimmik fällt mir momentan nichts ein, wie man die Chips 
sonst softwaretechnisch unterscheiden könnte.

von Spess53 (Gast)


Lesenswert?

Hi

>Und zwar sollte die Unterscheidung über das eingebaute "geheime
>Thermometer" der P-Chips funktionieren. Das "geheime Thermometer" haben
>wohl nur die 328P, aber nicht die 328er ohne das P.

Im nicht geheimen Datenblatt wird in der Beziehung nicht zwischen 
ATMega328 und 328P unterschieden.

MfG Spess

von Jürgen S. (jurs)


Lesenswert?

Spess53 schrieb:
> Im nicht geheimen Datenblatt wird in der Beziehung nicht zwischen
> ATMega328 und 328P unterschieden.

In welchem "nicht geheimen Datenblatt" wird der eingebaute Thermosensor 
des Controllers erwähnt und nicht zwischen Atmega328 und Atmega328P 
unterschieden?

Ich stehe da gerade auf dem Schlauch.
Hast Du mal einen Link?

von Spess53 (Gast)


Lesenswert?

Hi

>Hast Du mal einen Link?

Klar:

http://www.atmel.com/Images/doc8271.pdf

MfG Spess

von Jürgen S. (jurs)


Lesenswert?

Spess53 schrieb:
> http://www.atmel.com/Images/doc8271.pdf

Alles klar, Du hast Recht!
Der Atmega328 hat laut Datenblatt denselben Temperatursensor wie der 
Atmega328p.

Die von mir vorgeschlagene Unterscheidung per Code würde nur zwischen 
Atmega168P/168A (mit Temperatursensor) und Atmega168 (ohne 
Temperatursensor) funktionieren, nicht aber zur Unterscheidung von 
328ern mit und ohne "P".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.