印刷电路板( PCB)是集成各种电子元器件的信息载体,在各个领域得到了广泛的应用。近年来随着印刷电路板生产复杂度和产量的提高,传统PCB缺陷检测方式因接触受限、高成本、低效率等因素,已经逐渐不能满足现代检测需要,因此研究实现一种PCB缺陷的自动检测系统具有很大的现实意义和实用价值。 @@ 本论文根据机器视觉检测理论,运用数字图像处理技术,构建了一套PCB缺陷自动检测系统方案。该系统主要由光照、CCD摄像机、图像采集卡、运动控制台及计算机图像处理软件组成。其中图像处理软件部分作为本论文的核心,着重研究了其关键功能模块包括图像预处理、阈值分割、图像识别几个部分算法的选择与设计,并在MATLAB 7.0的环境下进行仿真。 @@ 运用现代成熟的数字图像处理技术,本文实现了PCB缺陷的软件检测方案。在预处理模块中,结合PCB板的特点运用图像预处理手段得到高质量的PCB图像。在阈值分割模块中,实现了四种当前成熟的阈值分割算法,以得到特征清晰、低噪声的PCB二值图像。在识别模块中结合电路板的短路、断路、毛刺、缺损、空洞五大缺陷的特征,设计相应算法并予以实现,并提示缺陷信息。 @@关键词:缺陷检测;图像预处理;图像分割;图像识别
上传时间: 2013-06-23
上传用户:lgnf
集成了传感器、嵌入式计算、网络和无线通信四大技术而形成的ZigBee技术是一种全新的信息获取和处理技术,能够协作实时监测、感知和采集各种环境或监测对象的信息,并对信息进行处理,传送到需要的用户。ZigBee技术作为一个全新的领域,对国内外的研究者提出了大量的挑战性课题。时钟同步是所有分布式系统的重要组成部分,也是ZigBee技术的一项重要支撑技术,大多数ZigBee技术应用比如环境监测系统,导航系统等都需要所搜集的传感数据具有准确时间信息,否则采集的信息就是不完整的。 本论文介绍了国内外在ZigBee技术的发展与现状,对IEEE802.15.4/ZigBee的协议栈做了分析,对现存的几种主要的时钟同步算法做了研究。本太阳能航标灯同步闪课题中,为了便于太阳能给航标灯供电,需要通过休眠机制来降低功耗;为了保证ZigBee网络中各设备协同工作,时钟同步显得更为重要,它为本系统中的每个航标灯提供正确的时钟信息,不但提高系统的传输质量和效率,而且让航标灯的同步闪光,在航道中起到很好的助航作用。接着,给出了系统的具体实现过程,包括各硬件模块的设计原理、电路原理图及主要模块的详细实现过程。最后,指出本文的不足及需要改进的地方。其中本文重点包括以下三个方面: 1.针对网络拓扑结构、协议体系结构以及干扰抑制技术进行深入分析,并与其它无线通信技术进行比较及对其相互干扰进行研究。 2.对ZigBee节点时钟同步算法工作原理做了详细的研究,总结了这些算法的优缺点,并在对比现有的几种时钟同步算法的基础上对泛洪时间同步协议多跳时钟同步算法的改进。 3.设计了太阳能航标灯同步闪光系统,给出了硬件原理图及软件流程,并且在制PCB板中电磁兼容问题的解决进行了详细描述。 结果表明,该系统稳定、可靠、高效,具有很高的实用价值。
上传时间: 2013-04-24
上传用户:海陆空653
有源电力滤波器(Active Power Filter,简称 APF)是近年来治理电力系统谐波污染的非常有效的装置。众所周知,电力电子装置和非线性负载的广泛使用,使谐波电流和无功电流大量注入电网,严重威胁电网和电气设备的安全运行与正常使用,并且产生大量的能源浪费。随着我国“十一五”规划中关于建设节约型社会的战略方针的提出,应用APF进行谐波和无功治理的研究工作将会有很广阔的应用前景。 本文阐述了有源电力滤波器的基本原理,介绍了当前主要的几种APF的分类以及电路拓扑结构,分别对三相三线和三相四线制APF的结构进行分析,建立了两种数学模型,指出三相三线制APF在实际供电系统中应用的局限性。本文介绍了三种当前广泛采用的电流控制方法和一种比较先进的空间矢量控制方法。对于APF系统的核心--谐波检测,本文介绍了三种谐波检测理论,着重对本文设计的APF所采用的瞬时无功功率理论进行详细的理论分析,在MATLAB软件中建立一个三相四线制基于瞬时无功功率理论的APF系统仿真模型,验证瞬时无功功率理论的可行性。 在进行大量理论分析和验证的基础上,设计一台采用单片机和DSP双CPU的有源电力滤波器。硬件上设计单片机的时钟电路、仿真器接口电路;设计DSP的时钟电路,外接存储器扩展电路;设计APF系统的电压周期检测电路,电流绝对值转换电路等等。软件上编写单片机的主程序和中断程序、DSP的主程序和启动搬运程序,调试并给电进行实际测试和实验分析。
上传时间: 2013-04-24
上传用户:zuozuo1215
一本很好的汇编语言教程,跟大家一起分享 课程介绍 第1章 预备知识 1.1 汇编语言的由来及其特点 1 机器语言 2 汇编语言 3 汇编程序 4 汇编语言的主要特点 5 汇编语言的使用领域 1.2 数据的表示和类型 1 数值数据的表示 2 非数值数据的表示 3 基本的数据类型 1.3 习题 第2章 CPU资源和存储器 2.1 寄存器组 1 寄存器组 2 通用寄存器的作用 3 专用寄存器的作用 2.2 存储器的管理模式 1 16位微机的内存管理模式 2 32位微机的内存管理模式 2.3 习题 第3章 操作数的寻址方式 3.1 立即寻址方式 3.2 寄存器寻址方式 3.3 直接寻址方式 3.4 寄存器间接寻址方式 3.5 寄存器相对寻址方式 3.6 基址加变址寻址方式 3.7 相对基址加变址寻址方式 3.8 32位地址的寻址方式 3.9 操作数寻址方式的小结 3.10 习题 第4章 标识符和表达式 4.1 标识符 4.2 简单内存变量的定义 1 内存变量定义的一般形式 2 字节变量 3 字变量 4 双字变量 5 六字节变量 6 八字节变量 7 十字节变量 4.3 调整偏移量伪指令 1 偶对齐伪指令 2 对齐伪指令 3 调整偏移量伪指令 4 偏移量计数器的值 4.4 复合内存变量的定义 1 重复说明符 2 结构类型的定义 3 联合类型的定义 4 记录类型的定义 5 数据类型的自定义 4.5 标号 4.6 内存变量和标号的属性 1 段属性操作符 2 偏移量属性操作符 3 类型属性操作符 4 长度属性操作符 5 容量属性操作符 6 强制属性操作符 7 存储单元别名操作符 4.7 表达式 1 进制伪指令 2 数值表达式 3 地址表达式 4.8 符号定义语句 1 等价语句 2 等号语句 3 符号名定义语句 4.9 习题 第5章 微机CPU的指令系统 5.1 汇编语言指令格式 1 指令格式 2 了解指令的几个方面 5.2 指令系统 1 数据传送指令 2 标志位操作指令 3 算术运算指令 4 逻辑运算指令 5 移位操作指令 6 位操作指令 7 比较运算指令 8 循环指令 9 转移指令 10 条件设置字节指令 11 字符串操作指令 12 ASCII-BCD码调整指令 13 处理器指令 5.3 习题 第6章 程序的基本结构 6.1 程序的基本组成 1 段的定义 2 段寄存器的说明语句 3 堆栈段的说明 4 源程序的结构 6.2 程序的基本结构 1 顺序结构 2 分支结构 3 循环结构 6.3 段的基本属性 1 对齐类型 2 组合类型 3 类别 4 段组 6.4 简化的段定义 1 存储模型说明伪指令 2 简化段定义伪指令 3 简化段段名的引用 6.5 源程序的辅助说明伪指令 1 模块名定义伪指令 2 页面定义伪指令 3 标题定义伪指令 4 子标题定义伪指令 6.6 习题 第7章 子程序和库 7.1 子程序的定义 7.2 子程序的调用和返回指令 1 调用指令 2 返回指令 7.3 子程序的参数传递 1 寄存器传递参数 2 存储单元传递参数 3 堆栈传递参数 7.4 寄存器的保护与恢复 7.5 子程序的完全定义 1 子程序完全定义格式 2 子程序的位距 3 子程序的语言类型 4 子程序的可见性 5 子程序的起始和结束操作 6 寄存器的保护和恢复 7 子程序的参数传递 8 子程序的原型说明 9 子程序的调用伪指令 10 局部变量的定义 7.6 子程序库 1 建立库文件命令 2 建立库文件举例 3 库文件的应用 4 库文件的好处 7.7 习题 第8章 输入输出和中断 8.1 输入输出的基本概念 1 I/O端口地址 2 I/O指令 8.2 中断 1 中断的基本概念 2 中断指令 3 中断返回指令 4 中断和子程序 8.3 中断的分类 1 键盘输入的中断功能 2 屏幕显示的中断功能 3 打印输出的中断功能 4 串行通信口的中断功能 5 鼠标的中断功能 6 目录和文件的中断功能 7 内存管理的中断功能 8 读取和设置中断向量 8.4 习题 第9章 宏 9.1 宏的定义和引用 1 宏的定义 2 宏的引用 3 宏的参数传递方式 4 宏的嵌套定义 5 宏与子程序的区别 9.2 宏参数的特殊运算符 1 连接运算符 2 字符串整体传递运算符 3 字符转义运算符 4 计算表达式运算符 9.3 与宏有关的伪指令 1 局部标号伪指令 2 取消宏定义伪指令 3 中止宏扩展伪指令 9.4 重复汇编伪指令 1 伪指令REPT 2 伪指令IRP 3 伪指令IRPC 9.5 条件汇编伪指令 1 条件汇编伪指令的功能 2 条件汇编伪指令的举例 9.6 宏的扩充 1 宏定义形式 2 重复伪指令REPEAT 3 循环伪指令WHILE 4 循环伪指令FOR 5 循环伪指令FORC 6 转移伪指令GOTO 7 宏扩充的举例 8 系统定义的宏 9.7 习题 第10章 应用程序的设计 10.1 字符串的处理程序 10.2 数据的分类统计程序 10.3 数据转换程序 10.4 文件操作程序 10.5 动态数据的编程 10.6 COM文件的编程 10.7 驻留程序 10.8 程序段前缀及其应用 1 程序段前缀的字段含义 2 程序段前缀的应用 10.9 习题 第11章 数值运算协处理器 11.1 协处理器的数据格式 1 有符号整数 2 BCD码数据 3 浮点数 11.2 协处理器的结构 11.3 协处理器的指令系统 1 操作符的命名规则 2 数据传送指令 3 数学运算指令 4 比较运算指令 5 超越函数运算指令 6 常数操作指令 7 协处理器控制指令 11.4 协处理器的编程举例 11.5 习题 第12章 汇编语言和C语言 12.1 汇编语言的嵌入 12.2 C语言程序的汇编输出 12.3 一个具体的例子 12.4 习题 附录
上传时间: 2013-07-05
上传用户:hw1688888
PROTEL99SE常规教程(图片教程) 5天(每天2小时),你就可以搞定PROTEL99SE的常规操作。 课程介绍: 图片教程的第1天: 学会自己画简单的SCH文件 第1课:新建一个*.DDB,新建一个SCH文件,并且添加画SCH要用到的零件库>> 第2课:利用添加好的零件库,进行画第一个可以自动布线的原理图>> 课后补充:SCH中一些必须要避免的错误! 图片教程的第2天: 学会从SCH到PCB的转变,并且进行自动布线 第一课:建立一个PCB文件,并且添加自动布线所必需的封装库 第二课:把前面的SCH文件变成PCB板 第三课: 对PCB进行自动布线 图片教程的第3天: 学会自己做SCH零件。说明:SCH零件库用来画图和自动布线 第一课:做一个SCH里面常要用到的电阻零件 图片教程的第4天: 学会自己做PCB零件封装 第一课:做一个属于自己的PCB零件封装 课后补充:PCB中一些必须要避免的错误! 布线方面的高级设置:自动布线和手动布线方面的高级设置问题 图片教程的第5天: 一些高级的常用技巧 一、SCH中的一些常用技巧 SCH的一些高级设置和常用技巧 二、PCB的一些高级设置和常用技巧 在PCB中,如何校验和查看PCB单个的网络连接情况 在PCB中给PCB补泪滴的具体操作 在PCB中给PCB做覆铜的具体操作 在PCB中如何打印出中空的焊盘(这个功能对于热转印制板比较有用) 在PCB中如何找到我们要找的封装 如何在PCB文件中加上漂亮的汉字 附件:PROTEL99SE 安装 License 5天(每天2小时),你就可以搞定PROTEL99SE的常规操作。
上传时间: 2013-05-24
上传用户:lgd57115700
本文完成了对MIPS-CPU的指令集确定,流水线与架构设计,代码编写,并且在x86计算机上搭建了称为gccmips_elf的仿真系统,完成了对MIPS-CPU硬件系统的模拟仿真,最终完成FPGA芯片的下载与实现。 @@ 本文完成了包含34条指令的MIPS-CPU指令集的制定,完成了整个MIPS-CPU的架构设计与5级流水线级数的确定。制定了整个CPU的主控制模块的状态转移图;根据MIPS-CPU的指令集的模式,完成了对不同模式下的指令的分析,给出了相应的取指,译码,产生新的程序存储器寻址地址,执行,数据存储器与寄存器文件回写的控制信号,完成取指令模块,译码模块,执行模块,数据回写等模块代码的编写,从而完成了流水线模块的代码设计。 @@ 重点分析了由于流水线设计而引入的竞争与冒险,分析了在不同流水线阶段可能存在的竞争与冒险,对引起竞争与冒险的原因进行了确定,并通过增加一些电路逻辑来避免竞争与冒险的发生,完成了竞争与冒险检测电路模块以及数据回写前馈电路模块的代码编写,从而解决了竞争与冒险的问题,使设计的5级流水线得以畅顺实现。 @@ 完成了MIPS-CPU的仿真系统平台的搭建,该仿真器用来对应用程序进行编译,链接与执行,生成相应汇编语言程序以及向量文件(16进制机器码);并且同时产生相关的Modelsim仿真,及Quartus II下载验证的文件。本设计利用该仿真系统来评估设计的MIPS-CPU的硬件系统,模拟仿真结果证明本文设计的MIPS-CPU可以实现正常功能。本论文课题的研究成功对今后从事专用RISC-CPU设计的同行提供了有益的参考。 @@ 最终将设计的MIPS-CPU下载到ALTERA公司的FPGA-EP1C6Q240芯片,并且借助ALTERA公司提供的Quartus II软件进行了编译与验证,对设计的MIPS-CPU的资源使用,关键路径上的时序,布线情况进行了分析,最终完成各个指标的检查,并且借助Quartus II软件内嵌的Signal Tap软件进行软硬件联合调试,结果表明设计的MIPS-CPU功能正常,满足约束,指标正确。 @@关键词 MIPS;流水线;竞争与冒险;仿真器;FPGA
上传时间: 2013-07-31
上传用户:gjzeus
作者:陈正冲,本书正式出版前读者可以仔细研读和自由传阅本书电子版,但不允许私自大量印刷和销售。
标签: C语言
上传时间: 2013-05-22
上传用户:xiaoyunyun
单片机、液晶屏、触摸屏控制、人机交互界面。
标签: 程序
上传时间: 2013-04-24
上传用户:tanw97
人脸自动识别技术是模式识别、图像处理等学科的一个最热门研究课题之一。随着社会的发展,各方面对快速有效的自动身份验证的要求日益迫切,而人脸识别技术作为各种生物识别技术中最重要的方法之一,已经越来越多的受到重视。对于具有实时,快捷,低误识率的高性能算法以及对算法硬件加速的研究也逐渐展开。 本文详细分析了智能人脸识别算法原理,发展概况和前景,包括人脸检测算法,人眼定位算法,预处理算法,PCA和ICA 算法,详细分析了项目情况,系统划分,软硬件平台的资源和使用。并在ISE软件平台上,用硬件描述语言(verilog HDL)对算法部分严格按照FPGA代码风格进行了RTL 硬件建模,并对C++算法进行了优化处理,通过仿真与软件算法结果进行比对,评估误差,最后在VirtexII Pro FPGA 上进行了综合实现。 主要研究内容如下: 首先,对硬件平台xilinx的VirtexII Pro FPGA 上的系统资源进行了描述和研究,对存储器sdram,RS-232 串口,JTAG 进行了研究和调试,对Coreconnect的OPB总线仲裁机理进行了两种算法的比较,RTL 设计,仿真和综合。利用ISE和VC++软件平台,对verilog和C++算法进行同步比较测试,使每步算法对应正确的结果。对软硬件平台的合理使用使得在项目中能尽可能多的充分利用硬件资源,制板时正确选型,以及加快设计和调试进度。其次,对人脸识别算法流程中的人脸检测,人眼定位,预处理,识别算法分别进行了比较研究,选取其中各自性能最好的一种算法对其原理进行了分析讨论。人脸检测采用adaboost 算法,因其速度和精度的综合性能表现优异。人眼定位采用小块合并算法,因为它具有快速,准确,弱时实的特点。预处理算法采用直方图均衡加平滑的算法,简单,高效。 识别算法采用PCA 加ICA 算法,它能最大的弱化姿态和光照对人脸识别的影响。 最后,使用Verilog HDL 硬件描述语言进行算法的RTL 建模,在C++算法的基础上,保证原来效果的前提下,根据FPGA 硬件特点对算法进行了优化。视频输入输出是人脸识别的前提,它提供FPGA 上算法需要处理的数据,预处理算法在C++算法的基础上进行了优化,最大的减少了运算量,提高了运算速度,16 位计算器模块使得在算法实现时可以根据系统要求,在FPGA的ip 核和自己设计的模块之间选择性能更好的一个来调用,FIFO的设计提供同步和异步时钟域的数据缓存。设计在ISE和VC++软件平台同时进行,随时对verilog和C++数据进行监测和比对。全部设计模块通过仿真,达到预定的性能要求,并在FPGA 上综合实现。
上传时间: 2013-07-13
上传用户:李梦晗
同步技术在许多通讯系统中都是至关重要的,而WCDMA作为第三代移动通信的标准之一,对其同步算法进行研究是非常必要的。FPGA在许多硬件实现中充当了很重要的角色,所以研究如何在FPGA上实现同步算法是非常具有实际意义的。 本文讨论了三步小区搜索的算法,仿真了其性能,并且对如何进行算法的FPGA移植展开了深入的讨论。 本文对三步小区搜索的算法按照算法计算量和运算速度的标准分别进行了比较和讨论,并以节省资源和运行稳定为前提进行了FPGA移植。最终在主同步中提出了改进型的PSC匹配滤波器算法,在FPGA上提出了采用指针型双口RAM的实现方式;在辅同步中提出了改进型PFHT算法并采用查表遍历算法判决,在FPGA上提出了用综合型逻辑方式来实现;在导频同步中采用了移位寄存器式扰码生成算法,并引入了计分制判决算法。 与以往的WCDMA同步的FPGA实现相比,本文提出的实现方案巧妙地利用了FPGA的并行运算结构,在XILINX的V4芯片上只用了500个slice就完成了整个小区搜索,最大限度地节省了资源,为小区搜索在FPGA中的模块小型化提供了途径。
上传时间: 2013-08-05
上传用户:leileiq