hi leute, ich bräuchte wieder mal eure hilfe. ich suche einen speicher den ich über meinen µC (pic16f84a) ansprechen kann, auf dem ich ca. 50 Nummernkombinationen mit je 15 zahlen abspeichern (bei bedarf auch ändern) und über den µC wieder abrufen kann. ich hoffe ihr könnt mir weiterhelfen mfg stani
Hallo .. Zwar kenne ich PICs nicht sonderlich, aber es sollte doch auch in der Familie eine Version geben, die 400 Byte (eigentlich weniger, aber wenn man pro Kombination 4 Bit als "Status" nutzt, geht's halt auf ne runde Zahl) als EEPROM zur Verfügung stellt.. Gruss, Tim
Falls du mit "15 Zahlen" 15 Dezimalziffern (Textzeichen) meinst, dann benötigst du 50 x 15 Bytes = 750 Bytes. Im Packed-BCD-Format reicht die Hälfte. Wie wäre es mit einem seriellen EEPROM 24C08 (1024 Bytes)? ...
hat der pic kein internes eeprom? wenn nicht gibts sowas überall in massen zu kaufen, für ca nen euro. (512 bytes sollten genügen - Du kannst ja pro byte zwei ziffern speichern wenn du das byte jeweils teilst (unteren/oberen 4 bit) ansonsten nimmst du 1k damit kommst du prima so hin.
danke für eure raschen antworten! also mein pic hat nur ein eeprom mit 64 byte. (das reicht dann doch nicht ganz ;)) @ hannes es geht hier nicht um dezimalzahlen, sondern um 15 stellige zahlen. und 50 davon sollen ungefähr gespeichert werden können. mfg stani
@HanneS,
hallo zuerst..
Es geht hier NICHT um dezimalzahlen, sondern AUSSCHLIESSLICH um
15stellige Zahlen!
@didi court stani
Kannst Du auch für mich nochmal den Unterschied
>..
es geht hier nicht um dezimalzahlen, sondern um 15 stellige zahlen.
/>..
erklären, bitte.
15stellige Zahlen ist doch irgentwas mit quadrillion oder so?
1 mit 14 Nullen 1.000.000.000.000.00 . Davon nun 50Stk?
Das ist doch dann aber auch automatisch eine Dezimalzahl, hmm
Oder meinst Du eine 15bit Zahl (signed)?
Gruß
Axel
Moin moin.. Jede der 15 Stellen der 50 zu speichernden Zahlen, egal wo das Komma steht, besteht aus einer Menge von {0,1,2,3,4,5,6,7,8,9} ? Wenn ja: Jede der 15 Stellen sind 4 Bit = 16 Möglichkeiten, von denen uns aber 10 Möglichkeiten reichen -> Ergibt 375 Byte Gesamtspeicher für angenommene 50 Werte. Die Position Kommastelle (falls überhaupt) lässt sich ebenfalls durch theoretische 4 Bit (16 Positionen, was auch wieder zuviel, also ausreichend, wäre) .. -> Ergibt also 400 Byte Gesamtspeicher für angenommene 50 Werte. Wenn nein: Bitte genauer bzw. weniger missverständlich erklären, scheinbar hab nicht nur ich so gedacht, wie die Beiträge zeigen g Gruss, Tim
Gut also 15 Ziffern mal 50 ohne Bitschiebereien sind 750 Byte an Platz. Also nen billiges EEProm a 1K*8 für einige Cent.(Gibt auch größere fürs gleiche Geld weil die 1K*8 schon etwas ausser Mode sind) Kannst dir noch überlegen ob I2C oder Seriell. Ach ja: Wenn de 16 Ziffern pro Eintrag nimmst dann kannste besser Rechnen (2°n) Platz haste ja genug.
Moinmoin... > @ hannes > es geht hier nicht um dezimalzahlen, sondern um 15 stellige zahlen. > und 50 davon sollen ungefähr gespeichert werden können. Hmmm... Ich spekulierte auf ASCII- "Textzeichen" (die auch Ziffern sein können und damit Zahlen darstellen können), die ja wohl den höchsten Verbrauch an Speicherplatz berücksichtigen und daher die meiste Reserve bieten: > Falls du mit "15 Zahlen" 15 Dezimalziffern (Textzeichen) meinst, > dann benötigst du 50 x 15 Bytes = 750 Bytes. Im Packed-BCD-Format > reicht die Hälfte. Nunja, du wirst schon wissen was du vor hast... Bit- & Bytebruch... ...HanneS...
hallo nochmal! sorry, dass ich hier scheinbar ein wenig verzweiflung in die ganze community bringe! ich geb jetzt einfach mal ein paar beispiele an, wie sich diese "50 nummernkombinationen à 15 zahlen/ziffern darstellen sollen: ----1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 01: 0-8-8-9-7-4-8-3-4--5--7--7--2--3--3 02: 5-2-4-0-7-8-9-5-6--5--4--4--1--2--7 03: 1-4-5-6-7-7-8-2-3--4--7--8--9--3--7 .. .. 50: 8-8-4-1-5-6-7-9-7--8--9--5--2--4--1 ich, hoff ich hab das chaos jetzt nicht ganz perfekt gemacht ;) mfg
Also sind es 50 Texte, die nur aus Ziffern bestehen. Du willst damit also nicht rechnen, sondern sie als Text interpretieren, z.B. als Passwort oder Ähnliches. Mit wenig Rechenaufwand benötigst du für jedes Zeichen ein Byte, bei 64 Texten zu 16 Zeichen (weil "runde Zahlen", binär gesehen) reicht ein serieller 1024x8-EEPROM für wenige Cent. Wenn du mit etwas Rechenaufwand deine "Nummern" auf 4 Bit reduzierst und jeweils 2 davon in ein Byte legst, dann kommst du mit einem seriellen EEPROM 512x8 aus. Das wird aber auch nicht billiger, da sich diese kleinen EEPs im Preis nix nehmen. Willst du allerdings mit diesen Nummern "rechnen", so wandle diese in Binärzahlen um, damit rechnet es sich leichter. 64 Bit (8 Bytes) pro Zahl dürften locker ausreichen. Da nur du weißt, was du damit machen möchtest, kannst auch nur du wissen, wie man die "Nummern" vorteilhaft speichert. ...
Mit 56 Bit kommste auf 72.057.594.037.927.936, dürfte also reichen. 7x50 = 350 Byte + Rechenzeit zum dekodieren. Ich denke, die Methode mit Packed BCD is am sinnvollsten.
Irgendwie klassisch ^^ Fast alle meinen die selbe Vorgehensweise, inklusive des Fragestellers, und keiner merkt es ^^ Dennoch, um die Frage zu beantworten: Such dir einfach einen aus: http://www.elektronik-kompendium.de/public/borchers/i2c/datasheets.htm#EEPROM Denn schliesslich war deine ursprüngliche Frage ja nicht, wie du effektiv und damit platzsparend Daten speichern kannst, sondern "...ich suche einen speicher den ich über meinen µC (pic16f84a) ansprechen kann..." Bei der Auswahl kannst du aber bedenkenlos die hier gemachten Vorschläge aufgreifen ;) Gruss, Tim
Richtig... Deshalb empfehle ich jetzt provokativ sie Secure-Digitalcard (SD-Card). Denn den seriellen EEPROM haben wir inzwischen alle schonmal genannt. ...
Klar. Der Aufwand fürs Interface ist egal. Da kann ich auch mal "provokativ" gleich ne Festplatte empfehlen. Ist superschnell und reicht für Ewig. :D
Manch einer behält sowas auch im Kopf oder nimmt nen Stift und nen Blatt Papier. :)
Hm... wo wir Grad bei Provokativ sind: Man kann auch den PIC an den PC anshcleissen udn dort die nummern speichern ;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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.