DSP实时分析平台设计方案:924-6U CPCI振动数据DSP实时分析平台

6U CPCI振动数据DSP实时分析平台

 

一、产品概述

      基于CPCI结构完成40路AD输入,30路DA输出的信号处理平台,处理平台采用双DSP+FPGA的结构,DSP采用TI公司新一代DSP TMS320C6678,FPGA采用Xilinx V5 5VLX110T-1FF1136芯片,设计尽量采用工业级芯片。该方案描述了技术要求,硬件设计、软件设计方案。提出任务的质量保证与控制要求、验收与交付要求。

    1、标准6U cPCI 板卡结构。

    2 采用双DSP,TMS320C6678,实现各8核,1.25GMHz的快速数据处理。

    3、采用FPGA实现AD,DA数据收发,并与DSP进行传输。

    4、DA: 不少于30路,±10V,16位,建立时间约0.01mS;

    5、AD:不少于40通道,±10V, 16位,采样速率8kHz;

    6、开发工具CCS:用户在此开发工具上可使用标准的C(或C++)对于全部资源进行操作和信号处理(DSP)等

    7、工作环境:工业级应用

二、处理板硬件

 

 

 

三、底层软件开发

3.1 DSP底层程序设计

      DSP 程序采用CCS4.0以上版本进行编译,程序包括几部分:

    A、DDR2驱动

实现DDR2的寄存器访问和设置,配置DDR2的接口参数,实现数据的访问,同时测试DDR2的空间是否有误码数据,全部空间进行测试。

    B、 Flash驱动

实现Flash空间的擦除,写数。此部分还包括EMIF接口的配置。

    C、 Boot引导程序,实现DSP程序的二次加载,实现简单程序的加载成功。

    D、 RapidIO驱动,实现两个DSP之间的RapidIO收发数据,分别做主从,采用DMA和中断方式,实现两路数据的交互。

    E、 多核工作,实现8核CPU的共享内存,并把数据分别传送给8个CPU同时处理。

    F、 PCIe 驱动,PCIe驱动要结合FPGA程序进行调试,DSP端实现PCIe的DMA ,中断传输,能正确读FPGA中的FIFO和寄存器数据,能正确写FPGA中的FIFO和寄存器数据。

    G、 以太网程序,DSP通过以太网接口,利用TI的测试例子程序,实现数据的回环测试,保证硬件链接可靠。

3.2 FPGA 程序设计

 FPGA程序主要包含:

    A、 AD,DA参数的配置,通过SPI接口配置寄存器参数,实现AD、DA工作在合理的状态

    B、DDR2的控制和访问,FPGA实现DDR2芯片的控制,数据的读写,实现AD,DA通道数据的缓存。

    C、 PCIe接口,PCIe接口与DSP互联,实现X2模式访问,可以实现AD,DA数据的交互,寄存器的访问,实现DMA和中断方式。

    D、光纤驱动,实现四路的光纤采用RocketIO协议实现数据的收发。

3.3 应用测试程序

  应用测试程序主要测试数据流如下:

  (1) 40路AD,进入FPGA,通过PCIe同时进入两个DSP,做简单的缓存,通过RapidIO进入另外一个DSP,并通过网络发送到客户端进入PC机,缓存显示。

    (2)  AD 数据通过光纤SFP 发送出,并回环进入到另外两个SFP,并通过DA输出。

  (3) 在DSP中的AD数据,同时通过PCIe发送到FPGA,通过DA输出。

  (4) 在该数据流中,AD的数据复用后分成3个通道分别进入到两个DSP和光纤。

  (5) 两个DSP,和光纤过来的数据,进行三选一,同时给24路DA。

  (6)FPGA上的DDR2 主要做备份,可能在FPGA中做预处理的时候要用上,在模块测试中已经完成。

 

四、基于Labview的监客户端软件开发

4.1 软件界面

 

图 实时监控界面

 

 图 多通道示波器界面
4.2程序框图整体设计

 

图上位机程序框图
4.3 收发数据
    (1)发送数据:运行上位机程序,右击“波形信号选择”按钮,选择后,波形图对应的字符串显示控件会显示发送的信号名称,点击“发送按钮”即可向下位机发送数据;如果想停止发送可点击“停止发送”按钮。如在“波形信号选择W1”的下拉菜单中选择控制信号->全部频率->作动器5,则波形图表1的字符串显示控件如图20所示

 

图 发送数据时选择信号的显示
    (2)接收数据:想查看波形,需在运行后点击对应的“开启实时监控”按钮,使之处于“开”状态;想保存波形数据,需在运行后点击“开始记录”,并点击对应的“是否保存”按钮,使之处于“是”状态,如果想停止监控,点击“停止记录”按钮。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/588146.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《QT实用小工具·五十》动态增删数据与平滑缩放移动的折线图

1、概述 源码放在文章末尾 该项目实现了带动画、带交互的折线图,包含如下特点: 动态增删数值 自适应显示坐标轴数值 鼠标悬浮显示十字对准线 鼠标靠近点自动贴附 支持直线与平滑曲线效果 自定义点的显示类型与大小 自适应点的数值显示位置 根据指定锚点…

java并发编程-AQS介绍及源码详解

介绍 AQS 的全称为 AbstractQueuedSynchronizer ,就是抽象队列同步器。 从源码上可以看到AQS 就是一个抽象类,它继承了AbstractOwnableSynchronizer,实现了java.io.Serializable接口。 public abstract class AbstractQueuedSynchronizere…

redis缓存详情

redis安装包及图形化软件: 百度链接:https://pan.baidu.com/s/1wljo7JzgrSQyqldv9d5HZA?pwdht1m 提取码:ht1m 目录 1.redis的下载及安装 1.1redis的启动与停止 1.2Redis服务启动与停止 2.redis数据类型及常用指令 2.1redis数据类型 2.2redis常用…

读天才与算法:人脑与AI的数学思维笔记15_声响的数学之旅

1. 音乐 1.1. 巴赫的作品以严格的对位著称,他十分中意对称的结构 1.2. 巴托克的作品很多都以黄金比例为结构基础,他非常喜欢并善于使用斐波纳契数列 1.3. 有时,作曲家是本能地或者不自知地被数学的模式和结构所吸引,而他们并没…

Golang | Leetcode Golang题解之第61题旋转链表

题目: 题解: func rotateRight(head *ListNode, k int) *ListNode {if k 0 || head nil || head.Next nil {return head}n : 1iter : headfor iter.Next ! nil {iter iter.Nextn}add : n - k%nif add n {return head}iter.Next headfor add > …

【项目构建】04:动态库与静态库制作

OVERVIEW 1.编译动态链接库(1)编译动态库(2)链接动态库(3)运行时使用动态库 2.编译静态链接库(1)编译静态库(2)链接静态库(3)运行时使…

matlab学习007-已知离散时间系统的系统函数并使用matlab绘制该系统的零极点图;判断系统的稳定性;幅频和相频特性曲线

目录 题目 离散时间系统的系统函数:H(z)(3*z^3-5*z^210z)/(z^3-3*z^27*z-5) 1,绘制该系统的零极点图 1)零极点图 2)代码 2,判断系统的稳定性 1)判断结果 2)代码 3,试用MATL…

C++的未来之路:探索与突破

在计算机科学的浩瀚星空中,C无疑是一颗璀璨的明星。自诞生以来,它以其强大的性能和灵活的特性,赢得了无数开发者的青睐。然而,随着技术的不断进步和应用的日益复杂,C也面临着前所未有的挑战和机遇。本文将探讨C的未来之…

腾锐D2000-8 MXM VPX,全国产,可广泛应用于边缘计算网关、入侵检测、VPN、网络监控等等应用领域

腾锐D2000-8 MXM VPX 1. 概述 XMVPX-108 是一款基于飞腾 D2000/8 处理器的低功耗逻辑运算和图形处理 VPX 刀片, 板贴 32GB DDR4 内存,搭载飞腾 X100 套片,满足通用 IO 接口功能。GPU 采用 MXM 小型插卡形式, 搭配 8GB 显卡。提供…

【16-降维技术:PCA与LDA在Scikit-learn中的应用】

文章目录 前言主成分分析(PCA)原理简介Scikit-learn中的PCA实现应用示例线性判别分析(LDA)原理简介Scikit-learn中的LDA实现应用示例总结前言 降维是机器学习中一种常见的数据预处理方法,旨在减少数据集的特征数量,同时尽量保留原始数据集的重要信息。这不仅有助于减少计…

开箱子咸鱼之王H5游戏源码_内购修复优化_附带APK完美运营无bug最终版__GM总运营后台_附带安卓版本

内容目录 一、详细介绍二、效果展示2.效果图展示 三、学习资料下载 一、详细介绍 1.包括原生打包APK,资源全部APK本地化,基本上不跑服务器宽带 2.优化后端,基本上不再一直跑内存,不炸服响应快! 3.优化前端&#xff0c…

【源码阅读】Golang中的go-sql-driver库源码探究

文章目录 前言一、go-sql-driver/mysql1、驱动注册:sql.Register2、驱动实现:MysqlDriver3、RegisterDialContext 二、总结 前言 在上篇文章中我们知道,database/sql只是提供了驱动相关的接口,并没有相关的具体实现,具…

NLP 笔记:TF-IDF

TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文档频率)是一种用于信息检索和文本挖掘的统计方法,用来评估一个词在一组文档中的重要性。TF-IDF的基本思想是,如果某个词在一篇文档中出现频率高&#xff0…

不坑盒子2024.0501版,Word朗读、Word表格计算、Word中代码高亮显示行号、Excel中正则提取内容……

通过“听”来审阅Word中的内容,能轻松找出那些容易被眼看忽视的错字。 不坑盒子2024.0501版来了,很多奇妙的事情,正在发生…… 功能一览 此版本共带来10余项变动,来看看有没有你感兴趣的吧~ 接入Azure的“语音”能力 接入“语…

Flutter笔记:Widgets Easier组件库(3)使用按钮组件

Flutter笔记 Widgets Easier组件库(3):使用按钮组件 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddre…

C语言之详细讲解文件操作(抓住文件操作的奥秘)

什么是文件 与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。文件通常具有点三个字母的文件扩展名,用于指示文件类型(例如,图片文件常常以KPEG格式保存并且文件…

JDBC连接MySQL8 SSL

1.创建用户并指定ssl连接 grant all on . to test% identified by imooc require SSL(X509); 2.查看是否使用ssl SELECT ssl_type From mysql.user Where user"test" 3.配置用户必须使用ssl ALTER USER test% REQUIRE SSL(X509); FLUSH PRIVILEGES; 注意&#xff…

Ollamallama

Olllama 直接下载ollama程序,安装后可在cmd里直接运行大模型; llama 3 meta 开源的最新llama大模型; 下载运行 1 ollama ollama run llama3 2 github 下载仓库,需要linux环境,windows可使用wsl; 接…

mac如何打开exe文件?如何mac运行exe文件 如何在Mac上打开/修复/恢复DMG文件

在macOS系统中,无法直接运行Windows系统中的.exe文件,因为macOS和Windows使用的是不同的操作系统。然而,有时我们仍然需要运行.exe文件,比如某些软件只有Windows版本,或者我们需要在macOS系统中运行Windows程序。 虽然…

【MATLAB源码-第200期】基于matlab的鸡群优化算法(CSO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 鸡群优化算法(Chicken Swarm Optimization,简称CSO)是一种启发式搜索算法,它的设计灵感来源于鸡群的社会行为。这种算法由Xian-bing Meng等人于2014年提出,旨在解决…
最新文章