/****************temic*********t5557***********************************/ #include <at892051.h> #include <string.h> #include <intrins.h> #include <stdio.h> #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //STC12C2051AD的SFR定义 sfr WDT_CONTR = 0xe1;//stc2051的看门狗?????? /**********全局常量************/ //写卡的命令 #define write_command0 0//写密码 #define write_command1 1//写配置字 #define write_command2 2//密码写数据 #define write_command3 3//唤醒 #define write_command4 4//停止命令 #define TRUE 1 #define FALSE 0 #define OK 0 #define ERROR 255 //读卡的时间参数us #define ts_min 250//270*11.0592/12=249//取近似的整数 #define ts_max 304//330*11.0592/12=304 #define t1_min 73//90*11.0592/12=83:-10调整 #define t1_max 156//180*11.0592/12=166 #define t2_min 184//210*11.0592/12=194 #define t2_max 267//300*11.0592/12=276 //***********不采用中断处理:采用查询的方法读卡时关所有中断****************/ sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13 sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE PIN=6 sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut PIN=2 sbit wtd_sck = P1^7;//SPI总线 sbit wtd_si = P1^3; sbit wtd_so = P1^2; sbit iic_data = P1^2;//lcd IIC sbit iic_clk = P1^7; sbit led_light = P1^6;//测试绿灯 sbit led_light1 = P1^5;//测试红灯 sbit led_light_ok = P1^1;//读卡成功标志 sbit fengmingqi = P1^5; /***********全局变量************************************/ uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密码 //uchar idata card_snr[4]; //配置字 uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7}; //存储卡上用户数据(1-7)7*4=28 uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收数组ram uchar command; //第一个命令 uchar command1;// //uint temp; uchar j,i; uchar myaddr = 8; //uchar ywqz_count,time_count; //ywqz jishu: uchar bdata DATA; sbit BIT0 = DATA^0; sbit BIT1 = DATA^1; sbit BIT2 = DATA^2; sbit BIT3 = DATA^3; sbit BIT4 = DATA^4; sbit BIT5 = DATA^5; sbit BIT6 = DATA^6; sbit BIT7 = DATA^7; uchar bdata DATA1; sbit BIT10 = DATA1^0; sbit BIT11 = DATA1^1; sbit BIT12 = DATA1^2; sbit BIT13 = DATA1^3; sbit BIT14 = DATA1^4; sbit BIT15 = DATA1^5; sbit BIT16 = DATA1^6; sbit BIT17 = DATA1^7; bit i_CurrentLevel;//i_CurrentLevel BIT 00H(Saves current level of OutPut pin of U2270B) bit timer1_end; bit read_ok = 0; //缓存定时值,因用同一个定时器 union HLint { uint W; struct { uchar H;uchar L; } B; };//union HLint idata a union HLint data a; //缓存定时值,因用同一个定时器 union HLint0 { uint W; struct { uchar H; uchar L; } B; };//union HLint idata a union HLint0 data b; /**********************函数原型*****************/ //读写操作 void f_readcard(void);//全部读出1~7 AOR唤醒 void f_writecard(uchar x);//根据命令写不同的内容和操作 void f_clearpassword(void);//清除密码 void f_changepassword(void);//修改密码 //功能子函数 void write_password(uchar data *data p);//写初始密码或数据 void write_block(uchar x,uchar data *data p);//不能用通用指针 void write_bit(bit x);//写位 /*子函数区*****************************************************/ void delay_2(uint x) //延时,时间x*10us@12mhz,最小20us@12mhz { x--; x--; while(x) { _nop_(); _nop_(); x--; } _nop_();//WDT_CONTR=0X3C;不能频繁的复位 _nop_(); } ///////////////////////////////////////////////////////////////////// void initial(void) { SCON = 0x50; //串口方式1,允许接收 //SCON =0x50; //01010000B:10位异步收发,波特率可变,SM2=0不用接收到有效停止位才RI=1, //REN=1允许接收 TMOD = 0x21; //定时器1 定时方式2(8位),定时器0 定时方式1(16位) TCON = 0x40; //设定时器1 允许开始计时(IT1=1) TH1 = 0xfD; //FB 18.432MHz 9600 波特率 TL1 = 0xfD; //fd 11.0592 9600 IE = 0X90; //EA=ES=1 TR1 = 1; //启动定时器 WDT_CONTR = 0x3c;//使能看门狗 p_U2270B_Standby = 0;//单电源 PCON = 0x00; IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0 led_light1 = 1; led_light = 0; p_U2270B_OutPut = 1; } /************************************************/ void f_readcard()//读卡 { EA = 0;//全关,防止影响跳变的定时器计时 WDT_CONTR = 0X3C;//喂狗 p_U2270B_CFE = 1;// delay_2(232); //>2.5ms /* // aor 用唤醒功能来防碰撞 p_U2270B_CFE = 0; delay_2(18);//start gap>150us write_bit(1);//10=操作码读0页 write_bit(0); write_password(&bankdata[24]);//密码block7 p_U2270B_CFE =1 ;// delay_2(516);//编程及确认时间5.6ms */ WDT_CONTR = 0X3C;//喂狗 led_light = 0; b.W = 0; while(!(read_ok == 1)) { //while(p_U2270B_OutPut);//等一个稳定的低电平?超时判断? while(!p_U2270B_OutPut);//等待上升沿的到来同步信号检测1 TR0 = 1; //deng xia jiang while(p_U2270B_OutPut);//等待下降沿 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//定时器晚启动10个周期 //同步头 if((324 < a.W) && (a.W < 353)) ;//检测同步信号1 else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //等待上升沿 while(!p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//b.N1<<=8; if(a.B.L < 195);//0.5p else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //读0~7块的数据 for(j = 0;j < 28;j++) { //uchar i; for(i = 0;i < 16;i++)//8个位 { //等待下降沿的到来 while(p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2;//先左移再赋值 b.B.L += 0xc0; i++; } else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p { b.W >>= 1; b.B.L += 0x80; } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; while(!p_U2270B_OutPut);//上升 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2; i++; } else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P //else if(!(a.W==0)) { b.W >>= 1; //temp+=0x00; //led_light1=0;led_light=1;delay_2(40000); } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; } //取出奇位 DATA = b.B.L; BIT13 = BIT7; BIT12 = BIT5; BIT11 = BIT3; BIT10 = BIT1; DATA = b.B.H; BIT17 = BIT7; BIT16 = BIT5; BIT15 = BIT3; BIT14 = BIT1; bankdata[j] = DATA1; } read_ok = 1;//读卡完成了 read_error: _nop_(); } } /***************************************************/ void f_writecard(uchar x)//写卡 { p_U2270B_CFE = 1; delay_2(232); //>2.5ms //psw=0 standard write if (x == write_command0)//写密码:初始化密码 { uchar i; uchar data *data p; p = cominceptbuff; p_U2270B_CFE = 0; delay_2(31);//start gap>330us write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_bit(0);//写锁定位0 for(i = 0;i < 35;i++) { write_bit(1);//写数据位1 } p_U2270B_CFE = 1; led_light1 = 0; led_light = 1; delay_2(40000);//测试使用 //write_block(cominceptbuff[4],p); p_U2270B_CFE = 1; bankdata[20] = cominceptbuff[0];//密码存入 bankdata[21] = cominceptbuff[1]; bankdata[22] = cominceptbuff[2]; bankdata[23] = cominceptbuff[3]; } else if (x == write_command1)//配置卡参数:初始化 { uchar data *data p; p = cominceptbuff; write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_bit(0);//写锁定位0 write_block(cominceptbuff[4],p); p_U2270B_CFE= 1; } //psw=1 pssword mode else if(x == write_command2) //密码写数据 { uchar data*data p; p = &bankdata[24]; write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_password(p);//发口令 write_bit(0);//写锁定位0 p = cominceptbuff; write_block(cominceptbuff[4],p);//写数据 } else if(x == write_command3)//aor //唤醒 { //cominceptbuff[1]操作码10 X xxxxxB uchar data *data p; p = cominceptbuff; write_bit(1);//10 write_bit(0); write_password(p);//密码 p_U2270B_CFE = 1;//此时数据不停的循环传出 } else //停止操作码 { write_bit(1);//11 write_bit(1); p_U2270B_CFE = 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /************************************/ void f_clearpassword()//清除密码 { uchar data *data p; uchar i,x; p = &bankdata[24];//原密码 p_U2270B_CFE = 0; delay_2(18);//start gap>150us //操作码10:10xxxxxxB write_bit(1); write_bit(0); for(x = 0;x < 4;x++)//发原密码 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT0); DATA >>= 1; } } write_bit(0);//锁定位0:0 p = &cominceptbuff[0]; write_block(0x00,p);//写新配置参数:pwd=0 //密码无效:即清除密码 DATA = 0x00;//停止操作码00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /*********************************/ void f_changepassword()//修改密码 { uchar data *data p; uchar i,x,addr; addr = 0x07;//block7 p = &Nkey_a[0];//原密码 DATA = 0x80;//操作码10:10xxxxxxB for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } for(x = 0;x < 4;x++)//发原密码 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT7); DATA >>= 1; } } write_bit(0);//锁定位0:0 p = &cominceptbuff[0]; write_block(0x07,p);//写新密码 p_U2270B_CFE = 1; bankdata[24] = cominceptbuff[0];//密码存入 bankdata[25] = cominceptbuff[1]; bankdata[26] = cominceptbuff[2]; bankdata[27] = cominceptbuff[3]; DATA = 0x00;//停止操作码00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /***************************子函数***********************************/ void write_bit(bit x)//写一位 { if(x) { p_U2270B_CFE = 1; delay_2(32);//448*11.0592/120=42延时448us p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26写1 } else { p_U2270B_CFE = 1; delay_2(92);//192*11.0592/120=18 p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26写0 } } /*******************写一个block*******************/ void write_block(uchar addr,uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)//block0数据 { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } DATA = addr <<= 5;//0地址 for(i = 0;i < 3;i++) { write_bit(BIT7); DATA <<= 1; } } /*************************************************/ void write_password(uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)// { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } } /*************************************************/ void main() { initial(); TI = RI = 0; ES = 1; EA = 1; delay_2(28); //f_readcard(); while(1) { f_readcard(); //读卡 f_writecard(command1); //写卡 f_clearpassword(); //清除密码 f_changepassword(); //修改密码 } }
标签: 12345
上传时间: 2017-10-20
上传用户:my_lcs
数电实验:555定时器及其应用
上传时间: 2019-07-03
上传用户:kirly
交换(switching)是按照通信两端传输信息的需要,用人工或设备自动完成的方法,把要传输的信息送到符合要求的相应路由上的技术的统称。交换机根据工作位置的不同,可以分为广域网交换机和局域网交换机。广域的交换机(switch)就是一种在通信系统中完成信息交换功能的设备,它应用在数据链路层。交换机有多个端口,每个端口都具有桥接功能,可以连接一个局域网或一台高性能服务器或工作站。实际上,交换机有时被称为多端口网桥。 [1] 在计算机网络系统中,交换概念的提出改进了共享工作模式。而HUB集线器就是一种物理层共享设备,HUB本身不能识别MAC 地址和IP地址,当同一局域网内的A主机给B主机传输数据时,数据包在以HUB为架构的网络上是以广播方式传输的,由每一台终端通过验证数据报头的MAC地址来确定是否接收。也就是说,在这种工作方式下,同一时刻网络上只能传输一组数据帧的通讯,如果发生碰撞还得重试。这种方式就是共享网络带宽。通俗的说,普通交换机是不带管理功能的,一根进线,其他接口接到电脑上就可以了
标签: 交换机
上传时间: 2022-07-23
上传用户:
VIP专区-嵌入式/单片机编程源码精选合集系列(80)资源包含以下内容:1. 9315原理图,剩下的见后续部分fds fdsf.2. 0809的一个比较详细的C程序.3. 18b20的c程序.4. 18b20的例外一个c程序.5. ZIGBEE开发板JN-AP-1002灯闪烁转换的例程.6. LWIP1.1.1在UCOS-II2.61上的移植.7. wince ril程序.8. Maria2 CarTV 20060707 Tony.9. PS2 游戏接口应用程序。IR 跳舞毯程序.10. PS2红外跳舞毯发射程序.11. 用三星的MCU写的CID电话机源程序.12. 合泰MCU写的电话机源程序.13. FSK软解码.14. 防盗报警器NTK源代码.15. EZUSB 同步流传输主机源代码!针对fx2芯片.16. 基于S3C44B0X的开发板原理图.17. PCI驱动开发事例文档说明.18. dsp f2812 源程序.19. dsp f2812 运行环境ccs2000的源程序.20. dsp f2812 运行环境ccs2000的源程序.21. dsp f2812 运行环境ccs2000的源程序.22. dsp f2812 运行环境ccs2000的源程序.23. dsp f2812 运行环境ccs2000的源程序.24. 一般都可以用msp430x14x串口通信的程序,这次主要在msp430F149中调过了.25. 车载显示器.26. LCM 12864厂家提供 C51驱动源程序.27. VHDL接口电路实用源程序.28. 用WINCE进行嵌入式开发的源代码开发板S3C2410.29. 解压或者复制到软件相应的目录即可使用此代码.30. 在linux下进行ARM开发所使用的源代码.31. 此为嵌入式linux开发驱动程序调试源代码.32. ARMLPC2129ucosii283(uCOSII2.83已经移植到arm7,iar环境).33. 自动拨号,用于ip自动拨号,防盗等.用c语言写成..34. zigbee Interface an Atmel AVR MCU with Freescales MC1319x ZigBee chip.35. cpress usb 芯片Vender 处理固件。 The purpose of this software is to demonstrate how to implement vendor s.36. 用C51做超声波,嵌入式开发模式,对开发者有用!.37. 详细提供了太阳能抓虫灯的原理图和布线图和材料表,自己开发没有抄袭.38. 详细提供了5000kw正弦波逆变器的原理图sch和pcb图纸.39. 本程序使用定时器1.40. CycloneII_NiosII的实验板资料.
标签:
上传时间: 2013-04-15
上传用户:eeworm
低压断路器是电力系统中低压配电网中的主要电器开关之一,它不仅可以接通和分断正常负载电流和过载电流,而且可以接通和分断短路电流。主要在频繁操作的低压配电线路或开关柜中作为电源开关使用,并对线路、电器设备等实行保护,当它们发生严重过流、过载、短路、断相、漏电等故障时,能自动切断线路,起保护作用,应用十分广泛。智能控制器是断路器上的保护装置,也是断路器的核心控制装置。 20世纪90年代,随着电力电子技术、微电子技术、计算机技术和通信技术的飞速发展,断路器的保护装置己由传统的电磁式过流脱扣器发展成采用集成电路的电子式脱扣器,直至目前出现了带高性能微处理器的智能控制器。新一代的智能控制器采用了模块化结构设计,集测量、监视、控制、通信、保护等功能于一体,在低压系统中得到了广泛的应用。 在本课题中,该智能控制器在硬件上以美国Microchip公司推出的公司生产的PIC148F448为核心处理器,主要进行数据的实时采集处理和断路器的故障保护,实时显示线路运行时电流或故障信息等。利用带有CAN接口的高性能的PIC18F448单片机设计了CAN总线接口,给出了CAN接口的硬件电路、软件流程。该电路具有硬件设计简单、可靠性高、实时性强等特点。实现了智能控制器与PC机的双向通信功能,通过总线系统达到遥调、遥控的目的,使得智能控制器的性能得到增强,符合配电系统的要求,达到了本课题研究要求。
上传时间: 2013-04-24
上传用户:kjgkadjg
视频监控系统是一个集计算机的交互性、多媒体信息的综合性、通信的分布性和监控的实时性等技术于一体的综合系统。随着网络带宽,计算机处理能力和存储容量的快速提高,以及各种实用视频处理技术的出现,视频监控进入了全数字化的网络时代。视频监控系统的核心功能主要包括两大部分,一是视频图像采集和压缩处理,一是图像数据的传输。系统的主要硬件模块分为监控终端和监控控制终端两个部分。 本文设计并实现了一种基于ARM和嵌入式Linux的视频监控系统,该系统主要实现了视频图像的采集压缩和图像数据流基于RTP协议的传输。本系统的核心硬件平台采用韩国SamSung公司的S3C2410微处理器,ARM端作为视频监控终端,PC机作为监控控制终端。ARM端主要承载了图像采集、编码和对图像数据进行RTP打包并传输的功能,PC端主要承载的功能是图像数据的接收、显示和对监控终端的控制、访问。 在视频图像采集和压缩处理部分,利用Video for Linux提供的接口函数,实现了利用摄像头采集图像的过程,并设计实现了V4L视频采集及压缩模块,设计了系统JEPG图像采集和压缩模块和MPEG-4图像采集和压缩模块的具体编程流程和实现过程,并实现了基于这两种编码方式的视频压缩。用Visual C++实现了用户控制终端,可对应JPEG和MPEG-4两种编码方式进行解码并显示。 在图像数据的传输部分,系统采用了RTP协议作为视频数据流传输协议,并实现了视频数据在局域网内的实时性传输。移植了现在比较常用的JRTPLIB源码库,为RTP的实现提供了可调用的库函数,按照MPEG-4数据流的RTP封装格式和流程,设计实现了RTP编程。 最后对系统的功能和性能进行了测试。测试结果显示MPEG-4在保证与JPEG相当的图像质量时,大大减少了传输的数据量。同时,使用RTP协议进行传输,保证了系统的实时性,也保证了图像的传输质量。
上传时间: 2013-07-12
上传用户:wzr0701
由于信道中存在干扰,数字信号在信道中传输的过程中会产生误码.为了提高通信质量,保证通信的正确性和可靠性,通常采用差错控制的方法来纠正传输过程中的错误.本文的目的就是研究如何通过差错控制的方法以提高通信质量,保证传输的正确性和可靠性.重点研究一种信道编解码的算法和逻辑电路的实现方法,并在硬件上验证,利用码流传输的测试方法,对设计进行测试.在以上的研究基础之上,横向扩展和课题相关问题的研究,包括FPGA实现和高速硬件电路设计等方面的研究. 纠错码技术是一种通过增加一定的冗余信息来提高信息传输可靠性的有效方法.RS码是一种典型的纠错码,在线性分组码中,它具有最强的纠错能力,既能纠正随机错误,也能纠正突发错误.在深空通信,移动通信以及数字视频广播等系统中具有广泛的应用,随着RS编码和解码算法的改进和相关的硬件实现技术的发展,RS码在实际中的应用也将更加广泛. 在研究中,对所研究的问题进行分解,集中精力研究课题中的重点和难点,在各个模块成功实现的基础上,成功的进行系统组合,协调各个模块稳定的工作. 在本文中的EDA设计中,使用了自顶向下的设计方法,编解码算法每一个子模块分开进行设计,最后在顶层进行元件例化,正确实现了编码和解码的功能. 本文首先介绍相关的数字通信背景;接着提出纠错码的设计方案,介绍RS(31,15)码的编译码算法和逻辑电路的实现方法,RTL代码编写和逻辑仿真以及时序仿真,并讨论了FPGA设计的一般性准则以及高速数字电路设计的一些常用方法和注意事项;最后设计基于FPGA的硬件电路平台,并利用静态和动态的方法对编解码算法进行测试. 通过对编码和解码算法的充分理解,本人使用Verilog HDL语言对算法进行了RTL描述,在Altera公司Cyclone系列FPGA平台上面实现了编码和解码算法. 其中,编码的最高工作频率达到158MHz,解码的最高工作频率达到91MHz.在进行硬件调试的时候,整个系统工作在30MHz的时钟频率下,通过了硬件上的静态测试和动态测试,并能够正确实现预期的纠错功能.
上传时间: 2013-07-01
上传用户:liaofamous
ASIC对产品成本和灵活性有一定的要求.基于MCU方式的ASIC具有较高的灵活性和较低的成本,然而抗干扰性和可靠性相对较低,运算速度也受到限制.常规ASIC的硬件具有速度优势和较高的可靠性及抗干扰能力,然而不是灵活性较差,就是成本较高.与传统硬件(CHW)相比,具有一定可配置特性的场可编程门阵列(FPGA)的出现,使建立在可再配置硬件基础上的进化硬件(EHW)成为智能硬件电路设计的一种新方法.作为进化算法和可编程器件技术相结合的产物,可重构FPGA的研究属于EHW的研究范畴,是研究EHW的一种具体的实现方法.论文认为面向分类的专用类可重构FPGA(ASR-FPGA)的研究,可使可重构电路粒度划分的针对性更强、设计更易实现.论文研究的可重构FPGA的BCH通讯纠错码进化电路是一类ASR-FPGA电路的具体方法,具有一定的实用价值.论文所做的工作主要包括:(1)BCH编译码电路的设计——求取实验用BCH码的生成多项式和校验多项式及其相应的矩阵并构造实验用BCH码;(2)建立基于可重构FPGA的基核——构造具有可重构特性的硬件功能单元,以此作为可重构BCH码电路的设计基础;(3)构造实现可重构BCH纠错码电路的方法——建立可重构纠错码硬件电路算法并进行实验验证;(4)在可重构纠错码电路基础上,构造进化硬件控制功能块的结构,完成各进化RLA控制模块的验证和实现.课题是将可重构BCH码的编译码电路的实现作为一类ASR-FPGA的研究目标,主要成果是根据可编程逻辑电路的特点,选择一种可编程树的电路模型,并将它作为可重构FPGA电路的基核T;通过对循环BCH纠错码的构造原理和电路结构的研究,将基核模型扩展为能满足纠错码电路需要的纠错码基本功能单元T;以T作为再划分的基本单元,对FPGA进行"格式化",使T规则排列在FPGA上,通过对T的控制端的不同配置来实现纠错码的各个功能单元;在可重构基核的基础上提出了纠错码重构电路的嵌套式GA理论模型,将嵌套式GA的染色体串作为进化硬件描述语言,通过转换为相应的VHDL语言描述以实现硬件电路;采用RLA模型的有限状态机FSM方式实现了可重构纠错码电路的EHW的各个控制功能块.在实验方面,利用Xilinx FPGA开发系统中的VHDL语言和电路图相结合的设计方法建立了循环纠错码基核单元的可重构模型,进行循环纠错BCH码的电路和功能仿真,在Xilinx公司的Virtex600E芯片进行了FPGA实现.课题在研究模型上选取的是比较基本的BCH纠错码电路,立足于解决基于可重构FPGA核的设计的基本问题.课题的研究成果及其总结的一套ASR-FPGA进化硬件电路的设计方法对实际的进化硬件设计具有一定的实际指导意义,提出的基于专用类基核FPGA电路结构的研究方法为新型进化硬件的器件结构的设计也可提供一种借鉴.
上传时间: 2013-07-01
上传用户:myworkpost
雪崩光電二極管 (APD) 接收器模塊在光纖通信繫統中被廣泛地使用。APD 模塊包含 APD 和一個信號調理放大器,但並不是完全獨立。它仍舊需要重要的支持電路,包括一個高電壓、低噪聲電源和一個用於指示信號強度的精準電流監視器
上传时间: 2013-11-22
上传用户:zhangyigenius
如题
上传时间: 2013-10-10
上传用户:banlangen