mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC Projekt (Neuling)


Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: tastendrücker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Meister Eder (edson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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

Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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ß !

Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.