随着科学技术的发展,指纹识别技术被广泛应用到各种不同的领域。对于一般的指纹识别系统,其设计要求具有很高的实时性和易用性,因此识别算法应该具有较低的复杂度,较快的运算速度,从而满足实时性的要求。所以有必要根据不同的识别算法采用不同的实现平台,使得指纹识别系统具有较高的可靠性、实时性、有效性等性能要求。 SOPC片上可编程系统和嵌入式系统是当前电子设计领域中最热门的概念。NiosⅡ是Altera.公司开发的一种采用流水线技术、单指令流的RISC嵌入式处理器软核,可以将它嵌入到FPGA内部,与用户自定义逻辑组建成一个基于FPGA的片上专用系统。 本文在综合考虑各种应用情况的基础上,以网络技术、数据库技术、指纹识别技术和嵌入式系统技术为理论基础,提出了一种有效可行的系统架构方案。对指纹识别技术中各个环节的算法和原理进行了深入研究,合理的改进了部分指纹识别算法;同时为了提高系统的实时性,采用NiosⅡ嵌入式处理器和FPGA硬件模块实现指纹图像处理主要算法。论文主要包括以下几个方面: 1、对指纹图像预处理、特征提取和特征匹配算法原理进行阐述,同时改进了指纹图像的细化算法,提高了算法的性能,并设计了一套实用的指纹特征数据结构; 2、针对指纹图像预处理模块,包括图像的归一化、频率提取、方向提取以及方向滤波,采用基于FPGA的硬件电路的方式实现。实验结果表明,在保证系统误识率较低、可靠性高的基础上,大大提高了系统的执行速度; 3、改变了传统的单枚指纹识别方法,提出采用多枚指纹唯一标识身份,大大降低了识别系统的误识率; 4、改进了传统的基于三角形匹配中获取基准点的方法,同时结合可变界限盒思想进行指纹特征匹配。 5、结合COM+技术、数据库技术和网络技术,开发了后台指纹特征匹配服务系统,实现了嵌入式指纹识别系统同数据库的实时信息交换。 实验结果表明,本文所提出的系统构架方案有效可行,基于FPGA的自动指纹识别系统在速度、功耗、扩展性等方面具有独特的优势,拥有广阔的发展前景。
上传时间: 2013-04-24
上传用户:15528028198
随着印制电路板功能的日益增强,结构日趋复杂,系统中各个功能单元之间的连线间距越来越细密,基于探针的电路系统测试方法已经很难满足现在的测试需要。边界扫描测试(BST)技术通过将边界扫描寄存器单元安插在集成电路内部的每个引脚上,相当于设置了施加激励和观测响应的内建虚拟探头,通过该技术可以大大的提高数字系统的可观测性和可控性,降低测试难度。针对这种测试需求,本文给出了基于FPGA的边界扫描控制器设计方法。 完整的边界扫描测试系统主要由测试控制部分和目标器件构成,其中测试控制部分由测试图形、数据的生成与分析及边界扫描控制器两部分构成。而边界扫描控制器是整个系统的核心,它主要实现JTAG协议的自动转换,产生符合IEEE标准的边界扫描测试总线信号,而边界扫描测试系统工作性能主要取决与边界扫描控制器的工作效率。因此,设计一个能够快速、准确的完成JTAG协议转换,并且具有通用性的边界扫描控制器是本文的主要研究工作。 本文首先从边界扫描技术的基本原理入手,分析边界扫描测试的物理基础、边界扫描的测试指令及与可测性设计相关的标准,提出了边界扫描控制器的总体设计方案。其次,采用模块化设计思想、VHDL语言描述来完成要实现的边界扫描控制器的硬件设计。然后,利用自顶向下的验证方法,在对控制器内功能模块进行基于Testbench验证的基础上,利用嵌入式系统的设计思想,将所设计的边界扫描控制器集成到SOPC中,构成了基于SOPC的边界扫描测试系统。并且对SOPC系统进行软硬件协同仿真,实现对边界扫描控制器的功能验证后将其应用到实际的测试电路当中。最后,在基于SignalTapⅡ硬件调试的基础上,软硬件结合对整个系统可行性进行了测试。从测试结果看,达到了预期的设计目标,该边界扫描控制器的设计方案是正确可行的。 本文设计的边界扫描控制器具有自主知识产权,可以与其他处理器结合构成完整的边界扫描测试系统,并且为SOPC系统提供了一个很有实用价值的组件,具有很明显的现实意义。
上传时间: 2013-07-20
上传用户:hewenzhi
· 摘要: 针对生物组织的电阻抗特性,给出了一种便携式生物阻抗测量系统的设计方法;该系统采用DSP控制,进行高分辨率多频率点生物阻抗测量,根据Cole-Cole阻抗圆图理论,对多频率点阻抗进行数据拟合后可获得测量范围内任意频率生物电阻抗特性;实现了对生物电阻抗的快速、自动测量;该系统结构紧凑,简单实用,试验结果表明系统稳定可靠,具有足够的精度,重复性好,在生物电阻抗研究工作中有
上传时间: 2013-07-16
上传用户:WMC_geophy
设计了一种以FX3U系列PLC为控制核心的太阳能自动跟踪控制系统。该跟踪控制系统将视日运动轨迹跟踪与传感器跟踪相结合,即第一级采用视日运动轨迹跟踪,初步跟踪太阳的运行轨迹,第二级采用传感器跟踪校正,并采用双轴式跟踪调整装置。系统还设计了时间显示模块,能够显示实时时间,同时也可以对时间进行实时调整。
上传时间: 2013-12-30
上传用户:hz07104032
Chroma 8000 TI 编写
上传时间: 2013-12-29
上传用户:止絮那夏
西安谊邦电子 公司引进美国的先进半导体测试技术,在此基础上研制生产了YB6000系列半导体分立器件测试系统,该测试系统拥有功率大、速度快、精度高、测试种类全等技术特点,各项技术指标均达到国际领先水平。其雄厚的技术实力,多年的开发产品经验和独特严谨的设计方案使谊邦电子YB系列测试系统性能更加超群,品质更为可靠稳定。谊邦电子研发技术涉及高端集成电路测试、半导体分立器件测试和各种客户产品测试等领域。产品主要应用于军工、汽车、飞机、船舶制造、能源等行业领域。 西安谊邦凭借较强的技术实力和完善的科学管理,能够给用户提供完善的售前售后技术支持。科技创新、服务无限,是我们工作的宗旨。
上传时间: 2013-10-30
上传用户:yangqian
摘要:在北京正负电子对撞机二期改造工程(BEPC2),磁铁电源系统大量使用了电流型直流传感器(DCCT)作为电源的反馈和回采器件.
上传时间: 2013-10-19
上传用户:Amygdala
针对目前温度测试系统缺乏实时性的特点,为了解决测温系统的实时性储存数据的目的,采用单片机进行系统的整体控制,利用实时芯片DS1302构成时钟系统,单总线温度采集芯片获取温度数据。该系统可以对温度报警上下线和记录数据的时间点进行调整。通过具体硬件电路的设计,软件程序的编写,以及实际电路的测试试验,得出该系统能够在设定的温度警戒线和时间点进行报警提示,并能稳定的记录所需特殊时刻的有关数据,到达了预期的效果,有一定的实际应用价值。
上传时间: 2013-11-01
上传用户:ca05991270
摘要:介绍了一套以89C52单片机为核心,联合编码器和推拉电磁铁实现探测头自动更换的系统。以超声波作为检测信号源,采用探测头与探测头夹具配合以适应不同直径的回转体工件的检测要求,同时解决了传统检测控制系统中探测头更换与高精度定位的矛盾。
上传时间: 2013-12-24
上传用户:Pzj
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230