Microchip PIC24FJ128GA310 und PPS Mapping

Gast #3619413
Lesenswert?
• ▲
▼
Das PIC24FJ128GA310 Datenblatt besagt doch ganz klar das
Man ein Output z.B. SPI (SDO) auch an mehrere Pins Mappen darf.

Ich habe zwei Chips (jeder SPI) die ich aufgrund meines Layouts
am Liebsten an zwei verschiedenen stellen /Pins an den PIC24 
anschliessen
möchte. Ist es ok hierfür mit dem Mapping einfach zwei Pins für SDO zu 
vergeben?

http://ww1.microchip.com/downloads/en/DeviceDoc/30009996g.pdf

PIC24FJ128GA310 FAMILY
DS30009996G-page 176

11.4.3.3 Mapping Limitations
The control schema of the Peripheral Pin Select is
extremely flexible. Other than systematic blocks that
prevent signal contention, caused by two physical pins
being configured as the same functional input or two
functional outputs configured as the same pin, there
are no hardware enforced lock outs. The flexibility
extends to the point of allowing a single input to drive
multiple peripherals or a single functional output to
drive multiple output pins
#3619737
Lesenswert?
• ▲
▼
Hi,

Simon schrieb:
> Ist es ok hierfür mit dem Mapping einfach zwei Pins für SDO zu
> vergeben?

Da es vom Datenblatt AUSDRÜCKLICH so als Konfigurationsmöglichkeit 
hervorgehoben wird und SDO zu den Signalen gehört die per PPS geroutet 
werden können wüsste ich nichts was dagegen spricht!

Zumal es ja keine "irgenwie funktionierende" Option ist die sich 
jederzeit durch eine Hardwarerevision im Verhalten ändern kann sondern 
eine explizit beabsichtigte Option wo vom Halbleiterhersteller sogar 
Schutzmaßnahmen bei konkurierenden Signalpegeln vorgesehen sind. (Falls 
Input, also hier eh irrelevant)

Einzig das Errata Sheet würde ich noch einmal zu rate ziehen, nicht das 
dort noch eine Einschränkung wegen Hardwarefehler des µC aufgeführt ist. 
Aus dem Kopf wüsste ich aber in diesem Punkt jetzt von nichts.

Gruß
Carsten
#3619738
Lesenswert?
• ▲
▼
Ich glaube, "multiple" bezieht sich hier darauf, dass mehrere Pins 
gewählt werden können. Aber soviel ich weiß immer nur einer zu einer 
bestimmten Zeit.

Es gibt ja auch nur ein Register dem man einen Wert zuordnen kann.
Ich sehe keine Möglichkeit zwei Pins zuzuordnen!?
z.B.
1
        //SDI1 input mapping to RP8/RB8
2
        RPINR20bits.SDI1R = 8;
3
        //RP7/RB7 to output Function 7 = SDO1
4
        RPOR3bits.RP7R = 7;
5
        //RP6/RB6 to output Function 8 = SCK1OUT
6
        RPOR3bits.RP6R = 8;

In Bezug auf dein Problem - mach doch den zweiten Pin über einen Jumper 
verfügbar.

Gruß
#3619768
Lesenswert?
• ▲
▼
Also für mich kam es bisher immer so vor:
- Man kann pro RPn Pin einen Output eines Moduls wählen -> Man kann RP1 
und RP2 den gleichen Output wählen, z.B. SDO
- Man kann pro Input eines Moduls einen RPIn Pin wählen -> Man kann für 
SDI und Komparator-Input den gleichen Pin wählen, z.B. RPI3. Inwiefern 
das wirklich sinnvoll und erlaubt ist, weiß ich nicht. Aber ansich 
sollte es gehen, geht ja auch bei Logikgattern, dass ein Ausgang auf 
mehrere Eingänge gelegt werden darf/kann.

Also sollte es gehen, dass du SDO & SCLK auf jeweils 2 verschiedene Pins 
legen kannst. Bei SDI sehe ich da aber keine Möglichkeit. Die musst du 
wohl zusammen legen. Was auch ginge, du nimmst für den einen Slave SPI1 
und für den anderen SPI2, was aber softwaretechnisch "komplexer" ist. 
Kannst dir dafür aber auch ggf die CS Leitungen sparen, wenn pro 
SPI-Modul nur der eine Slave zusehen ist.
Gast #3620109
Lesenswert?
• ▲
▼
Aus der Registerbeschreibung im DS ist doch eindeutig beschrieben,
was man zuordnen kann und was nicht. Für jeden entspr. ModulOut und 
In-Pin gibt es ein Register.
(I2C wird meistens nicht gehen, auch Portpins direkt gehen nicht, dafür 
viele SPIs, UARTs, Timer)

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.