基于fpga的图像采集系统

基于fpga的图像采集系统
基于fpga的图像采集系统

基于FPGA的图像采集系统设计

前言

随着科技社会的发展,图像采集系统在日常生活、工业生产、国家安全等众多领域得到广泛的应用,具有广阔的应用前景和研究价值。采用FPGA进行设计的图像采集系统有良好的扩展性能和相对稳定的硬件结构。主要工作如下: 1)分析图像采集和图像处理的原理和特点,设计硬件电路的原理图,完成系统PCB板图的设计。 2)针对FPGA进行内部功能模块的划分,使用Verilog HDL硬件描述语言进行设计。 3)利用SOPC Builder 完成NIOS处理器软核及其外设的创建和配置。 4)根据FPGA内部硬件电路的特点,选择适合FPGA的算法,并对算法进行优化。 5)在NIOS II IDE环境下用Verilog HDL语言编写图像传感器控制、图像采集、SRAM读写控制、图像显示等程序,实现完整的图像采集系统功能。

1课题分析

1.1 选题背景(含国内外相关研究综述及评价)与意义

EDA技术的发展和应用普及性越来越高,已经涉及到现代电子产品设计的各个系统、各个领域中。之所以有这样的广泛应用,主要得益于可编程逻辑器件的长足发展和日益成熟,可编程逻辑器件(Programmable Logic Device, PLD)是一种半定制集成电路,在其内部集成了大量的门和触发器等基本逻辑单元电路,通过用户编程来改变PLD内部电路的逻辑关系或连线,从而得到所需要的电路设计功能。这种新型逻辑器件,不仅速度快、集成度高,能够完成用户定义的逻辑功能,还可以加密和重新定义编程,其允许编程次数可以达到上万次。可编程逻辑器件的出现,大大改变了传统数字系统设计方法,简化了硬件系统、降低成本、提高系统的可靠性、灵活性。因此,自20世纪70年代问世以后,PLD受到广大工程师的青睐,被广泛应用于工业控制、通信设备、仪器仪表和医疗电子仪器等众多领域,为EDA技术开创了广阔的发展空间。

VGA作为一种标准的显示接口,在视频和计算机领域得到了广泛的应用。VGA图像信号发生器是电视台、电视机生产企业、电视维修人员常用的仪器,其主要功能就是产生标准的图像测试信号。对VGA而言,其主要应用在工业控制领域,通过VGA接口实现将信息、图像、文字等内容显示各种VGA显示器上,为客户提供一种完美的显示界面,也是目前重要的显示终端。本次实验设计主要是基于FPGA芯片为处理器,利用硬件描述语言完成VGA的时序控制,并利用相应的实验平台,进行设计验证,基本实现了VGA 的彩条信号和图像显示效果,达到了整个设计目标和要求。

1.2 选题研究的方法与主要内容

1.2.1研究方法

通过查阅资料,学习VGA工作原理和控制方法,掌握EDA技术应用基本技巧,运用FPGA为设计实现的处理器,完成VHDL对各个模块的功能描述,在实验平台上完成整个系统设计实现。

1.2.2主要内容

◆根据设计任务,制定实现方案

◆应用VHDL完成对系统中各个功能模块的描述

◆完成顶层设计文件,并调试仿真系统

◆下载程序代码到FPGA,在实验平台上验证VGA是否正常显示

撰写设计报告书

1.3 研究条件和可能存在的问题

1.3.1研究条件

会使用EDA开发工具软件Quartus II ,能熟练使用VHDL语言编写时序电路,需要有相应的实验开发平台。

1.3.2可能存在的问题:

◆VGA时序控制不正确,无法正常显示相应的图形

◆VGA硬件接口电路PCB设计不能实现其功能

◆FPGA内部ROM存储空间太小,不能存储大容量的图片数据

1.4 拟解决的主要问题和预期的结果

1.4.1拟解决的主要问题

◆VGA时序控制问题

◆PROTEL绘制VGA电阻分压网络电路设计问题

◆调试VHDL程序代码常见错误

1.4.2预期的结果

通过完成整个系统的电路设计,实现各个功能模块和顶层设计电路,能在显示器上正确看到横竖彩条、棋盘格图形和图片显示等效果。

2 图像采集系统介绍

2.1 图像采集系统功能分析

这部分阐述了图像采集系统的各种动作功能和控制要求,给出了完整的图像采集系统操作规程,并介绍了图像采集运行系统中所包括的人工操作步骤。

2.1.1 图像采集系统的基本功能

在进行上、下位机程序编写之前,首先要做的工作是确定图像采集系统本身所具

备的功能及在进行某种操作后所具有的状态。

在实际生活中,我们见到的图像采集系统可以采集一些简单的图像,如书本、人物和植物等。图像采例集系统的基本功能就是对图像进行采集,并进行简单的处理。举一个简单的例子来说明:

采集一本书的图像,系统会根据书的颜色大小自动调整,使采集的图像清晰,尽量减小失真。当图像达到最佳状态时,系统等待外部命令,如继续采集,则同上,如果此时不再采集而按下退出按钮,系统则要进行退出操作,并提示你是否保存所采集的图像,完成此次操作。由此看来,系统一次采集要涉及摄像头、VGA以及FPGA等,这是它的内部功能。基于FPGA实现的图像采集系统的整体结构框图如图1.1.1-1所示:系统主要分为:图像采集模块、PLL锁相环时钟管理模块、I2C总线模块、FIFO图像数据处理模块、Nios II 显示控制模块。系统中PLL负责为Nios II嵌入式内核、外部SDRAM和OV7670摄像头提供时钟,系统通电后,FPGA首先从EPCS中读取配置数据,完成自身程序加载,随后对系统时钟分频为摄像头提供系统时钟,然后通过I2C总线完成对OV7670摄像头的配置。

配置完成后,OV7670将采集到的图像数据输出格式转换为标准的图像数据及图像时钟送入FPGA进行处理,并将处理后的图像数据通过FIFO模块暂时存储在SDRAM中进行缓冲,同时Nios II模块读取存放在SDRAM中的图像数据,按照TFT液晶显示的时序、数据要求将图像数据送到TFT彩色液晶显示屏上显示。

图1.1.1-1 图像采集系统结构

3 系统硬件设计

3.1 FPGA选型

FPGA是该系统的核心,由于系统目前只是完成简单的图像处理,故FPGA选用Altera 公司的低成本FPGA Cyclone II系列器件简介如表所示。

Cyclone II器件采用90nm工艺制造,它延续Cyclone的低成本定位,在逻辑容量、PLL、乘法器和I/O数量上都比Cyclone有了较大提高,应用Cyclone II进行图像处理开发有如下优点:(1)低成本高性能,适应图像处理要求较高的需要。(2)丰富的内嵌存储器资源,适应大量图像数据存取的需要。(3)丰富的硬件乘法器,适应图像处理算法的需要。系统的FPGA选用开发板自带的EP2CS5Q208C8芯片。

Cyclone II系列FPGA参数对比

器件EP2C5 EP2C8 EP2C15 EP2C20 EP2C35 EP2C50 EP2C70

逻辑单元4608 8256 14448 18752 33216 50528 68416

M4K RAM块26 36 52 52 105 129 250

总比特数119808 165888 239616 239616 483840 594432 1152000

嵌入式乘法器13 18 26 26 35 86 150

PLL个数 2 2 4 4 4 4 4

最多用户I/O管脚158 182 315 315 475 450 622

3.2 图像采集模块选择

图像采集采用OV7670图像传感器,OV7670图像传感器体积小、工作电压低。OV7670摄影头的VGA图像最高达到30帧/秒。通过SCCB总线控制内部寄存器,可以是OV7670输出整帧、子采样、取窗口等方式的各种分辨率的图像数据。用户还可以完全控制图像质量、数据格式和传输方式。OV7670与FPGA硬件连接如图所示。

3.3 图像显示模块

图像显示通过在FPGA中构建的Nios II嵌入式内核实现,Nios II系统可以在设计阶段根据实际的需求来增减外设的数量和种类。可以使用Altera提供的开发工具SOPC Builder,在FPGA器件上创建软硬件开发的基础平台,即用SOPC Builder创建嵌入式

内核CPU和参数化的接口总线Avalon。在此基础上,可以快速地将硬件系统与常规软件集成在单一可编程芯片中。而且SOPC Builder还提供标准的接口方式,以便用户将外围电路做成Nios II嵌入式内核可以添加的外设模块。这种设计方式,方便了各类系统的调试。

3.4 PLC的选型与工作原理

当某一个控制任务决定由PLC来完成后,选择PLC就成为最重要的事情。一方面要选择多大容量的PLC ,另一方面是选择什么公司的PLC及外设。

对第一个问题,首先要对控制任务进行详细的分析,把所有的I/O点找出来,包括开关量I/O和模拟量I/O以及输出是用继电器还是晶体管或是可控硅型。

3.4.1 PLC的硬件结构图:

图2.4.1-1 PLC硬件结构图

3.4.2 PLC各部分的作用与工作原理

3.4.2.1 中央处理器

CPU是由控制器和运算器组成的。运算器也称为算术逻辑单元,它的功能就是进行算术运算和逻辑运算。控制器的作用是控制整个计算机的各个部件有条不紊地工作,其基本功能是从内存中取指令和执行指令。他的重要功能如下:

★诊断PLC电源、内部电路的工作状态及编制程序中的语法错误。

★采集由现场输入装置送来的状态或数据,并送入PLC的寄存器中。

★按用户程序存储器中存放的先后顺序逐条读取指令,进行编译解释后,按

指令规定的任务完成各种运算和操作。

★将存于寄存器中的处理结果送至输出端。

★应各种外部设备的工作请求。

3.4.2.2 存储器

PLC的存储器分为两大部分:

一大部分是系统存储器,用来存放系统管理程序、监控程序及其系统内部数据;二大部分是用户存储器,包括用户程序存储区及工作数据存储区。

3.4.2.3 PLC的基本工作原理

PLC采用的是循环扫描工作方式。对每个程序,CPU从第一条指令开始执行,按指令步序号做周期性的程序循环扫描,如果无跳转指令,则从则从第一条指令开始逐条顺序执行用户程序,直至遇到结束符后又返回第一条指令,如此周而复始不断循环,每一个循环称为一个扫描周期。PLC的扫描全过程如图2.4.2.3-1所示。

图3.4.2.3-1 PLC的扫描全过程

3.4.2.3.1 输入刷新阶段

在输入刷新阶段,CPU扫描全部输入端口,读取其状态并写入输入状态寄存器。完成后关闭输入端口,转入程序执行阶段。

3.4.2.3.2 程序执行阶段

在程序执行阶段,根据用户输入的控制程序,从第一条开始逐条执行,并将相应的逻辑运算结果存入对应的内部辅助寄存器和输出状态寄存器。

3.4.2.3.3 输出刷新阶段

当所有指令执行完毕后,将输出状态寄存器中的内容,依次送到输出锁存电路,并通过一定输出方式输出,驱动外部相应执行元件工作,这才形成PLC的实际输出。显然扫描周期的长短主要取决与程序的长短。扫描周期越长,响应速度越慢。

由于每一个扫描周期只进行一次I/O刷新,即每一个扫描周期PLC只对输入、输出状态寄存器更新一次,故使系统存在输入、输出滞后现象,这在一定程度上降低了系统的响应速度。I/O端口设置见表3.4.2.3.3-1:

表3.4.2.3.3-1 I/O端口设置

由此可见,若输入变量在I/O刷新期间状态发生变化,则本次扫描期间输出会相应地发生变化。反之,若在本次刷新之后输入变量才发生变化,则本次扫描输出不变,而要到下一次扫描的I/O刷新期间输出才会发生变化。这对于一般的开关量控制系统来说是完全允许的,不但不会造成不利影响,反而可以增强系统的抗干扰能力。这是因为输入采样仅在输入刷新阶段进行,PLC在一个工作周期的大部分时间里实际上是外设隔离的。而工业现场的干扰常常是脉冲式的、短时的,由于系统响应较慢,往往要几个扫描周期才响应一次,而多次扫描后,因瞬间干扰而引起的误操作将会大大减少,从而提高了系统的抗干扰能力。但是对于控制时间要求较严格、响应速度要求较快的系统,就需要精心编制程序,必要时采用一些特殊功能,以减少因扫描周期造成的响应滞后等不良影响。

3.5 VGA的概述

VGA(Video Graphics Array)是IBM公司在1987年推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用,VGA 最早是指分辨率为640*480的一种显示模式。下面就VGA相关的工作原理及时序要求进行简单介绍。

3.5.1 CRT的工作原理

VGA接口技术应用最多的就是CRT显示器,这种显示器的信号接口采用的就是标准的VGA接口。常见的彩色显示器,一般由 CRT (阴极射线管)构成,彩色是由 R、G、B 三原色按不同比例组成。显示过程中,HS和VS的极性可正可负,显示器内可自动转换为正极性逻辑。

3.5.2 VGA工作时序

对于普通的VGA显示器,主要包含5个信号:

●R、G、B:三基色信号

●HS: 行同步信号

●VS:场同步信号

图3.5-1 VGA行扫描时序

图3.5-2 VGA场扫描时序

表3.5-1 行扫描时序时间(单位:像素,即输出一个像素Pixel的时间间隔)

表3.5-2 场扫描时序时间(单位:行,即输出一行Line的时间间隔)

系统原理图

系统PCB图

4 系统软件设计

4.1软件模块介绍

系统软件总设计模块如图所示,在 pll 中建立PLL锁相环对时钟倍频、分频产生系统各模块所需时钟与系统复位信号,ov7670-data_receive 模块负责OV7670摄像头的初始化与图像数据的采集,模块配合Nios II负责对ov7670-data_receive 采集的图像数据的缓存,以防止数据时钟不匹配而出现数据紊乱,而模块主要负责产生读取中的数据域实现数据的VGA显示产生相应的RGB数据与行、场同步信号,再将采集数据送到Nios II中,在Nios II中用Verilog语言驱动TFT液晶,实现图像数据的显示。

系统总设计框图

4.2 Nios II嵌入式内核程序设计

Nios II嵌入式内核主要任务是将采集到的数据送入SDRAM暂存,然后再根据显示需要将暂存的数据读取出来送到LCD显示,为了确保显示图像与采集图像的一致,在送LCD显示数据时要注意以下几点:

(1)根据实际情况去除行、场消隐数据,再根据显示内容的多少对数据进行裁剪,裁剪到适合LCD显示的大小,从而避免显示时图像的错位以及乱码等情

况。

(2)由于嵌入式内核时钟频率相对于摄像头的大量数据来说速度还是难以做到摄像头采集的每副图像都能完全显示,所以在设计中采用隔场采集处理

的方式,这样避免SDRAM中数据过多以至于被填满的情况,也解决了嵌

入式内核采集的出现的卡屏的情况。

5 测试结果

电路板成品:

测试结果如图所示:

由上图可以看出,显示的图像清晰,色彩与实际相符,失真较少。测试结果基本达到预期。

6 结束语

采用FPGA设计并实现了一种图像采集系统,大幅减少了电路板的尺寸,节约了成本,同时增加了设计的灵活性和系统的可靠性,充分应用FPGA快速并行处理数据的特性,在产生同步信号的同时送出像素数据。嵌入式内核Nios II的使用,解决了其他系统实时图像显示的体积与速度问题,扩展了应用范围。

(全文完)

参考文献:

[1] 潘松、黄继业: EDA技术实用教程,科学出版社,2003.5,P23-P28

[2] 杨静: 电子设计自动化,高等教育出版社,2004.7,P32-P36

[3] 张文爱:EDA技术与FPGA应用设计,电子工业出版社,2012.1,P25-P48

[4] 杨立英:电子电路EDA技术与应用,清华大学出版社,2011.1,P43-P86

[5] 徐志军、徐光辉:VGA在CPLD/FPGA的开发与应用,电子工业出版社,2002.4,P12-P16

[6] 黄智伟: FPGA系统设计与实践,电子工业出版社,2005.1,P66-P69

[7] 潘松、王国栋:VHDL实用教材(修订版),电子科技大学出版社,2001.7,P48-P52

[8] 孟宪元:FPGA嵌入式系统设计,电子工业出版社,2007.10,P56-P64

[9] 褚振勇、齐亮、田红心:FPGA设计及应用,高等教育出版社,2006.12,P36-P41

附录:源程序

`timescale 1ns/1ns module I2C_Controller (

input iCLK, input iRST_N, input I2C_CLK, input I2C_EN, input [23:0] I2C_WDATA, output I2C_SCLK, inout I2C_SDAT, input WR, input GO, output ACK, output reg END, output reg [7:0] I2C_RDATA );

reg I2C_BIT ; reg SCLK ;

reg [5:0] SD_COUNTER ;

wire I2C_SCLK1 = (GO == 1 && ((SD_COUNTER >= 5 && SD_COUNTER <=12 || SD_COUNTER == 14) || (SD_COUNTER >= 16 && SD_COUNTER <=23 || SD_COUNTER == 25) || (SD_COUNTER >= 27 && SD_COUNTER <=34 || SD_COUNTER == 36))) ? I2C_CLK : SCLK ;

wire I2C_SCLK2 = (GO == 1 && ((SD_COUNTER >= 5 && SD_COUNTER <=12 || SD_COUNTER == 14) || (SD_COUNTER >= 16 && SD_COUNTER <=23 || SD_COUNTER == 25) || (SD_COUNTER >= 33 && SD_COUNTER <=40 || SD_COUNTER == 42) || (SD_COUNTER >= 44 && SD_COUNTER <=51 || SD_COUNTER == 53))) ? I2C_CLK : SCLK ; assign I2C_SCLK = WR ? I2C_SCLK1 : I2C_SCLK2;

wire SDO1 = ((SD_COUNTER == 13 || SD_COUNTER == 14)|| (SD_COUNTER == 24 || SD_COUNTER == 25) || (SD_COUNTER == 35 ||

SD_COUNTER == 36)) ? 1'b0 : 1'b1; wire SDO2 = ((SD_COUNTER == 13 || SD_COUNTER == 14)|| (SD_COUNTER == 24 || SD_COUNTER == 25) || (SD_COUNTER == 41 || SD_COUNTER == 42) || (SD_COUNTER >= 43 && SD_COUNTER <= 51)) ? 1'b0 : 1'b1; wire SDO = WR ? SDO1 : SDO2;

assign I2C_SDAT = SDO ? I2C_BIT : 1'bz; reg ACKW1, ACKW2, ACKW3; reg ACKR1, ACKR2, ACKR3;

assign ACK = WR ? (ACKW1 | ACKW2 | ACKW3) : (ACKR1 | ACKR2 | ACKR3);

always @(posedge iCLK or negedge iRST_N) begin

if (!iRST_N)

SD_COUNTER <= 6'b0; else if (I2C_EN) begin

if (GO == 0 || END == 1) SD_COUNTER <= 6'b0; else if (SD_COUNTER < 6'd63) SD_COUNTER <= SD_COUNTER + 6'd1; end

else

SD_COUNTER <= SD_COUNTER ; end

always @(posedge iCLK or negedge iRST_N) begin

if (!iRST_N) begin SCLK <= 1; I2C_BIT <= 1;

ACKW1 <= 1; ACKW2 <= 1; ACKW3 <= 1; ACKR1 <= 1; ACKR2 <= 1; ACKR3 <= 1; END <= 0;

I2C_RDATA <= 8'h0; end

else if (I2C_EN) begin if (GO) begin if (WR) begin

case (SD_COUNTER )

6'd0 : begin

SCLK <= 1; I2C_BIT <= 1; ACKW1 <= 1; ACKW2 <= 1; ACKW3 <= 1; ACKR1 <= 1; ACKR2 <= 1; ACKR3 <= 1; END <= 0; end 6'd1 : begin

SCLK <= 1; I2C_BIT <= 1; ACKW1 <= 1; ACKW2 <= 1; ACKW3 <= 1; END <= 0; end

6'd2 : I2C_BIT <= 0; 6'd3 : SCLK <= 0;

6'd4 : I2C_BIT <= I2C_WDATA[23]; 6'd5 : I2C_BIT <= I2C_WDATA[22]; 6'd6 : I2C_BIT <= I2C_WDATA[21]; 6'd7 : I2C_BIT <= I2C_WDATA[20]; 6'd8 : I2C_BIT <= I2C_WDATA[19]; 6'd9 : I2C_BIT <= I2C_WDATA[18]; 6'd10 : I2C_BIT <= I2C_WDATA[17]; 6'd11 : I2C_BIT <= I2C_WDATA[16]; 6'd12 : I2C_BIT <= 0; 6'd13 : ACKW1 <= I2C_SDAT; 6'd14 : I2C_BIT <= 0; 6'd15 : I2C_BIT <= I2C_WDATA[15]; 6'd16 : I2C_BIT <= I2C_WDATA[14]; 6'd17 : I2C_BIT <= I2C_WDATA[13]; 6'd18 : I2C_BIT <= I2C_WDATA[12]; 6'd19 : I2C_BIT <= I2C_WDATA[11]; 6'd20 : I2C_BIT <= I2C_WDATA[10]; 6'd21 : I2C_BIT <= I2C_WDATA[9]; 6'd22 : I2C_BIT <= I2C_WDATA[8]; 6'd23 : I2C_BIT <= 0; 6'd24 : ACKW2 <= I2C_SDAT; 6'd25 : I2C_BIT <= 0; 6'd26 : I2C_BIT <= I2C_WDATA[7]; 6'd27 : I2C_BIT <= I2C_WDATA[6]; 6'd28 : I2C_BIT <= I2C_WDATA[5]; 6'd29 : I2C_BIT <= I2C_WDATA[4]; 6'd30 : I2C_BIT <= I2C_WDATA[3]; 6'd31 : I2C_BIT <= I2C_WDATA[2]; 6'd32 : I2C_BIT <= I2C_WDATA[1]; 6'd33 : I2C_BIT <= I2C_WDATA[0]; 6'd34 : I2C_BIT <= 0;

6'd35 : ACKW3 <= I2C_SDAT; 6'd36 : I2C_BIT <= 0; 6'd37 : begin SCLK <= 0; I2C_BIT <= 0; end

6'd38 : SCLK <= 1; 6'd39 : begin I2C_BIT <= 1; END <= 1; end

default : begin I2C_BIT <= 1; SCLK <= 1; end endcase end else begin

case (SD_COUNTER )

6'd0 : begin SCLK <= 1;

I2C_BIT <= 1;

ACKW1 <= 1; ACKW2 <= 1; ACKW3 <= 1; ACKR1 <= 1; ACKR2 <= 1; ACKR3 <= 1; END <= 0; end 6'd1 : begin

SCLK <= 1; I2C_BIT <= 1;

ACKR1 <= 1; ACKR2 <= 1; ACKR3 <= 1; END <= 0; end

6'd2 : I2C_BIT <= 0; 6'd3 : SCLK <= 0;

6'd4 : I2C_BIT <= I2C_WDATA[23]; 6'd5 : I2C_BIT <= I2C_WDATA[22]; 6'd6 : I2C_BIT <= I2C_WDATA[21]; 6'd7 : I2C_BIT <= I2C_WDATA[20]; 6'd8 : I2C_BIT <= I2C_WDATA[19]; 6'd9 : I2C_BIT <= I2C_WDATA[18]; 6'd10 : I2C_BIT <= I2C_WDATA[17]; 6'd11 : I2C_BIT <= I2C_WDATA[16]; 6'd12 : I2C_BIT <= 0; 6'd13 : ACKR1 <= I2C_SDAT; 6'd14 : I2C_BIT <= 0; 6'd15 : I2C_BIT <= I2C_WDATA[15]; 6'd16 : I2C_BIT <= I2C_WDATA[14]; 6'd17 : I2C_BIT <= I2C_WDATA[13]; 6'd18 : I2C_BIT <= I2C_WDATA[12]; 6'd19 : I2C_BIT <= I2C_WDATA[11]; 6'd20 : I2C_BIT <= I2C_WDATA[10]; 6'd21 : I2C_BIT <= I2C_WDATA[9];

6'd22 : I2C_BIT <= I2C_WDATA[8]; 6'd23 : I2C_BIT <= 0; 6'd24 : ACKR2 <= I2C_SDAT; 6'd25 : I2C_BIT <= 0;

6'd26 : begin SCLK<= 0; I2C_BIT<= 0; end

6'd27 : SCLK <= 1;

6'd28 : begin I2C_BIT <= 1; end

6'd29 : begin

SCLK <= 1;

I2C_BIT <= 1;

end

6'd30 : I2C_BIT <= 0;

6'd31 : SCLK <= 0;

6'd32 : I2C_BIT<= I2C_WDATA[23]; 6'd33 : I2C_BIT<= I2C_WDATA[22]; 6'd34 : I2C_BIT<= I2C_WDATA[21]; 6'd35 : I2C_BIT<= I2C_WDATA[20]; 6'd36 : I2C_BIT<= I2C_WDATA[19]; 6'd37 : I2C_BIT<= I2C_WDATA[18]; 6'd38 : I2C_BIT<= I2C_WDATA[17]; 6'd39 : I2C_BIT <= 1'b1; 6'd40 : I2C_BIT <= 0; 6'd41 : ACKR3 <= I2C_SDAT; 6'd42 : I2C_BIT <= 0; 6'd43 : I2C_BIT <= 0;

6'd44 : I2C_RDATA[7] <= I2C_SDAT; 6'd45 : I2C_RDATA[6] <= I2C_SDAT; 6'd46 : I2C_RDATA[5] <= I2C_SDAT; 6'd47 : I2C_RDATA[4] <= I2C_SDAT; 6'd48 : I2C_RDATA[3] <= I2C_SDAT; 6'd49 : I2C_RDATA[2] <= I2C_SDAT; 6'd50 : I2C_RDATA[1] <= I2C_SDAT; 6'd51 : I2C_RDATA[0] <= I2C_SDAT; 6'd52 : I2C_BIT <= 1; 6'd53 : I2C_BIT <= 0; 6'd54 : begin SCLK<= 0; I2C_BIT<= 0; end

6'd55 : SCLK <= 1;

6'd56 : begin I2C_BIT<= 1; END <= 1; end

endcase

end

end

else

begin

SCLK <= 1;

I2C_BIT <= 1;

ACKW1<= 1; ACKW2<= 1; ACKW3<= 1;

ACKR1<= 1; ACKR2<= 1; ACKR3<= 1;

END <= 0; I2C_RDATA <= I2C_RDATA;

end

end

end

endmodule

`timescale 1ns/1ns

module I2C_AV_Config

(

input iCLK,

input iRST_N,

output I2C_SCLK,

inout I2C_SDAT,

output reg Config_Done); parameter LUT_SIZE = 168;

parameter CLK_Freq = 25_000000; parameter I2C_Freq = 10_000;

reg [15:0] mI2C_CLK_DIV;

reg mI2C_CTRL_CLK; always@(posedge iCLK or negedge iRST_N) begin

if(!iRST_N)

begin

mI2C_CLK_DIV <= 0;

mI2C_CTRL_CLK <= 0;

end

else

begin

if( mI2C_CLK_DIV <

(CLK_Freq/I2C_Freq)/2)

mI2C_CLK_DIV <= mI2C_CLK_DIV+ 1'd1;

else

begin

mI2C_CLK_DIV <= 0;

mI2C_CTRL_CLK <= ~mI2C_CTRL_CLK;

end

end

end

reg i2c_en_r0, i2c_en_r1;

always@(posedge iCLK or negedge iRST_N) begin

if(!iRST_N)

begin

i2c_en_r0 <= 0;

i2c_en_r1 <= 0;

end

else

begin

i2c_en_r0 <= mI2C_CTRL_CLK;

i2c_en_r1 <= i2c_en_r0;

end

end

wire i2c_negclk = (i2c_en_r1 &

~i2c_en_r0) ? 1'b1 : 1'b0;

wire mI2C_END;

wire mI2C_ACK;

reg [7:0] LUT_INDEX;

reg [1:0] mSetup_ST;

reg mI2C_GO;

reg mI2C_WR;

reg [15:0] LUT_DATA;

always@(posedge iCLK or negedge iRST_N) begin

if(!iRST_N)

begin

Config_Done <= 0; LUT_INDEX <= 0; mSetup_ST<=0; mI2C_GO<= 0; mI2C_WR<= 0;

end

else if(i2c_negclk)

begin

if(LUT_INDEX < LUT_SIZE)

begin

Config_Done <= 0;

case(mSetup_ST)

0: begin

if(~mI2C_END)

mSetup_ST <= 1;

else

mSetup_ST <= 0;

mI2C_GO <= 1;

if(LUT_INDEX < 8'd2)

mI2C_WR <= 0;

else

mI2C_WR <= 1;

end

1: begin

if(mI2C_END)

begin

mI2C_WR <= 0;

mI2C_GO <= 0;

if(~mI2C_ACK)

mSetup_ST <= 2;

else

mSetup_ST <= 0;

end end

2: begin

LUT_INDEX <= LUT_INDEX+ 8'd1;

mSetup_ST <= 0; mI2C_GO <= 0; mI2C_WR <= 0;

end

endcase

end

else

begin

Config_Done <= 1'b1;

LUT_INDEX <= LUT_INDEX;

mSetup_ST <= 0;

mI2C_GO <= 0;

mI2C_WR <= 0;

end

end

end

I2C_Controller u_I2C_Controller

(

.iCLK (iCLK),

.iRST_N (iRST_N),

.I2C_CLK (mI2C_CTRL_CLK),

.I2C_EN (i2c_negclk),

.I2C_WDATA ({8'h42, LUT_DATA}),

.I2C_SCLK (I2C_SCLK),

.I2C_SDAT (I2C_SDAT),

.GO (mI2C_GO),

.WR (mI2C_WR),

.ACK (mI2C_ACK),

.END (mI2C_END),

.I2C_RDATA (I2C_RDATA)

);

parameter Read_DATA = 0; parameter SET_OV7670 = 2; always@(*)

begin

case(LUT_INDEX)

SET_OV7670 + 0 : LUT_DATA =

16'h3a04;

SET_OV7670 + 1 : LUT_DATA =

16'h40d0;

SET_OV7670 + 2 : LUT_DATA =

16'h1204;

SET_OV7670 + 3 : LUT_DATA =

16'h32b6;

SET_OV7670 + 5 : LUT_DATA = 16'h1801;

SET_OV7670 + 6 : LUT_DATA = 16'h1902;

SET_OV7670 + 7 : LUT_DATA = 16'h1a7a;

SET_OV7670 + 8 : LUT_DATA = 16'h030a;

SET_OV7670 + 9 : LUT_DATA = 16'h0c00;

SET_OV7670 + 10 : LUT_DATA = 16'h3e00;

SET_OV7670 + 11 : LUT_DATA = 16'h7000;

SET_OV7670 + 12 : LUT_DATA = 16'h7100;

SET_OV7670 + 13 : LUT_DATA = 16'h7211;

SET_OV7670 + 14 : LUT_DATA = 16'h7300;

SET_OV7670 + 15 : LUT_DATA = 16'ha202;

SET_OV7670 + 16 : LUT_DATA = 16'h1180;

SET_OV7670 + 17 : LUT_DATA = 16'h7a20;

SET_OV7670 + 18 : LUT_DATA = 16'h7b1c;

SET_OV7670 + 19 : LUT_DATA = 16'h7c28;

SET_OV7670 + 20 : LUT_DATA = 16'h7d3c;

SET_OV7670 + 21 : LUT_DATA = 16'h7e55;

SET_OV7670 + 22 : LUT_DATA = 16'h7f68;

SET_OV7670 + 23 : LUT_DATA = 16'h8076;

SET_OV7670 + 24 : LUT_DATA = 16'h8180;

SET_OV7670 + 25 : LUT_DATA = 16'h8288;

SET_OV7670 + 26 : LUT_DATA = 16'h838f;

SET_OV7670 + 27 : LUT_DATA = 16'h85a3;

SET_OV7670 + 29 : LUT_DATA = 16'h86af;

SET_OV7670 + 30 : LUT_DATA = 16'h87c4;

SET_OV7670 + 31 : LUT_DATA = 16'h88d7;

SET_OV7670 + 32 : LUT_DATA = 16'h89e8;

SET_OV7670 + 33 : LUT_DATA = 16'h13e0;

SET_OV7670 + 34 : LUT_DATA = 16'h0000;

SET_OV7670 + 35 : LUT_DATA = 16'h1000;

SET_OV7670 + 36 : LUT_DATA = 16'h0d00;

SET_OV7670 + 37 : LUT_DATA = 16'h1428;

SET_OV7670 + 38 : LUT_DATA = 16'ha505;

SET_OV7670 + 39 : LUT_DATA = 16'hab07;

SET_OV7670 + 40 : LUT_DATA = 16'h2475;

SET_OV7670 + 41 : LUT_DATA = 16'h2563;

SET_OV7670 + 42 : LUT_DATA = 16'h26a5;

SET_OV7670 + 43 : LUT_DATA = 16'h9f78;

SET_OV7670 + 44 : LUT_DATA = 16'ha068;

SET_OV7670 + 45 : LUT_DATA = 16'ha103;

SET_OV7670 + 46 : LUT_DATA = 16'ha6df;

SET_OV7670 + 47 : LUT_DATA = 16'ha7df;

SET_OV7670 + 48 : LUT_DATA = 16'ha8f0;

SET_OV7670 + 49 : LUT_DATA = 16'ha990;

SET_OV7670 + 50 : LUT_DATA = 16'haa94;

SET_OV7670 + 52 : LUT_DATA = 16'h0e61;

SET_OV7670 + 53 : LUT_DATA = 16'h0f4b;

SET_OV7670 + 54 : LUT_DATA = 16'h1602;

SET_OV7670 + 55 : LUT_DATA = 16'h1e30;

SET_OV7670 + 56 : LUT_DATA = 16'h2102;

SET_OV7670 + 57 : LUT_DATA = 16'h2291;

SET_OV7670 + 58 : LUT_DATA = 16'h2907;

SET_OV7670 + 59 : LUT_DATA = 16'h330b;

SET_OV7670 + 60 : LUT_DATA = 16'h350b;

SET_OV7670 + 61 : LUT_DATA = 16'h371d;

SET_OV7670 + 62 : LUT_DATA = 16'h3871;

SET_OV7670 + 63 : LUT_DATA = 16'h392a;

SET_OV7670 + 64 : LUT_DATA = 16'h3c78;

SET_OV7670 + 65 : LUT_DATA = 16'h4d40;

SET_OV7670 + 66 : LUT_DATA = 16'h4e20;

SET_OV7670 + 67 : LUT_DATA = 16'h6900;

SET_OV7670 + 68 : LUT_DATA = 16'h6b00;

SET_OV7670 + 69 : LUT_DATA = 16'h7419;

SET_OV7670 + 70 : LUT_DATA = 16'h8d4f;

SET_OV7670 + 71 : LUT_DATA = 16'h8e00;

SET_OV7670 + 72 : LUT_DATA = 16'h8f00;

SET_OV7670 + 73 : LUT_DATA = 16'h9000;

SET_OV7670 + 74 : LUT_DATA = 16'h9200;

SET_OV7670 + 76 : LUT_DATA = 16'h9600;

SET_OV7670 + 77 : LUT_DATA = 16'h9a80;

SET_OV7670 + 78 : LUT_DATA = 16'hb084;

SET_OV7670 + 79 : LUT_DATA = 16'hb10c;

SET_OV7670 + 80 : LUT_DATA = 16'hb20e;

SET_OV7670 + 81 : LUT_DATA = 16'hb382;

SET_OV7670 + 82 : LUT_DATA = 16'hb80a;

SET_OV7670 + 83 : LUT_DATA = 16'h4314;

SET_OV7670 + 84 : LUT_DATA = 16'h44f0;

SET_OV7670 + 85 : LUT_DATA = 16'h4534;

SET_OV7670 + 86 : LUT_DATA = 16'h4658;

SET_OV7670 + 87 : LUT_DATA = 16'h4728;

SET_OV7670 + 88 : LUT_DATA = 16'h483a;

SET_OV7670 + 89 : LUT_DATA = 16'h5988;

SET_OV7670 + 90 : LUT_DATA = 16'h5a88;

SET_OV7670 + 91 : LUT_DATA = 16'h5b44;

SET_OV7670 + 92 : LUT_DATA = 16'h5c67;

SET_OV7670 + 93 : LUT_DATA = 16'h5d49;

SET_OV7670 + 94 : LUT_DATA = 16'h5e0e;

SET_OV7670 + 95 : LUT_DATA = 16'h6404;

SET_OV7670 + 96 : LUT_DATA = 16'h6520;

SET_OV7670 + 97 : LUT_DATA =

16'h6605;

SET_OV7670 + 98 : LUT_DATA = 16'h9404;

SET_OV7670 + 99 : LUT_DATA = 16'h9508;

SET_OV7670 + 100 : LUT_DATA = 16'h6c0a;

SET_OV7670 + 101 : LUT_DATA = 16'h6d55;

SET_OV7670 + 102 : LUT_DATA = 16'h6e11;

SET_OV7670 + 103 : LUT_DATA = 16'h6f9f;

SET_OV7670 + 104 : LUT_DATA = 16'h6a40;

SET_OV7670 + 105 : LUT_DATA = 16'h0140;

SET_OV7670 + 106 : LUT_DATA = 16'h0240;

SET_OV7670 + 107 : LUT_DATA = 16'h13e7;

SET_OV7670 + 108 : LUT_DATA = 16'h1500;

SET_OV7670 + 109 : LUT_DATA = 16'h4f80;

SET_OV7670 + 110 : LUT_DATA = 16'h5080;

SET_OV7670 + 111 : LUT_DATA = 16'h5100;

SET_OV7670 + 112 : LUT_DATA = 16'h5222;

SET_OV7670 + 113 : LUT_DATA = 16'h535e;

SET_OV7670 + 114 : LUT_DATA = 16'h5480;

SET_OV7670 + 115 : LUT_DATA = 16'h589e;

SET_OV7670 + 116 : LUT_DATA = 16'h4108;

SET_OV7670 + 117 : LUT_DATA = 16'h3f00;

SET_OV7670 + 118 : LUT_DATA = 16'h7505;

SET_OV7670 + 119 : LUT_DATA = 16'h76e1;

SET_OV7670 + 120 : LUT_DATA = 16'h4c00;

SET_OV7670 + 121 : LUT_DATA = 16'h7701;

SET_OV7670 + 122 : LUT_DATA = 16'h3dc2;

SET_OV7670 + 123 : LUT_DATA = 16'h4b09;

SET_OV7670 + 124 : LUT_DATA = 16'hc960;

SET_OV7670 + 125 : LUT_DATA = 16'h4138;

SET_OV7670 + 126 : LUT_DATA = 16'h5640;

SET_OV7670 + 127 : LUT_DATA = 16'h3411;

SET_OV7670 + 128 : LUT_DATA = 16'h3b02;

SET_OV7670 + 129 : LUT_DATA = 16'ha489;

SET_OV7670 + 130 : LUT_DATA = 16'h9600;

SET_OV7670 + 131 : LUT_DATA = 16'h9730;

SET_OV7670 + 132 : LUT_DATA = 16'h9820;

SET_OV7670 + 133 : LUT_DATA = 16'h9930;

SET_OV7670 + 134 : LUT_DATA = 16'h9a84;

SET_OV7670 + 135 : LUT_DATA = 16'h9b29;

SET_OV7670 + 136 : LUT_DATA = 16'h9c03;

SET_OV7670 + 137 : LUT_DATA = 16'h9d4c;

SET_OV7670 + 138 : LUT_DATA = 16'h9e3f;

SET_OV7670 + 139 : LUT_DATA = 16'h7804;

SET_OV7670 + 140 : LUT_DATA = 16'h7901;

SET_OV7670 + 141 : LUT_DATA = 16'hc8f0;

SET_OV7670 + 142 : LUT_DATA = 16'h790f;

SET_OV7670 + 143 : LUT_DATA =

国家教育管理信息系统建设总体方案(印发稿)

国家教育管理信息系统 建设总体方案 (印发稿) 中华人民共和国教育部 2013年7月

目录 序言 (1) 第一章建设意义与发展现状 (3) (一)建设意义 (3) (二)发展现状 (4) 第二章指导思想与建设目标 (7) (一)指导思想 (7) (二)建设目标 (8) 第三章建设任务 (10) (一)教育基础数据库 (10) (二)教育管理信息系统 (11) (三)教育管理服务平台 (15) (四)部省两级数据中心 (16) (五)数据交换平台 (16) (六)支撑保障体系 (17) 第四章总体架构与技术路线 (20) (一)总体架构 (20) (二)技术路线 (23) 第五章两级建设与五级应用体系 (26) (一)国家级系统建设与应用 (26) (二)省级系统建设与应用 (28) (三)地市级系统应用 (29) (四)县级系统应用 (30) (五)学校级系统应用 (31) 第六章组织与实施 (33) (一)组织与推进 (33) (二)部署与实施 (33)

序言 党的十八大明确提出“坚持走中国特色新型工业化、信息化、城镇化、农业现代化道路”,并把“信息化水平大幅提升”纳入全面建成小康社会的总体目标之中,将信息化提高到前所未有的战略高度。教育信息化是国家信息化的重要组成部分和战略重点,是教育改革发展的重要支撑和创新动力,对于促进教育公平、提高人才培养质量、构建国家终身学习体系和实现教育现代化具有重大意义。 教育管理信息化是《国家中长期教育改革和发展规划纲要(2010-2020年)》和《教育信息化十年发展规划(2011—2020年)》所确定的教育信息化建设核心任务之一,对支持教育宏观决策、加强教育监管、提高各级教育行政部门和学校的管理水平、全面提升教育公共服务能力具有不可或缺的重要作用。2012年召开的全国教育信息化工作电视电话会议和《教育部等九部门关于加快推进教育信息化当前几项重点工作的通知》对教育管理信息化提出了明确的建设目标和要求。全面加快推进教育管理信息化面临着难得的发展机遇和艰巨繁重的任务。 国家教育管理信息系统建设是教育管理信息化的基础与核心。“十二五”期间教育管理信息系统建设的核心任务是国家教育管理公共服务平台。经过多年的探索与实践,我国教育管理信息系统建设取得了一定的成效,但尚未建成完整统一的教育基础

LabVIEW应用于实时图像采集及处理系统

LabVIEW应用于实时图像采集及处理系统 2008-7-29 9:35:00于子江娄洪伟于晓闫丰隋永新杨怀江供稿 摘要:本文在LabVIEW和NI-IMAQ Vision软件平台下,利用通用图像采集卡开发一种图像实时采集处理虚拟仪器系统。通过调用动态链接库驱动通用图像采集卡完成图像采集,采集图像的帧速率达到25帧每秒。利用NI-IMAQ Vision视频处理模块,进行图像处理,以完成光电探测器的标定。该系统具有灵活性强、可靠性高、性价比高等优点。 主题词:虚拟仪器;图像处理;LabVIEW;动态链接库 1.引言 美国国家仪器(NI)公司的虚拟仪器开发平台LabVIEW,使用图形化编程语言编程,界面友好,简单易学,配套的图像处理软件包能提供丰富的图像处理与分析算法函数,极大地方便了用户,使构建图像处理与分析系统容易、灵活、程序移植性好,大大缩短了系统开发周期。在推出应用软件的基础上,NI公司又推出了图像采集卡,对于NI公司的图像采集卡,可以直接使用采集卡自带的驱动以及LabVIEW中的DAQ库直接对端口进行操作。 但由于NI公司的图像采集卡成本很高,大多用户难以接受,因此硬件平台往往采用通用图像采集卡,软件方面的图像处理程序仍采用LabVIEW以及视频处理模块编写。本文正是基于这样的目的,提出了一种在LabVIEW环境下驱动通用图像采集卡的方案,在TDS642EVM高速DSP视频处理板卡的平台下,完成实时图像采集及处理。 在图象处理的工作中主要完成对CCD光电探测器的辐射标定。由于探测器在自然环境下获取图像时,会受到来自大气干扰,自身暗电流,热噪声等影响,使CCD像元所输出信号的数值量化值与实际探测目标辐射亮度之间存在差异,所以要得到目标的精确图像就必须对探测器进行辐射标定。 2.图像采集卡简介 闻亭公司TDS642EVM(简称642)多路实时视频处理板卡是基于DSP TMS320DM642芯片设计的评估开发板。计算能力可达到4Gips,板上的视频接口和视频编解码芯片Philips SAA7115H相连,实现实时多路视频图像采集功能,支持多种PAL,NTSC和SECAM视频标准。本系统通过642的PCI接口与主机进行数据交换。PCI支持“即插即用(PnP)”自动配置功能,使图像采集板的配置变得更加方便,其一切资源需求的设置工作在系统初启时交由BIOS处理,无需用户进行繁琐的开关与跳线操作。PCI接口的海量数据吞吐,为其完成实时图像采集和处理提供保证。 3.系统组成及工作原理

网上教务评教管理系统设计方案

网上教务评教管理系统设计方案 (WORD版完整可编辑) 摘要 在教育事业繁荣昌盛的今天,各大高校都进行了学生的扩招和教师的补招,而对于教师的评估工作则更加严谨和密集,随之而来的则是大量繁琐的教务评教数据的管理工作,其庞大的信息量和信息频繁变动是需要面对的最大问题。随着电脑技术的高速发展和广泛应用,学校教务评教也已经基本形成了多元的网络化管理。本设计就是本着操方便、界面友好、高效率和良好的交互性进行教务评教系统的管理程序。 经过对这个课题的反复研究,最终决定本管理系统采用MySQL数据库处理后台数据,以MyEclipse软件为前端开发工具,主要基于JSP技术进行开发。整个系统的服务人群分为管理员、教师和学生。实现的主要功能有个人信息的增删改查、学生对教师进行评估、教师查看评估结果、管理员对评估平台的控制等,完成了一个小型且比较全面的教务评教管理系统。 关键词:教务评教管理系统;MySQL数据库;MyEclipse;JSP

Abstract With the education thriving and prosperous,universities have been increased enrollment both of students and teachers. And for the teachers' evaluation is more rigorous and intensive,there are a lot of educational evaluation data managements,the huge amount of information and information frequently change is the biggest problem we are facing.With the rapid development and widely used of computer technology,the school educational administration teaching evaluation has been basically formed multi network management. This design is in order to complete a friendly interface,convenient operation,high efficiency and good interactive teaching evaluation system of teaching management program. After repeated study of this subject,the final decision of the management system is using MySQL database as back-end database,using MyEclipse software as thefront-end development tool, the system mainly based on JSP technology for development.The whole system services for all the administrators,teachers and students.The main function of the realization includes personal information crud,students assessment,teachers check their own

基于java的教务管理系统设计方案

基于java的教务管理系统设计方案 目录 第一章绪论 (1) 1.1项目的目的和意义 (1) 1.2开发技术 (1) 1.2.1MYSQL技术 (1) 1.2.2 JAVA (3) 1.3系统主要目标 (5) 第二章需求分析 (6) 2.1系统可行性分析 (6) 2.1.1 技术可行性 (6) 2.1.2 经济可行性 (6) 2.2需求概述 (6) 2.2.1设计目标 (6) 2.2.2用户特点 (7) 2.3需求描述 (8) 2.3.1教务管理系统的总需求目标 (8) 2.3.2数据需求 (8) 2.3.3功能性需求概述 (8) 2.3.4约束 (8) 2.3.5系统模型 (9) 第三章系统设计 (23) 3.1子系统设计 (23) 3.1.1各子系统的设计 (23) 3.1.2软件控制流设计 (25) 3.2数据库设计 (26) 3.2.1 数据库涉及的表 (28) 3.2.2 表的物理结构 (28) 第四章对象设计 (31) 4.1需求概述 (31) 4.2程序设计 (31) 4.2.1程序包的设计 (31) 4.2.2包中程序设计 (33) 第五章系统测试 (50) 5.1 系统测试环境 (50) 5.2 系统功能测试 (50) 5.2.1 用户管理功能测试 (50) 5.2.2 教务基本管理功能测试 (51) 5.3. 测试结果分析 (52)

第六章总结 (53) 参考文献 (55) 摘要 随着计算机技术的飞速发展和计算机技术的普及,计算机越来越多的应用在教务管理中。传统的教学管理系统存在信息查询不方便,数据管理不方便,师生交流困难等方面的问题。为了解决现有系统的这些问题,开发新的教务管理系统。 本系统以实际应用为开发背景,运用软件工程原理和开发方法,采用当前开发主流技术,结合Java和MySQL数据库技术,设计并开发了一个基于C/S模式的教务管理系统。首先对开发系统进行了需求分析,随后对系统进行了系统设计和对象设计,在系统设计中主要进行了子系统划分,将系统划分为了高级管理子系统、教务基本管理子系统和学生成绩查询子系统。本系统提供管理用户信息,添加、修改、删除教师信息,添加、修改、查询、删除学生信息,添加、修改、查询、删除班级信息,添加、修改、查询、删除课程信息,添加、修改、删除考试信息,查询学生成绩信息。 本系统界面友好,操作方便,能够基本满足基本教务管理的要求。并切实提高学校的教务管理效率,节省了学校的管理支出,从而具有一定的经济效益。关键词:教务管理系统 Java MySQL

无线图像采集系统的设计与实现

0引言 视频监控目前已得到广泛的应用,一般采用如下方案:使用具有较高成像质量的CCD(charge-coupled device)传感器摄像头,通过S-VIDEO端子实时传送数据,这种方案需要摄像头与采集端设备连线,同时监控中心需要有较大的存储空间来存储图像与视频片段,还需要电视墙来对不同地点的目标进行实时监控,此方案适合于公共场所的安防和监控,实时性高,但能耗大,成本昂贵。对于需要远程监控的生产环境,例如农业、种植业、畜牧业以及工业厂房的监控,包括动物的异常举动,种植现场环境的突然变化,厂房可疑人员的入侵监控等,上述方案难以满足图像与视频中信息智能处理的需要,而基于嵌入式ARM-Linux的无线图像采集系统成为合适的选择。在802.11无线协议应用经已成熟的前提下,研究的重点在于传感器节点所采用的硬件平台和数据流格式,当前的主流方案包括:①ARM+DSP(digital signal processing)[1]:由ARM 架构CPU(central processing unit)担任传感器节点的总控制角色,利用DSP信号处理芯片的高速处理能力对图像数据进行压缩和相关预处理,该方案适合需要较多数值运算的JPEG (joint photographic experts group)数据流。②FPGA(field-progra-mmable gate array)+视频编解码芯片[2]:利用FPGA的并行处理能力同时传送和处理多组图像与视频数据,由于FPGA的硬件可重写性,该方案适合于在实验阶段进行设计上的查错和优化。③ARM:使用高主频的ARM架构CPU,同时担任中央控制和图像处理的角色。ARM为通用精简指令集架构,具有足够的流水线来应对复杂的逻辑运算,适用于处理逻辑运算量较大的压缩算法,例如PNG格式所采用的Deflate压缩算法,同时,ARM-Linux架构具有成熟的工作基础,固采用方案3设 收稿日期:2010-01-10;修订日期:2010-03-09。

PCB图像采集系统研究背景意义及国内外现状

PCB图像采集系统研究背景意义及国内外现状 1 研究背景 2 AOI系统的研究和国内现状 3 研究意义 1 研究背景 印刷电路板(Printed Circuit Board,PCB)又称为印刷线路板或印制电路板。印刷电路板是各种电子产品的主要部件,有“电子产品之母”之称,它是任何电子设备及产品均需配备的,其性能的好坏在很大程度上影响到电子产品的质量。几乎每一种电子设备都离不开PCB,小到电子手表、计算器,大到航空航天、军用武器系统等,都包含各式各样,大小各异的PCB板。近年来,随着生产工艺的不断提高,PCB正在向超薄型、小元件、高密度、细间距方向快速发展。这种趋势必然给质量检测工作带来了很多挑战和困难。因此PCB故障的检测已经成为PCB制造过程中的一个核心问题,是电子产品制造厂商非常关注的问题。在生产线上,厂家为保证PCB板的质量,就得要求100%的合格率,对所有的部件、子过程和成品都是如此。在过去靠人工对其进行检测的过程中,存在以下几个不可避免的缺点: (1)容易漏检。由于是人眼检测,眼睛容易疲劳,会造成故障不能被发现的问题。并且人工检测主观性大,判断标准不统一,使检测质量变得不稳定。 (2)检测速度慢,检测时间长。比如对于图形复杂的印刷电路板,人工很难实现快速高效的检测,因此人工检测不能满足高速的生产效率。 (3)随着技术的发展,设备的成本降低,人工费用增加,仍然由人工进行产品质量控制,将难于实现优质高效,而且还会增加生产成本。 (4)在信息技术如此发达的今天人工检测有不可克服的劣势,例如:对检测结果实时地保存和远距离传输,对原始图像的保存和远距离传输等。 (5)有些在线检测系统是接触式检测,需要与产品进行接触测量,因此,有可能会损伤产品。 因此,人工检测的精确性和可靠性大打折扣,传统意义上的检测方法不再能适应现代电路板检测的要求。如果漏检的有错误的电路板进入下一道工序,随着每一项工艺步骤的增加,到最终经过贴装阶段后,仍然会被检测出来是有故障的,那时,制造厂商与其花费大量的人力和成本来检测、返修这块电路板,还不如选

数据库教务管理系统设计方案

数据库教务管理系统设计方案 1.1背景 伴随着网络的不断发展,便捷化,高效化的办公需求不断的摆在我们的面前,而教务管理也不例外,传统的手工式的操作已经远远不能满足日益增强的操作需求,所以步入20世纪以来,随着网络化的普及,开发出一款适用于校园办公的网络化办公软件一直是人们所致力于研究的产品,当然在这么多年的摸索与实践中教务管理系统也日趋成熟,似乎教务管理也无需完善,然而,网络应用不同于传统的手工应用,网络应用的宗旨是:满足于客户。所以我选择了教务管理这一课题,希望能在前人的肩膀上对教务管理进行进一步的完善。 通过查阅资料以及到同类型的高校去浏览访问,我发现了一个问题,就是高校的教务管理系统强调的是其办公的便捷性而往往忽略了办公的趣味性以及资源平台的共享性,这在许多高校中是存在,当然,我们不否认办公的高效性与便捷性是一个教务管理系统最主要的功能实现,然而我们也不能否认一款网络应用最能吸引人眼球的是其趣味性的存在。当然有人会怀疑作为一款办公性的软件其实用性往往要比他的趣味性重要,当然,这点也是不能否认的,可是我所说的趣味性指的是用户的参与度,我们不能把教务管理系统做成一款学生与学校之间的平台,而要做成一款联系学生与学校之间的纽带,让学生真正参与进教务管理这一项工作里来。 该套系统的主要功能包括:学籍管理、课程管理、成绩管理、教学管理以及“学”“校”易通等功能,能够最大程度上满足学生与学校以及学校对学生的管理。 1.2功能概述 使用该系统可以使用一下的功能 浏览校园热点信息;

用户登录与注销; 对自身信息的修改; 留言; 各类权限的操作; 用户在使用时需要进行登录,如果不需要使用此功能,用户可以进行登出的操作,登出的用户不影响网页的使用。 1.3用户环境 硬件环境 处理器:Pentium3以上; 存:大于512MB; 硬盘:大于40G; 软件环境 操作系统:windows xp及以上; 数据库:MySQL; Web容器:Tomcat 6.0; 开发环境:Myeclipse 8.5 + JDK 1.7 + MySQL + Firefox + PhotoShop

教务管理信息系统实施设计方案

教务管理信息系统实施设计方案

目录 1 教务管理系统 (1) 1.1 教务管理信息系统软件情况介绍 (1) 1.2 系统的硬件组成 (1) 1.3 系统建设中的一些注意点 (2) 1.4 系统的特色介绍 (2) 2 系统参考标准和规范 (3) 2.1 引言 (3) 2.2 系统概述 (3) 2.2.1 设计目标 (3) 2.2.2 运行环境 (3) 2.2.3 需求概述 (4) 2.3 系统总体设计 (4) 2.3.1 总述 (4) 2.3.2 系统维护子系统 (7) 2.3.2.1 功能模块 (8) 2.3.2.2 数据流程 (8) 2.3.2.3 功能实现设计 (9) 2.3.3 学籍管理子系统 (12) 2.3.3.1 功能模块 (12) 2.3.3.2 数据流程 (13) 2.3.3.3 主要界面设计 (13) 2.3.3.4 主要功能实现 (14) 2.3.4 教学计划管理子系统 (21) 2.3.4.1 功能模块 (21) 2.3.4.2 教学计划数据及操作流程图 (21) 2.3.4.3 功能实现设计 (22) 2.3.5 智能排课子系统 (30)

2.3.5.1 功能模块 (31) 2.3.5.2 工作流程图 (31) 2.3.5.3 排课的数学模型与算法 (31) 2.3.5.4 功能实现设计 (35) 2.3.6 选课管理子系统 (36) 2.3.6.1 系统功能模块 (36) 2.3.6.2 功能实现设计 (36) 2.3.7 成绩管理子系统 (40) 2.3.7.1 功能模块 (40) 2.3.7.2 系统数据流程 (41) 2.3.7.3 主要界面设计 (41) 2.3.7.4 主要功能实现 (42) 2.3.8 教材管理子系统 (48) 2.3.8.1 统功能模块 (48) 2.3.8.2 教材管理流程图 (48) 2.3.8.3 功能实现设计 (49) 2.3.9 实践管理子系统 (50) 2.3.9.1 系统功能模块 (50) 2.3.9.2 学科竞赛流程图 (50) 2.3.9.3 功能实现设计 (51) 2.3.10 考试管理子系统 (57) 2.3.10.1 考试安排管理 (57) 2.3.10.2 考试管理模块图 (57) 2.3.10.3 考试管理数据流程图 (57) 2.3.10.4 功能实现设计 (58) 2.3.11 收费管理子系统 (59) 2.3.11.1 系统数据流程 (59) 2.3.11.2 功能实现 (59) 2.3.12 WEB服务管理子系统 (61) 2.3.12.1 系统功能模块 (61) 2.3.12.2 功能实现设计 (61) 2.3.13 教学质量评价子系统 (66) 2.3.13.1 系统功能模块 (66) 2.3.13.2 数据流程 (66) 2.3.13.3 功能实现设计 (67) 2. 4 软件体系架构 (72) 2.4. 1 系统硬件配置方案 (73) 2.5 教务管理、应用系统结构方案 (75) 2.5. 1 教务管理系统主机方案 (75)

基于Labview的图像采集与处理

目前工作成果: 一、USB图像获取 USB设备在正常工作以前,第一件要做的事就是枚举,所以在USB摄像头进行初始化之前,需要先枚举系统中的USB设备。 (1)基于USB的Snap采集图像 程序运行结果: 此程序只能采集一帧图像,不能连续采集。将采集图像函数放入循环中就可连续采集。

循环中的可以计算循环一次所用的时间,运行发现用Snap采集图像时它的采集速率比较低。运行程序时移动摄像头可以清楚的看到所采集的图像有时比较模糊。 (2)基于USB的Grab采集图像 运行程序之后发现摄像头采集图像的速率明显提高。

二、图像处理 1、图像灰度处理 (1)基本原理 将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。 第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。 第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。 (2)labview中图像灰度处理程序框图 处理结果:

图像采集系统设计

DSP实习报告 题目:图像采集系统的设计 班级:xxx 姓名:xxx 学号:xxx 指导老师:xxxx

目录 一.实习题目 (3) 二.实习背景知识 (3) 三.实习内容 (5) 四.实习程序功能与结构说明 (8) 六.实习心得 (19)

一、实习题目 图像采集系统的设计 二、实习目的: 1、熟练掌握数字信号处理的典型设计方法与技术手段; 2、熟悉D6437视频输入,输出端的操作及编程。; 3、掌握常用电子仪器设备的使用方法; 4、熟悉锐化变换算法。 三、实习背景知识 1、计算机 2、CCS3.3.软件 3、DSP仿真器 4、EL_DM6437平台 EL-DM6437EVM是低成本,高度集成的高性能视频信号处理开发平台,可以开发仿真达芬奇系列DSP应用程序,同时也可以将该产品集成到用户的具体应用系统中。方便灵活的接口为用户提供良好的开放平台。采用该系列板卡进行产品开发或系统集成可以大大减少用户的产品开发时间。板卡结构框图如图所示:

板卡硬件资源: TMS320DM6437 DSP ,可工作在400/600 MHz; 2 路视频输入,包括一个复合视频输入及一个S端子视频输入; 保留了视频输入接口,可以方便与CMOS影像传感器连接; 3 路视频输出,包括2路复合视频,一路S端子输出; 128MByte 的DDR2 SDRAM存储器,256MBit的Nor Flash存储器;用户可选的NAND Flash接口; 可选的256K字节的I2C E2PROM; 1个10M/100Mbps自适应以太网接口; 1 路立体声音频输入、1路麦克风输入,1路立体声音频输出; USB2.0高速接口,方便与PC连接; 1个CAN总线、1个UART接口、实时时钟(带256Byte的电池保持RAM);4个DIP开关,4个状态指示LED; 可配置的BOOT模式; 10层板制作工艺,稳定可靠; 标准外部信号扩展接口; JTAG仿真器接口; 单电源+5V供电; 板卡软件资源:

教务管理信息系统实施设计方案

我院教务管理信息系统实施设计方案

目录 1 教务管理系统 (1) 1.1 教务管理信息系统软件情况介绍 (1) 1.2 系统的硬件组成 (1) 1.3 系统建设中的一些注意点 (2) 1.4 系统的特色介绍 (2) 2 系统参考标准和规范 (3) 2.1 引言 (3) 2.2 系统概述 (3) 2.2.1 设计目标 (3) 2.2.2 运行环境 (3) 2.2.3 需求概述 (4) 2.3 系统总体设计 (4) 2.3.1 总述 (4) 2.3.2 系统维护子系统 (7) 2.3.2.1 功能模块 (8) 2.3.2.2 数据流程 (8) 2.3.2.3 功能实现设计 (9) 2.3.3 学籍管理子系统 (12) 2.3.3.1 功能模块 (12) 2.3.3.2 数据流程 (13) 2.3.3.3 主要界面设计 (13) 2.3.3.4 主要功能实现 (14) 2.3.4 教学计划管理子系统 (21) 2.3.4.1 功能模块 (21) 2.3.4.2 教学计划数据及操作流程图 (21) 2.3.4.3 功能实现设计 (22) 2.3.5 智能排课子系统 (30) 2.3.5.1 功能模块 (31) 2.3.5.2 工作流程图 (31) 2.3.5.3 排课的数学模型与算法 (31) 2.3.5.4 功能实现设计 (35) 2.3.6 选课管理子系统 (36) 2.3.6.1 系统功能模块 (36) 2.3.6.2 功能实现设计 (36) 2.3.7 成绩管理子系统 (40) 2.3.7.1 功能模块 (40) 2.3.7.2 系统数据流程 (41) 2.3.7.3 主要界面设计 (41) 2.3.7.4 主要功能实现 (42) 2.3.8 教材管理子系统 (48)

基于ARM的图像采集处理系统设计

基于ARM的图像采集处理系统设计

摘要 随着现代制造工业中微细加工技术的不断发展,对微细零件表面形貌测量的要求越来越高,具有较高横向及纵向分辨率的激光并行共焦显微系统可以突破光学衍射的极限要求,对物体表面进行无损检测及三维形貌重构。为了进一步实现光学系统的便携化、智能化需求,具有体积小、成本低、专用性强等一系列独特优点的嵌入式系统,无疑有着极好的应用前景。 本文主要研制了一种基于ARM的便携式图像采集处理系统。论文主要以硬件设计和软件设计两大部分完成对系统的论述:硬件设计中,通过分析实际图像采集需求后总结设计的主要性能指标,确定了采集系统的主要控制平台和图像传感芯片,给出了总体的硬件设计方案,并在此基础上完成了SCCB控制模块、图像数据捕获模块、串口调试模块等硬件接口模块的设计;软件设计中,完成了CMOS 的驱动程序、图像数据采集的驱动程序、Bayer图像数据转换算法等软件设计工作,最后论述了静态图像采集系统相关调试、实验工作,结果表明此嵌入式图像采集系统基本达到预期目标,证明了设计的合理性和正确性。 本系统一定程度上提高了低功耗微控制器图像采集的效率,将图像采集系统对硬件的依赖转化为设计人员的软件设计工作,相对于传统PC机+CCD的方案,不仅在体积、成本上具有明显优势,更体现出良好的柔性,便于今后的维护、优化。 关键词:ARM,LPC2478,图像采集,便携式

第一章绪论 1.1 嵌入式系统概述 1.1.1 嵌入式系统 嵌入式系统被IEEE(国际电气和电子工程师协会)定义为“是一种用来控制、监视或者辅助仪器、机械操作的装置”。无论嵌入式计算机技术如何发展,都改变不了其“内含计算机”、“嵌入到对象体系中”、“满足对象智能化控制要求”的技术本质,因此可以将嵌入式系统定义为:“嵌入到对象体系中的专用计算机应用系统”。 嵌入式系统具有3个基本特点,即“计算机性”、“嵌入性”及“专用性”: ●“计算机性”是目标系统智能化、自动化控制的根本保证,内含 微处理器的现代电子系统,方才能实现目标系统的计算机智能化 控制能力; ●“嵌入性”则是专指起源于微型机、嵌入到目标对象系统进而实 现对象体系智能控制的特性; ●“专用性”是指为了贴合对象控制需求或特定环境要求下的软硬 件的裁剪性。 嵌入式系统在很多产业中都得到了广泛的应用,包括消费电子、国防军事、工业控制等领域应用的越来越广泛,从军用的导弹系统到民用的消费电子、智能家电、汽车,嵌入式系统无处不在。 1.1.2 嵌入式处理器 通用计算机处理器的系统拥有大量的应用编程资源、外设接口总线及先进的高速缓存逻辑,但也具有能源消耗大、产生热量高、成本尺寸大等不可回避的问题,因此诞生了为各种专用应用而设计的特殊目的处理器——嵌入式处理器,主要分为以下四类: ●嵌入式微处理器:在应用中将微处理器装配在专门设计的电路板 上,只保留和嵌入式应用有关的母板功能而换来系统体积和功耗 的大幅减小,在功能上保留和标准微处理器一致的同时更在工作 温度、抗电磁干扰、可靠性等方面得到增强。 ●嵌入式微控制器:即单片机,就是将整个计算机系统集成到一块 芯片中,一般以某一微处理器内核为核心,芯片内部集成ROM、 RAM、总线等必要功能和外设,是目前嵌入式系统工业的主流。 ●嵌入式DSP处理器:对系统结构和指令进行了特殊设计,使其适

教务管理系统方案

目录 摘要 (1) 第一章问题分析 (2) 1.1问题定义 (2) 1.2系统开发的必要性 (2) 第二章可行性研究 (4) 2.1系统概述 (4) 2.2可行性分析 (4) 2.3系统设计的原则 (4) 2.4 需求述 (4) 第三章总体设计 (6) 3.1系统功能描述 (6) 3.2 数据流图与数据字典 (7) 3.2.1数据流图 (7) 3.2.2查询功能流程图 (8) 3.2.3数据字典 (9) 3.3软件结构图 (14) 3.4 数据库设计 (14) 3.4.1数据库需求分析 (14) 3.4.2数据库逻辑结构设计 (15) 第四章总结 (17) 主要参考文献 (18)

摘要 随着学校规模的扩大,人员的不断增加、复杂程度逐渐增强,学校中,教务是一项繁琐的事,每年都有新生入学、老生毕业,以及其他各种人事变动。每学期的考试成绩都需要分析,纵、横向比较,能及时反馈信息,还要对教师的教学成绩考核提供数据。如何有效地管理、分析、处理这些信息,帮助学校和教师掌握学生的情况,这就是教学信息管理系统需要完成的功能。以前简单的用Excel 来打印几报表的人机作坊再也无法适应当今学校的教学管理了,比如用Excel 虽然能简单管理学生的学籍、成绩等,但用户界面简单,管理起来难度大,修改和查找学生的信息都比较麻烦,并且在操作过程中没有用户权限,只要能打开计算机的人就能打开数据进行任意的修改,大大的降低了信息的安全性和性,效率低,,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入各个领域并发挥着来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、性好、寿命长、成本低等。这些优点能够极提高学校信息管理的效率。 关键词:教学管理计算机应用信息管理 第一章问题分析

(完整word版)实验室预约管理系统设计方案

兰州理工大学(实验室开放预约系统) 技 术 方 案 书

设计单位:兰州华陇理工科技有限公司 第一章系统设计背景 随着高校及科研院所管理变革的逐步推进,实验室建设、维护与应用管理日趋向规范化、复杂化发展,实验室管理工作也变得更加繁重和复杂。这就迫切需要先进管理技术手段规范、加强、简化实验室应用管理的工作。随着计算机、网络等技术的普及和物联网产业浪潮的兴起,在计算机网络支持下,基于物联网平台来进行实验室综合管理已成为实验室管理技术手段的必然发展趋势。 高校用户的实验教务管理业务是属于整体教务管理业务的一个特殊分支,因此实验教务管理要受整体教务管理业务安排状况的制约,进一步的影响是不同的实验教务管理模式,往往对实验室开放预约管理提出不同的预约模式需求,因而为适应不同高校的教务管理模式,本子系统采用模式分类化的实验室开放预约模块设计,根据不同用户需求组装不同的预约模式模块,辅以必要的定制化改进与整合开发,彻底完成用户对于开放预约的应用需求。 第二章系统设计 2.1用户背景 本方案设计共包含材料学院6间实验室,按每个实验室内有4台实验设备进行设计,同时可以考虑增加视频监控模块进行实时监控。

(可本预约系统需在学院的门户网站开设预约窗口,方便学生和老师进行预约。提供系统的链接,供门户网站接口融合) 2.2系统平台介绍 本系统的核心设计理念为:如何预约取决于如何开放。 目前可实现如下开放预约模式: (1)系统支持大开放预约模式,即全学期(或学年)向选定用户开放选定的工位时段资源,不区分实验课程预约或课程外预约,但支持集体预约和个人预约。 (2)针对教务系统不排定实验课表的用户,系统支持实验课程集任课教师开放课程预约工位时段资源,由各相关课程的任课教师(或其科代表等)根据其教学计划进行课程集体占用预约,以约代排形成实验教学课表;教学课表确定后,实验中心可利用实验教学课表外的空闲工位时段资源做为可开放预约资源进行开放预约。 系统支持预约业务与门禁准入身份识别、工位准用身份识别设备的整合联动应用,预约生效时段自动授权识别准入、自动工位授权识别。系统支持预约审核,即实验室管理人员或实验教员针对预约申请方的预约项目或理由进行审核,审核通过后才是预约成功。

图像采集处理模块

1、图像采集处理 我们将OpenCV软件安装在安卓手机中,对手机拍照后的图像进行辨别处理以及定位处理,通过蓝牙模块,将信号传给单片机。 示意图: (1)、利用手机进行拍照、识别的原因: 我们查阅相关资料,找到了蓝牙助手v1.0这个软件,它是一款手机软件,实现了对于安卓手机蓝牙的基本操作以及安卓手机与单片机的通信。安装了次软件的安卓手机就可以借助HC-05蓝牙串口模块,控制单片机等系统,并可以接受从单片机等传送来的数据。 利用这个软件的原因是因为此软完成了蓝牙串口协议的设置,开发者使用时可以免去复杂的设置。 (2)、所用设备HC-05蓝牙串口 实物图:

模块与单片机的连接方式: 参数设置: 工作模式:从模式;波特率:9600bps;设备名称:HC-05;配对密码:1234,如按默认参数则无需以下个性设置。所有设置好的参数掉电都可保存): 1)、给模块提供合适的工作电源,带底板模块的工作电源为3.6~6V,不带底板核心模块为3.3V 2)、正确连接数据线,单片机的TXD和RXD必须与蓝牙模块的RXD,TXD交叉连接 进入AT命令模式有两种方法: a.蓝牙模块工作后拉高KEY脚电平进入AT模式1,LED状态为快闪,此时设置AT命令使用的波特率与通信时波特率一致,如通信时使用9600则此时设置AT命令的波特率

也应该选择9600 b.在模块上电的同时也令KEY脚为高电平,则进入AT模式2,LED状态为慢闪,固定使用38400,8,N,1的通信格式设置参数进入AT模式后只有保持KEY脚为高电平才能使用全部的AT命令。AT命令后面必须有回车换行符。如果使用SSCOM则在字符串输入框输入“AT”并勾选“发送新行”即可。 (3)、手机与蓝牙从机模块的连接及通信测试: 首先打开手机蓝牙,然后用手机的蓝牙管理程序扫描蓝牙设备,这时会找到蓝牙从机模块,然后进入蓝牙助手v1.0这个软件,在此软件中再次查询蓝牙从机模块,这时点击连接,会提示输入密码,例如模块初始配对码为1234。输入后,会提示配对未连接。此操作只要进行一次即可被手机记住,下次自动配对。因为蓝牙设备是串口设备,需要打开端口才可以连接,这时模块的灯还是闪烁的,当你打开端口后,灯才会变成连接成功状态。 下一步进行测试,在蓝牙助手v1.0中,输入字符后点击send,这时数据就会通过蓝牙发送到蓝牙模块,并从模块的TXD发出,此时单片机连接到模块的TXD-RXD进行数据通信了。 (4)、如何利用opencv软件进行物体的识别区分以及定位 识别特定的物体,可以用模板匹配的方法,大致说来就是先拍一张模板,再在图像里检测目标,模板匹配对比的是图像的像素值。 我们设想的具体方式为: 1)、在比赛前,分别拍摄架子上的物品(第一层和第二层),作为OpenCV图像库中的模版图像(patch);(其角度为正面照,若增强其区分的精确度,则可多角度完成一个物品的模版照) 2)在机器人启动前,我们将要拿去的东西输入进机器人; 3)、寻找一幅图像的匹配的模板,OpenCV已经为我们集成好了相关的功能,具体函数为matchTemplate; 4)、比赛时在现场分5次拍摄图像(每四个物品一次拍成),最中间无巡线部分,采用相隔1S的时间段的频率进行拍摄,知道拍摄出的图片物品在正中间即可,这就确定了物品的位置。 5)、接下来就是在所拍摄的图像中寻找和模板图像(patch)最相似的区域。OpenCV提供给我们的函数matchTemplate。该函数的功能为,在输入源图像Source image(I)中滑动框,寻找各个位置与模板图像Template image(T)的相似度,并将结果保存在结果矩阵result matrix(R)中。该矩阵的每一个点的亮度表示与模板T的匹配程度。然后可以通过函数minMaxLoc定位矩阵R中的最大值; 6)、手机根据找到的物体的位置,生成指令,并通过串口传递给单片机,最后机器人则针对匹配度最高的物品进行拿取操作。 通过查找资料,OpenCV的函数库中能够应用于匹配的方法有一下几种: CV_TM_SQDIFF 平方差匹配法,最好的匹配为0,值越大匹配越差 CV_TM_SQDIFF_NORMED 归一化平方差匹配法

教务管理系统分析设计方案

教务管理系统分析设计方案 目录 1 引言 (2) 2 系统需求分析 (2) 2.1 用户需求 (2) 2.1.1 学生模块功能需求 (2) 2.1.2 教师模块功能需求 (2) 2.1.3 系统管理员功能模块需求 (2) 2.2组织结构图 (3) 2.3业务流程图 (3) 2.4 数据流程图 (4) 2.5 用例图(包括用例描述) (5) 3 系统设计 (8) 3.1 系统总体设计(系统的功能模块结构图) (8) 3.2 系统各功能模块设计 (8) 3.2.1 顺序图 (8) 3.2.2 类图 (10) 3.2.3 状态图 (10) 3.2.4 活动图 (12) 4 数据库设计 (15) 4.1 数据分析 (15) 4.1.1 E-R图 (15) 4.1.2 数据库表 (16) 4.2 逻辑结构设计 (18) 5 总结 (18)

1 引言 教务信息管理系统类似于档案管理,它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以教务信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但目前还有一些单位和部门还是使用传统人工的方式公务员之家管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。同时随着学校的规模不断扩大,学生数量急剧增加,有关教务的各种信息量也成倍增长。所以教务信息管理系统的可运行性和功能效用的多少就显得尤为重要了。 教务信息管理系统最简单的是采用SQL server2000的数据库技术进行架构,主要包括登录,教师用户,管理员用户,学生用户四个模块,各个对象根据自己的权限进行查询。 系统管理员通过数据库后台对学生或者其他的输入对象输入的数据进行整理和更新。由于信息量的巨大,管理员要时不时对系统进行维护和更新,保证系统能够顺畅运行。采用教务管理信息系统可取代原系统的单据手工传递工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期,规划教学资源,提高学生信息,及时反馈教学信息的利用率。 2 系统需求分析 2.1 用户需求 2.1.1 学生模块功能需求 (1)只限于一般用户和管理员操作。而且不同的用户级别所操作的教务信息类型是有限制的。用户可以向里面添加、修改和删除数据。 (2)学生用户登陆后可以进行学籍管理、成绩管理、等级考试管理等基本信息管理。 2.1.2 教师模块功能需求 教师可以通过登录系统后进行教师管理、排课管理、教学计划、成绩管理基本信息管理。 2.1.3 系统管理员功能模块需求 (1)数据备份:管理员可以通过选择保存的路径把数据库保存在硬盘中,也可保存在软盘中。

基于单片机的图像处理采集系统

( 二 〇 一 二 年 六 月 本科毕业设计说明书 题 目:基于单片机的图像处理采集系统设 计与实现 学生姓名: 学 院: 系 别: 专 业: 班 级: 指导教师:

摘要 传统的工业级图像处理采集系统大多是由CCD摄像头、图像采集卡和PC机组成,虽已得到了广泛的应用,但是它具有结构复杂,成本高,体积大,功耗大等缺点。随着单片机的迅速发展,开发一种智能控制及智能处理功能的微型图像处理采集系统成为可能,并且也克服了传统图像处理采集系统的诸多缺点。 本设计提出了基于单片机的图像采集系统,该系统主要由四大模块组成:第一个是单片机控制模块,对摄像头进行控制;第二个是摄像头模块,即进行图像拍摄和取图;第三个是Zigbee无线传输模块,功能是将图像传送到上位机;最后是上位机,实现图像显示功能。其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高,使用环境广泛及成本低等。利用Proteus和Keil进行仿真调试,可以看到设计内容的运行结果,验证系统运的行正确及稳定性,并且实现了图像处理采集功能,所以具有一定的实用和参考价值。 关键词:单片机;Proteus;图像采集

Abstract The traditional industrial image processing collection system by CCD camera, mostly image collection card and PC unit into, although already a wide range of applications, but it has the structure is complex, high cost, big volume and shortcomings, such as big power consumption. With the rapid development of the single chip microcomputer, the development of a kind of intelligent control and intelligent processing function of micro image processing collection system possible, and also overcome traditional image processing collection system of many of the faults. This design is put forward based on SCM image acquisition system, the system consists of four modules: the first one is the single chip microcomputer control module, the camera to control; The second is a camera module, the image shoot and take diagram; The third is Zigbee wireless transmission module, the function is will images to PC; Finally the PC, realize image display function. Its advantage is hardware circuit is simple, software perfect function, control system and reliable, high cost performance, use extensive and environment cost low status. Use Proteus and Keil simulation commissioning, can see the operation of the design content, as demonstrated the correct and do the system stability, and realize the image processing collection function, so has certain practical and reference value. Keywords:Single-Chip Microcomputer;Proteus; Image Capture

相关文档
最新文档