欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 软件技术 > 基于FPGA的指纹采集系统设计

基于FPGA的指纹采集系统设计

日期:2023-01-24 阅读量:0 所属栏目:软件技术


摘 要:本文设计了一个基于Xilinx公司FPGA芯片XC3S500E的实用指纹采集系统。给出了指纹采集系统的总体结构和控制流程,并详细描述了各个控制模块的工作原理以及设计实现方法。

关键词:指纹采集 ; FPGA ; I2C总线

     生物识别技术是利用人体所特有的生理特性(如虹膜、声音、指纹等)进行身份鉴别的一项技术。由于人体生理特性的唯一性,使得这种技术比传统的身份识别方式具有更好的安全行和方便性。其中,指纹识别是被应用最多而且最成熟的生物识别技术。本文提出了一种利用FPGA芯片作为主控制芯片,采用OV7120指纹传感器的指纹采集系统的设计方案。
1.指纹采集系统总体设计
  本系统采用Xilinx公司Spartan-3E系列XC3S500E型FPGA芯片作为控制核心,其50万门的容量满足了全系统设计的需要。选用基于OV7120黑白CMOS图像传感器芯片的指纹传感器,采集640×480的灰度指纹图像。
  指纹采集系统的总体结构如图1所示。整个系统中的I2C控制模块、SRAM模块和VGA显示控制模块全部在FPGA芯片上设计实现。OV7120指纹传感器有16根信号线,通过FPC16扁平电缆连接XC3S500E系统板上的FX2-100S-1.27DS连接器。同时,XC3S500E系统板也提供了标准VGA接口连接显示器。


2.指纹采集系统控制流程设计
  整个指纹采集系统的软件控制流程如下:主控FPGA芯片XC3S500E向指纹传感器发出开始工作命令;然后,通过FPGA中的I2C总线控制模块向指纹传感器发出工作方式设置命令;在I2C控制模块完成对OV7120指纹传感器的工作方式设置后,开始实时接收采集的指纹数据,同时将采集到的一帧指纹数据写入在FPGA中设计的SRAM中;最后由VGA控制模块读取SRAM中的指纹数据经VGA端口送到显示器显示。
2.1 I2C总线控制模块设计
  OV7120指纹传感器的工作方式、数据输出格式、扫描模式等参数的设置通过SCCB串行接口来实现的。而SCCB串行接口就是简化的I2C总线。在XC3S500E芯片上采用VHDL语言程序软件模拟方式,实现对I2C总线接口控制,完成对OV7120指纹传感器工作方式的设置。
  根据I2C总线的通信协议,将总线上的信号划分为空闲(idle)、启动(start)、写(write)、确认(ack)和停止(stop)五种工作状态。I2C控制模块在接受到FPGA发出的启动信号后,进入start状态,并根据写寄存器命令,进入write状态。由于写操作都是以字节进行的,对应8个周期的I2C总线写操作,故设计一个8节拍的计数器,使得write状态能维持8个SCL周期。在完成字节写操作之后,将进入ack状态。进入ack状态,标志一个写寄存器命令已经完成。I2C总线状态转换关系如图2所示。


  I2C总线控制模块的状态转换部分源程序如下:
case sta is
   when idle=>  scl<='1';  ——空闲状态
       sda<='1';
       sta<=start;
   when start=> scl<='1';   ——接收到start信号后,进入到启动状态
       sda<='0';
       sta<=init;   
   when init=>  bit_cnt<=0;  ——表示主控设备发送数据
       data<=datain(n);  ——主控设备发送的数据
       sda<='0';
       scl<='0';
       sta<=write;  ——进入维持8个SCL周期的写状态
  ·
  ·
  ·
   when t6=>   scl<='1';  ——确认状态,写寄存器工作完成。
      sda<='0';
      sta<=stop;
   when stop=> scl<='1';  ——停止状态,重回空闲状态,等待下次启动命令
      sda<='1';
      sta<=idle;
  end case;
2.2 SRAM模块设计
  在XC3S500E芯片内部设计SRAM模块进行数据的缓存,相比采用外部SRAM芯片存储,大大提高了数据读写速度。指纹传感器输出的一帧指纹图象数据大小约为300k,相应设计的SRAM有19个地址引脚,8根数据线,有片选引脚CS、写有效引脚wr、读有效引脚rd。wr和rd分别与CS联合控制读写使能。
2.3 VGA显示控制模块设计
  VGA显示控制模块设计总体结构如图3所示。图中二分频子模块把50mhz时钟频率分成25mhz并提供给其它子模块作为时钟;VGA时序控制子模块用于产生640X480显示范围,并控制显示范围和消隐范围以及产生水平同步时序信号hs和垂直同步时序信号vs的值;按照SRAM中数据存储地址读出显示数据,并将R、G、B的值通过VGA接口传到CRT显示器。


  VGA时序控制子模块部分的行列控制源程序如下:
  ProA:process(clk)                  ——行扫描控制进程,640个像素点,
   Begin                              行同步头时间大约等于间大约等
  if(rising_edge(clk))then       于扫描160个像素点的时间
  if(hcnt <800)then hcnt<=hcnt+1;           
     else hcnt<=0;
     end if;
    end if;
   end process;
  ProB:process(clk)                  ——列扫描控制进程,扫描480行的
   Begin                              时间,场同步头时间大约等于扫
    if(rising_edge(clk))then       描45行时间
     if(hcnt <640+8)then
      if(vcnt<525)then
       vcnt<=vcnt+1;
       n<=n+1;
      else vcnt<=0;
      end if;
     end if;
    end if;
   end process;
3.总结
  这种基于FPGA芯片的指纹采集系统,全部控制逻辑在单个FPGA芯片内部实现,简化了外部电路设计;利用FPGA较高的工作频率使得指纹采集、传输、处理速度快,在后期还可加入图像处理的算法进一步提高成像质量。全系统具有机构简单、体积小、可靠性高等优点,具有较强的实用价值。
参考文献: 
[1] 田耘,徐文波. Xilinx FPGA开发实用教程[M].清华大学出版社,2008:1-25.
[2] 徐志军,徐光辉.CPLD/FPGA的开发与应用[M].北京:电子工业出版社,2002:30-70.
[3] 李泽文.I2C总线控制及基于FPGA的实现[J].科技经济市场,2006,8:23-25.
[4] 罗钧,吴克松,廖红华.基于NiosII的图像采集和显示的实现[J].电子技术应用,2007,(2):24~27.
[5] Advanced Information Preliminary OV7620/OV7120[Z].Omnivision Inc,April,2008.

本文链接:http://www.qk112.com/lwfw/jsjlw/ruanjianjishu/229461.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学