基于STM32系列硬件开发,软件编译相关软件介绍(NI Multisim 14.0,Altium Designer 18,TouchGFX 4.21.3,STM32CUBEMX6.9.2,Keil5)
设计硬件部分首先利用NI Multisim 14.0搭建电路进行仿真调试,然后在Altium Designer 18中绘制本设计的原理图和PCB;软件部分首先采用首先利用TouchGFX 4.21.3构建信号源的GUI界面,然后在STM32CUBEMX6.9.2进行外设的配置,再在Keil5中进行程序的设计和编译,最后用STM32 ST-LINK Utility进行烧录。
前言
软件介绍
本设计硬件部分首先利用NI Multisim 14.0搭建电路进行仿真调试,然后在Altium Designer 18中绘制本设计的原理图和PCB;软件部分首先采用首先利用TouchGFX 4.21.3构建信号源的GUI界面,然后在STM32CUBEMX6.9.2进行外设的配置,再在Keil5中进行程序的设计和编译,最后用STM32 ST-LINK Utility进行烧录。
一,NI Multisim 14.0介绍
NI Multisim是指一款由National Instruments(NI)公司开发的电子电路仿真软件,广泛应用于模拟和数字电路的仿真、电路实验、设计与课设应用。该软件为电子工程师和学生提供了一个易用且功能丰富的平台,用于设计和测试各种电路。Multisim软件的主要特点包括直观的图形用户界面、广泛的元件库、强大的虚拟仪器库和丰富的分析工具等。下面对此软件的主要模块和作用进行介绍。
(1)用户界面(User Interface)
作用:介绍软件的操作界面,包括工具栏(标准、主工具栏、仿真工具栏等)、弹出菜单、偏好设置(路径、保存选项、元件符号标准等)和设计工具箱(可见性、层次结构)。
关键功能:自定义工具栏布局、设置全局和页面属性(颜色、网格、字体)、锁定工具栏、管理多电路窗口。
(2)原理图绘制基础(Schematic Capture - Basics)
作用:指导用户创建电路图的基本操作,包括放置元件、连线、旋转/翻转元件、添加标签、注释、图形标注等。
关键功能:元件选择与放置(虚拟元件与真实元件的区别)。自动与手动布线、设置线宽和颜色。添加标题块、文字注释、图形元素(线、多边形、图片)。
(3)原理图绘制高级功能(Schematic Capture - Advanced Functions)
作用:深入讲解元件属性管理、表格视图、标题块编辑器、电气规则检查(ERC)。
关键功能:修改元件模型、封装、故障设置。使用表格视图批量编辑网络、元件参数。自定义标题块模板,插入动态字段(如日期、页码)。
(4)大型设计处理(Working with Larger Designs)
作用:支持复杂电路设计,包括分层设计、多页电路、总线、变体管理(Variant)和项目管理。
关键功能:分层模块(Hierarchical Block)和子电路(Subcircuit)的创建与替换。总线连接与命名规则。变体管理(不同配置的电路版本控制)。
(5)元件管理(Components)
作用:管理元件数据库,支持元件分类、搜索、过滤、导出/导入。
关键功能:数据库层级(主库、企业库、用户库)。元件属性编辑(标签、容差、制造商)。合并和更新数据库。
(6)元件编辑(Component Editing)
作用:创建和修改元件符号、模型、封装。
关键功能:使用元件向导创建模拟/数字/VHDL元件。编辑SPICE模型、引脚映射、封装关联。高级建模(如电机、变压器、代码模型)。
(7)仿真(Simulation)
作用:运行电路仿真,支持交互式调试、容差分析、电路向导(如滤波器设计)。
关键功能:仿真控制(启动/暂停/停止)。数字和射频(RF)仿真。收敛性辅助工具、仿真错误日志。
(8)仪器(Instruments)
作用:提供虚拟仪器仪表(万用表、示波器、逻辑分析仪等),用于实时数据采集。
关键功能:连接仪器到电路节点。配置仪器参数(如示波器时基、频谱分析仪范围)。LabVIEW自定义仪器集成。
(9)分析(Analyses)
作用:执行多种电路分析(直流工作点、交流分析、瞬态分析、蒙特卡洛分析等)。
关键功能:设置分析参数(频率范围、温度扫描)。使用后处理器(Postprocessor)自定义输出表达式。结果可视化(Grapher工具)。
(10)传输与通信(Transfer/Communication)
作用:与其他工具(如Ultiboard、MathCAD、Excel)的数据交互。
关键功能:导出PCB布局文件(Forward/Back Annotation)。导入/导出SPICE网表。仿真结果导出为测量文件。

图1.1 NI Multsim软件
二,Altium Designer 18介绍
Altium Designer 是一款功能强大的电子设计自动化(EDA)软件,广泛应用于电子工程师和设计师的电路设计、仿真、PCB布局和制造准备等全流程。以下是对 Altium Designer 各个模块的分类说明。
- 原理图设计(Schematic Design) 功能:创建电子电路的逻辑表示,将元件符号连接起来形成电路。作用:元件放置:从库中选择并放置元件符号。布线:连接元件引脚,形成电路逻辑。仿真:进行电路仿真,验证设计功能。 注释和文档:添加设计说明、注释和文档信息。
- PCB布局与设计(PCB Layout & Design) 功能:将原理图设计转换为物理可制造的印制电路板(PCB)。 作用: 元件布局:在PCB上放置元件。 布线:手动或自动布线,确保电气连接。 规则检查:执行设计规则检查(DRC),确保PCB符合制造要求。 3D可视化:提供3D视图,检查元件间距和机械适配性。
- 数据管理(Data Management) 功能:管理和维护设计数据,确保数据的完整性和版本控制。 作用: 工作区管理:使用Altium 365工作区或企业服务器管理设计数据。 版本控制:跟踪设计变更,管理不同版本的设计。 数据发布:将设计数据发布到工作区,供团队成员使用。
- 设计复用(Design Reuse) 功能:通过复用已有的设计模块和元件,提高设计效率。 作用: 库管理:创建和管理元件库,确保元件的准确性和一致性。 模板使用:使用预定义的设计模板快速启动新项目。 模块复用:在新设计中复用已有的设计模块。
- 仿真与分析(Simulation & Analysis) 功能:通过电路仿真验证设计的功能和性能。 作用: 混合信号仿真:支持模拟和数字电路的混合信号仿真。 性能分析:分析电路的频率响应、瞬态响应等性能指标。 故障诊断:通过仿真诊断电路中的潜在问题。
- ECAD-MCAD协同设计(ECAD-MCAD Co-Design) 功能:实现电子设计(ECAD)与机械设计(MCAD)的协同工作。 作用: 数据同步:通过Altium CoDesigner插件,同步ECAD和MCAD数据。 机械适配性检查:确保PCB设计与机械外壳的适配性。 团队协作:促进电气和机械工程师之间的协作。
- 文档生成(Documentation Generation) 功能:生成设计文档,包括原理图、PCB布局图、制造文件等。 作用: 原理图输出:生成原理图的PDF、Gerber等格式文件。 PCB输出:生成PCB的制造文件,如钻孔文件、丝印文件等。 装配文档:生成装配图和制造说明文档。
- 系统级设计(System-Level Design) 功能:支持多板设计和系统级设计。 作用: 多板管理:管理多个互连的PCB,确保逻辑和物理连接的正确性。 系统验证:验证整个系统的功能和性能。 线束设计:支持线束设计,确保系统内各部件的连接。
- 供应链管理(Supply Chain Management) 功能:管理设计的供应链,确保元件的可用性和成本控制。 作用: 元件采购:与供应商集成,确保元件的可用性。 成本估算:实时估算设计成本,优化设计以控制成本。 供应链跟踪:跟踪元件的采购和库存状态。

图1.2 Altium Designer软件
二,TouchGFX 4.21.3介绍
TouchGFX框架包含易于使用的拖放式图形构建PC工具TouchGFX Designer (TouchGFXDesigner)以及强大的优化图形处理内核TouchGFX引擎。结合WYSIWYG仿真器和自动代码生成功能,TouchGFX大大简化了GUI开发。TouchGFX Designer可作为独立的软件工具提供,便于快速轻松地进行图形评估和概念验证。TouchGFX框架(包括TouchGFX Designer)包含在STM32Cube MCU软件包中。它完全兼容STM32CubeMX初始化和代码生成工具,便于在统一项目环境中无缝地联合开发图形和主应用程序。以下是对该软件的主要模块和作用的介绍。
(1)TouchGFX Designer(图形界面设计工具)
作用:拖放式 GUI 构建工具,支持快速创建多屏幕界面、动态交互和过渡效果,提供丰富的可定制化部件(如滑动容器、进度条等)。
界面结构设计:多屏幕布局与切换逻辑。
预置部件库:30+ 可配置控件(按钮、图表、图像容器等)。
图形皮肤与主题:内置默认皮肤,支持自定义图形资源。
文本与多语言:统一管理字体、排版,支持多语言翻译(包括复杂脚本如中文、阿拉伯文)。
模拟与预览:WYSIWYG(所见即所得)模拟器实时预览界面效果。
(2)TouchGFX Engine(图形引擎)
作用:优化的图形渲染核心,利用 STM32 硬件加速功能(如 GPU、DMA2D)提升性能。
硬件加速渲染:通过 NeoChrom GPU 支持 2.5D 动画(缩放、旋转、透明度效果)。
低资源占用:针对嵌入式系统优化的内存管理和图形流水线。
跨平台兼容:适配不同 STM32 系列(Cortex-M 内核)。
(3)TouchGFX Generator(代码生成与集成工具)
作用:与 STM32CubeMX 深度集成,自动生成与硬件配置匹配的 C++ 代码。
项目初始化:根据 STM32 硬件配置生成 HAL(硬件抽象层)代码。
代码分离:工具生成代码与用户代码完全隔离,便于维护。
IDE 支持:兼容 IAR、Keil、GCC 等开发环境。
(4)TouchGFX Stock(资源库)
作用:提供免费商用图形资源库,加速界面设计。
主题与图标:预置 UI 主题、背景图、图标包。
开源许可:资源可免费用于 STM32 设备的商业项目。
(5)NeoChrom GPU(硬件加速模块)
作用:专用图形处理单元,提升复杂动画性能。
动画优化:支持高帧率动画(如翻转、缩放)。
能效比提升:减少 CPU 负载,延长嵌入式设备续航。

图1.3 TouchGFX软件
三,STM32CUBEMX6.9.2介绍
STM32CubeMX是一个功能强大的图形化配置工具,主要用于STM32微控制器的配置和初始化C代码生成。它通过提供直观的用户界面和自动化的代码生成功能,大大简化了STM32微控制器的开发过程。以下是该软件的各个模块的详细介绍,包括其分类、作用、主要使用方法。
(1)项目管理模块
作用:管理STM32CubeMX项目,包括创建、保存、加载和迁移项目配置。
主页:提供项目创建、加载和更新的入口。
新项目窗口:允许用户选择MCU或开发板,并进行项目初始化。
项目页面:包含引脚布局和配置、时钟配置、项目管理器等视图,用户可以在此进行详细的配置和代码生成。
主要用途:创建新项目并选择合适的STM32微控制器或开发板。加载和修改已保存的项目配置。将项目配置迁移到其他STM32微控制器。
(2)配置模块
作用:配置STM32微控制器的硬件资源,包括引脚、时钟树、外设和中间件。
引脚布局和配置视图:用于配置引脚分配、外设模式和GPIO设置。
时钟配置视图:用于配置时钟源、预分频器和倍频器。
外设和中间件配置:用于配置外设参数和中间件(如USB、FatFs、LwIP等)。
主要用途:配置引脚功能,解决引脚冲突。配置时钟树,满足应用的时钟需求。配置外设和中间件,生成相应的初始化代码。
(3)代码生成模块
作用:根据用户配置生成初始化C代码,支持多种开发环境。
项目管理器视图:用于配置项目设置,如工具链选择、代码生成选项等。
代码生成器:生成初始化C代码,支持HAL和LL驱动程序。
自定义代码模板:允许用户通过FreeMarker模板生成自定义代码。
主要用途:生成适用于不同开发环境的初始化C代码。支持HAL和LL驱动程序的代码生成。通过自定义模板生成特定的代码片段。
(4)功耗计算模块
作用:估算应用的功耗和电池寿命。
功耗计算器视图:用户可以定义功耗序列,估算平均功耗、电池寿命等。
功耗序列管理:保存、加载和比较不同的功耗序列。
主要用途:优化应用的功耗设计。估算电池寿命,帮助设计低功耗应用。
(5)更新与管理模块
作用:管理软件更新和嵌入式软件包。
更新程序设置:配置自动或手动更新,设置代理服务器。
嵌入式软件包管理器:安装、更新和删除嵌入式软件包。
主要用途:保持STM32CubeMX和嵌入式软件包的最新状态。管理第三方软件包,扩展项目功能

图1.4 STM32CubeMX软件
四,Keil MDK 5介绍
Keil是一个功能强大的集成开发环境(IDE),主要用于基于ARM微控制器(MCU)的嵌入式系统开发。它提供了全面的工具链,包括编辑器、编译器、调试器和仿真器,以支持嵌入式应用的开发。以下是对该软件主要模块和作用的介绍。
(1)开发工具链
μVision IDE:提供了一个直观的用户界面,用于编写、编译和调试代码。它支持多种编程语言,包括C、C++和汇编语言。
ARM Compiler:编译器负责将高级语言代码转换为机器代码。Keil支持多种编译器,包括免费的ARM Compiler 5和商业版的ARM Compiler 6。
调试器和仿真器:支持硬件调试和仿真,允许开发者在实际硬件或模拟环境中测试和调试代码。
(2)开发工具组件
Keil MDK(Microcontroller Development Kit):这是一个完整的开发工具包,包含了μVision IDE、编译器、调试器和仿真器。MDK支持多种ARM Cortex-M处理器。
Keil RL-ARM:实时操作系统(RTOS)组件,提供任务调度、中断处理和资源管理等功能。
Keil RTX:另一个实时操作系统,适用于需要高性能和低延迟的应用。
KeilPack:提供设备支持包,包括启动代码、外设驱动和示例项目,帮助开发者快速开始开发。
其他工具:
Keil ARM Development Studio:一个高级开发工具,提供更强大的调试和性能分析功能。
Keil IP Explorer:帮助开发者探索和集成Arm IP(知识产权)到他们的项目中。
(3)主要使用方法
项目创建:在μVision IDE中创建新项目,选择目标微控制器和工具链。
代码编写:使用内置的代码编辑器编写源代码,支持语法高亮和代码补全。
编译和链接:使用ARM Compiler编译源代码,生成可执行文件。
调试和仿真:通过调试器和仿真器在硬件或模拟环境中测试和调试代码。
项目管理:使用IDE的项目管理功能组织和管理项目文件。
(4)主要部件
μVision IDE:提供用户界面和项目管理功能。
ARM Compiler:将源代码转换为机器代码。
调试器和仿真器:用于代码调试和硬件仿真。
设备支持包(KeilPack):提供微控制器的启动代码和外设驱动。
(5)主要用途
嵌入式系统开发:适用于基于ARM Cortex-M处理器的微控制器开发。
实时操作系统(RTOS)开发:支持RL-ARM和RTX等RTOS的开发。
代码调试和仿真:提供强大的调试和仿真功能,帮助开发者测试和优化代码。
项目管理:帮助开发者组织和管理复杂的嵌入式项目。

图1.5 Keil MDK软件
附上所用软件官网链接,很多知识可以在官网中进行学习
更多推荐



所有评论(0)