0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FTHR-F0140开发板硬件电路解析

CHANBAEK 来源:安德鲁的设计笔记本 作者:安德鲁苏 2023-06-23 16:01 次阅读

小巧“抠门”的FTHR-F0140开发板

缘起

工欲善其事,必先利其器。调试和开发MM32F0140这种小巧的芯片,还是需要小巧的板子去适配,搞起来才巴适。

我曾经定义过POKT(口袋)系列和NANO(微小型)系列作为低成本微控制器的开发板套件,但POKT系列的开发板受定义限制,需要把引脚按照编号整整齐齐地引出来,对走线的面积要求较高;而NANO系列还需要配套扩展板才能引出方便易用的2.54mm间距的排针,这两套板子在某些情况下,实际应用起来的成本并不低。

今年半导体市场的整体行情不大好,大家做板子用料都比较抠门,为了进一步降低对这种小封装芯片开发板的成本,我又定义了更轻量级的FTRH(羽毛)系列开发板。FTHR-F0140FTHR系列的第一块板子,这个板子上连USBUART的CH340E芯片和Type-C的USB插座都省掉了,整块开发板的尺寸兼容DIP40封装的8051单片机。如果不是因为F0140微控制器要用到CAN总线接口,可能连这个SOP-8引脚封装的PHY芯片也省掉。FTHR-F0140电路板的外观如图x所示。当然,这里也要点名感谢我的同事Hao,熟练使用KiCAD帮助我完成了PCB的设计工作。

图片

figure-fthr-f0140-a

图x FTHR-F0140电路板实物效果图

到目前为止,主打抠门省钱的FTHR系列开发板,已经有了3个成员,按照创建的时间顺序,分别是FTHR-F0140FTHR-F0160FTHR-G0140。如图x所示。

图片

figure-fthr-boards-a

图x FTHR系列开发板全家福

其中,FTHR-F0160(左1)在FTHR-F0140(右1)基础上增加了硬件支持的USB Device以及对应的Type-C插座,FTHR-G0140(左2)在FTHR-F0140基础上移除了CAN接口电路,成为了目前FTHR系列中最抠门的电路板。

硬件电路

使用FTHR-F0140进行开发,还需要配合调试器(J-Link)、USB转UART(CH340G模块)。这个电路系统连起来,如图x所示。

图片

figure-fthr-f0140-runtime

图x FTHR-F0140开发板开发场景实物图

这里使用了标准的JLink,以及转换成miniJTAG插座的套件。如果开发者手头上只有各种开源版本的Link调试器,也可以通过2.54mm间距规格的杜邦线从FTHR-F0140开发板的扩展引脚直连至SWD引脚。

主控芯片

FTHR-F0140开发板使用MM32F0144C4P微控制器,使用Arm Cortex-M0处理器内核,最高可运行在72MHz主频,片上集成64KB Flash和8KB RAM,LQFP32封装,以及众多的通信类外设、模拟类外设和定时器等。图x中的表格列出了MM32F0140微控制器的所有选型。

图片

figure-mm32f0140-ps

图x MM32F0140选型

图x中展现了MM32F0140微控制器的最小系统,其中包含了复位按键的复位阻容电路、晶体振荡器,以及最简的电源连线。

图片

figure-sch-mcu-core

图x MM32F0140最小系统

这里要注意的是,FTHR-F0140微控制器使用了12Mhz的晶振。因为MM32F0140微控制器上没有集成USB外设,所以不强制开发者在设计自己的最小系统时使用 12MHz频率的晶振(例如,也可以使用8MHz晶振),这里只是选了比较容易备货的物料而已。

供电系统

FTHR-F0140板子上设计了一个产生3.3V电压的LDO,可以从外部接收5V的供电,经过LDO转换成3.3V供给MM32F0140微控制器芯片。但LDO转换产生的3.3V供电默认是不对板外供电的(在扩展插座上设计了3V3的引脚),需要短接J3插座方可。

这个设计的意义在于,考虑到一种特殊的基于CAN总线的应用场景,当需要将微控制器本身的电源域同CAN总线上的电源域进行隔离时(电源干扰相关),可拆掉板子上的LDO,再短接J3插座,此时微控制器使用的3.3V供电可以通过扩展插座上的3V3引脚供电,而CAN总线使用自己的5V供电,两个供电域没有直接耦合。此时,也可以验证MM32F0140微控制器在宽电压供电情况下的工作状态(不限定是3.3V)。

调试器插座

FTHR-F0140板子上使用了1.27mm间距的miniJTAG插座,以节约PCB面积,也更精致,这借鉴了一些国际大厂设计开发板常用的做法。但为了适配miniJTAG插座,还需要配套1.27间距的软排线和对应的转接电路板,对于非专业开发者来说,也可能是一笔开销。本着抠门的原则,这里将调试端口需要使用的SWCLKSWDIORESET信号线引出到扩展插座上。如图x所示。

图片

figure-sch-debug-swd

图x FTHR-F0140开发板的调试器接口

LED灯

FTHR-F0140开发板上集成了2个LED灯:

  • 电源指示灯D2,显示微控制器已经供电。
  • 编程指示灯D1,对应MM32F0140PA15引脚。

按键

FTHR-F0140开发板上集成了1个复位按键SW1,对应MM32F0140的硬件复位信号线。无可编程按键。

CAN接口电路

FTHR-F0140开发板上集成了CAN通信PHY芯片的电路,并可通过J2插座选择是否由本开发板向CAN总线接入120ohm的电阻。如图x所示。

图片

figure-sch-can-if

图x FTHR-F0140开发板上的CAN接口电路

关于CAN接口电路,这里还留了一个巧妙的设计,如果不想焊接PHY芯片(进一步节约成本),但仍想试用CAN总线接口,可以将PHY芯片焊接位上的标记的两个引脚用焊锡或者0ohm电阻短接起来,此时仍可使用J1插座对外连线。但要注意,此时J1插座上的CANH和CANL已经不是CAN差分信号了,而是CAN_TXCAN_RX,分别对应于MM32F0140的PA10PA9引脚。如图x所示。

图片

figure-pcb-can-if

图x FTHR-F0140开发板上CAN接口的直连应用

软件资源

灵动官方的MindSDK(https://mindsdk.mindmotion.com.cn)已经支持了MM32F0140微控制器,但目前仅有MINI-F0140这块板子在官方的支持清单中对应MM32F0140微控制器。但可以使用MINI-F0140板子的样例工程运行在FTHR-F0140开发板上,因为MINI-F0140开发板使用的是8MHz的晶振,而FTHR-F0140开发板使用的是12MHz的晶振,此处需要调整一下clock_init.c文件中CLOCK_BootToHSE48MHz()函数中关于配置使用发生器PLL的代码,指定RCC_PLLCFGR_PLLDN的值为7,从而基于12MHz的晶振信号源产生48MHz的主频。

void CLOCK_BootToHSE48MHz(void)
{
    //RCC- >APB1ENR |= (1u < < 28u); /* enable PWR/DBG. */
    //PWR- >CR1 = (PWR- >CR1 & ~PWR_CR1_VOS_MASK) | PWR_CR1_VOS(1u); /* 1.65V. */

    /* enable HSE. */
    RCC- >CR |= RCC_CR_HSEON_MASK;
    while ( RCC_CR_HSERDY_MASK != (RCC- >CR & RCC_CR_HSERDY_MASK) )
    {
    }

    /* F_clko = F_refin * N/(M*P), F_refin = 12M. */
    RCC- >PLLCFGR = RCC_PLLCFGR_PLLSRC(1) /* (pllsrc == 1) ? HSE : HSI. */
                 | RCC_PLLCFGR_PLLDN(7) /* N = DN+1. */
                 | RCC_PLLCFGR_PLLDM(1) /* M = DM+1. */
                 | RCC_PLLCFGR_PLLDP(0) /* P = DP+1. */
                 | RCC_PLLCFGR_PLLLDS(1)
                 | RCC_PLLCFGR_PLLICTRL(3) /* 10uA. */
                 ;
    ...
}

之后,就可以使用MindSDK中为MM32F0140微控制器提供的芯片头文件、启动代码、驱动程序,以及海量的样例工程和多操作系统平台多工具链的支持。

图片

figure-mindsdk-examples

图x MindSDK中支持MM32F0140微控制器的海量样例工程

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口电路
    +关注

    关注

    8

    文章

    461

    浏览量

    57050
  • led灯
    +关注

    关注

    22

    文章

    1592

    浏览量

    107833
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2715

    浏览量

    463361
  • 开发板
    +关注

    关注

    25

    文章

    4943

    浏览量

    97188
  • 硬件电路
    +关注

    关注

    39

    文章

    241

    浏览量

    29193
收藏 人收藏

    评论

    相关推荐

    FTHR-G0140开发板LED点灯

    FTHR-G0140开发板LED点灯;这个例程是基于MiniBoard (MM32G0141C4PV)的,所要修改PIN才能工作。经查看开发板上的LED接到了PA15上面:
    的头像 发表于 06-05 12:54 21.8w次阅读
    <b class='flag-5'>FTHR-G0140</b><b class='flag-5'>开发板</b>LED点灯

    【灵动微】FTHR-G0140开发板移植RT-Thread驱动

    灵动微G0140移植RT-Thread驱动。
    的头像 发表于 06-05 13:45 21.7w次阅读
    【灵动微】<b class='flag-5'>FTHR-G0140</b><b class='flag-5'>开发板</b>移植RT-Thread驱动

    TMS320F240开发板的研制

    本文介绍了TMS320F240 的功能及其特性,详细地给出了TMS320F240 开发板硬件和软件说明,最后介绍了该开发板的特点。关键词:
    发表于 08-07 08:40 40次下载

    c8051f340开发板制作电子书

    c8051f340开发板制作电子书共包含六个章节,介绍了 单片机 的发展,开发板知识,基本电路开发板的模块
    发表于 08-18 14:42 0次下载
    c8051<b class='flag-5'>f</b>340<b class='flag-5'>开发板</b>制作电子书

    GD32-Colibri-F207ZE-开发板硬件手册

    GD32-Colibri-F207ZE-开发板硬件手册
    发表于 12-22 18:12 24次下载

    STM32F103VB开发板电路原理图

    STM32F103VB开发板电路原理图免费下载。
    发表于 06-15 16:04 101次下载

    树莓派Pico开发板硬件扩展接口及电源模块解析

    本博文根据树莓派基金会2021年1月21日公开的两部最新官方英文技术文献[1]、[2]以及博主最近使用树莓派Pico开发板的一些思考与应用实践整理。一、树莓派Pico开发板硬件扩展接口解析
    发表于 11-07 09:06 15次下载
    树莓派Pico<b class='flag-5'>开发板</b><b class='flag-5'>硬件</b>扩展接口及电源模块<b class='flag-5'>解析</b>

    STM32F4开发板硬件平台简介

    4 开发板的特点二、ALIENTEK 探索者 STM32F4 开发板资源说明1.硬件资源说明总结前言实践出真知,要想学好 STM32F4,实
    发表于 11-21 13:51 44次下载
    STM32<b class='flag-5'>F</b>4<b class='flag-5'>开发板</b><b class='flag-5'>硬件</b>平台简介

    【STM32】STM32 F4开发板介绍

    目录01、STM32F4开发板的资源图02、STM32F4开发板板载资源03、STM32F4部分资源说明3.1、JTAG/SWD3.2、ST
    发表于 12-17 18:14 27次下载
    【STM32】STM32 <b class='flag-5'>F</b>4<b class='flag-5'>开发板</b>介绍

    MM32F0140定时器模块计数定时功能

    本篇笔记主要探讨 MM32F0140 定时器模块的框图结构、定时器提供的计数定时等功能以及配置定时器的流程,并以 pokt-f0140 开发板作为实际演示平台,使用开发板上 32 位定
    的头像 发表于 04-07 16:31 2690次阅读
    MM32<b class='flag-5'>F0140</b>定时器模块计数定时功能

    合轴551G GPS模块显示定位信息在STM32F1开发板

    基于STM32F1开发板,将GPS定位信息解析显示
    发表于 12-16 14:43 0次下载

    PY32F002A开发板介绍

    PY32F002A开发板为PY32F002A芯片提供了一个简易的硬件开发环境。开发板使用 typ
    的头像 发表于 03-01 13:27 1988次阅读
    PY32<b class='flag-5'>F</b>002A<b class='flag-5'>开发板</b>介绍

    PY32F002A单片机开发板特性解析

    PY32F002A开发板为PY32F002A芯片提供了一个简易的硬件开发环境。开发板使用 typ
    发表于 06-06 11:24 1741次阅读
    PY32<b class='flag-5'>F</b>002A单片机<b class='flag-5'>开发板</b>特性<b class='flag-5'>解析</b>

    兆易创新GD32F307VG-mbed开发板电路原理图

    兆易创新GD32F307VG-mbed开发板电路原理图GD32F307VG-mbed开发板电路
    发表于 10-19 17:26 8次下载

    兆易创新GD32F450ZI-mbed开发板电路原理图

    兆易创新GD32F450ZI-mbed开发板电路原理图GD32F450ZI-mbed开发板电路
    发表于 10-19 17:26 30次下载