自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (9)
  • 收藏
  • 关注

原创 十七、基于软核和CAN搭建FPGA在线升级系统设计

基于软核实现Can通信;逻辑实现Flash文件升级

2023-03-22 10:31:40 1036

原创 十六、基于FPGA的CRC校验设计实现

基于FPGA的CRC校验循环冗余校验

2023-02-14 16:38:24 3942 3

原创 十五、基于FPGA的图像处理算法之直方图均衡(三)

直方图均衡化

2023-02-14 15:32:57 1227

原创 十五、基于FPGA的图像处理算法之中值滤波(二)

中值滤波

2022-10-18 09:37:10 2527

原创 十五、基于FPGA的图像处理算法之放大(一)

图像放大

2022-10-17 16:45:52 2300 1

原创 十四、基于FPGA的SDI协议介绍(二)

基于Xilinx FPGA介绍SDI IP使用,相关SDI协议

2022-10-08 09:43:20 6139 7

原创 十四、基于FPGA的SDI协议介绍(一)

SDI接口协议,本文写了SD-SDI,主要介绍了PAL实现

2022-09-23 10:46:34 9390

原创 十三、Xilinx floating-point IP 使用说明

Xilinx float ip

2022-07-19 16:58:40 3294 2

原创 十二、基于FPGA实现slave SelectMAP配置逻辑

slave SelectMAP配置

2021-12-17 17:54:31 7378 2

原创 十一、Xilinx FPGA相关约束,原语,函数使用及问题记录

约束,原语,函数,相关问题记录

2021-04-07 18:10:41 7161

原创 十、基于FPGA的PCIE协议介绍(二)

该文介绍Xilinx的 PCIE XMDA核 。基于上文:https://blog.youkuaiyun.com/weixin_41838250/article/details/1149194871,Xdma核介绍 1.1 核架构a,XDMA核主要有两个数据功能;一个是可以配置为AXI接口或AXIS流接口的数据解析通道;一个是配置为桥,使用PCIE核功能。另外还有中断。b,核内交互的4个数据通道:DMA:RQ,RC;桥:CQ,CC RQ:通过DMA发送数据通道; ...

2021-03-17 13:49:54 6410 1

原创 十、基于FPGA的PCIE协议介绍(一)

1. PCIe基础知识PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准。由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。PCIe 规范对于设备的设计采用分层的结构,有事务层、数据链路层和物理层组成,各层有都分为发送和接收两功能块。发送端:应用程序(设备核A)在事务层形成事务层包(TLP——Transaction Layer Package),储存在发送缓冲器里,等待推向下层。在数据链

2021-03-17 11:31:43 4997

原创 九、基于FPGA的SRIO核的使用

1.SRIO核介绍。 SRIO核核带宽支持x1, x2,x4 。速率支持1.25G 2.5G 3.125G 5G 6.25G。主要包括逻辑层,缓冲层,物理层,底层gt模块。架构图如下:

2021-03-15 09:53:28 7227 4

原创 八、基于FPGA的以太网协议介绍(三)

第一文中介绍了以太网的各层协议;链接:https://blog.youkuaiyun.com/weixin_41838250/article/details/114686428?spm=1001.2014.3001.5502第二文中对使用的10Gbase-R和MAC使用做了简单描述;链接:https://blog.youkuaiyun.com/weixin_41838250/article/details/114691373这里做一个简单的千兆网络设计,使用RMII接口。1,架构设计2 发送端UDP发送模块

2021-03-12 14:40:00 673

原创 八、基于FPGA的以太网协议介绍(二)

在上一文中介绍了以太网的各层协议;链接:https://blog.youkuaiyun.com/weixin_41838250/article/details/114686428?spm=1001.2014.3001.5502本文主要介绍一下我项目中使用的10G-BASE-R和MAC层的具体应用;因为项目需求,直接组装了MAC数据报;然后传输。1.10G-BASE-R1.1 内部结构:设计使用了Xilinx的 ten_gig_eth_pcs_pma_0 IP实现10G-BASE-R;用户接口..

2021-03-12 14:01:55 4364 1

原创 八、基于FPGA的以太网协议介绍(一)

以太网是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网的协议层是建立在OSI模型的基础上的,OSI模型,即开放式通信 系统互联参考模型(Open System Interconnection),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。主要包括七层,具体如下: (1)、物理层 Physical Layer (2)、数据链路层 ...

2021-03-12 11:07:14 3211

原创 七、基于FPGA的Flash控制器设计

根据项目需求,设计一个Flash控制器。以便将完成低速数据的存储。Flash选用了S25FL032。使用单线SPI接口,接线如图:1,Flash S25fl032介绍1.1 IO描述1.2 相关命令介绍1.3主要命令时序介绍1.3.1 READ命令时序(读数据命令,最大支持40MHZ)1.3.2 FAST_READ 命令时序(读数据命令,最大支持104MHZ)1.3.3 READ_ID命令时序(读ID)1.3.4 WREN,WRDI命令时序(写使能或写

2021-03-11 18:10:55 3144

原创 7.2,shell脚本例程

上一文中记录了shell相关的知识点,本文就之前的知识点完成简单的例程:如下:#! /bin/bashecho "hello 你好!"echo //-------字符串,数组---------------------------------#定义字符串str0='abc'str1="${str0}defg123"str=""$str0"${str1}"#输出字符串echo str=$str#输出字符串长度echo "字符串str长度为: ${#str}"#输出子字符

2020-10-28 13:44:36 230 1

原创 7.1,shell脚本知识点

shell脚本 echo : 向窗口输出文本 chmod +x xx.sh 为脚本增加可执行权限 解释器:bash 或php; 在脚本中通过#! /bin/bash 为脚本约定解释器shell变量: 1,定义变量,不加美元符号($),规则如下: (1)命名只能使用英文字母,数字和下划线,首个字符不能以数字开始; (2)中间不能有空格,可以是使用下划线; (3)不能使用标点符号; (4)不能使用b...

2020-10-28 13:42:46 181

原创 6,EWF写保护功能介绍与使用

1,EWF介绍 EWF是对系统某个分区提供写保护功能,开启后该分区只读,无法写;2,EWF安装说明: 该处提供工具,一键安装,工具见链接:3,EWF使用 (1)使用工具使能EWF开启写保护功能: a,安装成功后会在右下角有一个锁,现在是未开启状态 b,双击锁进入,如图,然后点下面的configure c: 使能EWF如下图:(先选择分区,然后在pending ...

2020-09-25 11:41:36 6944 2

原创 5,系统启动介绍和BCD编辑

1,系统启动流程 (1)电脑开机后,开始启动BIOS,开始BIOS自检; (2)通过自检后,bios找到硬盘上的主引导记录MBR. (3)MBR开始读取硬盘分区表DPT,找到活动分区,找到活动分区中的分区引导记录PBR,并且把控制权交给PBR (4)PBR搜索活动区中的启动管理器bootmgr,找到后,PBR把控制权交给bootmgr(相当于xp里的ntldr文件) (5)Bootmgr寻找活动分区中的boot文件夹中的BCD文件(启动配置数据,相当于xp里...

2020-09-25 11:12:55 7206

原创 六,基于FPGA的高速串行通信GTX知识梳理

对于XILINX,7系列FPGA,关于GTX核对配置见PG168,了解GTX内部结构及更多的知识见ug476。 以7系列XC7k325t-ffg900为例,见各ug476,351页。可看到该芯片共有4个高速bank,分别为115 116 117 118;每个bank又有4组收发模块和两组时钟模块。1,GTX时钟和复位 (1)时钟源: GTX输入参考时钟通过2组时钟模块的任意一组输入.后通过 IBUFDS_GTE2源于得到参考时钟输入给GT模块.。此处有两种...

2020-09-24 18:27:31 12403 4

原创 五,基于FPGA的DDR控制器设计及MIG控制器使用

1,DDR简述 SDRAM:称为动态随机访问存储器,通过电容保存信息。 SDR : 单速率,单端,LVCMOS标准; DDR : 双速率,差分电路,SSTL标准;2,SDRAM控制器设计 (1)上电初始化; (2) 预充电; (3) 读写 操作命令如下,初始化配置行参数说明如下:上电初始化顺序: 预充电: SDRAM为电容模式,如果不进行预充电,随着时间,他内部数据就会丢失,因此...

2020-09-24 16:06:55 2452 2

原创 四,AXI总线协议解析

1,AXI 总线 AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM 公司提出的 AMBA(Advanced Microcontroller Bus Architecture)3.0 协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持显著传输访问和乱序访问,并更加容易就行时序收敛。AXI 是 AMBA 中一个新的...

2020-09-24 14:38:30 4260

原创 三,基于FPGA的IIC主机与从机通用编程设计

1,IIC协议 IIC,即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代设计出来的一种简单、双向、二线制、同步串行总线。是当今电子设计中应用最为广泛的串行总线之一。在很多领域有着广泛的应用,如存储器、LED及LCD驱动器、AD/DA转换器、传感器、图像处理领域的摄像头配置(SCCB)等等。 IIC是一种多向控制总线,也就是说多个IIC设备可以连接到同一总线结构下,每个连接到总线的设备都具有唯一的地址,主机可以做为发送器...

2020-09-24 13:39:16 3308 1

原创 二,基于FPGA的串口UART通用编程设计

1,串口通信 异步通信的主要通讯方式,一根数据线即可完成传输,通过约定速率实现数据串并解析,按位顺序进行传输。通过电气标准分为RS-232,RS-422,RS-485。2,串口通信时时序一次串口传输主要有4类数据传输,具体如图所示. 空闲位 : 持续的高电平为空闲位 起始位 :1个低电平表示起始位 数据位 : 数据位一般有8位,一次传输一个字节的数据,从低到高以此传输。 校验位 : 校验位可配置为奇校验,偶校验,无效验。...

2020-09-24 13:11:10 757 1

原创 一,FPGA配置及文件生成烧写

1,硬件相关配置 以7系列为例,主要参考ug470。 (1) 主要配置模式如下图,最常用的应为Master SPI 为001 (2)相关pin介绍如下: CFGBVS :主要用于配置bank0的电压选择。如果bank0接2.5V或3.3V,则CFGBVS和bank0一样接.2.5V或3.3V。如果bank0接0v到1.8V,则CFGBVS接GND。 M[2:0] : 根据上图配置模式配置,需要说明的是如果串联电阻,电阻值小于等...

2020-09-24 11:51:08 3260

原创 4.3 进程的秘密(进程间的通信)

进程间通信 1,无名管道pipe,半双工通信;只能用在有亲缘关系的进程之间通信;使用pipe创建,使用read(),write()进行读写操作;创建pipe管道会创建两个文件描述符fd[0]和fd[1];fd[0]用来读,fd[1]用来写; 2,有名管道fifo,可以在不相干的两个进程之间通信,先进先出;使用mkfifo()创建;文件在文件系统中可见.使用时需要先打开写,后打开读; 3,信号通信.它类似于一个中断,可以在任何时刻到达;函数: pipe(): ...

2020-08-21 11:35:38 150

原创 4.2 进程的秘密(几个简单的例程)

根据上文完成如下例程设计:1.创建fork进程,打印进程PID 2.创建vfork进程,打印进程PID 3.创建vfork进程,然后对文件进行不同操作 4.execl,execv函数使用 5.execlp,execvp函数使用 6.execle,execve函数使用 7.wait,waitpid...

2020-08-20 15:11:57 175

原创 4.1 进程的秘密(父子进程,exec函数族,守护进程)

父子进程: 1,Linux下创建进程的函数为fork();被创建的进程为子进程,发起创建的进程为父进程;他们共用所有资源.通过创建函数子进程函数fork的返回值区分;PID为0,为子进程,大于0为父进程. 2,子进程创建后,对于fork()的返回值,父进程返回子进程的PID,子进程返回0;通过getpid()可以获取当前进程pid,通过getppid()获取当前进程的父进程的pid. 3,通过vfork()也可创建子进程,与fork()不同的时,fork()是复制父进程的所有资源,v...

2020-08-20 15:08:17 417

原创 3.3 线程应用例程之同步互斥

在写UDP和TCP时,最后实现同时收发.使用了多线程操作.但在这个操作中,只使用了最简单的新建,正常退出,强制退出,等待退出等函数完成.接下来的设计中,将主要研究,多线程的数据复用,也就是多线程数据通讯:1,最简单的办法实现线程先后运行,将线程指针定义为全局变量,在线程内使用join,等前一个线程结束.再运行当线程.2,线程间简单通信,最好的方法三定义全局变量.3,线程的同步和互斥(函数): 3.1 锁保护:上锁对线程内的共享资源访问,直解锁,其他没有锁的线程必须等待. ...

2020-08-19 16:24:30 141

原创 3.2 线程应用例程之TCP收发

记录(只在此设计中有效): 1,实现TCP服务端时,在客户端连接中断后,支持客户端重新连接。此处我用的死goto,让程序跳回准握手阶段; 2,通过recv返回值为0或-1,判断,socket断开连接,这种做法应该是不合理的。但在此处,我不会发送信号,故可作为简单的判断依据。 3,服务端可以不配置客户端ip,以支持不同设备的连接。在客户端需要配置客户端ip和服务端IP; 4,此处我只用recv做socket断开的判断依据,然后用pthread_canc...

2020-08-19 16:19:12 224

原创 3.1 线程应用例程之UDP收发

利用双线程实现UDP收发,主线程等待线程退出,释放资源相关函数 pthread_create(): pthread_join(): pthread_cancel(): pthread_exit() //头文件为<pthread.h> //create创建线程,第一个参数指向线程标记符的指针,第三个为进程函数运行地. //join等待线程接收释放资源 //cancel外部中断线程 /...

2020-08-19 16:16:56 319

原创 2.3 Linux下简单实现TCP通信

TCP服务杜端实现: 1,创建socket; 2,配置并绑定地址和端口; 3,启动监听,准备进行三次握手; 4,完成握手; 5,发送,接收; 6,断开连接客户端实现: 1,创建socket; 2,配置并绑定地址和端口; 3,建立连接,进行三次握手; 4,发送接收; 5,断开连接创建socke和绑定地址端口,与UDP相同三次握手 1,服务端监听socket端口; 2,客户端建立连接,发送握手信息;...

2020-08-18 17:57:04 334

原创 2.2 Linux下实现简单UDP通信

基于上一文档简单通信,完成回环设计。服务端实现发送数据代码如下:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h> #include <arpa/inet.h>#define LOCAL_IP "192.

2020-08-13 20:36:46 225

原创 2.1 Linux下实现简单UDP通信

UDP发送实现过程 服务器端: 1,创建socket; 2,配置并绑定地址/端口; 3,与通讯对象建立连接并发送; 4,断开连接 客户端: 1,创建socket; 2,发送数据; 3,断开连接1.创建socket (1)使用socket函数,socket(组,传输类型,协议); (2)组包括: (目前使用AF_INET) AF_INET(IPv4),AF_INET6(IPv6); (3)传输类...

2020-08-13 20:31:44 452

原创 1.3 C旅途的起点

在前面学习C并写之前的例程时,遇到如下若干问题,做简单记录: 1,使用gets函数在ubuntu会报警告,然后使用fget函数; 2,乘方函数pow使用的时候编译需要输入-lm, 最后自己写了一乘方函数; 3,将数组传入函数中,使用数组名[]或指针; 4,输入字符之后,需要用getchar读空'\n',不然可能会影响后面的程序; 5,从文件读取字符串,有多行时,使用fgets读取,只能读取一行,通过strlen()读取字符串长度;使用fseek函数将文件指...

2020-08-12 19:28:11 154

原创 1.2 C旅途的起点

上一篇中写了学习总结,在这里附上学习一周写的例程和源码。视图如下:源码如下:#include <stdio.h> #include <string.h>#include <stdlib.h>#include <math.h>//****************************例程函数定义*******************************int test_exp1(); int test_exp2(); in

2020-08-12 19:01:52 167

原创 1.1 C旅程的起点

做了两年FPGA了,感慨良多。准备做做C,做做Linux,学了两周的c,写了一个简单学习总结C程序主要包含5部分 预处理指令(通过#标识) 函数 变量 语句&表达式 注释(//,或/* */)基本类型占用空间: char : 1个字节 int : 4个字节 float : 4个字节 double : 8个字节关键字(变量) int :整形变量或函数 float : 单精...

2020-08-12 18:52:08 197

English_language_pack.rar

wes系统语言包;对中文系统添加英文语言包,供给需要英文系统的同学使用。添加方式利用工具添加,再选择需要包

2020-09-25

gho2vmdk_jb51.rar

gho转cmdk文件工具,在有gho系统文件的前提下,去创建虚拟机磁盘,创建虚拟机添加系统,不用再创建虚拟磁盘,装机

2020-09-25

Ghostexp.rar

gho文件查看工具,帮助需要装机的同学们查看gho镜像文件内容。做完gho系统镜像后,查询文件内容。

2020-09-25

EWF_FBWF_Mgmt_Win7.rar

包为启动EWF工具包;帮助启动EWF功能,工具内含使用注册表信息,及安装脚本,一步到位完成EWF功能启动。

2020-09-25

EasyBCD2.3.exe

提供一个windows BCD编辑工具,修复引导,纠正引导。可用在需要创建双系统或者改变系统引导参数。

2020-09-25

BOOTICE.rar

这里为BCD编辑工具 BOOTICE,可编辑BCD,MGR。工具主要为系统引导故障或者需要创建双系统引导的童鞋们提供

2020-09-25

MIG控制器AXI接口控制设计

FPGA实现MIG控制器AXI接口设计,实现DDR突发传输,调试OK,适用于大项目中DDR控制使用。

2020-09-24

IIC_design.rar

FPGA实现IIC主机通用设计,完成时序并配置为简单的读写接口模块。 FPGA实现IIC从机通用设计,完成时序设计外面可解ram或自定义模块。

2020-09-24

UART,FPGA通用代码

基于上文串口通信传输的通用编码。代码实现,串口接收器,发送器设计,设计实现串口各种参数可自定义配置。

2020-09-24

空空如也

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

TA关注的人

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