基于MM32F0140实现的简易仪表盘
基于MM32F0140实现的简易仪表盘,自制PCB,通过模拟SPI控制LCD,ADC作为输入数据引脚
标签
WeDesign
MM32F0140
简易仪表盘
冷月烟
更新2023-05-26
492

项目介绍

小型的GUI动画界面:能够实时显示数据状态的仪表盘。

 

项目设计思路(含设计框图)

基于MM32F0140实现的简易仪表盘,自制PCB,通过模拟SPI控制LCD,ADC作为输入数据引脚。

核心板设计框图

FiNfdRSCVudT7j2dyBKd6zwL0-iM

程序流程图

Fhs7xH7O6ilEk3Navo7Q8izKEwHP

 

搜集素材的思路

通过MM32F0140资料主页、灵动的MindSDK的站点收集资料。

设计PCB时主要看:

写代码时候主要看:

  • MM32F0140 用户手册(中文版)

    文档说明: 支持 MM32F0140 系列,提供了完整的系统架构,存储器及所有外设详细说明与寄存器描述。

  • MM32F0140 勘误表(中文版)

    文档说明: 支持 MM32F0140 系列,提供了该产品当前已知的问题及解决方案。

  • AN0001 MDK5.18安装指南(中文版)

    文档说明: MDK5.18安装指南,简要介绍了一个MM32芯片工程的建立。

  • MM32F0140 库函数与例程

    文档说明: 支持 MM32F0140 与 Cortex-M 微控制器软件接口标准(CMSIS),支持 MM32 标准库(Standard peripheral library),支持 IAR 和 MDK 开发,包含丰富的库函数操作和寄存器操作的参考例程。

 

画原理图、PCB制板过程中遇到的问题,以及解决方法

问题:板载DAPlink插到电脑上无法识别

  • 原因:设计的时候USB的DP、DM线上串了一个33R的电阻,实际焊接的时候,没有找到就用0R的替换了。于是出现了不识别的问题。
  • 解决:找了两个51R的电阻焊了上去,一切正常。

问题:接上屏幕的时候,板子直接掉电,DAPLink一连接一断开,一连接一断开。

  • 原因:电源芯片使用的XC6206,其输出电流的能力只有100ma,不足以供给屏幕使用。
  • 解决:由于手上没有同封装高电流的芯片,也不想飞线换其他的芯片,于是就在6206上面又叠加了一个6206(不建议这样使用)。虽然MM32F040支持5V供电,但是板载的DAPLink与主芯片用的同样的电源,且那个芯片不支持5V供电,而且手上的LCD屏幕也不支持5V电平,所以不能改电源。

 

实现结果展示

板子

FvJCcycUXxBp3f8Xxj77MIyKa9Cy

运行效果

Fj9XC_Ds478SoAx_eJwOowci3dHr

Fr47jujsz9NpcMQWSGtNhx0ots1C

Fh7LMYAYPiULcvis9cdd6JjhBzym

 

在芯片设计过程中,遇到什么难题以及解决方法,或未来针对这个芯片的扩展项目

设计的时候还是挺顺利的,没啥问题,就不太习惯KiCAD。

下一步这个芯片可能用于做一些控制小项目,控制个小车,做个电烙铁啥的

 

芯片的优势与局限

说到这个芯片,最先想到的就是与它同主频的ST家的STM32F103了,我们来看一下两款芯片的介绍。

MM32F0140

  • 使用高性能的 Arm® Cortex-M0 为内核的 32 位微控制器,最高工作频率可达 72MHz,内置高速存储器,丰富的增强型 I/O 端口和多种外设。
  • 64KB Flash,8KB SRAM
  • 1 个 12 位的 ADC和 1 个比较器
  • 1 个 16 位通用定时器、1 个 32 位通用定时器、3 个 16 位基本定时器、1 个 16 位高级定时器
  • 3 个 UART 接口、2 个 SPI 接口和 1 个 I2C 接口
  • 1 个 FlexCAN 接口
  • 工作电压为 2.0V - 5.5V
  • 高可靠性: 支持最高 ±6000V HBM ESD,±2000V CDM ESD,高温 Latch-up 可耐电流 ±300mA
  • 工作温度范围(环境温度)-40℃ - 85℃ 工业级,-40℃ - 105℃ 扩展工业级(后缀为 V)和 -40℃ - 125℃ 车规级(后缀为M)
  • 125℃ 车规级,可提供 AEC-Q100 Grade1 认证
  • 多种省电工作模式支持低功耗应用的需求
  • 与 MM32F031 引脚兼容
  • 提供 LQFP48、LQFP32、QFN32 和 TSSOP20 封装

STM32F103x8/STM32F103xB
  • ■ 内核:ARM 32位的Cortex™-M3 CPU
  • − 最高72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHz(Dhrystone 2.1)
  • −单周期乘法和硬件除法
  • ■存储器
  • −从64K或128K字节的闪存程序存储器
  • − 高达20K字节的SRAM
  • ■时钟、复位和电源管理
  • − 2.0~3.6伏供电和I/O引脚
  • − 上电/断电复位(POR/PDR)、可编程电压监测器(PVD)
  • − 4~16MHz晶体振荡器
  • −内嵌经出厂调校的8MHz的RC振荡器
  • −内嵌带校准的40kHz的RC振荡器
  • − 产生CPU时钟的PLL
  • −带校准功能的32kHz RTC振荡器
  • ■低功耗
  • −睡眠、停机和待机模式
  • − VBAT为RTC和后备寄存器供电
  • ■ 2个12位模数转换器,1μs转换时间(多达16个输入通道)
  • − 转换范围:0至3.6V
  • −双采样和保持功能
  • −温度传感器
  • ■DMA:
  • − 7通道DMA控制器
  • − 支持的外设:定时器、ADC、SPI、I2C和USART
  • ■多达80个快速I/O端口
  • − 26/37/51/80个I/O口,所有I/O口可以映像到16个外部中断;几乎所有端口均可容忍5V信号
  • ■调试模式
  • −串行单线调试(SWD)和JTAG接口
  • ■多达7个定时器
  • − 3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入
  • − 1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器
  • − 2个看门狗定时器(独立的和窗口型的)
  • −系统时间定时器:24位自减型计数器
  • ■多达9个通信接口
  • − 多达2个I2C接口(支持SMBus/PMBus)
  • − 多达3个USART接口(支持ISO7816接口,LIN,IrDA接口和调制解调控制)
  • − 多达2个SPI接口(18M位/秒)
  • − CAN接口(2.0B 主动)
  • − USB 2.0全速接口
  • ■ CRC计算单元,96位的芯片唯一代码

优势:对比可以发现,灵动的芯片定位更加偏向工业,车规,提供了一个FlexCAN接口,还有宽电压供电,各种温度规格。

局限:面向低端市场,性能不够,资源不够。

 

原理图/PCB图

原理图

Fs5XxEwwBUO8sNTau5POvEsrFPr8

PCB

Fv02RHKRQrnfpZ8ScUFRuie7kf2G

3D图

FrIWmQXpDT9_SMRgG_dZdDHjL6zDFlrIR3KlRBEotDH6BGyPVf86Z00aFmKiNA0HQYdjr1heyD19fyETEONa

 

代码

主要代码

#include "oled.h"
#include "delay.h"
#include "adcx.h"

s32 main(void)
{
    uint16_t num = 0;
    DELAY_Init();
    ADC1SingleChannelInit();
    Lcd_Init();			//初始化OLED  
	LCD_Clear(BLACK); //清屏
    
    for(;;)
    {
        num = Get_Adc_Average(5);
        
        LCD_4020num(50+24*0,160, WHITE,num/1000%10);
        LCD_4020num(50+24*1,160, WHITE,num/100%10);
        LCD_4020num(50+24*2,160, WHITE,num/10%10);
        LCD_4020num(50+24*3,160, WHITE,num/1%10);
            
        {
            uint8_t x,y;
            x=200;
            y=200;
            for(int8_t i = 0; i<20; i++)
            {
                y = (20-i)*10;
                x-=i/2;
                if(num/200>i)
                    LCD_Fill(x, y, 220, y + 3, WHITE);
                else
                    LCD_Fill(x, y, 220, y + 3, BLACK);
            }
        }
    }

}

 

 

附件下载
PCB.zip
代码.zip
团队介绍
团队成员
冷月烟
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号