当前位置:首页 > EDA > 电子设计自动化
[导读]摘要 以MPC8313E芯片为平台,介绍了一个基于嵌入式Linux探作系统的双口RAM设备驱动。通过该设备驱动搭建Linux服务器,利用缓存技术实时读取FPGA双口RAM数据,最终实现将海量图像数据高速上传至PC端。 关键词 嵌入式

摘要 以MPC8313E芯片为平台,介绍了一个基于嵌入式Linux探作系统的双口RAM设备驱动。通过该设备驱动搭建Linux服务器,利用缓存技术实时读取FPGA双口RAM数据,最终实现将海量图像数据高速上传至PC端。
关键词 嵌入式系统;Linux设备驱动;双口RAM

    在众多操作系统中,Linux操作系统以其独有开放性和灵活性成为重要的系统之一,因而开发Linux设备驱动具有重要意义。Linux设备驱动是在Linux内核下硬件设备和上层应用程序的纽带,使得应用程序只需调用系统软件的应用程序编程接口(API)就可以完成对硬件设备的操作。作为一个桥梁,其在实现具体功能的过程中发挥着重要的作用,接口丰富的驱动,设备程序对工程的开发有着重要的意义。Linux对所有连接在系统上的设备都会使用一个设备驱动程序,这个基本设备驱动指令成为了内核的一部分。通过使用设备驱动程序文件,设备对系统来说变成了一个可以寻址、重定向并通过管道符导向的普通文件。

1 双口RAM读写设备驱动的开发背景
   
在基于MPC8313E的大容量视频存储系统中,系统需要实现通过千兆以太网接口与上位机进行通信,按上位机发送的命令解析后送给FPGA,进而通过FPGA发出的曝光脉冲控制高速相机MC1362工作。当存储任务完成后,FPGA将存储阵列中的数据读入双口RAM并传至MPC8313E中,Linux端服务器利用千兆以太网接口将数据上传到上位机中,由上位机完成图像还原。
    在构造大容量高速上传通道的过程中,系统采用飞思卡尔MPC8313E芯片,该芯片有两个增强型三速(10/100/1 000 Mbit·s-1)以太网控制器,支持IEEES02.3协议,同时该芯片还支持16/32位的DDR SDRAM数据接口,最高支持333 MHz的数据频率,512 MB可寻址空间以及4个直接存储器访问(DMA)通道,可以满足系统设计要求。该驱动设备主要实现从FPGA双口RAM中乒乓读取图像数据信息,利用挂载在MPC8313E总线上的FPGA完成数据上传,同时也需要解析上位机命令后传递给FPGA

2 Linux驱动模块的程序设计基础
   
在Linux/μClinux的框架结构中,和设备相关的处理可以分为两个层次:文件系统层和设备驱动层。设备驱动层屏蔽具体设备细节,文件系统层则向用户提供一组统一、规范的用户接口。这种设备管理方法可以很好地做到“设备无关性”,使Linux可以根据硬件外设的发展进行扩展。


    Linux系统允许内核以模块的方式加载设备,这大幅提高了Linux设备结构的多样性,同时可以通过裁剪内核减少系统不必要的开支,提高工作效率。一般情况下,Linux内核的驱动模块通常只实现一个驱动程序,因此它可以分类,在Linux操作系统中有3类主要的设备文件系统:块设备、字符设备和网络设备。
    字符设备:可以像文件一样访问字符设备,这样的驱动程序通常会实现如open、close、read和write系统调用。
    块设备:是文件系统的宿主。Linux允许像字符设备一样读取块设备,允许一次传输任意数量的字节。结果块设备与字符设备只在荫核内部的管理上有所区别,即在内核/驱动的软件接口上有所区别。
    网络设备:任何网络设备都是通过接口实现的,既可以和其他宿主交换数据设备。通常情况下,接口是一个硬件设备,但也可以像look back(回路)接口一样是软件工具。网络设备面向网络协议而不是文件系统层。

3 双口RAM读写设备驱动设计
   
介于以上第二部分的分析,双口RAM设备选择为块设备,以便传输任意数量的数据。同时该驱动设备基于Linux2.6.23内核开发,以模块的方式加载至内核中,其结构如图2所示。


    代码编写好后在正式编译前还要准备好内核头文件和库函数,这需要先编译一遍相应的内核,在2.6. 23内核源代码中将MPC8313RDB的配置文件用作默认配置,编译内核。完成后书写驱动的Makefile,然后连接目标扳,在NFS下调试设备驱动和应用程序。用户可以使用通过交叉编译得到的.ko文件通过insmod动态加载至内核中,也可以通过修改启动脚本文件,加电后自启动将驱动加载到内核中。

4 处理结果
   
经过打包处理的图像数据通过MPC8313E的服务器上传至上位机后,按照图像格式进行拼图,每包数据含有42 240 Byte数据,每帧图像数据总量为1 280×1 024 Byte的图像像素点信息和附加区信息,共接收35包数据后就可还原一幅完整的图像。上位机在拼图时裁剪掉一部分数据,最终合成1 024×1 024 Byte的图像,如图3所示。



5 结束语
   
双口RAM驱动程序是整个存储系统的核心模块,它对存储数据的上传速度和准确提取图像信息有重要的影响,通过对MPC8313E寄存器的配置和读写以及中断函数对硬件的控制来实现对RAM的读写,利用MPC8313E现有的接口和传输算法,最终实现图像信息的高速上传,验证得出上传数据最快可达104 Mbit·s-1,满足设计要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭