Necesita ayuda para hacer una placa de desarrollo STM32

-3

He estado jugando con Arduino y quería crear mi propia placa de desarrollo durante mucho tiempo.

Decidí usar el microcontrolador STM32F103C8T6 para esto. Pero al ser relativamente inexperto en el diseño de hardware, tengo dudas sobre si lo que estoy haciendo es correcto.

El oscilador que he elegido sería uno de 8 MHz con capacidades de carga de 18 pF cada uno. Pero tengo dudas si esto funcionará. Por favor, encuentra los errores y dame consejos.

PS: Hasta donde sé, este chip solo tiene un USART. ¿Cómo hago para implementar I²C, SPI y USB con esto?

    
pregunta Utkarsh Bajpai

3 respuestas

1
  

Por favor encuentra errores y dame consejos.

Como usted es un principiante, este es un tema muy común, pero brevemente:

  • Como han dicho otros, hay tableros STM32F1 baratos disponibles de los que puedes aprender antes de intentar diseñar el tuyo. Mire uno de esos (o al menos su esquema) y compárelo con el esquema propuesto. Encontrarás muchas diferencias. Investiga esas diferencias para aprender más. También está la placa de desarrollo STM32VLDISCOVERY (basada en STM32F1) que tiene un programador incorporado / depurador (y también otros tableros de "descubrimiento" por ST).

  • Hay una gran cantidad de documentación para su MCU STM32F103C8 elegida: haga clic en la pestaña "Recursos" en la STM32F103C8 page . Un documento importante es " AN2586: Introducción al desarrollo de hardware STM32F10xxx ". Eso explica los principales requisitos de diseño de hardware (alimentación, condensadores de desacoplamiento, oscilador, pines de configuración, etc.) y usted debe leer & Entienda esto.

  • Su esquema no muestra qué voltaje le estará suministrando a V DDA en el pin 9, pero algunos problemas incluyen:

    • Compruebe que el voltaje suministrado a V DDA esté dentro del rango permitido.

    • El esquema muestra + 5V suministrados a V BAT (pin 1). Eso matará a tu MCU. Lea la hoja de datos y AN2586 en relación con el rango de voltaje de alimentación permitido.

    • El esquema

      muestra que solo se suministra energía a V DDA en el pin 9. Sin embargo, debe suministrar energía a todos V DD pines (y tierra a todos V SS pines). De nuevo, lea AN2586 para ver ejemplos de conexiones de suministro de energía.

    • El esquema no muestra ningún desacoplamiento ni desvía los condensadores. Esto no está de acuerdo con AN2586 y es probable que cause problemas intermitentes (o peor).

    • El esquema muestra los pines flotantes BOOT0 y BOOT1 . Esta es una mala idea y causará problemas. Lea AN2586 y la hoja de datos del dispositivo para comprender mejor la función de esos pines, cómo conectarlos y por qué es posible que desee cambiar BOOT0 durante el desarrollo.

    • El esquema no muestra ningún botón de reinicio manual y componentes asociados. ¿Estás realmente seguro de que no quieres uno?

  • Piense en cómo va a (a) el programa y (b) depure su código en la MCU. Aunque el STM32F1 contiene un cargador de arranque en serie primitivo (un poco como el Arduino al que está acostumbrado), esto no proporciona ninguna funcionalidad de depuración. Lea acerca de la funcionalidad SWD (JTAG) y vea cómo (cuando se usa con el software apropiado para PC) ofrece una gama de funciones de programación y depuración.

    Es por eso que verá los puertos SWD (JTAG) en muchos de los paneles de demostración / evaluación / pasatiempos STM32F1 existentes. Debería considerar agregar un conector SWD (JTAG) a cualquier placa de desarrollo que diseñe.

[Relacionado: Consulte esta pregunta acerca de cómo crear una placa de desarrollo personalizada STM32F4. Los mismos principios se aplican aquí.]

No tiene que aprender todo al mismo tiempo, pero hasta que comprenda mejor esta MCU (que es más compleja que su Arduino), es más probable que el intento de crear su propia placa de desarrollo termine en un fracaso. Es por eso que una ruta más eficiente y menos frustrante para usted puede ser comprar una placa de desarrollo existente, aprender cómo programar y depurar el software en ella (incluida la elección de la cadena de herramientas / IDE que prefiera, hay muchas opciones) y viceversa. diseñar el diseño de esa simple placa STM32F1.

Cuando haya hecho eso, estará en una posición mucho mejor, con conocimientos mejorados, para diseñar su propia placa de desarrollo y para que tenga éxito, en lugar de tratar de hacerlo ahora. Buena suerte!

    
respondido por el SamGibson
1
  

USART, ¿cómo hago para implementar i2c, SPI y USB con esto?

Es demasiado pronto para usted para esta tarea, demasiado pronto.

de todos modos - F1xx es un micro popular pero obsoleto. No tiene ningún sentido hacer la placa de desarrollo usándola.

No hay ninguna razón para un proyecto de placa de desarrollo ya que tiene STM baratos y confiables (y píldoras azules por $ 1.2)

    
respondido por el P__J__
1

En Internet, puede encontrar más de un ejemplo de un diseño de placa STM32F103 en funcionamiento y abierto, y comenzar desde allí. O de un proyecto Eagle terminado, y modificándolo.

respondido por el josip

Lea otras preguntas en las etiquetas