[发明专利]基于SoCFPGA采集数据的传输方法在审
申请号: | 201710746637.9 | 申请日: | 2017-08-27 |
公开(公告)号: | CN109426634A | 公开(公告)日: | 2019-03-05 |
发明(设计)人: | 韦杰;沙涛;吴亚成;刘胜阳 | 申请(专利权)人: | 南京理工大学 |
主分类号: | G06F13/32 | 分类号: | G06F13/32;G06F13/40 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 陈鹏 |
地址: | 210094 *** | 国省代码: | 江苏;32 |
权利要求书: | 暂无信息 | 说明书: | 暂无信息 |
摘要: | 本发明公开了一种基于SoCFPGA采集数据的传输方法,基于Cyclone V SoC FPGA为核心芯片的板卡外接CCD线阵相机,将采集到的一行像素数据通过FPGA‑to‑HPS从FPGA内部RAM传输到HPS DDR3部分开辟的一块缓存空间,HPS通过FGPA提供的正在写的行信号提取最新传过来的一帧图像,再通过DMA将这一帧图像数据从开辟的缓存空间搬运到Linux内核空间,最后通过内核驱动程序将数据传到用户空间通过网络传输到上位机。本发明通过缓存和DMA传输机制可以实现数据的同步,并且能够解放CPU资源。 | ||
搜索关键词: | 采集数据 缓存空间 传输 缓存 内核驱动程序 帧图像数据 核心芯片 网络传输 像素数据 信号提取 用户空间 上位机 帧图像 板卡 外接 搬运 采集 | ||
【主权项】:
1.一种基于SoCFPGA采集数据的传输方法,其特征在于,利用独立出来的空间当作缓存,FPGA连续不断的向缓存中写一行像素数据,当写到结尾时,转向开头覆盖写新的一行数据,通过该缓存将多行数据组成一帧图像;通过mmap将Linux用户空间的一段内存映射到内核空间,利用DMA从缓存空间搬运一帧图像数据到该内核空间;该方法具体包括以下步骤:1)通过HPS部分Linux设置内核在开机时保留一块内存空间不被系统分配,用作FPGA与HPS之间传输数据的缓存;2)FPGA通过线阵相机拍摄匀速移动的物体采集到一行RGB像素;3)通过FPGA中相机缓存模块将相机时钟域转换到FPGA系统时钟域;4)在FPGA中图像上传模块,将24位RGB像素高位补零扩展成32位,并通过FGPA‑to‑HPS桥接连续将一行行像素数据传输Linux保留的内存中;5)通过HPS‑to‑FPGA桥接,ARM读取FPGA提供的当前在缓存中写数据的行信号,获取当前FPGA正在写数据的行数;6)启动DMA从缓存空间搬运一帧图像数据到内核空间,DMA的起始地址是当前FPGA写行信号所提供的行数减去一帧图像高度后的所在行起始位置;7)通过mmap内核驱动编程实现用户空间和内核空间共享DMA搬运来的一帧图像大小内存空间;8)在Linux用户空间通过socket编程将一帧图像数据通过以太网发送到上位机。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710746637.9/,转载请声明来源钻瓜专利网。