Domanda:
Velocità GPIO STM32
Amin
2018-10-15 03:15:49 UTC
view on stackexchange narkive permalink

Perché abbiamo bisogno di impostare la velocità per i pin di uscita GPIO in STM32?

Solo per ricordare:

Per i pin di ingresso, il Manuale di riferimento di STM32F4 a pagina 278 dice che:

I dati presenti sul pin I / O vengono campionati nel registro dati in ingresso ogni ciclo di clock AHB1.

Quindi, per i pin GPIO quando vengono utilizzati come INPUT, la velocità è costante ed è uguale al clock AHB1.

Ma se sono configurati come Output, dobbiamo impostare la loro velocità, quindi la domanda è cosa significa per un pin avere diverse modalità di velocità quando è configurato come Output?

Benvenuto in EE.SE.
Ciao Amin!Si prega di consultare [questa] (https://electronics.stackexchange.com/q/156930/38335) domanda correlata.
Due risposte:
duskwuff -inactive-
2018-10-15 03:41:27 UTC
view on stackexchange narkive permalink

Il manuale STM32F4-Refrence a pagina 278 dice che "I dati presenti sul pin I / O vengono campionati nel registro dei dati di ingresso ogni ciclo di clock AHB1"

Questo testo si riferisce ai pin di input, non agli output.

Il registro della velocità di uscita influisce solo sui pin configurati come uscite.Controlla la velocità di variazione (forza motrice) utilizzata per l'output.L'uso di una velocità eccessivamente alta può causare squilli ed EMI sulle uscite, quindi è importante utilizzare la velocità minima richiesta per la tua applicazione.

Anche gli input.È garantito che la modifica del pin di ingresso da parte del mondo esterno si propagherà in modo quiche quanto la velocità del bus.
@P__J__ Sono confuso su quello che stai cercando di dire qui.Le impostazioni della velocità GPIO influiscono sulla velocità di risposta, non sulla frequenza di clock.Non hanno alcun effetto sui GPIO che non sono configurati come output.
DAS
2018-10-15 03:32:56 UTC
view on stackexchange narkive permalink

Quasi tutte le CPU o MPU molto veloci hanno velocità dei pin bus o GPIO che richiedono resistori da 10 ohm a 27 ohm in serie all'estremità della traccia per evitare squilli e cross talk adiacenti della traccia.Se i tuoi dati GPIO o il controllo IO sono irregolari, forse devi rallentare la velocità AHB1 o inserire quei resistori che ho citato.

Se il pin è un ingresso, la resistenza è sul pin.Se il pin è un'uscita, i resistori si trovano sul pin del dispositivo da pilotare.I resistori di smorzamento o di adattamento dell'impedenza potrebbero consentirti di mantenere la velocità AHB1 corrente.Se i dati sono ancora danneggiati, DEVI rallentare la velocità AHB1 o inserire alcuni nops o stati di attesa per ridurre la velocità IO

Abbastanza sicuro che tutto ciò che può essere realizzato cambiando l'orologio del bus può essere fatto anche inserendo stati di attesa ... quindi affermare "DEVI rallentare l'AHB1" non è accurato.
@Benvoight.L'ho aggiunto alla mia risposta.
L'intera linea di pensiero è sbagliata.Non ha nulla a che fare con la velocità dell'autobus, ma piuttosto con la velocità di variazione del conducente.E le impostazioni di velocità a cui si riferisce la domanda sono bit di controllo della velocità di variazione di quei driver, non resistori esterni.
@ChrisStratton.Ok, quindi ho perso il punto dell'OP, ma i resistori in serie sono ancora utilizzati su tutte le schede madri con velocità del bus molto elevate, a volte su entrambe le estremità.Anche con il controllo della velocità di risposta, i resistori smorzano il suono e in una certa misura agiscono come dispositivi di adattamento dell'impedenza in modo che sia possibile una velocità ottimale senza corruzione.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...