Hallo guten Morgen, möchte ein größeres Projekt mit dem PIC18F452 mit einem 40 MHz Quarz erstellen. Frage 1. Wie schnell ist der SPI Bus um 1 Byte an die Hardware/Schieberegister zu übertragen ? Werde warscheinlich 8 Schieberegister x 8 Bit hintereinander schalten. Frage 2. Der Chip besitzt 1536 Byte Ram. Habe in einer Zeitschrift gelesen, das jeder Befehl im Programmspeicher 2 Bytes( 1 Word ) belegt. Bezieht sich dieses auch auf das Ram? Frage 3. Den Parallel Slave Port mit seinen steuerleitungen CS,WR,RD nutze ich um Informationen aus einem externen Bus (verbunden über eine Schnittstelle zum PC) zu übertragen. Im PIC existiert eine Tabelle, die die Informationen aufnehme. Soll ich dies auch als Schieberegister Prinzip aufbauen oder soll ich dem PIC Adressen-Pin bereitstellen welche z.B. bei Adresse 0h00001000 auf die Tabelle an der Adresse 0h00001000 zugriff bekommt. Frage 3. kann ich in einem PIC ein Array anlegen? bis bald Siegfried
Hi, > möchte ein größeres Projekt mit dem PIC18F452 mit einem 40 MHz Quarz > erstellen. Bei den Fragen und "Neuling" im Betreff würde ich mit einem kleinem Projekt anfangen. zu 1) Kannst Du ausrechnen zu 2) Datasheet S. 1 (schon mal reingesehen?) On-Chip Program Memory: 32K Flash / 16384 Single Word Instructions On-Chip RAM : 1536 bytes Data EEPROM : 256 bytes zu 3) Habe die Frage nicht ganz verstanden. Wieso fragst Du uns, was Du machen sollst? zu 4) Sicherlich kannst Du im PIC ein Array anlegen. Kommt aber auf die Sprache an, in der Du programmieren willst. TD
Nur so als Anmerkung, es gibt keinen für den PIC brauchbaren 40MHz Quarz (das sind alles Obertonquarze, und die schwingen mit einem PIC auf der Grundwelle). Entweder einen 10MHz Quarz nehmen und über die config bits die 4x PLL einschalten oder ein 40MHz Quarzoszillator nehmen (braucht aber mehr Strom).
Hallo, @Dieter Werner ich bin auch der Auffassung, das man mit der Frequenz nicht übertreiben soll. 10MHz ist doch in Ordnung. @tastendrücker habe es mal "größeres Projekt" genannt. Bin aber gezwungen, mit einem PIC auf einem Board DE-Karte 16 Gleichstrommotoren ( PWM mit FET-Endstufe ) in beide Richtungen anzusteuern. das Array kommt in Verbindung mit dem Parallel Slave Port zu tragen. Hoffe das ich dieses jetzt richtig rüber bringe. z.B. Das Array kann 128 Bytes speichern. Version a: Wenn ich über Parallel Slave Port Daten empfange, kann ich dieses wie ein Schieberegister mit 128 Datenpakete ablaufen lassen. Ich sehe in dieser Version einen Nachteil, da ich immer 128 Bytes zu dem PIC übertragen muß um nur 1 Byte zu ändern. Version b: oder aus dem externen Bus 7 Adressenleitungen mit dem PIC verbinde und die Daten mit der jeweiligen Adresse je Byte in das Array schreibe. Sehe in Version b den Vorteil, das ich zuerst dem PIC an einem Port die gewünschte Array-Adresse mitteile, und dann 1 Byte für die Datenübertragung habe. Lasse mich aber gerne belehren, denn NEULING. bis bald Siegfried
>Entweder einen 10MHz Quarz nehmen und über die config bits die 4x PLL >einschalten oder ein 40MHz Quarzoszillator nehmen (braucht aber mehr >Strom). Laut den mir bekannten Datenblättern mag kein PIC mehr als 25MHz direkt als Taktquelle. Die 10MHz mit PLLx4 sind die geeignete Methode um auf 40MHz zu kommen, ansonsten betreibst Du die Device ausserhalb der Spezifikation. >Habe in einer Zeitschrift gelesen, das >jeder Befehl im Programmspeicher 2 Bytes( 1 Word ) belegt. Bezieht sich >dieses auch auf das Ram? Nein, Du schreibst nämlich keine Befehle ins RAM. Nur einzelne Bytes. Gruss, Edson
Hallo, ups... habe bemerkt, das ich im falschem Beitrag war. Habe folgendes vor. Mehrere PIC 18F452 über ein 8adrige Leitung parallel schalten. CLK,Data-In, Data-Out, Syn, rest GND. Die Übertragung ist seriellel. Habe mir folgendes vorgestellt: Übertragung des ersten Byts(Adresse), vergleiche Byte mit einem Byte des EEPROM, bei übereinstimmung ubernimmt der adressierte PIC das zweite Byte(Daten), usw. Der SPI des PIC ist bereits durch Hardware-Erweiterung belegt. Welche Möglichkeiten habe ich ? bis bald Siegfried
16 Motore vor/rück steuern... 16 H-Brücken Da würde ich doch notfalls 16 Stück 18F2431 nehmen. Aber das ist alles so sehr heavy, da würde ich nach H-Brücken mit I2C-Schnittstelle o.ä. suchen. 16 Motore mit einem uC und ellenlangen Schieberegistern, die auch noch PWM machen... viel Spaß !
hallo, bist du der Auffassung, das bei dem Projekt mit dem PIC18F452 die Rechenleistung nicht ausreicht? Habe das Datenblatt vom PIC18F2431 angesehen. Es sind reichlich PWM vorhanden. Was ich aber bei diesem vermisse, ist "Parallel Slave Port" Ist für mich einfacher einzubinden. Die I2C-Schnittstelle muß ich mal ansehen. bis bald Siegfried
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.