随着光电子信息技术的迅速发展 , 直接把光学信息转化为数字图像已经成为发展趋势 ,机载ccd相机是基于数字相机的基本原理 ,将图像以数字信息的形式存储、转移,并与地面实现通信。由于大面阵 ccd 机载相机的图像数据量非常巨大 而且图像输出速率也比较高 ,所以高速图像数据的实时记录是一个急需解决的问题。大面阵ccd 相机的数字视频存储的一般方案是基于高性能计算机体系结构,把 pci总线的视频采集卡与高性能 ide硬盘系统或基于 pci scsi桥的 scsi存储硬盘系统结合起来完成任务。这种方案实现起来比较容 ,但存在总线瓶颈问题,一次存储占用两次pci总线 ,而且还受到操作系统和文件系统的限制 ,所以在实际应用中存储速度很难突破 40mb /s。另外基于 pc i总线的存储方式基于计算机平台,占用体积比较大。针对这一问题,设计出脱离计算机平台基于 scsi总线的图像数据存储方式,这种存储方式存储速度快,占用体积小,适合于机载相机。
1 ccd相机图像存储系统
基于scsi总线的ccd相机图像存储系统主要由数据源、dma控制器、外部微处理器、fas466协议处理器及 sc图如图1
存储系统各部分功能如下 :
(1) 外部微处理器
主要负责对各个模块进行协调和控制。完成与ccd相机图像数据的传输起始、结束控制 ; 对fas466的初始化操作 , 对传输的异常情况进行中断处理 ; 在本系统中 , 采用 fpga芯片实现外部微处理器功能。
(2) dma控制器
控制 fifo与 scsi协议处理器内部缓冲器之间的数据传送 ,这样通过与协议处理器的 dma接口相协调以控制数据源与 scsi总线间的数据传送。本设计采用 fpga器件实现 dma 控制器 , 而不用专用的 dma 控制器 ,主要考虑以下一些因素 :本设计的数据传输速率比较高,一般的专用 dma控制器难以胜任 ; 专用的 dma 控制器与 fas466之间的连接需要大量的逻辑转换电路和外围连线、使设计难度加大。使用 fpga 器件 ,除了完成dma控制器的功能之外 , 还可以把电路中的译码、逻辑转换、系统复位等模块设计进去 , 减小了设备的体积 ,方便了以后对系统的升级和改进。
(3) scsi协议处理器—fas466
scsi协议处理器是scsi总线操作的执行部件。它可提供 fast40的同步传输速率,它的同步数据宽总线传输速率可达 80mb /s。fas466区别于其它 scsi协议处理器的最大特点是它采用微处理器和 dma接口结构 而常见的 scsi协议控制器采用 pci接口总线结构,这是本设计采用 fas466的一个主要原因。采用微处理器和 dma 接口结构 ,可以通过外部微处理器对传输进行控制 , 脱离微机平台 ,减少传输带宽限制,使数据存储系统具有非常好的灵活性和可移植性。fas466 由 scsi控制器、微控制器、dma 接口和微处理器接口四个模块组成。图 2为 fas466的内部结构。
2 dma控制器设计
本系的软件计分为外部微处理对fas466的初始化及 dma 控制器的软件设计两部分 , 这两部分都通过对 fpga芯片编程实现 , 本文将重点介绍一下 dma控制器的软件设计。fas466外部 dma控制器利用 verilog hdl语言对 fpga 芯片编程实现。fas466通过置 dreq信号 有效请求数据传输 ;dma控制器检测到dreq有效并且外部 fifo非空 ,则使 dack有效并通知 fas466开始 dma传输。dma控制器的状态机如图 3所示。
以下是实现dma控制器的数据传输控制程序代码 :
always(posedge clock)
begin
if (reset) begin
dma state 《 = sidle;
re 《 = 1; w e 《 = 1; dboe 《 = 1;
end
else if (dmaenabled)
begin
case (dma state)
sidle: begin
/ /如果 dreq有效 , 则进入等待状态 ;
if (dreq) begin
dack 《 = 1;
dma state 《 = #1 sdackdelay;
re 《 = 1; w e 《 = 1; dboe 《 = 1;
end
else begin
dack 《 = 0;
dma state 《 = #1 sidle;
re 《 = 1; w e 《 = 1; dboe 《 = 1;
end
end
sdackdelay: begin
/ /如果 dreq无效 , 则返回空闲状态 ;
if (
~
dreq) begin
dack 《 = 0;
dma state 《 = #1 sidle;
end
/ /如果 dreq有效 , ff_ fe无效 , 则进入数据传
输状态 ;
else if (
~
ff_ fe) begin
dack 《 = 1;
dma state 《 = #1 sdataxfer;
re 《 = 1; w e 《 = 0; dboe 《 = 0;
end
else begin
dma state 《 = #1 sdackdelay;
re 《 = 1; w e 《 = 1; dboe 《 = 1;
end
end
sdataxfer: begin
/ /如果 dreq无效 , 则完成传输进入空闲状态 ;
if (
~
dreq) begin
dack 《 = 0;
dma state 《 = #1 sidle;
re 《 = 1; w e 《 = 1; dboe 《 = 1;
end
/ /如果 dreq有效 , af_ ae有效 , 则进入等待状
态 ;
else if (af_ ae) begin
dack 《 = 1;
dma state 《 = #1 sdackdelay;
re 《 = 1; w e 《 = 1; dboe 《 = 1;
end
else begin
dma state 《 = #1 sdataxfer;
re 《 = 1; we 《 = 0; dboe 《 = 0;
end
end
default:
dma state 《 = #1 sidle;
endcase
end
end
上面程序经 ise软件仿真,仿真波形如图4所示。
3 结论
本文介绍了高速、大面阵ccd相机存储系统的dma控制器设计。运用verilog hdl语言对 fp2ga编程实现 dma 控制器功能。文中给出了它的软件程序及仿真波形。仿真结果表明为利用 fpga芯片能够代替专门的dma控制器完成dma 控制功能。fpga的运用使设计更加灵活 ,传输性能更好及反应时间更快 ,而且减小了存储设备的体积。
GaN将在5G大规模MIMO部署中逐渐取代 LDMOS
区块链上的自主身份应用介绍
为什么网吧电脑配置不很高但是很快
iQOO 7将于1月15日全渠道正式发售
特斯拉首次展示4680 新型电池和 Roadrunner 的电池生产线 续航里程可增 16%
基于FAS466存储系统的DMA控制器设计
微软HoloLens新专利曝光 FOV或可实现90度
巨人网络消息,将全面进入人工智能市场发展其业务
浅谈移动通信基站电磁辐射对生活的影响
称重传感器的故障怎么排除
三星GalaxyS8或明年2月发布,搭载首款光学指纹识别技术+4K显示
应急照明控制器给我们带来了哪些危害和益处
贸泽电子即日起开始分销10100 MEMS电容式气压传感器
一文看懂 Facebook 在AI+的应用和探索
大联大世平集团推出基于NXP产品的游戏外设方案
实验室仪器的维修和保养说明
Raritan公司针对数据中心推出智能电源管理
退饱和电路的短路保护方式
使用英特尔VTune放大器识别内存问题(第1部分)
高通研发专为PC设计的骁龙1000芯片 挑战英特尔