EEDrone开源四旋翼从零开始(2)--引脚的讨论
我们选择的芯片是STM32F746或者F767,这是因为只有这两款F7的Nucleo板子,这两个芯片差不多,最主要差别是F767的Flash是2M, 512 Kbytes of SRAM,F746的flash是1M,320Kbytes of SRAM,功能上F767多了个DFSDM,然后SPI和UART在引脚上分布多了些,总的来说,在F746上的程序直接下载到F767是完全没有问题的,官网F767价格要贵些,目前国内F767要便宜些。先列出功能所需的引脚:功能引脚类型引脚个数引脚号以太网RMII9A1,A2,A7,C1,C4,C5,B13,G11,G13USBUSB2A11,A12串口输出UART2D8,D9用户按钮IO1C13LED指示灯IO1B14调试SWD2A13,A14IMU驱动SPI IO8C2,C3, D3,D4,D5,C0,G2,G3IMU加热TIM1A3PPM遥控输入TIM1A0电机输出TIM8B4,B5,B0,B1,B6,B7,D14,D15PWM遥控输入TIM8C6 ,C7,A6, E9,E11, A5,B11,F93DR GPS接口UART2E7,E83DR 磁力计IIC2F0,F1三色LED灯IIC2F14,F15SD卡SDIO6C12,D2,C8,C9,C10,C11Flash:mx25l512QSPI6D11,D12,E2,D13,B2,B10留出Uart接口Uart2E7,E8Sbus遥控输入Uart2E0,E1电压电流检测ADC2F3,F4留出PWM输出PWM1PF6留出Can接口Can2B8,D1留出ADC接口ADC2F5,F10留出IIC接口IIC2B8,B9流出SPI接口SPI3×2E12,E13,E14 F7,F8,F11留出SDIO接口SDIO6D6,D7,G9,B15,B3,G12留出SAI接口SAI3E4,E5,E6引脚的确定是画原理图的基础,何况在这种功能复杂,引脚资源有限的情况下,通常的做法是使用datasheet中的引脚功能分布图来规划引脚,帖子最后有F767的datasheet,这样做比较麻烦,而且也不直观,这次采用CubeMX来选择引脚,使用的CubeMX版本是4.18,打开后选择板子为Nucleo F767,然后展现出来的是一个芯片图,上面已经将Nucleo上面使用了的引脚给标记了,接下来就是根据功能选择引脚了,选择的原则是:稀有的功能引脚优先选择,最后经过一番的修改确定了上表的引脚,表中以太网、USB串口输出、用户按钮、LED指示灯、调试是Nucleo上面有的,然后接下来的IMU驱动、PPM遥控输入、电机输出、3DR GPS接口、IMU加热、3DR 磁力计、三色LED灯、SD卡,Flash是第一阶段版主板需要做的。下面是CubeMX最后的引脚功能图:
CubeMX工程文件:
EEDrone.iocSTM32F7的数据手册:
stm32f767.pdf欢迎大家帮忙找BUG