主控接口

在「小霸王Lite」中,主控模块选择使用 MiaowLabs-STM32F1-Micro 核心板,板载 STM32F103C8T6 芯片。

主控芯片相当于人的大脑,接收并处理各传感器(包括陀螺仪和加速度传感器的信号),完成计算和规划后,向各执行机构(比如电机)发出控制命令。

MiaowLabs-STM32F1-Micro 核心板有以下特色:

  1. 板载 2 个 LED,1 个用户指示灯和 1 个电源指示灯,其中用户指示灯可以通过编程进行控制。

  2. 板载 2 个按键,1 个用户按键和 1 个复位按键,其中用户按键可以通过编程进行控制。

  3. 板载 USB-TTL 电路和 Micro-USB 接口,只需要一根数据线就能与上位机通信,也可以用作固件升级。

  4. 预留有 SWD 接口,可以外接调试器(比如 JLink-ob、ST-Link等)进行下载和调试。

主控芯片选择使用 STM32F103C8T6,因为它的体积小(LQFP48,7x7mm),功耗低(3.3V工作电压),运算速度快(10.25MIPS, ARM 32-bit Cortex™-M3 CPU),具有丰富的外设模块。它的主要外设包括但不限于:

  • PWM: 8通道;
  • AD转换器:10通道,12位;
  • 定时器: 3通道16位通用定时器(TIM2/TIM3/TIM4),1通道高级控制定时器(TIM1);
  • 丰富的外部串行接口:SCI,I2C,SPI;
  • IO口:最多可以提供 32 路,可以与 5V 器件直接相连。
  • 内部存储器资源包括: 64k 程序 Flash, 20k 数据 RAM。

下图显示该单片机的内部资源情况。

内部资源
Image 4.2.1 - 内部资源

在「小霸王Lite」中,STM32F103C8T6 芯片必须用到的的 IO 引脚有:

  • I2C 通讯接口:读取 MPU-6050 数据
    • I2C1_SDA(PB8,PIN45);
    • I2C1_SCL(PB9,PIN46);
  • Timer正交解码接口:读取编码器的脉冲数据
    • TIM2_CH1(PA0)和TIM2_CH2(PA1):TIM2定时器增量编码器输入;
    • TIM4_CH1(PB6)和TIM4_CH2(PB7):TIM4定时器增量编码器输入;
  • 电机 PWM 驱动接口:控制电机转速
    • TIM3_CH1(PA6)和TIM3_CH2(PA7):电机驱动;
  • 电机转向驱动接口:控制电机转向
    • AIN1(PB0)、AIN2(PB1)、BIN1(PA3)、BIN2(PA4)
  • 程序调试 SWD 接口
    • SWDIO(PIN34);
    • SWCLK(PIN37);
  • 串口下载 UART 接口
    • TXD(PIN6);
    • RXD(PIN7);
  • 蓝牙通讯 UART 接口
    • TXD(PIN33);
    • RXD(PIN34);

除了以上确定使用的引脚,其它没有占用的引脚全部预留出来,并且在底板上用两排排针引出,用户可以非常方便地使用杜邦线连接其他模块进行扩展。