自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(221)
  • 资源 (10)
  • 收藏
  • 关注

原创 ZYNQ 使用AXI_BRAM实现PS与PL 数据交互数据交互

一,有时 CPU 需要与 PL 进行小批量的数据交换,可以通过 Block RAM 实现。通过 Zynq 的 GP Master 接口读写 PL 端的 BRAM,实现PS与 PL 的交互。加入自定义的 FPGA 程序,并利用 AXI4 总线进行配置,通知何时读写 BRAM。CPU 通过 AXI BRAM Controller 读取 BRAM 数据,CPU 仅配置自定义的 PL BRAM Controller 的寄存器,不通过它读写数据。二,vivado工程:添加了 GPIO 产生中断,中断是在 pl

2020-09-14 00:38:56 2300 3

原创 ZYNQ PL通过EMIO ETHE1外接PHY由GMII转RGMII

1,设置EMIO方式引出ETHE12,从GMII过度到RGMIIGMII:发送 gmii_tx_clk gmii_tx_d[7:0] gmii_tx_en gmii_tx_er接收 gmii_rx_clk gmii_rx_d[7:0] gmii_rx_dv gmii_rx_erRGMII:发送 tx_clk tx_d[3:0] tx_ctrl接收 rx_clk rx_d[3:0] rx_ctrl首先数据总线从时钟单边沿采样8bit转变为了双边沿采样4bit,从88E1

2020-07-29 11:10:59 2379 11

原创 ZYNQ DDS产生载波FFT变换

vivado2017.41,DDS的配置2,FFT ip核配置3,代码`timescale 1ns / 1psmodule fft( input aclk, input aresetn, output [7:0] fft_real, output [7:0] fft_imag, output [17:0]data, output [15:0]dds_m_data_tdata, output ...

2020-07-01 09:57:32 649 6

原创 ZYNQ petalinux 设备树驱动双DMA循环切换传输数据

1,单个DMA每次只能发送一定量的数据,但对于数据源来说数据时源源不断产生的,所以在单个DMA单次发送完成至下一次传输期间,这段时间的数据流失了,所以采用两个DMA实现循环发送数据,防止数据丢失。自定义一个IP核用于产生源源不断的测试数据模拟数据源,再自定义一个IP用于切换DMA发送数据。通过axi-gpio启动数据源产生数据,数据流再通过DMA切换模块分批次将数据送往DMA。每个DMA发送20万个数据便进行切换,所以数据源采用从1开始累加产生数据,每次在DMA中断中验证最后一个数据是否正确。2,添

2020-07-01 09:04:16 614

原创 ZYNQ PS-PL数据交互方式总结

一,中断二,IO方式:MIO EMIO GPIO三,BRAM或FIFO或EMIF(1)通过BRAM实现PL/PS之间交互PS 的配置如下图所示。使能 M_AXI_GP0 口,将 FCLK_CLK0 设为 100MHz,使能 PL 至 PS 的中断。AXI BRAM Controller IP 核连接 PS 的 M_AXI_GP0 口和 BRAM,完成 AXI 接口至 BRAM 接口的转换。添加BRAM,将BRAM设置为双口RAM,将PORTA与AXI B...

2020-06-29 18:09:57 4450

原创 ZYNQ 网络通信的四种实现方案

一,ZYNQ MIO以RGMII 接口连接外部PHY芯片实现LWIP网络通信。二,ZYNQ PS 的 ENET0/ENET1 通过 EMIO 的方式扩展至 PL,在 PL 中通过 RGMII 接口连接扩展子卡实现 LWIP 网络通信。在PL中搭建了1个AXI 1G/2.5G Ethernet Subsystem以及1个AXI Direct Memory Access IP 核。这两个 IP核均通过AXI 总线经S_AXI_HP0 口与PS 连接,PS 通过AXI 总线对其进行配置和控..

2020-06-22 11:34:29 3128 4

原创 powerPC4080制作启动文件和SSD读写测试

一,powerPC制作文件系统:1, 准备工作sudo mkdir /local/tftpboot/comx_p4080/ -pcd 4080/sudo cp ./opt/* /opt/ -rfcp COMX_P4080_SRC_V100R00 ~/ -rf(然后原来位置的文件夹就没有用了,或者看成剪切过去的)2,向文件系统中添加文件cd ~/COMX_P4080_...

2020-04-06 14:56:00 1559

原创 线扫激光算法原理

一:线扫激光算法原理激光器发出的激光束经准直聚焦后垂直入射到物体表面上,表面的散射光由接收透镜成像于探测器的阵列上。光敏面于接收透镜的光轴垂直。如图:当被测物体表面移动x,反应到光敏面上像点位移为x’。a为接收透镜到物体的距离(物距),b为接收后主面到成像面中心的距离(一般取焦距f),θ为激光束光轴与接收透镜之间的夹角。D为激光光束轴到透镜中心的距离。接收透镜的焦距为f,其余的参数如下图:...

2020-03-12 00:17:07 3625 3

原创 ZYNQ petalinux系统启动文件固化到FLASH

首先明确:petalinux启动文件从FLASH启动系统,也就是将启动文件放入FLASH中。1,vivado配置:2,导入硬件后配置petalinux source /opt/Xilinx/Vivado/2017.4/settings64.sh source /opt/pkg/petalinux/settings.sh petalinux-create --type...

2020-03-10 23:54:53 1990

原创 ZYNQ使用AXI_Ethernet编译系统扩展多网口

1,使用内核版本4.9:linux-xlnx-xilinx-v2017.4(1)petalinux-create --type project --template zynq --name lwip 进入lwip文件夹执行:petalinux-config --get-hw-description your_wapper.hdf ,导入硬件。...

2020-03-10 00:33:18 2175 1

原创 ZYNQ petalinux将系统启动文件固化到EMMC

先明确:/dev/mmcblk0p1是SD卡的FAT区,/dev/mmcblk0p2是SD卡的EXT4, /dev/mmcblk1是未进行分区的EMMC;一会下面会讲到要讲把EMMC分为 /dev/mmcblk1p1和 /dev/mmcblk1p2。编译petalinux:执行petalinux-config。(1)选择Subsystem AUTO Hardwa...

2020-03-08 21:32:08 2651

原创 DSP SRIO接口收发配置

两种基本操作模式:–直接•针对特定内存地址的读/写操作–发送设备知道接收设备的内存映射•功能单元:–LSU(加载/存储单元)–MAU(内存访问单元)–消息传递•邮箱和信件指示符–发送设备不需要了解接收设备的内存映射•功能单元:–TXU(信息传输单元)–RXU(信息接收单元)•差分输入/输出端口上的数据通信•整体RapidIO架构分为三层:1.物理层•塞德斯•RapidIO物理层IP2.传输层•将数据包从物理层传输到逻辑层协议单元3.逻辑层•协议单元(如LSU、TXU

2021-06-15 01:04:49 11

原创 DSP6748 IIC读写使用

函数对C6748的IIC0模块所在复用引脚的功能配置为IIC引脚。设置SYSCFG0模块的PINMUX4寄存器的PINMUX4_15_12和PINMUX4_11_8字段都为2,则设置了引脚功能为I2C0_SDA和I2C0_SCL。

2021-06-15 00:02:55 29

原创 DSP6678使用NDK网口通信

1,导入工程,project->import existing CCS eclipse project

2021-06-14 18:16:26 16

原创 DSP UART配置和使用

一,初始化1,给UART模块上电2,执行必要的设备pin多路复用设置(请参阅设备特定的数据手册)。,3通过将适当的时钟除数值写入除数锁存寄存器(DLL和DLH)来设置所需的波特率

2021-06-14 14:10:28 11

原创 OMAPL138 DSP程序固化

用CCS5 import “NANDWriter_DSPproject”,NANDWriter_DSPproject文件下载网址: https://sourceforge.net/projects/dvflashutils/files/OMAP-L138/v2.40/

2021-06-10 00:20:04 12

原创 ZYNQ 移植RT-thread到Microblaze

硬件环境:操作系统 Windows 7;开发环境 SDK 2018.3硬件支持 ZedboardRT-Thread V4.0.3

2021-06-06 19:41:23 74 4

原创 ZYNQ linux块设备驱动开发(ADC为例)

扇区是硬件传输数据的基本单位,硬件一次传输一个扇区的数据到内存中。但是和扇区不同的是,块是虚拟文件系统传输数据的基本单位。在Linux中,块的大小必须是2的幂,但是不能超过一个页的大小(4k)。(在X86平台,一个页的大小是4094个字节,所以块大小可以是512,1024,2048,4096)。...

2021-06-06 11:00:27 49

原创 ZYNQ linux SPI驱动开发(字符设备)

一,对系统各个层面的理解2,

2021-06-06 01:32:45 34

原创 ZYNQ UltraSCALE 使用AXI_BRAM进行PL与PS之间数据交互

软件平台:Vivado 2018.3 PetaLinux 2018.3 Ubuntu16.04

2021-06-05 23:06:24 16

原创 FPGA移植软核的原理

软核(Soft IP Core)软核在EDA 设计领域指的是综合之前的寄存器传输级 (RTL) 模型;具体在FPGA 设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局布线才能使用。其优点是灵活性高、可移植性强,允许用户自配置;缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是IP 核应用最广泛的形式。固核(Firm IP Core)固核在EDA 设计领域指的是带有平面规划信息的网表;具体在FPGA 设计中可

2021-06-05 19:21:25 18

原创 Python与ZYNQ沟通的桥梁PYNQ

PYNQ全称为Python Productivity for Zynq,即在Zynq全可编程ARM&FPGA融合处理架构的基础上,添加了对Python的支持。PYNQ希望能够借助Python语言本身易用易学、扩展库多而全、社区活跃贡献度高等特性,有效降低Zynq嵌入式系统的开发门槛,并为人工智能,ADAS,机器视觉等高拓展性/高复杂度应用需求提供更好支撑。PYNQ将ARM处理器与FPGA器件的底层交互逻辑完全封装起来,顶层封装使用python,只需要import对应的模块名称即可导入对应的硬件模

2021-06-05 10:59:19 65

原创 虚拟内存管理

在linux系统中,采用虚拟内存管理技术对内存管理,即每个进程都可以拥有0~4G-1的地址+空间(虚拟的,并不是真实存在的), 由操作系统负责建立虚拟地址到真实物理内存/文件+的映射,因此不同进程中的地址空间看起来是一样的,但是所对应的真实物理内存/文件是不一样的其中0~3G-1之间的地址空间叫做用户空间,3G~4G-1之间的地址空间叫做内核空间,用户程序+一般都运行在用户空间,不能直接访问内核空间,不过系统内核提供了相关的函数访问内核空间;内存地址的基本单位基本单位是 字节..

2021-06-04 23:42:35 17

原创 对linux系统调用的理解

以write系统调用函数为例向串口终端输出字符串: printf("hello,world\n");或者write(1, "hello,world\n", 12);1.某个进程调用write系统调用函数2.首先跑到C库的write函数的定义(实现)3.C库write函数的定义将做两件事 1.保存write函数对应的系统调用号到r7寄存器 系统调用号:linux内核给每一个系统调用函数都分配一个唯一的数字编号,这个编号称之为系统调用号(系统调用函数的...

2021-06-04 23:23:07 15

原创 ZYNQ 使用网口实现程序软件升级

一,这个模块能使用的前提是在vivado工程中勾选FLASH配置和eth0或eth1支持(不然硬件不支持后面文件会报错)。

2021-05-31 01:42:19 112 1

原创 TCS3200颜色检测传感器

1,LED 测试仪是一个测量系统,能够实现快速和自动测试 LED 的颜色和亮度。每个 LED 分析仪能同时测量多达 20 个通道的不同颜色和强度的 LED 光源。从光纤 采集光源,进行测量和分析。该装置是专为 LED 和液晶显示器等设计的自动测试装置。...

2021-05-31 01:15:21 24

原创 一维距离像频域合成算法

1,什么是一维距离像?一维距离像是用宽带雷达信号获取的目标散射点子回波在雷达射线上投影的向量和。对于探测搜索和跟踪静止的目标,需要提取出一维距离像:频域和

2021-05-30 18:13:22 45

原创 常用的硬件接口简介

1,RS232/RS422/RS485RS232是绝对电压,必须接地,因为电子的回路;RS422/RS485是相对电压,可以不用接地,最好还是接地;<1>发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点全双工(即只用一对收、发设备)通讯而设计,RS-232适合本地设备之间的通信。(1) DCD 载波检测(2)RXD 接收数据(3)TXD 发送数据(4)DTR 数据终端

2021-05-20 23:36:33 27

原创 跟踪雷达航迹处理

航迹起始是雷达航迹处理的重要问题,如果航迹起始都不正确,那就更加没有办法实现航迹的正确跟踪。航迹起始的主要任务是在安静或嘈杂环境下建立目标航迹;安静环境下的航迹起始更加容易完成,嘈杂环境下的航迹起始更加复杂。一,航迹定义和基本步骤1、雷达航迹处理的定义雷达航迹处理的输入是雷达下发过来的点迹的集合,处理完成后输出的是航迹的集合。雷达航迹处理包括点迹预处理,航迹起始和航迹终结,数据互联,航迹滤波等部分,而在航迹起始,航迹终结,数据互联,航迹滤波中,有涉及到数据预处理和波门的概念。2,雷达航迹的发

2021-05-20 02:10:33 145

原创 雷达信号的仿真生成

1,雷达公式:公式中各参数定义2,公式生成:雷达回波信号由雷达信号,杂波,噪声三部分组成:X(t)=Sr(t)+C(t)+N(t);其中Sr(t)为雷达信号,C(t)为杂波信号,N(t)为噪声;(1)回波模拟:发射方式为线性调频信号,发射模型公式:对于距离为R,速度为V,方位角为α,仰角为β,反射截面积是σ的点目标,回波信号公式模型:(2)用高发生概率的高斯噪声和低发生概率的拉普拉斯噪声的混合噪声来表示雷达的噪声,噪声密度函数可以表示为:f(v)=(1-ε )fg(v

2021-05-20 00:33:00 52

原创 OMAPL138使用UPP读写测试

UPP测试代码#include "hw_types.h" // 宏命令#include "hw_syscfg0_OMAPL138.h" // 系统配置模块寄存器#include "soc_OMAPL138.h" // DSP C6748 外设寄存器#include "psc.h" // 电源与睡眠控制宏及设备抽象层函数声明#include "interrupt.h" // DSP C6748 中断相关应用程序接...

2021-05-07 22:33:05 44

原创 ZYNQ 通过GP总线读取PL端RAM存储的数据

一,RAM介绍1,BRAM (Block Memory)是zynq PL端的存储RAM单元,可以配置为双口RAM,用于实现Zynq中PS端到PL端的数据交互和共享,也就是将数据写入共同可访问的数据空间,PS和PL端各自访问来达到信息交流的目的,类似为Linux中的内存共享。2,SRAM介绍(双端口RAM结构) Xilinx的ZYNQ内部FPGA是virtex7系列,内部有32KB的Block Memory,可以用它作为ROM,Single-Port RAM, Dual-Port...

2021-04-26 01:47:18 80

原创 ZYNQ SPI共享中断传输数据

一,vivado搭建:PL端SPI接口使用共享中断传输数据到PS端1,将连接到PL部分的两个按键作为中断请求源,从PL部分路由到PS的中断接口。设置Interrupts中启用PL到PS的中断,选择IRQ_F2P[15:0],PL端会启用逻辑SPI接口。共享外设中断的触发方式有上升沿和高电平两种方式。上升沿触发,顾名思义就是在上升沿的时候触发中断。高电平触发就是在高电平期间触发中断,但并不是说在高电平期间的每一个时刻都会触发中断。比如说高电平的占空比是1秒的话,并不是在1秒内都会产生中断。为什么呢?我想主

2021-04-25 02:27:13 50

原创 ZYNQ 定时器中断函数

一,中断底层原理部分 PL 到 PS 部分的中断,经过中断控制分配器(ICD),同时进入CPU1 和 CPU0。查询下面表格,可以看到 PL 到 PS 部分一共有 20 个中断可以使用。4 个快速中断(PPI),即IRQF2P[19:16];16 个共享中断(SPI),即 IRQF2P[7:0]、IRQF2P[15:8],这 16 个中断可以任意定义;中断一共三种类型。1,ZYNQ CPU 软件中断(SGI,Software generatedinterrupts):ZYNQ 共有两个 CP

2021-04-25 01:11:53 57

原创 ZYNQ PL-PS 中断 函数使用

一,中断底层部分 PL 到 PS 部分的中断,经过中断控制分配器(ICD),同时进入CPU1 和 CPU0。查询下面表格,可以看到 PL 到 PS 部分一共有 20 个中断可以使用。4 个快速中断(PPI),即IRQF2P[19:16];16 个共享中断(SPI),即 IRQF2P[7:0]、IRQF2P[15:8],这 16 个中断可以任意定义;中断一共三种类型。1,ZYNQ CPU 软件中断(SGI,Software generatedinterrupts):ZYNQ 共有两个 CPU,

2021-04-24 10:12:48 125

原创 C语言指针用法

1,定义指针在变量名前名加上*即可:int a=10;int*b=a;2,可以定义一个变量,同样可以给变量分配一个地址;程序中需要找到这个变量时,只要知道变量的地址,就可以调用变量的数值:int data=200;int *pp;pp=&data;printf("*pp=%d\n",*pp);//------------------------int num;num=pp;printf("num=%d\n",num);3,定义的变量是局域网,那么我们可以给变量.

2021-04-23 01:44:01 35

原创 跟踪雷达点迹处理

1,点迹定义:假设研究对象为位置x和速度v,预测值是根据这一时刻的x值、v值来预测下一时刻的x、v;测量值是根据传感器也就是雷达得到的,因为各种误差的存在,这两个值都不准确,所以把他们加权融合,得到一个新的量—状态值。点迹就是所谓的测量值,由雷达对同一个目标探测到的一系列点(假设目标静止,但由于误差的存在,会扫描出不止一个点),航迹对应状态值,是点迹和预测轨迹的加权融合。2,雷达信号和点迹处理关系:3,点迹航迹处理流程4,仿真clear all; RealData=G

2021-04-19 03:00:29 378 1

原创 信号处理之CFAR恒虚警检测

一,原理恒虚警检测器首先对输入的噪声进行处理后确定一个门限,将此门限与输入端信号相比,如输入端信号超过了此门限,则判为有目标,否则,判为无目标。一般信号由信号源发出,在传播的过程中受到各种干扰,到达接收机后经过处理,输出到检测器,然后检测器根据适当的准则对输入的信号做出判决。雷达干扰包括接收机内部的热噪声,以及地物、雨雪、海浪等杂波干扰,有时还有敌人施放的有源和无源干扰。杂波和敌人施放干扰的强度常比接收机内部噪声电平高得多。因此,在强干扰中提取信号,不仅要求有一定的信噪比,而且必须对信号作恒虚警处理。

2021-04-19 02:19:02 465

原创 信号处理之目标检测

一,脉冲多普勒(PD处理)多普勒效应:fd=2v/c*f0,v为镜像速度;慢时间维上的采样点做FFT可以测出目标的速度;使用复信号:频率正负可测量目标速度的方向;clc;clear all;close all;f0=10e9;%载频tp=10e-6;%脉冲宽度B=10e6;%带宽fs=100e6;%采样频率R0=3000;%初始距离c=3e8;%光速R=4500;%距离波门 gate=R+tp*c/2;%距离波门加脉宽对应距离N=round(2*gate/c*fs);%

2021-04-17 23:33:34 669 4

原创 信号处理之加窗

一,概念信号的截取产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,在FFT分析中为了减少或消除频谱能量泄漏及栅栏效应可采用不同的截取函数对信号进行截短,截短函数称为窗函数,简称窗。二,加窗仿真%%%%%%%%%%%%%%%%%%%%%%%% 窄带加窗处理 %%%%%%%%%%%%%%%%%%%%%%%%clc;clear all;close all;f0=10e9;%载频 B=10e6;%信号带宽 tp=10e-6;%脉冲宽度

2021-04-17 23:14:25 224

PL_ad7606_vivado.zip

vivado2017.4工程,ZYNQ PL采集AD7606,做FFT

2021-04-07

paho.mqtt.-master.tar.gz

编译mqtt使用的库

2021-03-10

axidma.zip

AXI_DMA在传输数字,图片的测试程序和驱动程序,在petalinux下编译,然后拷贝到sd卡insmod axidma.ko

2020-03-23

mqtt-demo-linux-embed.tar.gz

mqtt 应用程序交叉编译

2021-03-10

mqtt_client.exe

mqtt_client.exe 上位机,GO语言写的

2021-03-10

emqx-windows-4.2.7.zip

emqx-windows-4.2.7.zip,mqtt服务器

2021-03-10

logger.zip

logger_->info logger_->error logger_->warn 在linux C++中logger日志的用法

2020-04-28

串口接收数据画出正余弦波形

win7和linux串口通用QT代码 QT画图函数使用,多线程使用

2018-11-28

Miz_sys.zip

petalinux通过AXI_GPIO控制电平,可以在linux进行电平复位操作; ZYNQ AXI_GPIO很多都是裸机教程,这里是跑系统的教程

2020-03-10

7035_someport.zip

ZYNQ7000使用axi_uart ip扩展串口的vivado工程,可以在裸机和petalinux进行测试

2020-03-12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除