CE # pin pulsado bajo por ARM cuando está configurado

1

Tengo un STM32F2 que tiene un "Controlador de memoria estático flexible" (FSMC). Por alguna razón, cuando configuro el pin de activación de chip (CE #) de mi PSRAM como un pin FSMC, el STM32 jalará el pin bajo (de manera predeterminada, el pin es alto con un pull-up externo).

La razón por la que pregunto es porque este pulso CE # puede explicar por qué el la primera operación de lectura / escritura falla en mi PSRAM.

¿Por qué hay tal pulso? ¿Tiene STM documentación detallada para su Controlador de memoria estático flexible que explica este comportamiento?

    
pregunta Randomblue

2 respuestas

3

Parece perfectamente normal que \ $ \ mathrm {\ overline {CE}} \ $ low para un controlador de memoria externo. La memoria externa ignorará todas las señales si \ $ \ mathrm {\ overline {CE}} \ $ es alto. \ $ \ mathrm {\ overline {CE}} \ $ a menudo se combina lógicamente con la salida de un decodificador de dirección parcial para evitar que varios dispositivos accedan simultáneamente al databus.

Es probable que no tenga conflictos de pin con GPIO siempre y cuando no cambie la función del pin de FSMC a GPIO.

    
respondido por el stevenvh
1

Creo que esto podría estar causando tu problema, deberías poder hacer que CE comience alto al configurar el pin.
Esto parece que podría ser un pequeño problema de silicio, pero obtener información de ST probablemente será difícil (solo tuve un problema similar con SPI SS en un STM32F1, pero la documentación es muy engañosa, el problema ha sido consultado en la Los foros de ST durante ~ 2 años y ST aún no se han comentado ...)

De todos modos, para probar tal vez pueda mantener el pin configurado como un GPIO normal y alternarlo según sea necesario durante una lectura / escritura. Si la primera operación se realiza así, parece que ese es tu problema.
También (como sugiere hli) si no ha configurado el registro GPIO- > ODR antes de inicializar el pin (ya sea que lo intente como AF o normal), intente hacerlo (es decir, establezca el ODR un poco alto, así que es de esperar que empiece así) )
Hice algo similar con el SPI, controlando el pin SS en el software.

    
respondido por el Oli Glaser

Lea otras preguntas en las etiquetas