BASIC SW的结构

CC2530 Basic RF实战:从零构建ZigBee无线通信原型 在物联网和嵌入式系统开发中,低功耗无线通信是实现设备互联的关键技术。其核心原理在于通过射频模块在特定频段收发数据,并借助协议栈管理网络连接与数据交换。这项技术的价值在于为智能家居、工业传感等场景提供了稳定、低功耗的无线连接方案。以广泛应用的IEEE 802.15.4标准为例,它定义了物理层和MAC层规范,是ZigBee等协议的基础。德州仪器(TI)的CC2530芯片及其配套的Basic RF软件库,正是学习与实践这一底层通信机制的绝佳平台。该库剥离了完整协议栈的复杂性,让开发者能直接操作数据包的组装、发送、 阅读详情

BASIC FOC 电机控制 SW 是基于明确定义的分层结构库开发的。该架构的设计方式是将库分成特定的组。这样就可以更换特定层中的不同模块,而不会影响其他模块的性能以及整个系统的结构

1.MCTRL解决方案(“FOC解决方案”)

MCTRL解决方案(MS-BAS)包含主要的“FOC解决方案”状态机和速度控制器。该库利用BASIC SW中的所有可用模块,提供两种驱动电机的控制模式:磁场定向控制(FOC模式)和电压-频率控制(VToF控制模式)。

2.MCTRL驱动算法

MCTRL 驱动算法(MDA-BAS)模块根据定子电压和电流估算转子磁通的电气位置和电气频率。该模块包含多个模块,具体描述如下

- 磁通估算器:该软件组件根据定子参考框架(alpha-beta)中的定子电压和定子电流估算转子磁通的电气位置和电气频率。转子磁通的角度根据电机的数学模型估算,并通过锁相环进行处理。角速度(电角速度)通过使用平均微分和低通滤波器从角度中计算得出。

FOC 控制器:输入为 alpha-beta 格式的电流、直交和正交参考电流以及转子磁通角。然后,它使用两个 PI 控制器执行电流控制,并输出极性格式的电压指令。

电流频率(IToF):该软件组件生成参考直轴和交轴电流以及旋转电压矢量的角度,以便对旋转磁场机器进行电流频率控制。当控制方法为开环时,IToF 模块用于启动阶段。

电压频率控制(VToF):根据输入的参考转速,在阿尔法-贝塔坐标系中产生旋转电压指令。VToF 控制模式是一种开环控制结构,因此没有来自电机的反馈,如电机位置或电机电流。

控制角识别(起始角识别):用于估计静止时的电转子角度,误差为60度。

3.MCTRL执行器传感器

MCTRL 执行器传感器 (MAS-BAS) 包含调制器模块及其不同的技术,为模式发生器(用于产生 PWM)和电流重建模块提供信号。

空间矢量调制(SVM)是任何一种无刷直流电机控制应用的基本功能。

调制器包含数学算法和计算,在电流控制回路中执行。

4.MCTRL硬件抽象层

MCTRL 硬件抽象(MHA-BAS)由管理 TLE987x 硬件模块(如电桥驱动器和 ADC 测量)的 SW 组件组成。该层允许从 ADC 中读取电流、生成 PWM 并检测桥接驱动器的故障。

- 模式发生器:设置驱动电桥驱动器开关的硬件模块所需的定时器比较值,以及触发电流测量的硬件模块所需的定时器比较值。定时器比较值由调制器计算和提供。模式发生器可配置为设置 PWM 频率、设置系统死区时间,还可配置为对陷阱故障做出反应。

桥接驱动程序:用于管理 BDRV 硬件模块检测到的硬件故障。

测量ADC:它从硬件测量模块(电流感测放大器)读取直流链路电压和相电流,消除电流测量偏移,并根据相应的基准值对值进行缩放。除此之外,它还可用于在初始化阶段校准电流偏移。

5.MCTRL数学

MCTRL Math(MAS-BAS)通过多个头文件和源文件提供优化的数学函数。

每个头文件都包含一个特定函数,例如clark变换,或一组类似运算,例如 16 位和 32 位变量的乘法运算(带或不带饱和)。

函数的静态配置通过配置向导工具完成。

算术函数提供简单的算术运算,如加法、减法、乘法,可带或不带饱和度。

BASIC SW 中的三角函数包括以下运算:

- Atan:小数输入值的余切值

- Atan2:计算 x(腹坐标)和 y(纵坐标)的四象限余切值的函数

- Sin:角度的正弦值

- Cos:角度的余弦值

- SinCos:角度的正弦值和余弦值

在 SW 中使用了查找表(例如 Lut_Atan、Lut_SinCos)来存储特定函数的值。查找表的大小可在配置向导中设置(8 位、10 位或 12 位)。

专门用于电机控制并在BASIC SW中提供的数学函数如下:

•CartToPolar:计算笛卡尔(α,β)到极坐标(振幅,角度)变换的函数

•PolarToCart:执行极坐标到笛卡尔变换的函数,计算从极坐标(幅度,角度)系统到笛卡尔坐标(α,β)系统

•Clarke:计算三相输入的Clarke变换的功能

•InvClarke:用于计算双轴正交输入的逆Clarke变换功能

•Park:用于计算Park变换功能

•InvPark:用于计算Park逆变换功能

•电流重建:用于计算三相电流基于两个单分路测量电流和扇区号

•DqDecoupling:在磁场定向控制器中实现DQ电流的解耦

•SpeedPreControl:实现速度预控制的功能(也称为前馈速度控制

此外,MCTRL Math还由软件组件组成,这些组件提供高级数学运算,如线性插值,控制算法的元素,如PI控制器、低通滤波器、PLL、速率限制器。

- PI 控制器: PI 控制器:具有防倒转功能和不同离散化方法的 PI 控制器功能 

- PLL:锁相环 (PLL) 功能,将角度作为输入,计算速度并过滤输入角度

- 加速度限制(AccelerationLimit):限制输入速度信号的加速度和减速度的函数

- Interp1DLUT:通过线性插值计算已知点(在一维查找表中提供)之间的中间值的函数 

- Limit:在设定的最大值和最小值之间限制输入变量的函数。

- RateLimiter:限制信号变化率的函数

- LowPass1st:通过一阶低通滤波器过滤输入信号的函数

6.MCU硬件外围设备

MCU硬件外设(或iLLD–低级驱动程序)在TLE987x的SDK中提供,它们由TLE987x外设的所有硬件寄存器设置组成,如ADC、CCU6、UART、桥接驱动程序、看门狗等。配置在配置向导工具中完成(图39)。

基于CC2520 Basic RF的无线通信开发:从芯片手册到实战应用 在物联网和嵌入式系统开发中,无线通信是连接物理世界与数字世界的核心技术。其原理基于射频收发器与微控制器的协同工作,通过特定的通信协议(如IEEE 802.15.4)在特定频段(如2.4GHz)进行数据传输。这项技术的核心价值在于为各类低功耗、短距离的物联网设备提供了稳定可靠的连接能力,广泛应用于智能家居、工业传感、环境监测等场景。本文聚焦于TI CC2520射频芯片,深入剖析其官方提供的Basic RF软件示例。该示例剥离了复杂协议栈,提供了一个精简的底层通信框架,是快速验证点对点无线链路、进行射频性能评估 阅读详情

相关推荐

BHT-BASIC 4.0:面向裸机MCU的静态编译型BASIC工具链

BASIC语言因其易学性长期用于嵌入式原型开发,但在资源受限的裸机MCU场景下,传统解释器面临内存溢出、启动延迟与调试困难等瓶颈。BHT-BASIC 4.0采用静态编译架构,跳过运行时解释环节,将BASIC源码直接映射为ARM Cortex-M/RISC-V原生指令流,实现微秒级确定性执行与3–8KB极简固件体积。其核心依托轻量中间表示(IR)与寄存器直寻址内存模型,规避动态栈与浮点不可控开销,天然适配无OS、无libc的工业HMI、教育板卡及工控逻辑固化等场景。本文详解其编译原理、裸机寄存器操作实践与符号

weixin_29193259的博客 314

探索mCtrl:增强你的Windows UI体验

探索mCtrl:增强你的Windows UI体验 项目简介 mCtrl 是一个用于Microsoft Windows的C语言库,它提供了标准Win32API控制之外的一系列附加用户界面控件。这个库的设计理念是与Win32API保持相似的接口,这意味着在注册窗口类并进行初始化之后,你可以像使用普通Win32API函数CreateWindow()或CreateWindowEx()一样创建和操控这些控件...

gitblog_00100的博客 606

mctrl:C库,为Windows提供一组附加的用户界面控件,旨在补充USER32.DLL和COMCTL32.DLL的标准Win32API控件

mCtrl自述文件 主页: : 主要代码回购: : 什么是mCtrl mCtrl是一个C库,为MS Windows提供一组其他用户界面控件,旨在与USER32.DLL和COMCTL32.DLL的标准Win32API控件COMCTL32.DLL 。 该库的API设计为类似于Win32API。 即,在控件的窗口类注册有相应的初始化函数之后,通常可以使用Win32API的函数CreateWindow()或CreateWindowEx()创建该控件,并通过SendMessage()控制。 获取mCtrl 您总是可以在项目主页上获得最新版本和最实际的信息: 每个发行版本通常有两个软件包: mCtrl-xyz-bin.zip :预构建的二进制包 mCtrl-xyz-src.zip :源码包 预先构建的软件包包含MCTRL.DLL和示例的32位和64位二进制文​​件,以及用于应用程序开发人员的文档。 源软件包是从版本控制系统存储库直接导出源树。 当前代码(可能未经测试且不稳定)也可以从github上托管的git存储库中克隆: 使用mCtrl 预先构建的发行包具有以下目录结构:

VFB组件:mCtrlMDItab控件(多标签)

第三方控件,编译后会带一个 DLL 文件。 这是个多标签,就但但就是个标签,点击切换,支持MDI,运行后的效果 常用事件 常用代码 根据事件和选择,需要自己来显示相关页面。 ...

yfvb2010的专栏 364

Aurix电机控制软件介绍(iLLD Service软件-电机&逆变器软件库.pdf

Aurix电机控制软件介绍;iLLD Service软件-电机&逆变器软件库技术介绍,包含架构,库安装/使用方法等要点介绍,英文资料

19-5 ACC 自适应巡航控制系统需求

本专题由深圳季连AIgraphX李博及团队出品,主要讲解ACC自适应巡航控制系统的开发与仿真测试。具体说来,包括ACC标准/法规分析、系统需求、系统架构、软件需求、软件架构、算法建模、验证场景分析、仿真实验搭建等内容。 本节主要讲ACC系统需求。

AIgraphX 1088

iLLD简介

iLLD, 全称 Infineon Low Level Driver, AURIX 家族的开源软件包, 支持多种编译器, 硬件抽象, 包含Demo, 让外设的配置/初始化/使用更简单. iLLD提供了函数, 驱动和结构体, 实现3个层次的抽象: Special FunctionRegister Level: 通过名字访问寄存器位Driver Level: 封装寄存器配置为函数, 更易执行Function Level: 初始化, 配置, 启动, 停止任何AURIX外设 开发环境集成: 以I2

kunkliu的博客 1234

Fiddler抓包实战:5分钟搞定微信公众号历史消息接口分析(附完整Python代码)

本文详细介绍了如何使用Fiddler抓包工具逆向分析微信公众号历史消息接口,并提供完整的Python代码实现。从环境准备、动态参数捕获到商业级采集系统架构设计,全面解析了突破官方接口限制的技术方案,帮助开发者高效获取公众号文章数据。

tree8的博客 326

sw-test避坑指南:解决Service Worker注册失败的5个常见问题

sw-test是一个简单的Service Worker测试仓库,旨在展示Service Worker的基本功能。对于新手开发者来说,Service Worker的注册过程常常会遇到各种问题,本文将介绍5个常见的注册失败问题及解决方法,帮助你快速掌握Service Worker的使用技巧。 ## 1. 作用域设置错误:确保Service Worker的作用域正确 Service Worker的作

gitblog_00283的博客 837

Simulink+Simscape多体仿真:六自由度Stewart平台动力学建模全流程

本文详细介绍了使用Simulink和Simscape Multibody进行六自由度Stewart平台动力学建模的全流程,涵盖从CAD模型导入、运动学逆解计算到实时控制系统的设计。通过MATLAB/Simulink与Simscape的协同工作,实现高保真度的并联机器人仿真,适用于飞行模拟器、精密加工等高精度领域。

r2s3t4的博客 485

美团mtgsig 3.1.0算法还原:从加密入口到d1生成的完整链路拆解

本文详细拆解了美团mtgsig 3.1.0签名算法的完整逆向过程。通过定位加密入口函数eH,理清a6、a5、a8到d1的生成依赖链,并运用插桩技术,在JSVMP混淆环境下逐步还原了核心参数的生成逻辑,为逆向工程实践提供了清晰的纯算还原方法论。

oo7890的博客 776

为什么选择sw-test?探索Service Worker在前端开发中的革命性应用

sw-test是一个专注于Service Worker技术演示的开源项目,通过简洁的代码示例展示了Service Worker在离线缓存、资源预加载等方面的核心能力。对于前端开发者而言,它提供了一个直观了解现代Web应用离线功能实现的实践平台,帮助开发者快速掌握这一提升用户体验的关键技术。 ## 什么是Service Worker?前端开发的"隐形守护者" 🛡️ Service Worker

gitblog_00083的博客 653

暗黑破坏神2重制版 mod制作教程(一)

暗黑2重制版mod修改教程

hhhh2312的博客 7449

ngx_http_auth_basic_handler

ngx_http_auth_basic_handler

weixin_41812346的博客 211

国资e学快速学习实战教程

本文主要介绍了国资e学快速学习实战教程,希望能对同学们有所帮助。 文章目录 1. 前言 2. 实战教程

weixin_43178406的博客 11万+

科研绘图系列:R语言绘制宏基因组分析的可视化图形(network & barplot & heatmap)

科研绘图系列:R语言多图形组合(network & barplot & heatmap)

专注生信领域 643

如何快速搭建sw-test本地环境:3步实现Service Worker离线缓存

Service Worker是前端开发中实现离线缓存和资源预加载的强大技术。本文将为你详细介绍如何快速搭建sw-test本地环境,通过3个简单步骤实现Service Worker离线缓存功能。无论你是前端新手还是希望深入了解Service Worker工作原理的开发者,这份完整指南都将帮助你快速上手。 ## 🔧 什么是Service Worker? Service Worker是一种运行在浏

gitblog_00486的博客 856

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

sw-test部署教程:从本地服务器到GitHub Pages的完整流程

想要快速掌握Service Worker的部署技巧吗?这篇终极指南将带你从零开始,完成sw-test项目的本地测试到GitHub Pages在线部署的完整流程。sw-test是一个展示Service Worker基础功能的简单演示项目,通过这个教程,你将学会如何配置、测试和部署一个功能完整的Service Worker应用。 ## 🔧 什么是Service Worker? Service W

gitblog_00651的博客 483

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SW批量导出方程式

批量导出方程式 程序逻辑:遍历文件夹及子文件夹下所有模型文件–>打开模型文件–>获取所有方程式–>输出到文本文件 代码如下:

qq_22064703的博客 2493

sw-test核心代码解密:cacheFirst策略如何提升Web应用性能

sw-test是一个专注于Service Worker基础功能演示的测试项目,通过简洁的代码实现了Web应用的缓存管理和离线访问能力。本文将深入解析项目中的cacheFirst缓存策略实现,揭示其如何显著提升Web应用的加载速度和用户体验。 ## 什么是cacheFirst策略? cacheFirst是Service Worker中一种高效的资源请求策略,其核心思想是**优先从本地缓存读取资源

gitblog_01155的博客 341

SW重装所遇到的问题及解决方案

解决:就是将C:\Program Files\Common Files\Microsoft Shared下的VBA文件夹删除,如需再重新启用可到原文件夹下重新下载所有文件,我的文件目录是E:\SW\SolidWorks 2020 64bit\SW 2020\PreReqs\VBA。解决:使用 Windows Install Clean Up卸载 VBA7.1 各个版本,一般只有三个,后缀是7.1,重新下载完成后我有11个。解决:按安装教程将所需文件复制到对应目录下(我忘了。

Adjjsjdua_的博客 1664

sw-test项目完全指南:从零开始掌握Service Worker核心功能

想要为你的Web应用添加离线访问能力吗?想要提升用户体验和页面加载速度吗?sw-test项目正是你需要的终极Service Worker学习工具!这个简单实用的演示项目将带你从零开始掌握Service Worker的核心功能,让你快速理解如何为网站添加离线缓存、资源预加载等强大功能。😊 Service Worker是现代Web开发中的关键技术,它允许开发者控制网络请求、缓存资源,甚至在离线状态

gitblog_00272的博客 878

Tushare 申万实时行情接口 rt_sw_k 使用指南:行业指数盘中截面数据获取与实战

本指南以 Tushare(财经数据接口包)在 ai_quant_trade 仓库中的 [申万实时行情接口文档](https://link.gitcode.com/i/22bd47cfe9da3f909055800d13dfa7c1) 为骨架,系统讲解 `rt_sw_k` 接口的权限要求、入参与出参、调用方式与返回数据结构,并结合仓库内 Tushare Skill 包中的申万行业分类、日线行情、成分

gitblog_00496的博客 494

Tushare接口文档:指数基本信息(index_basic)

本文旨在对Tushare的指数基本信息`index_basic`数据接口进行介绍,提供更多参考示例和使用说明。通过本接口可获取指数的基础信息,例如指数代码、全称简称、发布方、基期、加权方式等。在指数行情等多个需要依赖`ts_code`而不清楚后缀的情况下,可以使用该接口获取指数代码`symbol`与`ts_code`的对应关系。本文还介绍了如何通过传递`market`和`category`字段分别指定发布指数的交易所或服务商以及指数分类。

xiaogoumaogou的专栏 215

Swagger Maven Plugin安全配置详解:Basic、API Key与OAuth2认证集成

想要为你的API文档添加完整的安全认证配置吗?Swagger Maven Plugin提供了强大的安全定义功能,让你在构建阶段就能生成包含Basic认证、API Key和OAuth2等多种认证方式的Swagger文档。这篇完整指南将带你深入了解如何配置Swagger Maven Plugin的安全认证功能,确保你的API文档既专业又安全。🚀 ## 为什么API安全配置如此重要? 在现代API

gitblog_00645的博客 677
上一篇: FOC电机控制详解
下一篇: 静态参数的配置
LLLLISA
博客等级 码龄6年 102粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值