ISPl362在基于FPGA的红外成像系统中的应用

2012-04-14 09:01:29来源: 互联网

ISPl362在基于FPGA红外成像系统中的应用

摘要:ISPl362是飞利浦推出的一款USB可编程控制芯片,其内部集成了一个高级主控制器,一个外设控制器,主机和设备控制器兼容USB 2.O协议,支持12 Mb/s的全速传输和1.5 Mb/s的低速传输;芯片有三种工作模式,即主机控制器模式、设备控制器模式和OTG模式。主要针对USB控制芯片ISPl362在基于FPGA的红外成像系统的数据采集中的应用,利用Verilog HDL语言完成其在设备控制器模式下的功能,具有很好的可移植性。
关键词:FPGA;ISP1362;USB接口;固件;Verilog HDL

O 引言
    近年来,红外热成像系统已越来越多地应用于军事和工业上,因此对红外图像的研究也成为热点话题。为适应很多实时图像处理方法的需求,图像处理系统对图像数据采集的速度及准确性的要求也越来越高。而传统的接口,如ISA接口、PCI接口、PS/2接口等都是非共享式接口,不但体积庞大,而且规格不一。USB接口克服了传统接口的上述缺陷,具有高速、双向、低成本以及兼容性好、通用性强等优点,已经在IT各个领域得到了广泛的应用。与此同时,各种型号的USB接口控制芯片也应运而生。ISPl362芯片以其成本低、可靠性高、功耗低以及易于扩展等优点,也受到了用户的广泛关注。ISPl362由主机控制器、设备控制器、OTG控制器、USB收发器、OTG收发器和寄存器等组成。其中,OTG控制器主要提供包括监控和转换功能在内的所有OTG控制,在OTG模式下,既可用作主机,又可用作外设,并支持主机通信协议(Host Neg-otiayion Protocol,HNP)和对话请求协议(Ses-sion Request Protocol,SRP)。考虑到以后进一步完善系统的需要,设计中选用此款芯片来完成USB接口的设计。该芯片内部没有集成MCU,设计中采用Altera的现场可编程门阵(Field-Programmabte Gate Arrav,FPGA)中的EP2C70-F672C6来控制芯片的正常运行,操作简单可靠。EP2C70F672C6具有低功耗、高密度以及低成本等优点,可提供4 608~68 416个逻辑单元,包括了多达150个嵌入式18×18位乘法器、专用外部存储器接口电路,最高操作频率可达到260 MHz。基于以上原因的考虑,选用此款FPGA芯片来实现红外成像系统中的各项功能。

l 红外成像系统
    红外成像系统的功能框图如图1所示。整个系统功能在FPGA上实现。系统上电后,FPGA进行配置,红外焦平面探测器在驱动信号的作用下响应红外目标辐射,将辐射信号转变为模拟电压信号输出;A/D转换模块将模拟电压信号转变为数字信号,经非均匀性校正、盲元处理等过程,将数据存入FPGA外部存储器中。本工作的主要任务就是把存储器中的数据通过USB接口传输到PC机,以便于根据需要对数据做进一步的处理工作。

2 USB固件结构设计
    USB固件结构设计包括枚举过程和数据传输过程。数据传输过程与枚举过程中的in中断的处理方法类似。因此这里主要介绍枚举过程的固件编写。
    枚举过程的流程图如图2所示。


    枚举过程就是主机通过向设备发送一系列请求来识别设备的过程。USB一共定义了11种标准USB请求,其中有些请求是必须的。例如,主机必须通过Get Descriptor请求来获取设备的设备描述符、接口描述符和端点描述符等信息,才能识别设备;必须通过Set Address请求为设备分配惟一的非零地址,以便于主机识别设备并与设备进行数据传输;必须通过SetConfiguration请求为设备分配非零的配置值等。USB请求只能使用控制管道来进行传输。主机在没有识别连上的是何种设备之前,会为未知设备分配一个默认地址O,主机通过0地址与设备通信,直到主机确定真正有设备连接了之后,就会为该设备分配一个惟一的非零地址。在此之后,主机可通过这个非零地址跟设备通信,包括获取该设备的所有配置信息、接口信息以及完成最后的数据传输等。
2.1 芯片初始化
    芯片的初始化主要包括工作模式、速度的选择以及寄存器的配置等操作。工作模式的选择可通过设置ISPl362的第62引脚A1为高电平来实现。这里实现的是全速的数据传输。下面主要介绍寄存器的配置。

    ISPl362设备控制器内部40多个寄存器。编写代码时的重点工作就是根据寄存器每一位代表的意义确定配置值,特别是有些关键位,只有正确配置方能保证芯片的正常工作。在使用ISPl362之前,要先配置的寄存器有模式寄存器、硬件配置寄存器、中断使能寄存器等,端点配置寄存器可以在任何时刻完成,但仅在枚举后的初始化后才有效。为了便于程序设计,在一开始对模式寄存器、硬件配置寄存器、中断使能寄存器等配置的同时,也对16个端点配置寄存器进行配置。端点0为控制端点,包括in和out端点,这两个端点大小固定,均为64 B。枚举过程就是通过这个端点进行的。其余14个为可编程端点,也可以被配置成双缓冲端点进一步提高吞吐量。设计中端点1配置为64 B双缓冲批量in端点;端点2配置为16 B中断out端点;端点3配置为16 B中断in端点等;可以禁能不用的端点。配置模式寄存器时,尤其要注意可以通过第三位来使能所有中断。对于硬件配置寄存器,要注意中断输出管脚INT2的设置,这里选择低电平有效的中断信号模式。对这些寄存器正确配置之后,ISP1362就会进入预期工作模式。
    由于ISP1362中需要配置的寄存器很多,因此本设计中先在FPGA生成一片16位,大小为128 B的ROM,再将需要配置的寄存器的写命令和配置值按照顺序写入ROM中,配置时,只需将ROM中的数据依次写入芯片中即可。寄存器的配置时序如图3所示(为便于观察,图3中只截取了部分寄存器的配置情况)。



    图3中信号clk_50M为全局时钟;ISP_Rst为芯片的复位信号;ISP_CS,ISP_WR,ISP_RD分别为ISPl362的片选信号、读信号、写信号,均为低电平有效;ISP_Al为模式选择信号,当其值为1时,芯片工作于设备控制器模式,为O时芯片工作于主机控制器模式;ISP_A0为高时对应的ISP_Data为DC的初始化命令,当ISP_AO为低时对应的ISP_Data为写入相应寄存器的配置值。
2.2设备接收请求
    主机的每次请求,都是将请求以setup包的形式发送到out端点的out缓冲区。当out缓冲区接收到数据时,芯片的INT2管脚将会有中断产生。在模式寄存器、硬件配置寄存器、中断使能寄存器正确配置之后,当有中断事件产生时,ISP1362内部的SIE就能够检测到中断,并置中断寄存器的相应位为高电平。固件通过读取并分析中断寄存器的值来判断中断类型,再进行中断事件的处理。
    固件首先检测到的是out中断。这是因为在上电复位以后,主机就向out缓冲区发第一个setup请求包。当接收到out中断时,固件首先读取out端点的端点状态寄存器将中断清除,以便于芯片接收其他的中断。接着固件再根据端点状态寄存器的值判断out缓冲区内是否含有setup包,然后固件读取out缓冲区。
    根据out缓冲区的内容判断是何种请求,再决定做何响应。in中断的产生不同于out中断。in中断是在in缓冲区由空变满之后才产生的,in中断的产生需要固件进行写in缓冲区的操作。换而言之,是写in缓冲区的操作引发了in中断的产生,而不是in中断的产生引发了写缓冲区的操作。当固件检测到in中断时,同样要通过读in端点的端点状态寄存器将中断清除。

2.3设备响应请求
    当芯片工作于设备控制器模式下时,设备端的工作就是被动的执行主机发来的请求。请求类型的确定是通过读取out缓冲区里的setup包来完成的。一个setup包(即请求包)有8个字节,根据其中第二个字节能够判断出请求类型。由流程图可以看出,枚举过程中主机要发出获取描述符、设置地址、设置配置等请求,对于获取描述符的请求,还需要进一步判断是获取何种描述符的请求,这可以通过请求的第三,四字节的值来确定。一旦确定了请求类型,设备就可以确定该如何响应请求。当确定主机发的是获取何种描述符请求之后,固件就将相应的描述符的值写入in端点的端点缓冲区。写in端点缓冲区的方法与寄存器配置类似

关键字:ISPl362  FPGA  红外成像

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2012/0414/article_15659.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
ISPl362
FPGA
红外成像

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved