Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 GitHub - hjroyal/pebsa: Power Electronics Basic Software Architecture
Nothing Special   »   [go: up one dir, main page]

Skip to content

hjroyal/pebsa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

PEBSA : Power Electronics Basic Software Architecture

电力电子基础软件架构示例项目

项目简介

这是一个基于TI TMS320F28377D DSP控制器和µC/OS-III实时操作系统的嵌入式软件项目。该项目为电力电子应用提供了一个基础软件架构,旨在实现高性能、可扩展和可维护的嵌入式系统解决方案。

项目专为F28377D双核架构设计,CPU1运行µC/OS-III实时操作系统,CPU2采用裸机方式运行,可根据需要与CLA协同工作。通过持续优化,该项目致力于达到产品级应用标准,可作为电力电子变换器控制系统的软件基础。

目录结构

.
├── application     # 应用程序主入口及配置
├── cmd             # 链接命令文件
├── components      # 组件库(数据处理、SD卡、仿真等)
├── drivers         # 驱动程序(TI官方驱动及自定义驱动)
├── hal             # 硬件抽象层
├── modules         # 功能模块(计算、通信、控制、显示、参数、保护、传感等)
├── ucos3           # uC/OS-III实时操作系统
└── user_cpu1       # 用户CPU1相关文件

依赖项

  • TI Code Composer Studio (CCS) v20.0.0 或更高版本
  • TI C2000Ware driverlib
  • µC/OS-III v3.08.02 实时操作系统
  • TMS320F28377D 外设驱动

核心特性

  • 实时多任务处理 - 基于µC/OS-III的优先级抢占式任务调度
  • 硬件抽象层 - 统一的外设接口,提高代码可移植性
  • 模块化设计 - 功能模块解耦,便于维护和扩展
  • 电力电子专用功能:
    • 高精度ADC采样与过采样
    • PWM波形生成与控制
  • 通信支持:
    • SCI串口通信
    • SPI接口支持
    • Modbus协议实现
  • 面向对象C编程
    • 使用C语言实现面向对象设计模式

系统架构

本项目采用分层架构设计,从下到上分为硬件层、驱动层、操作系统层、中间件层和应用层:

硬件层

基于TMS320F28377D双核DSP控制器,主频200MHz,具有丰富的外设资源:

  • 多路高精度ADC模块
  • 多组EPWM模块
  • 多个SCI/SPI/I2C通信接口
  • 丰富的GPIO资源

驱动层与硬件抽象层(HAL)

  • 外设驱动程序封装
  • 板级支持包(Board Support Package)
  • 统一硬件接口定义

操作系统层

集成µC/OS-III实时操作系统,提供:

  • 实时多任务调度
  • 任务间同步与通信机制(信号量、消息队列、事件标志组)
  • 内存管理
  • 中断管理

中间件层

  • 通信协议栈(Modbus等)
  • 文件系统
  • 数据处理算法库

应用层

  • 主应用程序任务
  • 控制算法实现
  • 控制算法仿真

多任务设计

系统采用多任务架构,主要任务包括:

任务名称 优先级 功能描述
主中断任务 0 (最高) 同步采样发波
Tick任务 1 系统时基,处理周期性事件
控制任务 3 控制算法执行
保护任务 5 系统保护逻辑处理
通信任务 7 数据通信与外部交互

任务间通过事件标志组进行同步,确保实时性和系统稳定性。

开发规范

  • 采用面向对象的C语言编程风格
  • 模块化设计,接口清晰
  • 严格的代码注释规范
  • 基于事件标志的多任务同步机制
  • 统一的错误处理机制

使用说明

  1. 使用TI CCS导入项目
  2. 确保安装了所需的依赖项
  3. 根据目标硬件配置调整相关参数
  4. 编译并下载到TMS320F28377D目标板
  5. 根据具体应用需求进行功能定制

扩展性考虑

项目设计时充分考虑了扩展性:

  • 模块化架构支持功能扩展
  • 标准化接口便于第三方模块集成
  • 可配置的参数系统适应不同应用场景
  • 双核架构支持计算密集型任务分担

注意事项

  • 项目针对CPU1进行配置,使用µC/OS-III实时操作系统
  • CPU2采用裸机方式运行,不使用操作系统
  • 根据实际硬件平台调整引脚配置和外设初始化
  • 在产品化过程中需要进行充分的测试和验证

About

Power Electronics Basic Software Architecture

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0