欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    ARM和FPGA的红外系统数据交换.docx

    • 资源ID:17821219       资源大小:21.30KB        全文页数:9页
    • 资源格式: DOCX        下载积分:8.88金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8.88金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ARM和FPGA的红外系统数据交换.docx

    ARM和FPGA的红外系统数据交换(电视技术杂志)2014年第十一期1数据接口硬件设计对于高速图像采集系统,两个模块的数据交互接口非常重要,极有可能成为高速图像传输性能的瓶颈。根据系统对处理数据的分析,考虑到系统向上和向下的兼容性,SAM选型时均考虑处理数据的最大值情况,前端非制冷焦平面微热辐射计型探测器选用系统兼容最大可能的384×288像素,处理后的图像数据16位宽度,得到未经过压缩的单帧图像数据量为216Mbyte。考虑到图像处理运算经过中需要大约10帧的图像缓存空间。鉴于以上对系统中传输数据的分析,本系统选用ISSI公司的IS61LV51216,高性能CMOS制造工艺,存储容量为512×16kbit,内部8Mbyte容量,存取时间最低可达8ns,全静态操作不需要时钟或刷新,输入输出兼容TTL标准,高字节数据和低字节数据可分别控制,最高运行频率为133MHz,常见的封装为44脚TSOP,兼容LVTTL接口。具有简单的读写和片选控制引脚,在与FPGA和AM连接时,只需将SAM的控制端、数据端及地址端直接与FPGA和AM分配的相应端口连接,并在FPGA和AM中设计SAM接口控制模块,便可实现SAM的读写操作4。AM与FPGA接口电路设计框图如图2所示。FPGA模块首先将前端处理后的高速数据分为4路低速数据写到构建的4个FIFO中,采用乒乓操作的方式将经过算法处理的32bit数据存到4个FIFO中5。经过对SAM的时钟控制,将4个FIFO的数据分别存储到4个地址区域,将8Mbyte的SAM分为4个地址空间,由于SAM的写时钟信号和FIFO的时钟信号为同频,所以FIFO时钟与输出之间必然会产生时间延时,本文采用FIFO的时钟相位做相应的偏移,然后作为SAM的写时钟信号方法,有效地避免了竞争冒险。存入的数据采用小端存储方式,数据存储的控制模块采用中断控制方式对数据流进行相应控制,当FIFO中的数据到达系统设计的一帧阈值时,控制模块将FIFO中的数据存储到SAM中,当SAM中的数据到达一帧数据时,控制模块向AM端口发出中断信号,AM通过片选总线获取数据。2驱动程序设计系统以AM模块为核心对各个模块进行控制,其操作系统选用具有开源、免费、安全、稳定、高性能等优点的Linux系统,应开发商要求本系统选用Linux2630稳定版本。在整个系统中,驱动程序主要工作为:消息队列函数等待响应中断信号,软件触发DMA中断,数据进行内部映射,DMA方式获取红外图像信号。驱动程序主要处理经过为:1)初始化前端SAM模块,注册设备号,申请外部中断和DMA中断,申请两个阻塞等待队列;2)判定FPGA模块发出的中断信号,唤醒等待队列1,并进行中断响应;3)通过片选nGCS1,将地址线、数据线获取片外SAM数据;4)唤醒等待队列2,响应DMA中断,通过DMA方式对数据进行内存映射;5)将SAM的存储空间映射到用户进程空间。驱动设计的主要流程如图3所示,驱动程序主要分为下面几个部分进行介绍。21模块初始化每个字符设备驱动中都需要一个file_operations构造,便于内核与驱动程序的操作对应,file_operations构造是定义在Linux/fsh中的函数指针数组,构造体中的每一个域对应着驱动内核模块用来处理某个被请求事件的函数首地址,在驱动编写时均用dma作为函数名。在该构造体中,每个函数的参数都有1个指向特定file构造的指针,第2个参数在驱动程序中都有对应的硬件操作程序,每个参数都有特定的功能。对驱动程序的初始化是在dma_init()函数中完成的,其中包括设备号的申请、外部中断的初始化、对外部地址映射空间的初始化等。22驱动设备号申请函数本文设计的驱动函数采用动态分配设备号,调用函数alloc_chrdev_region(dev_t*dev,unsignedintfirstmi-nor,unsignedintcount,char*name),其中dev为手动给定的设备号,count为所请求的连续设备号的个数,而name为与该设备号范围关联的设备名称,它将出如今/proc/devices和sysfs中。采用动态申请能够避免手动指定设备号带来的缺点。23中断申请初始化由于Linux内核要与外部硬件设备进行通信管理,但处理器的处理速度与外围设备速度不处于一个等级,不能采用浪费处理器资源的轮询方式进行处理,因而驱动程序中通过注册中断号并且激活一个中断处理函数来对数据进行处理。中断注册函数如下所示:其中第1个参数irq表示分配的中断号,第2个参数handler是指向中断处理函数的指针,中断一旦来临转四处理中断处理函数,第3个参数flags指定了快速中断或中断分享等中断处理属性,第4个是设备驱动程序的称,第5个是中断名称。与之对应的中断注销函数为free_irq(unsignedintirq,void*dev_id),一般在退出和出现特殊情况时调用。本系统选用的是外部中断4(IQ_EINT4)与DMA中断,选用软件触发的DMA3通道(IQ_DMA3)。详细程序代码如下:24等待队列等待队列属于阻塞式的访问形式,阻塞方式是驱动在对设备进行操作时,假如始终没有获取中断信号,进程将会被挂起直到中断信号来临知足条件后再进行操作;非阻塞式是不对设备进行操作时,不断地查询或者放弃控制设备,这样将大大降低系统性能。本驱动选用阻塞式等待队列,当应用程序对设备进行读操作时,会调用一个程序,将系统的控制权交给内核并进入等待状态,当系统执行程序完毕后向应用程序返回响应,得到响应后系统将退出阻塞状态继续后面的工作。25存储器控制初始化S3C2440A存储器控制器为访问外部存储器提供控制信号,控制器包括下面特性:支持软件大/小端控制,共1Gbyte的存储空间分为8个Bank,每个Bank有128Mbyte的空间,其中Bank6Bank7存储器为OM,SAM,SDAM提供控制,Bank0Bank5为OM,SAM提供控制。具有7个固定的Bank地址,1个可变的存储器Bank地址,所有的存储器访问周期都能够编程控制,并且支持SDAM自刷新和掉电形式。S3C2440A内部存储空间地址分配如图4所示。系统选用的SAM芯片为IS61LV51216,芯片总线宽度为16位。该外部存储器SAM映射到Bank1上,物理地址0x08000000上,需要对控制寄存器进行相应的设置,首先是总线宽度和等待控制寄存器BWSCON,该寄存器的物理地址为0x48000000,只需对Bank1的控制位进行相应设置。SAM不使用UB/LB,禁止WAIT状态,数据总线宽度根据芯片所知为16位,BWSCON中Bank1的控制信息详见S3C2440A芯片手册。由于采用的是Bank1,对Bank1的控制寄存(BANKCON1)进行相应设置。根据S3C2440A芯片手册,该寄存器物理地址为0x48000008,对寄存器每一位进行相应设置,根据图5对SAM控制时序对寄存器进行相应配置。图5中,Tacs为nGCSn前的地址建立时间选择0个时钟;Tcos为nOE前的片选建立时间选择0个时钟;Tacc为访问周期选择14个时钟;Tcoh为nOE后的片选保持时间选择0个时钟;Tcah为片选信号nGCS1后的地址保持时间选择0个时钟;Tacp为Page形式下的访问周期选择0时钟;PMC为Page形式配置选择正常形式一个数据。这些参数都在BANKCON1寄存器中进行配置。详细代码如下:26DMA寄存器初始化S3C2440A支持处于系统总线和外设总线的4个DMA通道,DMA控制器的每个通道都能够无限制地执行系统总线和外设总线之间设备的数据移动,每个DMA通道都能够执行下面4种情况7:1)源地址和目的地址都在系统总线上;2)源地址在系统总线上,目的地址在外设总线上;3)源地址在外设总线上,目的地址在系统总线上;4)源地址和目的地址都在外设总线上。DMA能够在没有CPU的干扰之下进行数据传输,大大提高处理器的效率,DMA的运行还能够由软件进行控制,可以以来历自内部或者外部的引脚请求进行。本系统选用DMA3通道,采用软件触发的方式进行,驱动程序需要对DMA中的相关寄存器进行配置。源地址寄存器是要传输的源数据基本地址,S3C2440A的DMA3通道源地址寄存器为DISC3,物理地址为0x4B0000C0。系统中SAM映射到片外Bank1上,即0x08000000。源地址控制寄存器DISCC3,物理地址为0x4B0000C4,源地址在系统总线(AHB)上,每次进行单次和突发形式传输后数据大小选择增加。目的地址寄存器DIDST3,物理地址为0x4B0000C8,分配目的地址时要注意,由于采用DMA方式,内存中获取的目的虚拟地址数据与cache中数据不一致将会出现内存错误,所以在进行地址申请时要禁止C(Cacheable)域,C域代表能否使用高速缓冲存储器。也就是cache。所以在进行目的地址申请时采用dma_alloc_writecom-bine()。目的地址控制寄存器DIDSTC3,物理地址为0x4B0000CC,由于SAM也外设在系统总线上,所以与源地址控制寄存器配置一样。DMA控制寄存器DCON3,物理地址为0x4B0000D0,该寄存器有32位,配置非常重要,针对外接SAM的特性,软件触发的方式。最后对DMA触发屏蔽寄存器(DMASKTIG3)进行配置,主要设置为软件触发方式。如要具体了解配置原因详见芯片手册。3应用程序设计系统对实时性要求较高,以突出高性能为主,因而应用程序规模较小,在设计时采用面向经过的开发方式。本系统的主要开发流程如图6所示。本系统的主要应用程序较简单,主要是将图像数据上传到PC机,本系统选用UDP的方式进行数据传输。上传数据包括两个部分,一个是图像数据,另一个是传感器信息。由于传输数据中包括了实时媒体流数据,因而该网络传输协议采用了TP/TCP实时传输协议和实时传输控制协议。传输数据包括标签数据和视频压缩数据,进行分时传输,但由于标签数据重要性高,因而具有更高的优先级,即保证一个传输周期内标签数据可靠传输完成后,再进行视频数据流的传输。TP/TCP下层使用的网络层协议为UDP,由于TP/TC协议已经完成了过失控制和拥塞控制等传输控制,不需要使用复杂的TCP协议来实现,而是选择简单的UDP协议7。数据根据TP格式封装完成后,使用UDP协议通信,UDP不要求保持一个连接,没有因接收方认可收到数据包而带来的开销,需要的网络带宽比TCP更小。UDP通信的程序设计流程图如图7所示。4实验结果分析对采集的原始图像,在FPGA做相应的盲元补偿、滤波、非均匀校正等算法处理。通过实验室中黑体映射进行温度标定,建立温度与灰度的映射表,AM系统中采用DMA方式对图像进行传输存取,每帧图像分辨率为384×288,每点的图像数据位16bit,在进行图像显示时只需选取高8位轮廓进行显示就能到达要求,经测试传输速度为15f/s(帧/秒),网口模块需要在系统中到达20Mbit/s的带宽,经过测试本系统网口模块能到达传输要求。最后PC机对上传的灰度数据经过编码显示。系统实物图和PC机接收到烙铁红外图像如图8所示。测试表明本文设计的各组模块均能到达红外监控系统的要求。5总结本文设计出基于AM和FPGA红外系统数据交换驱动程序,具体介绍驱动设计的流程,在传统数据的内存映射传输方式上,提出软件触发DMA方式实现对图像数据的搬移,极大提高了系统传输效率。

    注意事项

    本文(ARM和FPGA的红外系统数据交换.docx)为本站会员(安***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开