超声波流量计以非接触、精度高、使用方便等优点,在气象、石油、化工、医药、水资源管理等领域获得了广泛的应用。近年来,随着数字处理技术和微处理器技术的发展,超声波流量计作为一种测量仪表也得到了长足进步。本课题将ARM微控制器用于流量测量仪表的研制,拓展了仪表的开发空间,符合嵌入式技术的发展方向。 本文详细介绍了超声波时差法流量测量原理及基于LPC2214的超声波流量计系统设计方案和软硬件实现方法,并对测时算法进行了详细讨论。通过分析和借鉴国外超声波流量测量的先进技术和方法,得出了改进的时差法测量方案。系统硬件设计了超声波发射、接收及放大电路,采用高速模数转换器数字化接收信号,并对ARM系统电路中的电源电路,存储器电路,通信接口电路等进行了详细介绍。系统软件详细分析了嵌入式操作系统uClinux的移植方法,给出构建ARM-uClinux平台的步骤,并基于此平台,完成了系统软件设计。测时算法运用数字滤波技术提高信号信噪比,采用方差比检验方法和插值算法,提高测时定位精度。 系统设计良好的人机交互界面和通信调试接口,提高了ARM系统的软件开发调试效率;在保证流量计系统功能的同时,尽量简化硬件电路设计,降低研制成本,使设计更具合理性。
上传时间: 2013-04-24
上传用户:mosliu
近年来,伴随着PC及微处理器的迅速发展、软件资源的丰富,嵌入式系统成为研究与应用的热点。嵌入式系统是一种面向具体应用的将底层硬件、实时操作系统和应用软件相结合的专用计算机系统。其广泛应用于控制领域、消费电子产品等行业,己成为现代电子领域的重要研究方向之一。 本文结合课题实际需要与当前的控制器发展趋势,构建和开发基于ARM和μC/OS-Ⅱ实时操作系统的嵌入式通用控制器应用平台.在分析ARM内核处理器的基础上,自主开发以PHILIPS公司LPC2880芯片为核心的嵌入式通用控制器的硬件平台。根据嵌入式控制器的实际应用要求设计了相应的应用模块,主要包括:串口模块、存储器扩展模块、液晶显示和键盘模块等。并完成了各个功能模块的接口函数,创建了应用函数库,为后面的代码应用和移植提供了方便。在对电机驱动控制原理的学习掌握基础上,开发出基于L297/L298芯片的步进电机驱动器及基于LMD18200芯片的伺服电机驱动器。为实现控制器与PC机的通讯,确定了USB2.0通讯接口作为主要通讯方式,详细分析了通用串行总线的软硬件特点,根据LPC2880芯片特点实现嵌入式USB主机模式的通讯方式,并给出了它和主控制器的连线原理图以及USB主机的系统软件框架。 嵌入式实时操作系统是嵌入式系统应用软件开发的支撑平台,通过对现在常用的几种嵌入式操作系统的综合比较,选择μC/OS-Ⅱ作为本系统的RTOS。详细分析了μC/OS-Ⅱ内核工作原理,改进了中断和时钟处理的不足。成功的将μC/OS-Ⅱ系统移植到ARM微处理器中,并通过相应的开发工具,对移植系统进行模拟调试和功能测试。结果表明,设计的嵌入式通用控制器平台基本达到预期目标.
上传时间: 2013-04-24
上传用户:天涯
涡流无损检测技术作为五大常规无损检测技术之一,不仅能够探测导体表面的涂层厚度,材料成分,组织状态以及某些物理量和机械量,还能检测材料或构件中是否有缺陷并判断缺陷的形状、大小、分布、走向。脉冲涡流无损检测技术因其激励信号的频域特点,具有有效率高,检测准确的特性,因而有着广泛的应用前景。 用无损检测方法进行钢铁材质检测的研究工作取得了大量成果,然而对于钢材及其制品的混料、硬度和裂纹质量检测还存在许多难题,如用传统检测方法检测齿轮毛坯的硬度效果不够理想,而且人工记录方法较慢。 本文以涡流检测技术理论为基础,系统地分析了脉冲涡流检测的基本理论。在此基础上设计了一套用于检测钢铁材硬度的脉冲涡流检测仪器。该脉冲涡流检测系统可分为硬件、软件两个子系统。整个系统由激励源、涡流传感器、数据处理、结果显示这四个主要部分组成。在涡流探伤中,影响涡流的因素很多,产生大量噪声使得信号分析相对困难。系统以FPGA为开发平台,使得信号激励和信号的采集可以在同一电路中实现,从而提高了信号处理的精确性,接着利用主成分分析方法去除噪音,提取信号的特征值,建立回归方程,利用最小二乘法实现对钢铁材质硬度的测量。实验结果表明,以FPGA为开发平台,采用脉冲涡流激励的方式及相关的脉冲涡流的主成分分析处理方法,使钢铁材质硬度的判别准确率有了很大提高。
上传时间: 2013-04-24
上传用户:327000306
本文进行了基于FPGA的GPS直序伪码扩频接收机的设计和数字化硬件实现。论文首先对GPS卫星导航定位系统进行了分析,并对与数字化接收机直接相关联的GPS信号中频部分结合实际系统要求进行了设计和分析,由此确定了数字化伪码捕获跟踪接收机研制的具体要求,之后完成了接收机中频数字化方案设计。同时对伪码捕获跟踪后端的载波捕获跟踪的实现方案进行了描述和分析。最后利用EDA工具在FPGA芯片上实现了GPS数字化接收机的伪码捕获跟踪。 受工作环境的制约,GPS卫星接收机系统首先表现为功率受限系统,接收机必须满足在低信噪比条件下工作。同时接收机与卫星间高动态产生的多普勒频率,给接收机实现快速捕获带来了难度。通过仿真分析,综合了实现难度和性能两方面因素,针对小信噪比工作条件提出了改进型的序贯伪码捕获实施方案。同时按照捕获概率和时间的要求,对接收机偏压、上、下门限、NCO增益等进行了设计和仿真分析,确定了捕获的数字化实现方案,伪码跟踪采用超前滞后环方案。捕获完成后可使本地伪码与接收伪码的相对误差保持在±1/4码元范围内,而跟踪环路的跟踪范围为±4/3码元,保证了捕获到跟踪的可靠衔接,同时采用可变环路带宽措施解决了跟踪速度和精度的矛盾。 在数字化实现设计中,给出了详细的数字化实现方案和分析,这样在保证工作精度的同时尽量减少硬件资源的开销,利用EDA工具,采用Veilog设计语言在Xilinx的VirtexII系列的XC2V500fg256的FPGA上完成数字化接收机伪码捕获跟踪的实现,并在其开发平台上对数字化接收机进行了仿真验证,在给定的工作条件下达到了设计性能和指标要求。
上传时间: 2013-04-24
上传用户:15510133306
ChipScope Pro具有传统逻辑分析仪的功能,是针对Xilinx Virtex Pro等系列FPGA的在线片内信号分析工具,主要功能是通过JTAG口,实时、在线、方便地观察到FPGA内部的信号,给调试、故障定位提供极大的方便。ChipScope Pro的基本原理是利用FPGA中未使用的BlockRam,根据用户设定的触发条件将信号实时的保存到这些BlockRam中,然后通过JTAG口传送到计算机,最后在计算机屏幕上显示出时序波形。
上传时间: 2013-05-22
上传用户:wangrijun
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
信号完整性是高速数字系统中要解决的一个首要问题之一,如何在高速PCB 设计过程中充分考虑信号完整性因素,并采取有效的控制措施,已经成为当今系统设计能否成功的关键。在这方面,差分线对具有很多优势,比如更高的比特率 ,更低的功耗 ,更好的噪声性能和更稳定的可靠性等。目前,差分线对在高速数字电路设计中的应用越来越广泛,电路中最关键的信号往往都要采用差分线对设计。介绍了差分线对在PCB 设计中的一些要点,并给出具体设计方案。
上传时间: 2014-12-24
上传用户:540750247
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
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
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953