- 博客(18)
- 资源 (17)
- 收藏
- 关注
原创 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 17235 4
原创 嵌入式块设备内核驱动
释放磁盘扇区缓存。明确:linux系统分用户空间(用户态)和内核空间(内核态)分配一个gendisk结构体,队列request_queue_t,设置gendisk 结构体的成员注册 gendisk 结构体。用户空间的软件在运行的时候,CPU的工作模式为USER模式,这些软件在运行时,处于用户空间;运行用户空间的软件不能直接访问硬件外设的物理地址 如果要访问硬件外设,必须首先将硬件外设的物理地址映射到用户空间的虚拟地址上用户空间的软件不能直接访问内核空间的代码,地址和数据,用户空间和内核空间的访问必须通过
2020-06-22 23:38:31 1055
原创 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 16464 11
原创 机器学习相关
# 机器学习 ## 概述### 什么是机器学习机器学习是一门能够让编程计算机从数据中学习的计算机科学。一个计算机程序在完成任务T之后,获得经验E,其表现效果为P,如果任务T的性能表现,也就是用以衡量的P,随着E增加而增加,那么这样计算机程序就被称为机器学习系统。自我完善,自我增进,自我适应。### 为什么需要机器学习- 自动化的升级和维护- 解决那些算法过于复杂甚至跟本就没有已知算法的问题### 机器学习的问题1. 建模问题 所谓机器学习,在形式上可这样理解:在数...
2020-06-29 09:36:21 847
原创 ZYNQ 可编程查分晶振Si570使用
1,vivado工程:2, Si570内部结构:其输出就是由晶振内部振荡器产生的固定频率为 f XTAL 的时钟经过 1 次倍频和 2 次分频而获得。输出时钟频率f out 的计算公式为:晶振内部振荡器产生的时钟频率 f XTAL ≈114.285000000MHz。需要说明的是,f XTAL 不是一个完全准确的值,由于生产工艺的限制,对于每一个晶振,f XTAL 都会存在细微的差别。RFREQ 是 38bit 的倍频系数,其高 10bit为整数,低 28bit 为小数。由于 f DCO
2020-06-28 14:49:02 3453
原创 使用verilog实现JESD204B接口
对于utrascale器件,频率范围为10MHZ~200MHz,对于7系列器件,如果IP核的模式为“Include Shared Logic in example design”,则频率范围为10MHZ-200MHz;ADC/DAC的采样速率变得越来越高,数据的吞吐量越来越大,对于500MSPS以上的ADC/DAC,几十个G的数据吞吐率,采用传统的CMOS和LVDS已经很难满足设计要求,JESD204B应运而生。链路层负责链路的建立,数据传输。JESD204B包括3个子类,分别是子类0,子类1,子类2;
2020-06-24 16:21:44 5481 1
原创 Ubuntu下caff跑mnist、vgg、imagnet等简单模型
一,Ubuntu下跑caffeCaffe,全称Convolutional Architecture for Fast Feature Embedding。 ----卷积神经网络框架caffe是一个清晰,可读性高,快速的深度学习框架。作者是贾扬清,加州大学伯克利的ph.D,现就职于Facebook。其精炼简单,是入门深度学习的必经之路,其具体配置过程如下:系统准备:联网的Ubuntu16.04步骤:1,下载配置caffe所需的依赖包打开shell(终端),获取root权限,方法:输入.
2020-06-23 12:01:59 624
原创 ZYNQ IBERT核对高速串行收发板级硬件测试
在 vivado 中找到 IBERT 7 Series GTX 这个 IP 核1,千兆配置方法:千兆 1.25G 速率IBERT 测试协议选择千兆以太网 gigabit ethernet,GTX 参考时钟选择频率选择 125MHz,我们只需要测试与 SFP+连接的 4 组 GTX,所以 GTX Quad 选择 1。千兆以太网使用了 1000BASEX 标准,采用了 8b/10b 编码方式,所以 GTX 的传输速率为 1000Mbps×10/8=1250Mbps=1.25Gbps。2,万兆
2020-06-23 09:23:58 2493 2
原创 ZYNQ DMA实现PS与PL间数据传输通信
一,PS到PL的数据传输流程:1,传输过程(1)、向PL端查询剩余数据存储长度(以byte为单位);(2)、通过写寄存器设置PL端DMA数据传输开始地址;(3)、通过写寄存器设置PL端DMA数据传输长度(以byte为单位);(4)、通过写寄存器启动PL端DMA传输;(5)、通过读寄存器查询PL端DMA是否完成数据传输;在SDK PS端代码:PS(ARM)端驱动代码如下:#define WRITE_SPACE_REG 0x84000004#define ps2pl_
2020-06-23 00:55:44 15861 1
原创 检测窗口相关特点
矩形窗特点:矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。频率识别精度最高,幅值识别精度最低,所以矩形窗不是一个理想的窗。应用:如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用矩形窗,例如测量物体的自振频率等,也可以用在阶次分析中。所谓主瓣,是指最大辐射的波束,主瓣旁边的小波束叫做旁瓣。汉宁窗特点:主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗。但汉宁窗主瓣
2020-06-23 00:03:24 6127
原创 示波器显示读取串口数据
1G/S :示波器能够使用的最大采样速率为1G样本/秒,就是说示波器在时间最小档位是的采样率是每秒采集1G个数据点,时间档位越大用到的采样率越小。100MHZ:示波器模拟前端的带宽。100M正弦波输入示波器时,进过模拟前端后信号幅度衰减为输入时的70.7%。波特率115200,说明每个byte 1/115200=8.6ns。TTL传给示波器数据是:00 FF 00 00 00 00 AA。空闲位是高,起始位是低,然后是串口的八位数据,然后停止位是高。原则是采样率要是示波器带宽的5倍以上。
2020-06-23 00:00:52 3841 1
原创 网口调试记录
Petalinux项目目录下的project-spec/meta-user/recipes-kernel/linux/linux-xlnx文件夹,打开xlnx-4.14文件夹。找到bsp.cfg文件,并添加以下内容,project-spec/meta-user/recipes-kernel/linux/linux-xlnx文件夹,修改xlnx-4.14文件夹bsp.cfg。兼容=“ ethernet-phy-id0141.0e90”,“ ethernet-phy-ieee802.3-c22”;
2020-06-22 23:47:28 1123
原创 GD32 IIC接口测试
所载MCU为GD32E232K8Q7,MCU是有内部参考电压的,配置为2.5V电压,经测试也可以输出到PIN脚。GD32E232K8Q7可提供16个外部模拟输入通道,1个内部温度传感通VSENSE,1 个内部参考电压输入通道VREFINT;最大12 位分辨率,支持DMA,无需CPU干预。GD32E232K8Q7可以支持多I2C地址,测试时从地址设定为0xA0、0xA2,0xB0、0xB2,上拉电阻为4.7K。分别测试了在 100K、200K、400K速率下的波形和数据。I2C速率设置是通过CP2112芯片
2020-06-22 23:43:29 840
原创 气象风场反演算法
1,应用场景举例:气象监测,测量风速:2,建模:设激光波束与扫描圆锥中轴夹角为,激光波束聚焦点距离为R(即单波束测程);四个波束聚焦点以90度为间隔分布在扫描圆周上,且上方两波束聚焦点连线水平,下方两波束聚焦点也水平;上方或下方两波束所在平面与扫描圆锥中轴的夹角为a,上方或下方两波束之间夹角为b,扫描圆锥底圆半径为r;扫描圆锥底圆上垂直的两个半径构成直角三角形,其长边上的高为h。如图90度均分四波束扫描(左),四波束扫描图建立在直角坐标系中(右)四个波束的方向矢量(归一化后)化简为.
2020-06-22 23:34:57 2710 2
原创 linux UDP服务器主动发送数据
客户端是192.168.1.22,电脑虚拟机是192.168.1.29。1,tcp服务器:写执行程序板子服务器自己的地址和端口号。tcp客户端:绑定对方(服务器)的IP地址和端口号。udp客户端:绑定对方(服务器)的IP地址和端口号。客户端自己的端口号和IP地址与服务器是不一样的。2,udp服务器:绑定自己的地址和端口号。客户端(powerpc):设置为1.29。端口号是一样的,客户端以服务器为准。端口号:端口号可以写成不一样。
2020-06-11 22:52:06 1762 1
原创 使用ZYNQ激光测风信号处理
一,射频前端流程:激光器发射出种子光,激光探测器收到种子光回波后与探测器本振信号相乘对不同强度波长进行混频差分,经过探测器中的低通滤波器将频移动传给AD高速采集板。二,信号处理流程(FPGA端执行)雷达调焦电机达到指定位置,转动电机带动镜头开始旋转,齿轮经过光电管,光电管输出脉冲信号。 信号处理板收到一个脉冲信号,采用上升沿触发方式。 信号处理板开始采集信号,按照400M采样率计算,一次性采集1024000点,将其按照1024的长度分成1000段,每一段单独作FFT(fft后取前512点)
2020-06-05 09:24:21 1979 1
原创 卷积神经网络之卷积层,池化层,全连接层
pooling理论在于,图像中相邻位置的像素是相关的。对一幅图像每隔一行采样,得到的结果依然能看。经过一层卷积以后,输入的图像尺寸变化不大,只是缩小了卷积核-1。根据相邻数据的相关性,在每个nxn区域内,一般2x2,用一个数代表原来的4个数,这样能把数据缩小4倍,同时又不会损失太多信息。一副24*24的图像。用5*5卷积核卷积,结果是20*20(四周各-2),经过2*2池化,变成10*10....
2020-06-04 10:01:50 9697
原创 FPGA 使用PCIE高速接口
这篇文章主要针对Xilinx家V6和K7两个系列的PFGA,在Linux和Windows两种系统平台下,基于Xilinx的参考案例XAPP1052的基础上,设计实现了总线主控DMA(Bus Master DMA),透明映像内存空间和中断机制,在实际工程实践中得到了良好的应用,主要应用在光纤PCIe数据采集卡、FPGA加速卡、存储子系统等所有需要和主机进行高速数据交互的场所...
2020-06-04 09:43:50 4094
线程加锁程序,pthread-mutex-t
2022-10-18
基于udp协议的通信模型udpServer.c和udpClient.c
2022-10-18
阻塞IO驱动代码和makefile
2022-10-16
AsynchronousIO,异步IO驱动代码和makefile
2022-10-16
非阻塞IO驱动和makefile
2022-10-16
PL-PS的中断驱动程序,带makefile
2022-10-16
vivado(2014+2016+2017+2018+2019+2020都能使用) SRIO licence
2022-10-16
ZYNQ AD9361的裸机SDK配置代码
2022-10-15
QPSK调制解调代码MATLAB仿真
2022-10-15
BPSK调制解调MATLAB代码
2022-10-15
16QAM 是正交移幅键控调制
2022-10-15
单载波频域均衡(SC-FDE) 的设计
2022-10-15
2PSK调制解调原理,MATLAB代码
2022-10-15
2FSK调制解调实验,MATLAB代码
2022-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人