mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC Frage


Autor: Petah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich muss mich bald an eine arbeit ran machen. nun weiss ich nicht ob
das überhaupt machbar ist mit einem pic (ich programmiere
ausschliesslich assembler). es soll ein hex file (das hex file kann
sich ntürlich verändern) auf einen speziellen port ausgegeben werden.
der pic soll das hexfile an diese schnittstelle schicken nur hab ich
keine plan wie ich das machen soll.
wie kann ich mit dem pic ein solches hexfile übermitteln?

gruss

Autor: Frank Linde (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kenne mich mit PICs nicht aus, aber das geht damit sicherlich. Wie soll
das hex-file denn in den PIC kommen und in welcher Form soll es
ausgegeben werden (8 Bit parallel, 4 Bit parallel, seriell ...)? Wenn
es  erstmal im PIC drin ist und 8 bit parallel ausgegeben werden soll,
ist die Sache recht einfach:

1. Zeiger auf Tabellenanfang;
2. Tabellen-Byte einlesen und auf Port schreiben;
3. Tabellenende erreicht?
   ja: Programmende
   nein: Tabellenzeiger inkrementieren und Sprung nach 2.

Etwas umfangreicher würde es, wenn bestimmte Zeitanforderungen
einzuhalten wären.

Gruß, Frank

Autor: Wolfram Hildebrandt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist prinzipiell kein Problem.
Du kannst den HexFile fest in den Programmspeicher brennen.
Den kann man dann per table read auslesen und ausgeben.
Die Ausgabe kann eigentlich erfolgen wie du willst. Z.B. einfach an
einen 8 Bit Port ausgeben, wie Frank Linde es vorschlägt, oder an
Rs232, oder wie auch immer.

Was willst du denn genau machen? Nur festen einen HexFile ausgeben? Was
hat das für einen Sinn? Soll der HExFile immer fest im PIC stehen, oder
soll sich das während des Betriebs ändern?
Hast du irgendwelche Vorgaben.
Die Aufgabenstellung sollte auch sicher helfen.




mfg   Wolfram Hildebrandt

Autor: Petah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo, also erstmal danke für die antworten.
das hexfile (ist eigentlich ein pof file, configuration file fürs fpga)
ist natürlich variabel. die daten sollen dann seriell über
lichtwellenleiter auf ein board geschickt werden welches die
empfangenen signale auswertet und diese für JTAG aufteilt (clock, tdi
und tdo). habt ihr erfahrung mit fpgas?
ich frage mich einfach wie ich dem pic das hex file 'beibringe'...
fest einbrennen kann ich es ja nicht da es eben ändern kann.

das projekt sollte eigentlich so eine art direct programmer für fpgas
sein.

Autor: Andreas Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Über den USART kannst Du beliebige Daten (HEX-Files) in den PIC hinein
und auch wieder hinausbefördern. Die Frage ist, wie gross das File sein
wird und ob das interne RAM des PIC ausreicht oder ob externes RAM
benutzt werden muss.

Es gibt auch PIC's mit 2 USART's. Dann spart man sich die Arbeit
einer Softwareimplementation bzw. das Umschalten nur eines USART's.

Andreas

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie groß soll das File denn werden können? Ich benutze zum PIC16F84
extern ein FRAM für den Setup einer Gerätesteuerung und bilde den SPI
Port nach. Wenn Du mit einem Lichtleiter übertragen willst, dann würde
ich nicht die langsame RS232 Schnittstelle nehmen sondern den
Parallelport. Du mußt doch sowieso Parallel/seriel Wandler mit
Taktreproduktion einsetzen.
Warum schickst du das File nicht direkt ans FPGA und integrierst dort
eine Empfangslogik (möglicherweise direkt im FPGA in Verbindung mit der
externen S/P/T Logik)?

MfG  Manfred Glahe

Autor: Petah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also, habe mich ein bisschen weiter erkundigt!
die zu programmierenden files sind im bereich zwischen 200-500kb. ich
denke deshalb ein externes ram wird benötigt.
nun frage ich mich wie denn das ram mit dem hexfile am besten geladen
wird?! der datenaustausch zwischen ram und pic wird über usart
stattfinden. habt ihr erfahrungen mit externem ram?! könntet ihr mir
welches empfehlen?

danke & gruss
peter

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.