近年来,嵌入式技术发展迅速,已经渗透到工业控制、智能设备以及电子消费品等人们日常生活的各个领域,而Internet技术也取得了巨大的发展,为人们所广为接受,于是嵌入式技术和Internet技术相结合形成的嵌入式Internet技术适时地出现了,并且成为实现远程控制、信息共享的关键技术。 本文首先阐述了课题研究的背景、目的和意义,以及嵌入式TCP/IP协议栈研究的现状,然后分析了嵌入式操作系统μ C/OS-Ⅱ的工作原理并描述了把它移植到LPC2210上的过程,为嵌入式TCP/IP协议栈实现提供了操作系统支持。接着,针对嵌入式协议栈的特殊需求,详细分析并采用了零拷贝技术、跨层技术等对LwIP协议栈进行了有效的裁剪和优化,结合μ C/PS-Ⅱ设计了一种紧凑的协议栈工作模型和内存管理机制。并且结合μ C/OS-Ⅱ设计了协议栈的工作模型和内存管理机制。在驱动程序的基础上实现了对LwIP中的IP协议、ARP协议、ICMP协议、UDP协议和TCP协议等几个协议栈的裁剪和优化。并分析了它们的安全漏洞及基于这些漏洞的攻击方式,在这个基础上提出了如攻击检测算法等填补漏洞和抵抗攻击的一些技术和措施。最后在目标板上成功移植了优化后的LwIP。 本文同时还设计了一种能够提供足够多软定时器资源的算法。在不需要操作系统支持的情况下,软定时器可以给多任务的系统提供足够的定时服务,而且不影响中断处理时间。并且具有自动回调功能,启动一次以后就可自动调用定时器。此软定时器使用方便且易移植,大大方便了本课题多次使用定时器的需要。课题结合具体项目“蓄电池状态记录仪的设计”,分析了它的各个功能模块,设计了其系统结构。对各个功能模块的设计与实现进行了代码编写和测试,借助于TFTP服务器实现了基于协议的嵌入式目标板和PC机间的网络通信。 本课题经过几个月的软硬件设计和现场测试,已实现了最初的设计目标。构建出了实验硬件平台和一个多任务多协议的基本实时系统框架。以后的开发者可以不必深入了解μ C/OS-Ⅱ实时操作系统和嵌入式TCP/IP协议栈的情况下就可以方便的创建一个嵌入式网络控制系统,并能在平台上开发其它的应用任务,为以后的研究提供了参考并奠定了基础。
上传时间: 2013-04-24
上传用户:www240697738
随着数字化和网络化的发展,传统的门禁系统由于鉴别方式、速度和性能等方面的限制,很难满足安全可靠和网络化的控制需求。由于识别技术的不断成熟,基于人体生理特征的身份识别系统逐渐被人们开始采用,目前,从实用的角度看,指纹识别技术要比其它生物识别技术更安全和方便,这是因为人的指纹具有唯一性、不变性以及贴身性的特点。传统的门禁控制器常采用单片机开发,利用串行通信接口向远程上位机传送数据,多个门禁控制器一般组成RS485网络,通信线路专用且不易于实现网络控制和远程控制,而基于TCP/IP网络通信的门禁系统通过局域网传递数据,很容易实现远程控制和分布式管理。 文中设计了基于指纹识别和以太网的智能网络型门禁控制器。在ARM9和Linux操作系统上采用FPS200指纹传感器采集指纹图像和USB摄像头采集视频图像,以及采用以太网控制器芯片AX88796,实现了基于TCP/IP协议的网络门禁系统。 论文首先分析了门禁系统的研究背景、意义及国内外的发展现状,然后介绍了指纹识别网络门禁系统的总体结构,阐述了系统各个重要功能模块的硬件资源。根据系统的硬件资源搭建了嵌入式Linux的软件平台,移植了相关模块的驱动程序。论文研究了指纹识别算法,包括指纹图像预处理和指纹图像的特征提取和匹配,重点分析了指纹图像分割法,利用灰度梯度和灰度方差的结合设置一个合适的局部阈值对指纹进行分割。然后,阐述了门禁控制系统软件的总体设计,并重点介绍Video4Linux采集图像、指纹图像采集、GoAhead Web Server的应用以及系统运用TCP/IP实现系统门禁控制器和上位机PC之间的网络通信。 系统测试部分介绍了测试环境、测试方法以及测试内容。测试结果表明,本课题设计的指纹识别网络型门禁系统在稳定性、可靠性以及实时性方面达到了较好的效果。文章最后提出了一些在工作中遇到的问题,并对近几年来的一些新的研究趋势做了简单的总结与展望,指出了指纹识别网络型门禁系统未来的研究方向。
上传时间: 2013-07-23
上传用户:pwcsoft
此文件包括网络控制微处理器cp2200是使用文档说明以及UDP协议程序代码
上传时间: 2013-07-17
上传用户:wendy15
矿用隔爆馈电开关是煤矿井下配电系统的关键设备,用于含有瓦斯或煤尘等爆炸危险环境的矿井中,控制和保护低压供电网络。其性能好坏直接影响着煤矿井下的生产安全和生产效率。 论文将嵌入式网络控制系统应用到馈电开关中,通过对矿山供电系统工作原理、真空馈电开关工作原理以及基于EasyARM2200(Philips LPC2210为处理器、ARM7为内核)嵌入式网络控制系统的研究,实现了总体网络拓扑结构的设计和智能馈电开关控制系统硬件电路的设计;通过对嵌入式实时操作系统的移植、嵌入式TCP/IP协议栈的实现和移植以及基于C/S模式下的套接字编程等的研究和分析,完成了监控主机与嵌入式系统的通信软件和保护控制算法的应用程序的编写,从而实现了矿井地面监控主机与井下嵌入式系统馈电开关的快速通信,解决了地面监控主机对井下馈电回路及电气开关的远程智能监控的难题,设计完成了一套集实时保护控制和远程监控功能于-身的智能型馈电开关网络控制系统。
上传时间: 2013-05-21
上传用户:a937518043
特点: 精确度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
减小电磁干扰的印刷电路板设计原则 内 容 摘要……1 1 背景…1 1.1 射频源.1 1.2 表面贴装芯片和通孔元器件.1 1.3 静态引脚活动引脚和输入.1 1.4 基本回路……..2 1.4.1 回路和偶极子的对称性3 1.5 差模和共模…..3 2 电路板布局…4 2.1 电源和地…….4 2.1.1 感抗……4 2.1.2 两层板和四层板4 2.1.3 单层板和二层板设计中的微处理器地.4 2.1.4 信号返回地……5 2.1.5 模拟数字和高压…….5 2.1.6 模拟电源引脚和模拟参考电压.5 2.1.7 四层板中电源平面因该怎么做和不应该怎么做…….5 2.2 两层板中的电源分配.6 2.2.1 单点和多点分配.6 2.2.2 星型分配6 2.2.3 格栅化地.7 2.2.4 旁路和铁氧体磁珠……9 2.2.5 使噪声靠近磁珠……..10 2.3 电路板分区…11 2.4 信号线……...12 2.4.1 容性和感性串扰……...12 2.4.2 天线因素和长度规则...12 2.4.3 串联终端传输线…..13 2.4.4 输入阻抗匹配...13 2.5 电缆和接插件……...13 2.5.1 差模和共模噪声……...14 2.5.2 串扰模型……..14 2.5.3 返回线路数目..14 2.5.4 对板外信号I/O的建议14 2.5.5 隔离噪声和静电放电ESD .14 2.6 其他布局问题……...14 2.6.1 汽车和用户应用带键盘和显示器的前端面板印刷电路板...15 2.6.2 易感性布局…...15 3 屏蔽..16 3.1 工作原理…...16 3.2 屏蔽接地…...16 3.3 电缆和屏蔽旁路………………..16 4 总结…………………………………………17 5 参考文献………………………17
上传时间: 2013-10-24
上传用户:18165383642
特点(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
a_bit equ 20h ;个位数存放处 b_bit equ 21h ;十位数存放处 temp equ 22h ;计数器寄存器 star: mov temp,#0 ;初始化计数器 stlop: acall display inc temp mov a,temp cjne a,#100,next ;=100重来 mov temp,#0 next: ljmp stlop ;显示子程序 display: mov a,temp ;将temp中的十六进制数转换成10进制 mov b,#10 ;10进制/10=10进制 div ab mov b_bit,a ;十位在a mov a_bit,b ;个位在b mov dptr,#numtab ;指定查表启始地址 mov r0,#4 dpl1: mov r1,#250 ;显示1000次 dplop: mov a,a_bit ;取个位数 MOVC A,@A+DPTR ;查个位数的7段代码 mov p0,a ;送出个位的7段代码
上传时间: 2013-11-06
上传用户:lx9076