PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geschwindigkeit I2C-EEPROM



Ruppi
02.10.2005, 10:18
Hallo,
für meine Schrittmotorsteuerung möchte ich gesamte Fräsprogramme auf einem Speicher ablegen, also eine Art Stack realisieren, von welchem immer der zuletzt abgelegte bearbeitet wird. Ein einzelner Satz eines Programmes besteht dabei aus verschiedenen Angaben wie z.B. Endpunkt, Radius, Geschwindigkeit u.a.
Im internen Speicher des ATMega32 lassen sich nur etwa 50 Befehle ablegen, was viel zu wenig ist. Nun die Frage: Welchen Speicher würdet ihr für einen solchen Zweck einsetzen? Ich habe mit I2C-EEPROM's expermimentiert, nur weiß ich nicht, ob hierbei durch das Abholen eines neuen Befehls vielleicht zu viel Zeit verloren geht und damit der Fräsvorgang gestört wird.

Vielen Dank im Voraus, Ruppi

tobimc
02.10.2005, 10:25
Hi!

Warum benutzt du kein SRAM?
Wenn du es parallel ansteuerst ist das so schnell wie kein anderer Speicher.

I²C kann man denk ich nicht in zeitkritischen Applikationen einsetzen, weil er seriell ist. Am schnellstern ist immernoch der parallele Bus.

Machst du zufällig CNC Fräsen?

VLG Tobi

Ruppi
02.10.2005, 11:01
Ja, ich möchte das für meine kleine CNC Fräse nutzen. Das Problem bei SRAM ist, dass sehr viele Pins verbraucht werden und ich brauche schon mindestens 10 für die Ansteuerung der Leistungskarten und Relais.

engineer
05.10.2005, 18:50
Ich habe einen billigen Temperatursensor von DALLAS mit integriertem EEPROM in der Mache, der sowohl über I2C auslesbar, als auch beschreibbar ist. Ich gehe da gant langsam mit 100Byte/s rein. Wie schnell der kann müsste sich aus dem DB entnehmen lassen.

-> MAXIM DALLAS 2610

uwegw
05.10.2005, 18:57
kannst du grob abschätzen, wieviel zeit zwischen dem laden von zwei befehlen liegen wird? der i2c bus kann theoretisch 100 kbit/s und bei manchen ICs auch 400 kbit/s übertragen... davon muss man aber noch was für die adressierung des speichers abziehen, und außerdem kann dein haupcontroller ja schlecht ständig daten übertragen, wenn er noch die fräse steuern muss...

Ruppi
05.10.2005, 19:56
Die Zeit zum Laden zweier Befehle kann ich nicht abschätzen, bisher habe ich das über RS232 gemacht. Dabei ergab sich das Problem, dass der Fräsvorgang beim Empfang gestört wurde (bei 115200Baud). Die Eeproms betreibe ich mit 400kHz, sind also schon mal um einiges schneller als RS232. Eine einzelne Befehlskette besteht aus 40Byte, die Geschwindigkeit lässt sich also einfach ausrechnen. Ich habe nur gehofft, dass das Abholen einer Befehlskette aus dem externen Speicher während des Fräsvorgangs geschehen könnte. Bei RS232 ging das, allerdings fehlerfrei nur bei langsamen Fräsgeschwindigkeiten.