这是Houdini 实现Retime的方法,里面包含了动力学,粒子,pyro,流体的retime
2025-05-15 22:52:08 3.35MB Houdini
1
基于F28335与F2812的DSP变频器SVPWM源码工程文件 内置多重功能,搭载浮点运算库,TMS实战编码与EEPROM存储参数支持,DSP程序定制 F28335 F2812 简易变频器svpwm源码 简易变频器C语言源代码工程文件,直接用ccs3.3以上软件打开。 包括SVPWM核心代码,有运行频率设置、载波频率(2.5K~20KHz)设置、电机额定频率和额定电压设置、加减速时间设置、输入输出电压设置、低频电压补偿设置、EEPROM参数存储等等。 使用浮点快速运算库,SVPWM部分运行一次时间为2.79uS。 用TM1638 作键盘和8位数码显示,全部自编源码,不使用官方现成功能模块,方便你学习和了解变频器的编程方法,也方便移植到其它芯片系列。 对时序要求较高的代码放在RAM内运行。 代码已经过硬件验证,非纸上谈兵。 ,核心关键词:DSP程序定制; F28335; F2812; 简易变频器; SVPWM源码; C语言源代码; ccs3.3软件; 运行频率设置; 载波频率设置; 电机额定参数设置; 加减速时间设置;
2025-04-18 10:00:42 919KB 柔性数组
1
Keil软件版本uVision V5.36.0.0 MCU型号:stm32f103c8t6 HAL 版本:V1.8.5 官方源码文件名:en.stm32cubef1-v1-8-5.zip FreeRTOS 内核版本:FreeRTOS Kernel V10.5.1; 官方源码文件名:FreeRTOSv202212.01.zip 本工程直接使用官方源码,并对源码做了如下一点修改: 在FreeRTOSMDK_HAL185\Drivers\CMSIS\Device\ST\STM32F1xx\Include 文件夹下的“stm32f103xb.h”文件, 修改一行代码如下 //#define __NVIC_PRIO_BITS 4U /*!< STM32 uses 4 Bits for the Priority Levels */ #define __NVIC_PRIO_BITS 4 /*modify by shenzz to fit FreeRTOS @2024.01.27*/
2025-04-06 15:58:31 49.74MB stm32 stm32f103c8t6 FreeRTOS
1
STM32F411CEU6是一款由意法半导体(STMicroelectronics)推出的高性能微控制器,属于STM32F4系列。它采用ARM Cortex-M4内核,具有浮点运算单元(FPU),适用于实时操作系统(RTOS)的运行。FreeRTOS是一个广泛使用的轻量级RTOS,特别适合资源有限的嵌入式系统,如STM32F411CEU6开发板。 在正点原子代码的基础上移植FreeRTOS,可以为开发带来许多好处,比如任务调度、中断处理和内存管理等。FreeRTOS的移植过程通常包括以下步骤: 1. **配置FreeRTOS**: 需要根据STM32F411CEU6的硬件特性,配置FreeRTOS的参数,如最大任务数量、堆栈大小、时钟频率等。 2. **设置RTOS内核时钟**: FreeRTOS需要一个高精度的时钟源用于调度任务,通常使用STM32的系统定时器(SysTick)或外部时钟源。 3. **初始化硬件**: 包括设置中断向量表、初始化GPIO、定时器、NVIC(Nested Vectored Interrupt Controller)等,以支持RTOS的运行。 4. **任务创建**: 创建需要运行的任务,并指定优先级和堆栈大小。每个任务都是一个独立的执行单元,可以包含特定的功能代码。 5. **启动RTOS**: 在初始化完成后,通过调用`vTaskStartScheduler()`启动FreeRTOS调度器,之后系统将自动按照优先级执行任务。 6. **中断服务例程(ISR)集成**: ISR需要与FreeRTOS协同工作,通常在中断服务函数中使用`taskYIELD()`或`vTaskSwitchContext()`进行任务切换。 7. **同步机制**: FreeRTOS提供信号量、互斥锁、事件标志组等工具,用于任务间的通信和同步,确保数据安全。 8. **内存管理**: FreeRTOS提供了内存分配和释放的API,如`pvPortMalloc()`和`vPortFree()`,开发者需适配STM32的内存模型。 9. **调试与优化**: 移植过程中会遇到各种问题,如堆栈溢出、死锁等,需要通过调试工具进行检查和修复,同时对任务调度和内存使用进行优化。 压缩包中的"F411模板"很可能包含了移植过程中所需的配置文件、源代码、Makefile等资源,包括FreeRTOS的头文件、库文件、初始化代码、示例任务以及可能的编译脚本。这些文件可以帮助开发者快速建立一个基于STM32F411CEU6的FreeRTOS工程,节省大量时间和精力。 通过使用这个移植模板,开发者可以直接专注于应用程序的编写,而无需从零开始搭建RTOS环境。这对于学习和实践FreeRTOS在STM32平台上的应用是非常有帮助的,同时也为项目开发提供了便利。
2025-04-03 19:41:10 7.72MB FreeRTOS STM32
1
内容概要: 这个资源是一个FPGA课程设计项目,旨在通过设计实现一个蜂鸣器来演奏歌曲《起风了》。该项目提供了源码、设计文件、仿真文件和XDC文件,用于帮助学生学习和实践FPGA数字音频处理的知识。 该资源的内容概要如下: 源码:包含蜂鸣器演奏歌曲《起风了》的Verilog或VHDL源代码文件。这些源码描述了将音乐数据转换为蜂鸣器频率和持续时间的逻辑控制。 设计文件:包括FPGA综合和实现所需的约束文件,用于指定时钟频率和引脚分配等信息。 仿真文件:提供了对蜂鸣器演奏功能进行功能仿真和时序仿真的测试文件。这些文件可以用于验证设计的正确性和性能。 XDC文件:包含了与FPGA引脚约束相关的信息,用于确保设计中的信号正确映射到FPGA芯片上的物理引脚。 适用人群: 这个资源适用于以下人群: FPGA学习者:对于正在学习FPGA的学生或爱好者,本资源提供了一个实际的项目示例,可以帮助他们理解数字音频处理原理,并学习如何将音乐数据映射到蜂鸣器的控制信号。 教育机构:教育机构可以将这个蜂鸣器设计项目作为FPGA课程的实践项目,让学生通过完成该项目来提高他们的数字音频处理和FPGA设计能力。
2024-12-12 22:46:53 1.45MB fpga开发 Verilog
1
(1)小车开机运行程序,在8位数码管的最右边3位显示小车定位距离,初始值为12.5(单位:cm)并启动超声波测距,将距离值显示在最左边4位(xxx.x cm) ; (2)利用按键设置定位距离,“+”按键每次增加0.5cm,上限为15.0cm; “-”按键每次减少0.5cm,下限为10.0cm;当按下该按键时,蜂鸣器响0.1秒(按键提示音)。 (3)设定好定位距离的小车放置在障碍物1米以外的位置。利用光敏遥控启动小车,同时启动“秒表计时器” 作为小车运行时间计时,并在数码管最右边3位显示时间(要求定时中断实现);尽量保持小车直线前进,要求小车速度至少有两个速度档位,距离障碍物越近,速度越慢。小车第一次进入定位距离范围内,停止计时,要求该时间不大于3.2秒,并记录小车运行时间。 (4)小车运行过程中,数码管上始终实时显示运行时间和小车到障碍物的距离; (5)小车在距离障碍物为定位距离±0.5cm范围内停止行驶,通过速度调节和前进后退等方式使小车精确定位在目标范围,若小车位于(定位距离-0.5cm)以内 ,则声光报警,即用一个发光二极管指示灯闪烁,点亮0.1s,熄灭0.3s;用蜂鸣器响0.1
2024-11-05 13:11:06 162KB 电子科技大学
1
电路城SD卡读卡器类似项目设计: 基于台湾创惟GL827LL制作的SD读卡器,该模块可直接运用于各类需要插SD读卡设备! 该SD读卡器Demo视频演示如下: https://www.tudou.com/programs/view/u0--NkjCRC8/?bid=03&pid=1&resourceId=0_03_05_01 GL827L芯片购买:https://www.szlcsc.com/product/details_52834.html GL827L制作的SD读卡器实物展示: SD读卡器原理图+PCB截图: GL827L制作的SD卡读卡器 PCB 空板购买链接:https://www.szlcsc.com/product/details_97263.html
2024-09-06 17:02:29 3.1MB gl827l 电路方案
1
STM32电机库5.4开源无感注释 KEIL工程文件 辅助理解ST库 寄存器设置AD TIM1 龙贝格+PLL 前馈控制 弱磁控制 foc的基本流 svpwm占空比计算方法 斜坡启动 死区补偿 有详细的注释, 当前是无传感器版本龙贝格观测,三电阻双AD采样!
2024-08-30 11:47:03 127KB stm32
1
AES-128,全称为Advanced Encryption Standard with a 128-bit key,是一种广泛应用的对称加密算法,主要用于保护数据安全。在 FPGA(Field-Programmable Gate Array)上实现AES-128,可以提供高效、实时的加密与解密功能,尤其适用于嵌入式系统和物联网设备。下面我们将深入探讨AES-128的工作原理以及在FPGA中的实现。 AES-128算法由以下几个步骤组成: 1. **初始轮**:将128位的明文与128位的密钥进行混合。这个过程包括字节代换、行移位、列混淆和轮密钥加四个子步骤。 2. **中间轮**:接下来的9轮中,同样的四个子步骤反复执行,每一轮都会使用一个新的轮密钥,增强安全性。 3. **最终轮**:最后一轮与中间轮类似,但省略了列混淆步骤,确保解密过程的逆向操作。 **字节代换**:使用预定义的S盒(Substitution Box),每个字节都被替换为另一个字节,增加破解的难度。 **行移位**:矩阵的每一行向左移动一定数量的位,使得不同行的数据交错,增强加密效果。 **列混淆**:通过线性变换,使列中的数据相互影响,增加密码的复杂性。 **轮密钥加**:每一轮结束时,将当前轮的密钥与明文或密文异或,为下一轮做准备。 在FPGA中实现AES-128,我们可以利用FPGA的并行处理能力,设计出硬件加速器。这通常包括以下部分: 1. **状态机**:控制整个加密/解密过程的时序,确保各个步骤按正确顺序执行。 2. **数据路径**:实现字节代换、行移位和列混淆的功能模块,这些模块可以通过查找表(LUT)、移位寄存器等逻辑单元构建。 3. **轮密钥生成器**:根据主密钥生成每轮所需的轮密钥,这通常涉及到一系列的位扩展和异或操作。 4. **接口**:设计输入/输出接口,接收明文数据和密钥,输出密文数据,可能还包括调试信息。 5. **时序优化**:为了达到高速加密,需要考虑时钟周期和逻辑深度,确保所有操作能在规定时间内完成。 在提供的文件"tb"中,"tb"通常代表Testbench,是验证AES-128设计是否正确的测试平台。它会模拟各种输入数据和密钥,检查输出结果是否符合预期,以确保FPGA设计的正确性和性能。 通过这样的工程文件,开发者可以学习到如何在FPGA中实现高效的AES-128硬件加速器,并且可以利用Testbench进行验证,确保其功能正确无误。这种实践对于理解和掌握FPGA开发、密码学以及数字电路设计都具有重要意义。
2024-08-08 16:37:02 159KB fpga开发 AES加解密
1
0.96寸OLED屏幕是一种常见的微型显示设备,广泛应用于物联网、智能家居、小型电子设备等领域。这种屏幕采用有机发光二极管(Organic Light-Emitting Diode)技术,具有高对比度、快速响应、低功耗等特点,使得它在小巧的体积下能提供清晰的彩色或单色显示。 在开发0.96寸OLED屏幕时,通常会用到IIC(Inter-Integrated Circuit)通信协议,这是一种多主设备接口,可以连接多个外围设备。在这个项目中,软件模拟了IIC协议,这意味着开发人员没有依赖硬件IIC接口,而是通过软件编程实现了相同的功能。这种方法提高了代码的灵活性和可移植性,使得该工程文件能够在不支持硬件IIC的微控制器上运行。 STM32是一款基于ARM Cortex-M内核的微控制器系列,由意法半导体公司生产。它以其高性能、低功耗和广泛的外设接口而受到开发者青睐。在这个工程中,STM32被用作驱动OLED屏幕的控制器。开发者可能使用了STM32的GPIO引脚模拟IIC信号,并通过编程控制屏幕的显示内容。 压缩包内的"Oled_show"可能是包含驱动程序、示例代码或整个工程的文件。这个文件可能是C或C++编写的,其中包含了初始化OLED屏幕、发送指令、更新显示内容等关键函数。通常,开发者会先配置STM32的时钟系统,然后设置GPIO引脚模式,接着编写IIC通信协议的模拟代码,最后实现数据的发送和接收,控制OLED屏幕显示图像或文本。 在使用这些源工程文件时,你需要确保你的开发环境支持STM32开发,例如使用Keil MDK或IAR Embedded Workbench等IDE。同时,你需要对IIC通信协议有一定的了解,以便理解和修改代码。此外,根据实际应用需求,你可能需要对屏幕的初始化参数、显示内容格式等进行调整。 这个开源项目为0.96寸OLED屏幕的开发提供了一个基础框架,让开发者能够快速地在STM32平台上实现OLED屏幕的控制。通过学习和利用这些源代码,你可以深入理解如何在软件层面模拟IIC协议,以及如何与OLED屏幕交互,从而提高你的嵌入式系统开发技能。
2024-07-30 14:38:25 22.29MB STM32 oled
1