CCD 信号采集系统中PCI 接口设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CCD 信号采集系统中PCI 接口设计*
申柏华,徐杜,郑胜林
(广东工业大学 信息工程学院,广东 广州 510640)
摘 要:针对高速CCD 信号采集系统中数据传输量大的特点, 介绍了一种简单易用的高速数据采集系统中的PCI 总线接口解决方案,论文采用FPGA 实现PCI 总线接口和PCI 用户逻辑,提高了系统的集成度和可移植性,使高速的A/D 转换器有高速的总线与其相匹配,有效的解决了数据的实时高速传输问题,为信号的实时处理提供了方便。

关键词:PCI 总线;数据采集;FPGA
中图分类号:TP212 文献标识码:A 文章编号:
PCI Interface Design of CCD Signal Acquisition System
Shen Bai-hua, Xu Du, Zheng Sheng-lin
(Faculty of Information Engineering, Guangdong University of Technology, Guangzhou 510640,
China)
Abstract: According to the characteristic of high speed of the CCD signal acquisition system. This paper introduces the design of hardware about data sampling based on PCI. This design integrates PCI bus interface and PCI user logic into a FPGA chip, it enhances the integration and migration of the system. So the high speed A/D converter will match the high speed bus. It solves the problem of real-time transferring and saving effectively. And it also brings convenience for real-time processing the signal.
Keywords: PCI bus, data acquisition, FPGA
0 引言
近年来,CCD 器件及其应用技术的研究取得了惊人的进展,特别是在图像传感和非接触测量领域的发展更为迅速。

随着CCD 的迅猛发展,针对CCD 信号的采集及采集之后的信号如何与计算机进行信息通信成为CCD 应用的一个重要问题,而能够针对CCD 每一个象素进行高速采集并实时传输给计算机处理,将会大大的提高采集到的CCD 信号的精度并
解决实时处理的问题,这在CCD 信号采集和处理领域都将有非常广阔的前景。

[1]
PCI 总线以其高性能、高效率以及与现有标准的兼容性和预置的发展空间,被认为是具
有发展潜力的局部总线标准之一。

[2] 将CCD 数据采集卡通过PCI 总线与微机相连,对被测
图像信息进行快速采样、存储及数据处理,能够很好的满足线阵CCD 高速数据采集及处理的需要。

1 数据采集系统硬件结构及性能
本数据采集系统主要由以下几个功能模块组成:CCD 信号输入模块、A/D
转换模块、串行EEPROM 及在FPGA 内部实现的FIFO 模块、PCI 总线控制器、
PCI 用户逻辑模块等,其结构框图如图1所示。

图中粗线表示数据/地址总线,细
线表示控制线或数据流等。

前端CCD 的驱动时序由FPGA 的控制逻辑提供[3],
CCD 信号经过提取、放大后,进入A/D ;
在FPGA 控制逻辑控制下,高速A/D 芯 * 基金项目:广东省教育厅自然科学研究项目(Z02031)
图1 数据采集系统框图
片将模拟信号转为数字信号。

并将数据输出到FIFO存储器中。

当一组数据存储完毕后,由FPGA通过PCI总线控制器向主机申请中断,主机响应中断后通过PCI控制器直接读取FIFO 中的数据。

经测试,PC机通过PCI总线与图1中的FIFO的数据交换速度最快可达60MB/S 以上。

实际应用中系统选用的线阵CCD为Toshiba的TCD1702C,这是一种有效像元数为7500的双沟道二相线阵CCD,其最佳工作频率为1MHz。

[3]A/D器件选用TI公司的TLC5510,TLC5510是8位、最大采样速度为20MSPS的A/D转换器。

2 PCI总线控制器的实现
2.1方案选择
本系统采用了PCI总线,利用其高达33 M的传输速率完成连续采样。

由于PCI的总线规范十分复杂,有严格的时序要求,因此给PCI接口设计带来困难。

目前主要有三种途径来解决这一问题:一、采用专门的PCI接口芯片,这种方法开发周期短,成本适中,开发者不需掌握太多的PCI协议细节;二、采用FPGA芯片,同时使用FGPA厂商提供的PCI总线的IP核,这种方法开发周期适中,开发者需掌握一定的PCI协议细节,但FPGA厂商提供的PCI总线的IP核价格太高;三、采用FPGA芯片,完全自主开发,这种方法需设计者掌握详细的PCI协议,开发周期较长。

[4]-[5]
本系统中采用的是第三种方法,采用这种方法虽然首次开发时周期较长,但是一次开发,永久受益,以后再开发类似产品时将具有开发周期短,成本低,且集成度高,便于移植等优点。

这种方法已经被越来越多的设计者所采用。

[6]
2.2 PCI总线控制逻辑在FPGA中的实现
2.2.1空间映射
PC 机中包括三种空间:存储器空间、I/O 空间、配置空间。

存储器空间主要包括内存、显存、扩展ROM、设备缓冲区等,一般用于存放大量数据和进行数据块交换。

I/O空间主要包括设备的控制寄存器和状态寄存器,一般用于控制和查询设备的工作状态以及少量数据的交换。

目前PC 机的存储器空间通常达到上百GB,而I/O 空间为64KB,地址范围是0000H~FFFFH。

配置空间主要用于向系统提供设备自身的基本信息,并接受系统对设备全局状态的控制和查询。

为了避免地址冲突,PCI 总线要求各个设备所占用的地址能够重定位。

重定位是由设备的配置空间的基址寄存器实现的,通常情况下,各个设备的基址寄存器总是被BIOS 或者操作系统分配为不同的基址,从而将各个设备分别映射到不同的地址范围。

在需要时,应用程序也可以自行修改基址寄存器中的基址,从而将设备映射到指定的地址范围。

本设计中,该PCI数据采集卡存储器空间占用32K 字节,偏移地址是0000H~7FFFH,可以全部提供给外部设备使用,实际存储器地址是存储器基址加上偏移地址。

I/O 空间占用256字节,其中偏移地址F0~FFH 是PCI数据采集卡自身的专用寄存器,所以可以提供240 字节给其他外部设备使用,偏移地址是00H~EFH,本设计中,暂没有用到这些I/O地址,留作以后扩展用。

实际I/O 地址是I/O 基址加上偏移地址。

2.2.2内部逻辑结构设计
为便于移植,FPGA中PCI总线控制器设计成一个独立的模块,图2是该PCI总线控制器内部的主要逻辑结构。

总线控制器对PCI 总线的各种信号进行译码后,产生内部数据总线D31~D0、内部地址总线A31~A0、读I/O 端口信号、写I/O 端口信号、读存储器信号、写存储器信号、读写配置空间等信息。

图中已经标明了各个信号的传输方向。

结构图右侧的信号是PCI总线控制器提供给本地端的各个信号,本设计中,由于只用到FIFO存储器,因此只需要使用本地数据总线和读写存储器信号。

地址线A14~A0 用于提供相对于基址的偏移地址,数据总线D7~D0 在读操作时用于输入数据,在写操作时用于
输出数据。

IOP_RD 用于提供I/O 读选通脉冲信号,IOP_WR 用于提供I/O 写选通脉冲信号,MEM_RD 用于提供存储器读选通脉冲信号,MEM_WR 用于提供存储器写选通脉冲信号,上述引脚的读写选通脉冲信号都是低电平有效。

PCI 总线控制器提供的地址线、数据总线、读写选通信号线类似于ISA 总线的信号线,所以非常适合将ISA 板卡升级到PCI 总线上。

并且从结构图中可以看出,PCI 总线控制器提供的读写选通信号已经在模块内部被片选控制,PCI 总线控制器输出的读写选通信号只是在其基址映射范围内有效,所以外部设备不再需要片选译码。

下面以I/O 写操作为例分析PCI 总线控制器内部逻辑流程设计。

PCI 总线译码模块检测到PCI 总线FRAME 信号由高变低时,表明新的一次操作开始,如果此时检测到PCI 总线C/BE[3..0]四个引脚信号为0011,则表明PCI 主设备要对PCI 从设备进行一次IO 写操作,但此时还不能确定本次IO 写操作是针对自己还是针对其他PCI 从设备。

总线译码模块收到I/O 写命令后,采集PCI 总线发过来的地址和数据分别输出,同时使能“写I/O 端口”信号(高电平),
IO 基址比较器将PCI 总线译码模
块送过来的地址信号的A15-A8与
本卡配置空间的I/O 基址寄存器中的数据进行比较,如不一致,则表明此次操作的对象是其他PCI
从设备,比较器输出低电平;如比较一致,则表明PCI 主设备的本次操作对象为本PCI 从设备,比较器输出使能“I/O 片选”信号(高电平),这样,“写I/O 端口”与“I/O 片选”信号都有效,通过与非门后输出低电平有效的I/O 写信号IOP_WR 。

其他操作与本操作类似,在此不一一分析。

2.2.3配置空间设计
PCI 配置空间是一容量为256字节并具有特定记录结构的地址空间,它对PCI 接口卡进行初始化,为实现PCI 接口卡的即插即用功能提供了可能。

所有符合PCI 规范的从设备都必须在配置空间提供本PCI 设备的厂商标识、设备标识、命令和状态寄存器等字段,其他字段为可选内容。

本系统中,配置空间的信息存储在一块EEPROM 芯片24C02中,这样即使断电后,存储在EEPROM 中的配置空间的信息也不会消失,下次启动时可直接恢复为原来的设置,而且配
置空间在操作中可以随时进行读写访问。

由于24C02采用的是I 2C 总线串行通信协议,而PCI
中都是并行通信,因此需考虑串并转换问题,串行通信时,还需按照I 2C 总线协议来进行。

因此,FPGA 中要实现对EEPROM 的访问,必须通过相关HDL 语言生成相应功能模块,用作EEPROM 的读写控制。

2.3 系统工作流程
图2 PCI 总线控制器内部逻辑设计图
设计好的采集系统工作流程如图3所示:PC 机应用程序通过PCI 总线向FPGA 控制逻辑电路发出“采集开始”指令,FPGA 控制逻辑收到开始指令后向CCD 送出驱动时序,向AD 转换器件送出“转换开始”信号,同时送出采集时钟信号到AD 转换器件。

AD 转换后的数据送到FIFO 的数据输入端暂存,当FIFO 存储空间将满时,向PCI 总线控制器发出中断请求信号,PCI 总线控制器将中断信号转发到PCI 总线,PC 机响应此中断信号,通过PCI
总线控制器读取FIFO 中的数据,直至读到FIFO 空为止。

PC 机应用程序收到数据后将数据重组成图像,为后期的图像分析处理做准备。

3 结束语 FPGA 以其强大的功能和灵活的设计方法,在电子设计中得到了广泛的应用。

现今FPGA 产品的价格日益下降,大容量的FPGA 使用越来越普遍。

设计者通过自行设计PCI IP 核,可以将PCI 用户逻辑与PCI 接口核逻辑集成在一片FPGA 里。

这样可以大幅度地提高设计的灵活性,提高电路板的集成度和系统性能。

随着高速数据采集技术的发展,基于FPGA 的PCI 数据采集技术将有着
十分广阔的应用前景。

通过该方法设计的数据采集卡,具
有低成本、高性能、应用方便等优点。

经过测试,本系统中PC 机与数据采集卡上FIFO 存储器之间的非突发存取速度最快可达60MB/S ,实践证明,本系统能够较好的满足数据高速采集、传送和存储等要求。

本方法可应用于高速数据采集卡、网卡、视频采集卡等设备的研发中。

采用该方法设计的CCD 图像采集系统已经成功应用在广州市重点攻关项目––––“高速高性能大幅面图像检测与识别系统关键技术研究”中。

参考文献
[1] 熊永超,贺春东,杨伟红. 基于CCD 的非接触式在线检测[J]. 微计算机信息,2005,21(4):178-179.
[2] 张正茂, 左维. PCI 总线数据采集卡设计[J]. 光电技术应用,2004,19(4):38-42.
[3] 张道勇, 徐杜, 蒋永平等. 基于FPGA 的线阵CCD 驱动时序发生器设计[J]. 微型机与应用,2004,
(11):25-27.
[4] 曹宁, 汪飞. 高速PCI 总线接口卡的开发[J]. 电子技术应用, 2004,(7):26-29.
[5] 彭海兰, 张翌晖, 蒋志龙. 基于 PCI 总线的高精度数据采集系统[J]. 电网技术,2004,28(4):69-72.
[6] 何文波, 孙德宝, 吴新建. 基于FPGA 和PCI 总线的数据采集板设计[J]. 微机发展,2004,14(11):27-29.
作者简介:
申柏华(1977-),男,湖南邵阳人,硕士,讲师,广东工业大学信息工程学院教师。

主要研究方向:智能网络测控、嵌入式系统。

徐 杜(1958-),男,重庆人,教授,硕导,广东工业大学信息工程学院院长。

主要研究方向:计算机测控技术、光电技术与系统、智能控制的理论与应用等。

通信地址:广东工业大学(五山)信息工程学院 邮编:510640
E-mail :bhshen@
(a) 数据采集及存储 (b) PC 机中断响应 图3 数据采集系统工作流程。

相关文档
最新文档