新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于MPC8313E和FPGA的双口RAM驱动开发

基于MPC8313E和FPGA的双口RAM驱动开发

作者:时间:2013-04-24来源:网络收藏

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

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

1 双口RAM读写设备驱动的开发背景
在基于E的大容量视频存储系统中,系统需要实现通过千兆以太网接口与上位机进行通信,按上位机发送的命令解析后送给,进而通过发出的曝光脉冲控制高速相机MC1362工作。当存储任务完成后,FPGA将存储阵列中的数据读入双口RAM并传至E中,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可以根据硬件外设的发展进行扩展。

本文引用地址:http://www.amcfsurvey.com/article/189627.htm

c.JPG


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

fpga相关文章:fpga是什么


linux相关文章:linux教程



上一页 1 2 下一页

关键词: 8313E 8313 FPGA MPC

评论


相关推荐

技术专区

关闭