前言

软件介绍

本设计硬件部分首先利用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 各个模块的分类说明。

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

附上所用软件官网链接,很多知识可以在官网中进行学习

 AD下载

STM32Cube下载

Arm官网

Multsim官网下载

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐