数据采集系统是信号与信息处理系统中不可缺少的重要组成部分,同时也是软件无线电系统中的核心模块,在现代雷达系统以及无线基站系统中的应用越来越广泛。为了能够满足目前对软件无线电接收机自适应性及灵活性的要求,并充分体现在高性能FPGA平台上设计SOC系统的思路,本文提出了由高速高精度A/D转换芯片、高性能FPGA、PCI总线接口、DB25并行接口组成的高速数据采集系统设计方案及实现方法。其中FPGA作为本系统的控制核心和传输桥梁,发挥了极其重要的作用。通过FPGA不仅完成了系统中全部数字电路部分的设计,并且使系统具有了较高的可适应性、可扩展性和可调试性。 在时序数字逻辑设计上,充分利用FPGA中丰富的时序资源,如锁相环PLL、触发器,缓冲器FIFO、计数器等,能够方便的完成对系统输入输出时钟的精确控制以及根据系统需要对各处时序延时进行修正。 在存储器设计上,采用FPGA片内存储器。可根据系统需要随时进行设置,并且能够方便的完成数据格式的合并、拆分以及数据传输率的调整。 在传输接口设计上,采用并行接口和PCI总线接口的两种数据传输模式。通过FPGA中的宏功能模块和IP资源实现了对这两种接口的逻辑控制,可使系统方便的在两种传输模式下进行切换。 在系统工作过程控制上,通过VB程序编写了应用于PC端的上层控制软件。并通过并行接口实现了PC和FPGA之间的交互,从而能够方便的在PC机上完成对系统工作过程的控制和工作模式的选择。 在系统调试方面,充分利用QuartuslI软件中自带的嵌入式逻辑分析仪SignalTaplI,实时准确的验证了在系统整个传输过程中数据的正确性和时序性,并极大的降低了用常规仪器观测FPGA中众多待测引脚的难度。 本文第四章针对FPGA中各功能模块的逻辑设计进行了详细分析,并对每个模块都给出了精确的仿真结果。同时,文中还在其它章节详细介绍了系统的硬件电路设计、并行接口设计、PCI接口设计、PC端控制软件设计以及用于调试过程中的SignalTapⅡ嵌入式逻辑分析仪的使用方法,并且也对系统的仿真结果和测试结果给出了分析及讨论。最后还附上了系统的PCB版图、FPGA逻辑设计图、实物图及注释详细的相关源程序清单。
上传时间: 2013-06-09
上传用户:lh25584
介绍了由两个DC/DC开关电源模块并联构成的供电系统电路结构和工作原理。该系统采用ARM芯片STM32为主控芯片产生驱动功率开关器件MOSFET的PWM脉冲[1],对供电系统的输出电压和各个模块的输出电流均实现了全数字闭环PI控制。系统输出电压稳定,能实现两个模块电流的比例分配,同时具有输出负载短路及延时恢复功能。仿真和实验结果验证了控制技术的正确性和可行性。
上传时间: 2013-11-20
上传用户:小码农lz
机载控制保护盒必须时刻监测机载发电机交流电压的电压和频率,当电压或频率出现超差时,及时切断向机载设备的供电,保护设备避免事故发生。针对某型直升机控制保护盒采用模拟电路方式进行测量误差大的缺点,以AT89S52单片机为核心,设计了一款数字式机载控制保护盒。该保护盒在实现原控制保护盒所用功能上,增加了声音告警功能,延时时间补偿算法的应用,使得控制盒动作时间可精确到毫秒。实际应用结果表明,该保护盒具有测量准确、可靠性高、成本低、体积小等优点。
上传时间: 2013-11-10
上传用户:aig85
采用基于Cortex-M3核的微控制器STM32F103CBT6设计了脉冲变极性弧焊控制系统。该系统利用片内的高级定时器实现了快速脉冲切换,以及脉冲频率、起始时间、占空比的大范围调节;利用定时器间的协同工作,完成了光谱触发信号的精确延时。同时实现了运行过程中对系统电压的测量、监控、传输以及参数输入、显示、存储等功能,并简述了软件开发方法。
上传时间: 2013-10-20
上传用户:苍山观海
一、实验目的1.掌握定时/计数器、输入/输出接口电路设计方法。 2.掌握中断控制编程技术的方法和应用。3.掌握8086汇编语言程序设计方法。 二、实验内容与要求 微机灯光控制系统主要用于娱乐场所的彩灯控制。系统的彩灯共有12组,在实验时用12个发光二极管模拟。1. 基本要求:灯光控制共有8种模式,如12个灯依次点亮;12个灯同时闪烁等八种。系统可以通过键盘和显示屏的人机对话,将8种模式进行任意个数、任意次序的连接组合。系统不断重复执行输入的模式组合,直至键盘有任意一个键按下,退出灯光控制系统,返回DOS系统。2. 提高要求:音乐彩灯控制系统,根据音乐的变化控制彩灯的变化,主要有以下几种:第一种为音乐节奏控制彩灯,按音乐的节拍变换彩灯花样。第二种音律的强弱(信号幅度大小)控制彩灯。强音时,灯的亮度加大,且被点亮的数目增多。第三种按音调高低(信号频率高低)控制彩灯。低音时,某一部分灯点亮;高音时,另一部分点亮。 三、实验报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法) 四、设计原理我们以背景霓虹灯的一种显示效果为例,介绍控制霓虹灯显示的基本原理。设有一排 n 段水平排列的霓虹灯,某种显示方式为从左到右每0.2 秒逐个点亮。其控制过程如下: 若以“ 1 ”代表霓虹灯点亮,以“ 0 ”代表霓虹灯熄灭,则开始时刻, n 段霓虹灯的控制信号均为“ 0 ”,随后,控制器将一帧 n 个数据送至 n 段霓虹灯的控制端,其中,最左边的一段霓虹灯对应的控制数据为“ 1 ”,其余的数据均为零,即 1000 … 000 。当 n 个数据送完以后,控制器停止送数,保留这种状态(定时) 0.2 秒,此时,第 1 段霓虹灯被点亮,其余霓虹灯熄灭。随后,控制器又在极短的时间内将数据 1100 … 000 送至霓虹灯的控制端,并定时 0.2 秒,这段时间,前两段霓虹灯被点亮。由于送数据的过程很快,我们观测到的效果是第一段霓虹灯被点亮 0.2 秒后,第 2 段霓虹灯接着被点亮,即每隔 0.2 秒显示一帧图样。如此下去,最后控制器将数据 1111 … 111 送至 n 段霓虹灯的控制端,则 n 段霓虹灯被全部点亮。 只要改变送至每段霓虹灯的数据,即可改变霓虹灯的显示方式,显然,我们可以通过合理地组合数据(编程)来得到霓虹灯的不同显示方式。 五、总体方案论证分析系统设计思路如下:1) 采集8位开关输入信号,若输入数据为0时,将其修改为1。确定输入的硬件接口电路。采样输入开关量,并存入NUM的软件程序段。2) 以12个灯依次点亮为例(即灯光控制模式M1),考虑与其相应的灯光显示代码数据。确定显示代码数据输出的接口电路。输出一个同期显示代码的软件程序段(暂不考虑时隙的延时要求)。3) 应用定时中断服务和NUM数据,实现t=N×50ms的方法。4) 实现某一种模式灯光显示控制中12个时隙一个周期,共重复四次的控制方法。要求在初始化时采样开关输入数据NUM,并以此控制每一时隙的延时时间;在每一时隙结束时,检查有无键按下,若是退出键按下,则结束灯光控制,返回DOS系统,若是其他键就返回主菜单,重新输入控制模式数据。5) 通过人机对话,输入8种灯光显示控制模式的任意个数、任意次序连接组合的控制模式数据串(以ENTER键结尾)。对输入的数据进行检查,若数据都在1 - 8之间,则存入INBUF;若有错误,则通过屏幕显示输入错误,准备重新输入灯光显示控制模式数据。6) 依次读取INBUF中的控制模式数据进行不同模式的灯光显示控制,在没有任意键按下的情况下,系统从第一个控制模式数据开始,顺序工作到最后一个控制模式数据后,又返回到第一个控制模式数据,不断重复循环进行灯光显示控制。7) 本系统的软件在总体上有两部份,即主程序(MAIN)和实时中断服务程序(INTT)。讨论以功能明确、相互界面分割清晰的软件程序模块化设计方法。即确定有关功能模块,并画出以功能模块表示的主程序(MAIN)流程框图和定时中断服务程序的流程框图。 六、硬件电路设计 以微机实验平台和PC机资源为硬件设计的基础,不需要外加电路。主要利用了以下的资源:1.8255并行口电路8255并行口电路主要负责数据的输入与输出,可以输出数据控制发光二极管的亮灭和读取乒乓开关的数据。实验时可以将8255的A口、B口和一组发光二极管相连,C口和乒乓开关相连。2.8253定时/计数器8253定时/计数器和8259中断控制器一起实现时隙定时。本设计的定时就是采用的t=N×50ms的方法,50ms由8253定时/计数器的计数器0控制定时,N是在中断服务程序中软件计时。8253的OUT0接到IRQ2,产生中断请求信号。8253定时/计数器定时结束会发出中断信号,进入中断服务程序。3.PC机资源本设计除了利用PC机作为控制器之外,还利用了PC机的键盘和显示器。键盘主要是输入控制模式数据,显示器就是显示提示信息。 七、软件设计 软件主要分为主程序(MAIN)和中断服务程序(INTT),主程序包含系统初始化、读取乒乓开关、读取控制模式数据以及按键处理等模块。中断服务程序主要是定时时间到后根据控制模式数据点亮相应的发光二极管。1.主程序主程序的程序流程图如图1所示。
上传时间: 2014-04-05
上传用户:q986086481
基于单片机的红外门进控制系统设计与制作:我们所做的创新实验项目“基于单片机的红外门控系统”已基本完成,现将其工作原理简要说明。该系统主要分为两大部分:一是红外传感器部分。二是单片机计数显示控制部分。基本电路图如下:其中红外传感器部分我们采用红外对管实现,红外对管平行放置,平常处于接收状态,经比较器输出低电平,当有人经过时,红外线被挡住,接收管接收不到红外线,经比较器输出高电平。这样,当有人经过时便会产生一个电平的跳变。单片机控制部分主要是通过外部两个中断判断是否有人经过,如果有人经过,由于电平跳变的产生,进入中断服务程序,这里我们采用了两对红外传感器接到两个外部中断口,中断0作为入口,实现加1操作,中断1作为出口,实现减1操作。另外,我们通过P0口控制室内灯的亮暗,当寄存器计数值为0时,熄灯,不为0时,灯亮。显示部分,采用两位数码管动态显示,如有必要,可以很方便的扩展为四位计数。精益求精!在实验过程中,我们走了非常多的弯路,做出来的东西根本不是自己想要的,我们本想做成室内只有一个门的进出计数,原理已清楚,即在门的两边放置两对红外对管,进出时,挡住两对对管的顺序不同,因此,可判断是进入还是出去,从而实现加减计数,编程时,可分别在两个中断服务程序的入口置标志位,根据标志位判断进出,详细内容在程序部分。理论如此,但在实际过程中,还是发现实现不了上述功能,我们初步判定认为是程序掌握得不够好,相信随着自己对单片机了解的深入,应该会做出更好的 (因为我们是临时学的单片机),程序的具体内容如下: $MOD52 ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050HMAIN: CLR A MOV 30H , A ;初始化缓存区 MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1NEXT1: ACALL HEXTOBCDD ;调用数制转换子程序 ACALL DISPLAY ;调用显示子程序 LJMP NEXT1 ORG 0100H ;中断0服务程序 LCALL DELY mov 70h,#2 djnz 70h,next JBC F0,NEXT SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , ANEXT: RETI ORG 0150H ;中断1服务程序 LCALL DELY mov 70h,#2 djnz 70h,next2 JBC F0,NEXT2 SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 CLR C MOV A , R7 SUBB A , #1 MOV R7, A MOV A , R6 SUBB A , #0 MOV R6 , A CJNE R6 , #07H , NEXT2 CLR A MOV R6 , A MOV R7 , ANEXT2: RETI ORG 0200HHEXTOBCDD:MOV A , R6 ;由十六进制转化为十进制 PUSH ACC MOV A , R7 PUSH ACC MOV A , R2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV R2 , #10HHB3: MOV A , R7 ;将十六进制中最高位移入进位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位数加上本身相当于将这个数乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十进制调整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ R2 , HB3 POP ACC MOV R2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250HDISPLAY: MOV R0 , #30H MOV A , R5 ANL A , #0FH MOV @R0 , A MOV A , R5 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV R0 , #30H MOV R2 , #11111110BAGAIN: MOV A , R2 MOV P2 , A MOV A , @R0 MOV DPTR , #TAB MOVC A , @A+DPTR MOV P1 , A ACALL DELAY INC R0 MOV A , R2 RL A MOV R2 , A JB ACC.4 , AGAIN RETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段码表DELY: MOV R1,#80D1: MOV R2,#100 DJNZ R2,$ DJNZ R1,D1 RET DELAY: MOV TMOD , #01H ;延时子程序 MOV TL0 , #0FEH MOV TH0 , #0FEH SETB TR0WAIT: JNB TF0 , WAIT CLR TF0 CLR TR0 RETDELY0: MOV R1, #200D3: MOV R2,#250 DJNZ R2,$ DJNZ R1,D3 RET END 该系统实际应用广泛。可用在生产线上产品数量统计、公交车智能计数问候(需添加语音芯片)、超市内人数统计等公共场合。另外,添加串口通信部分便可实现与PC数据交换的功能。 由于,实验简化了,剩下不少零件和资金,所以我们又做了两项其他的实验。
上传时间: 2013-12-22
上传用户:tangsiyun
针对无线传感器网络的节点能量有限,且在进行信息传输时存在数据冲突、传输延时等问题,提出并设计了基于最大生存周期的无线传感器网络数据融合算法。该算法将整个网络中的节点分成多个簇,并根据节点的传输范围,将每个簇中的节点均匀分布,每个节点根据自己的本地信息和剩余能量选择通信方式向簇头节点传输数据,从而形成传输数据的最短路径;并根据集中式TDMA(时分多址)调度模型,运用基于微粒群的Pareto优化方法,使得网络在完成规定的信息传输时每个节点耗费的平均时隙和平均能耗最优。仿真结果表明,上述算法不但可以最大化网络的生存时间,还可以有效的降低数据融合时间,减少网络延时。
上传时间: 2014-12-29
上传用户:看到了没有
交通灯: 1. 因为本设计是交通灯的控制,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北依然红灯。最后循环至状态1。 2. 双色LED是由一个红色LED管芯和一个绿色管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平,红灯亮;红色正端加低电平,绿色正端加高电平,绿灯亮;两端都加高电平,黄灯亮。 急救车和交通灯: 中断服务程序的关键是:1. 保护进入中断时的状态,并在推出中断之前恢复进入时的状态;2. 必须在中断程序中设定是否允许中断重入,即设置EX0位。 本设计使用了INT0中断,一般中断程序进入时应保护 PSW,ACC以及中断程序使用但非其专用的寄存器。本设计中的INT0程序保护了PSW,ACC,2等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,及设置时不允许重入。本设计中没有涉及这种情况。 name:trled1.asm trled2.asm
上传时间: 2014-01-05
上传用户:凌云御清风
很好用 因为本设计是交通灯的控制,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北依然红灯。最后循环至状态1。 2. 双色LED是由一个红色LED管芯和一个绿色管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平,红灯亮;红色正端加低电平,绿色正端加高电平,绿灯亮;两端都加高电平,黄灯亮。 急救车和交通灯: 中断服务程序的关键是:1. 保护进入中断时的状态
上传时间: 2014-01-25
上传用户:agent
8051单片机控制外部设备,读取外部设备状态,外部中断的应用,中断的深入理解,变量和标记的灵活应用,定时器的灵活应用,可编程自动控制的方法,按键控制设备动作的方法,PWM 输出的设计,存储器的读写,延时报警器的设计,各种报警音的设计,音乐播放的设计,程序模块化的设计等等知识。
上传时间: 2014-01-10
上传用户:yimoney