Soluções
Soluções

Quer substituir o STM32 pelo GD32? Esses detalhes devem ser conhecidos

2022-03-17 1014

GD32 é um microcomputador de chip único desenvolvido na China. Diz-se que o desenvolvedor é da ST Company, e o GD32 também é feito com STM32 como template. Portanto, GD32 e STM32 são iguais em muitos lugares. Porém, afinal, GD32 é um produto diferente e é impossível seguir o STM32 para tudo. Alguns produtos autodesenvolvidos ainda são diferentes. Não falaremos dos mesmos lugares. Aqui estão os diferentes lugares.


1. núcleo

GD32 adota o kernel M3 de segunda geração, enquanto STM32 adota principalmente o kernel M3 de primeira geração. A figura a seguir mostra a errata do kernel M3 do ARM, e o kernel usado pelo GD é apenas um BUG, 752419.


2. Frequência básica

Uso de HSE (Relógio Externo de Alta Velocidade): a frequência máxima do GD32 é 108M, e a frequência máxima do STM32 é 72M. Use HSI (Relógio Interno de Alta Velocidade): a frequência máxima do GD32 é 108M, e a frequência máxima do STM32 é 64M. Grande frequência significa que o código do computador de chip único será executado mais rápido. GD é uma boa opção caso você precise escovar a tela, calcular a raiz quadrada e controlar o motor no projeto.


3. Fornecer eletricidade

Fonte de alimentação externa: a faixa de fonte de alimentação externa do GD32 é 2.6 ~ 3.6 V e a do STM32 é 2 ~ 3.6 V. A faixa de alimentação do GD é relativamente mais estreita que a do STM32.
Tensão do núcleo: a tensão do núcleo GD32 é de 1.2 V, a tensão do núcleo STM32 é de 1.8 V. A tensão do núcleo do GD é menor que a do STM32, portanto o consumo de energia do chip GD é menor durante a execução.

4. Diferença instantânea

O Flash do GD32 é desenvolvido de forma independente, o que é diferente do STM32.
Velocidade de execução do GD Flash: o período de espera da execução do programa no GD32 Flash é 0. Velocidade de execução do STM32 Flash: a frequência do sistema ST não acessa a relação do tempo de espera do flash, período de espera 0, quando 0 < sysclk < 24 MHz; período de espera 1, quando 24 MHz < sysclk ≤ 48 MHz; período de espera 2, quando 48 MHz
Tempo de apagamento do Flash: GD demora um pouco mais para apagar. Os dados oficiais são os seguintes: "Modelos de flash da série GD32F103/101 com 128 KB e menos, o valor típico de Page Erase é 100ms e a medição real é de cerca de 60ms." O valor típico do apagamento de página do produto ST correspondente é de 20 ~ 40 ms.


5. Consumo de energia

Pode-se observar na tabela a seguir que o consumo de energia operacional dos produtos GD é inferior ao do STM32 na mesma frequência principal, mas o modo de desligamento, modo de espera e modo de suspensão do GD ainda são maiores do que o do STM32 na mesma frequência. configurações.

   

6. porta serial

Quando o GD envia dados continuamente, haverá um bit ocioso entre cada dois bytes, mas o STM32 não, conforme mostrado na figura a seguir.

A porta serial do GD possui apenas modos de bit de parada de 1/2 durante o envio. STM32 possui quatro modos de bit de parada de 0.5/1/1.5/2.
Essas duas diferenças entre GD e STM32 USART têm pouco efeito na comunicação, mas o tempo de comunicação do GD será um pouco maior.


7. Diferença ADC

A configuração da impedância de entrada e do tempo de amostragem do GD é diferente dos ST, e a impedância de entrada da amostragem GD com a mesma configuração é relativamente pequena. Consulte a tabela a seguir para obter detalhes. Esta é a relação entre a impedância de entrada e o período de amostragem quando o ADC funciona na frequência principal de 72M e no relógio de amostragem de 14M:


8. FSMC

Somente a grande capacidade (256K e superior) acima de 100 pinos do STM32 possui FSMC, e todos aqueles acima de 100 pinos do GD32 possuem FSMC.


9. Diferença de tamanho de RAM e FLASH da série 03

Os pares de memória RAM e flash das séries GD103 e ST103 são os seguintes:


10. Diferenças entre as séries 105-107 STM32 e GD

Existem muito mais opções de GD 105/107 do que ST. Consulte a tabela a seguir para obter detalhes:



11 capacidade de resistir a perturbações

Nesse ponto o funcionário não deu, e o autor descobriu por acidente enquanto fazia o projeto.
Originalmente, o STM32F103C8T6 foi utilizado no projeto e posteriormente foi substituído pelo GDF103C8T6. Os pinos dos dois chips são completamente consistentes. O microcomputador de chip único usa dois pinos adjacentes como pinos de clock e pinos de saída de dados do SPI e, em seguida, descobre que o SPI do STM32 pode se comunicar normalmente, mas o do GD não. Após a inspeção, verifica-se que há dois fios de cobre IIC passando pela parte traseira do fio de cobre do SPI da placa PCB e o sinal deve ser afetado.

Observando o nível do pino com um osciloscópio, verifica-se que as formas de onda dos pinos de dados do STM32 e GD são anormais, mas as formas de onda do STM32 são muito melhores. Embora as formas de onda estejam um pouco piores, a comunicação SPI ainda está normal. E GD não consegue se comunicar normalmente.
Então o autor desacelerou a taxa de comunicação do SPI e descobriu que o pino de dados do STM32 retornou rapidamente à forma de onda normal, enquanto o do GD ainda era ruim, e não voltou ao normal até que a taxa caiu para um nível muito baixo. . Inicialmente, suspeita-se que o STM32 possua alguns circuitos para filtrar os pinos, mas o GD não.

Embora a fiação da placa de circuito usada em si seja um tanto irracional, no mesmo ambiente hostil, o STM32 ainda garante a comunicação normal, mas o GD não consegue, o que mostra que a capacidade anti-interferência do GD é inferior ao STM32 até certo ponto.

whatsapp

WhatsApp

Whatsapp:+8618073002950