Forum: Mikrocontroller und Digitale Elektronik Remap Cortex M


von Katharina (Gast)


Lesenswert?

Hey, ich lese immer wieder von Remap in Bezug auf Mikrocontroller. 
Leider werde ich bei google immer nur auf Seiten geleitet, die 4 GB 
Speicher bei 32 bit Betriebssystemen betreiben wollen.

Als Beispiel mal folgendes:
http://en.radzio.dxp.pl/stm32vldiscovery/lesson5,blinking,with,timer,hardware.html

"On PC8 and PC9 timer outputs are available only after remap. So we need 
do full remap of TIM3 outputs."

Vielen Dank :)

von crawler (Gast)


Lesenswert?

Gib die Worte remap und cortex bei gurgel ein.

von AVerr (Gast)


Lesenswert?

Also, mal am Beispiel eines STM32F103C8 ( Cortex M4 ):
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00161566.pdf

Auf Seite 28 beginnt die Pinout Tabelle.
Unter der Spalte "Alternate functions" sieht man, dass die Channels 1-4 
von Timer 3 standardmäßig auf den Pins PA6, PA7, PB0, PB1 liegen.
Aber bei den Pins PC6 bis PC9 können sie auch liegen, und zwar mittels 
der Remap Alternate Function.

Letztendlich werden damit Funktionen auf andere Pins verschoben. Das 
kann das Layout erleichtern, oder man kann somit 2 Peripherien benutzen 
die sonst auf den gleichen Pins liegen würden.

von Katharina (Gast)


Lesenswert?

Oh, danke schonmal. Kann jeder belibige Pin dafür benutzt werden?

von Dr. Sommer (Gast)


Lesenswert?

Der STM32F103C8 ist aber ein Cortex-M3...

Katharina schrieb:
> Oh, danke schonmal. Kann jeder belibige Pin dafür benutzt werden?
Das komplette Remapping, ob es existiert und wie viel es kann hängt vom 
konkreten Controller ab und hat mit dem Cortex-kern wenig zu tun.
Bei den STM32 heißt das zB nicht "remap" sondern "Alternate functions", 
und dort sind pro Alternate Function (wie Timer oder UART) meist nur 2-3 
verschiedene Pins verfügbar. Näheres steht, wer hätte es gedacht, im 
Datenblatt.

von Kein Name (Gast)


Lesenswert?

P.S. Manchmal kann man auch in der Software "remappen". Z.B. anderen 
Timer benutzen.

von AVerr (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Der STM32F103C8 ist aber ein Cortex-M3...

Vollkommen richtig. Ich dachte auch, dass ich M3 geschrieben hätte :O


Wie immer gilt halt, Datenblatt lesen. Je nach Controller(-Serie) kann 
es andere Regeln zum Remapping geben ( falls es überhaupt vorhanden ist 
).

Wenn es bei vorhin erwähntem STM32F103C8 mit allen Pins möglich wäre, 
müsste es im Datenblatt nicht diese Tabelle geben die ich im letzten 
Post erwähnt habe. Dort sind alle möglichen Kombinationen ( und das sind 
nur ein paar ) gelistet.

von test (Gast)


Lesenswert?

Bei deinem Biespiel-Cortex-M3 geht as wirklich nur in den Grenzen wie im 
Datenblatt dargestellt.
Schau nochmal zusätzlich im Reference-Manual im Kapitel GPIO und dort im 
Abschnitt AFIO (Alternate Function-IO). Dort stehen auch die Register wo 
man die jeweiligen Remappings einstellt.

Btw.: Kennt jemand eigentlich Cortex-M3 basierte MCUs mit vollständig 
frei konfigurierbarer.. ähh Busmatrix? (Ich hoffe das ist der richtige 
Begriff).

von Katharina (Gast)


Lesenswert?

Ich wusste ehrlich gesagt nicht, dass Remap = Alternare Functions 
entspricht und ich hatte auch das Reference Manual freitext nach remap 
durchsucht, aber leider keine zufriedenstellenden Beiträge gefunden. 
Alternate Function ist mir scho ein Begriff.

Danke nochmals

von Jim M. (turboj)


Lesenswert?

test schrieb:
> Btw.: Kennt jemand eigentlich Cortex-M3 basierte MCUs mit vollständig
> frei konfigurierbarer.. ähh Busmatrix?

Die Precision32 Serie von Silabs.com hat Crossbars, die sowas ähnliches 
können. Völlig frei konfigurierbar sind aber auch die nicht - die Anzahl 
der Möglichkeiten ist so groß, dass man besser das dazugehörige Programm 
zum Konfigurieren benutzt.

von Bernardo F. (bernardo)


Lesenswert?

Hallo Katharina,

die Begrifflichkeiten und deren Unterschiede für remapping und alternate 
function gehen z.B. aus [1] hervor:

a) alternate function (Kap. 9.1.4 und 9.1.9):
Bei Aktivierung der alternate function an einem Pin wird die zugeordnete 
on-chip Peripherie (z.B. CAN, USART, ADC, ...) auf den Pin geschaltet 
und dieser steht dann nicht mehr als GPIO zur Verfügung.

b) remapping, siehe [1] (Kap. 9.1.5):
Es wird eine alternate function auf einen anderen als den dafür 
vorgesehenen default Pin gelegt. ("To optimize the number of peripheral 
I/O functions for different device packages, it is possible to remap 
some alternate functions to some other pins.")

Praktisch funktioniert das so, dass man zunächst die gewünschte on-chip 
Peripherie konfigurieren und (die zugehörige Clock) aktivieren muss. 
Dann wird über eines der port configuration register (GPIOx_CRL bzw. 
GPIOx_CRH) der zugehörigen Pin in alternate function mode schaltet 
(Ausnahmen und Details siehe Kap. 9.1.11).

Möchtet man zusätzlich ein remapping durchführen -d.h. also die 
alternate function auch noch auf einen anderen Pin legen- muss noch das 
AF remap configuration register (AFIO_MAPR) programmiert werden. Welche 
Verlegungen möglich sind, findet man in Kap. 9.3 oder wie bereits 
erwähnt in Kurzform in den pin descriptions des verwendeten Prozessors.

Viele Grüße
bernhardo

[1] ST Microelectronics: STM32F101xx, STM32F102xx, STM32F103xx, 
STM32F105xx and STM32F107xx advanced ARM-based 32-bit MCUs, Reference 
Manual RM0008. Genf 2011 (13902). - Firmenschrift
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/reference_manual/CD00171190.pdf

von MCUA (Gast)


Lesenswert?

>> Btw.: Kennt jemand eigentlich Cortex-M3 basierte MCUs mit vollständig
>> frei konfigurierbarer.. ähh Busmatrix?
>Die Precision32 Serie von Silabs
Ja, aber kaufen kann man die wohl weniger.

PIC24 hat PPS, sozusagen Matrix.

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
Noch kein Account? Hier anmelden.