随着计算机及其外围设备的发展,传统的并行接口和串行接口在灵活性和接口扩展等方面存在的缺陷愈来愈不可回避,并逐渐成为计算机通信的瓶颈。在这种情况下,通用串行总线(Universal Serial Bus,USB)诞生了。USB由于具有传输速率高、价格便宜、使用方便、灵活性高、支持热插拔、接口标准化和易于扩展等优点,目前已经成为计算机外设接口的主流技术,在计算机外围设备和消费类电子领域正获得越来越多的应用。 @@ 本文基于USB2.0协议规范,设计了一款支持高速和全速传输的USB2.0设备控制器IP核。文中着重介绍了这款设备控制器IP核的设计和FPGA验证工作,详细研究并分析了USB2.0规范,根据规范提出了一种USB2.0设备控制器整体构架方案,描述了各个功能子模块硬件电路的功能及实现。从可重用的角度出发,对设备控制器模块进行优化设计,增加多个灵活的配置选项,根据不同的应用对硬件进行配置,使其在满足要求的情况下去除冗余电路,以减少占用面积和功耗,从而使其灵活地应用于各种USB系统。本文还研究了IP核的验证方法,并对所设计的USB2.0设备控制器建立了功能完备的ModelSim仿真验证环境,搭建了FPGA硬件验证平台,设计了具有AHB接口的设备控制器和带有8051的设备控制器,并分别在FPGA平台上进行了功能验证。 @@ 本文所设计的USB2.0设备控制器IP核可配置性高,使用者可以自由配置所需端点的个数以及每个端点类型等,可以集成于多种USB系统中,适于各类USB设备的开发。本课题所取得的成果为USB2.0设备类的研究和开发积累了经验,并为后来实验室某项目测试芯片的USB数据采集提供了参考方案,也为未来USB3.0接口IP核的开发和应用奠定了基础。 @@关键词USB2.0控制器;IP核;FPGA;验证
上传时间: 2013-06-30
上传用户:nanfeicui
I2C(Inter Integrated Circuits)是Philips公司开发的用于芯片之间连接的串行总线,以其严格的规范、卓越的性能、简便的操作和众多带I2C接口的外围器件而得到广泛的应用并受到普遍的欢迎。 现场可编程门阵列(FPGA)设计灵活、速度快,在数字专用集成电路的设计中得到了广泛的应用。本论文主要讨论了如何利用Verilog/FPGA来实现一个随机读/写的I2C接口电路,实现与外围I2C接口器件E2PROM进行数据通信,实现读、写等功能,传输速率实现为100KBps。在Modelsim6.0仿真软件环境中进行仿真,在Xilinx公司的ISE9.li开发平台上进行了下载,搭建外围电路,用Agilem逻辑分析仪进行数据采集,分析测试结果。 首先,介绍了微电子设计的发展概况以及设计流程,重点介绍了HDL/FPGA的设计流程。其次,对I2C串行总线进行了介绍,重点说明了总线上的数据传输格式并对所使用的AT24C02 E2PROM存储器的读/写时序作了介绍。第三,基于Verilog _HDL设计了随机读/写的I2C接口电路、测试模块和显示电路;接口电路由同步有限状态机(FSM)来实现;测试模块首先将数据写入到AT24C02的指定地址,接着将写入的数据读出,并将两个数据显示在外围LED数码管和发光二极管上,从而直观地比较写入和输出的数据的正确性。FPGA下载芯片为Xilinx SPARTAN Ⅲ XC3S200。第四,用Agilent逻辑分析仪进行传输数据的采集,分析数据传输的时序,从而验证电路设计的正确性。最后,论文对所取得的研究成果进行了总结,并展望了下一步的工作。
上传时间: 2013-06-27
上传用户:liuchee
随着图像分辨率的越来越高,软件实现的图像处理无法满足实时性的需求;同时FPGA等可编程器件的快速发展使得硬件实现图像处理变得可行。如今基于FPGA的图像处理研究成为了国内外的一个热门领域。 本文在FPGA平台上,用Verilog HDL实现了一个研究图像处理算法的可重复配置的硬件模块架构,架构包括PC机预处理和通信软件,控制模块,计算单元,存储器模块和通信适配模块五个部分。其中的计算模块负责具体算法的实现,根据不同的图像处理算法可以独立实现。架构为计算模块实现了一个可添加、移出接口,不同的算法设计只要符合该接口就可以方便的加入到模块架构中来进行调试和运行。 在硬件架构的基础上本文实现了排序滤波,中值滤波,卷积运算及高斯滤波,形态学算子运算等经典的图像处理算法。讨论了FPGA的图像处理算法的设计方法及优化策略,通过性能分析,FPGA实现图像处理在时间上比软件处理有了很大的提高;通过结果的比较,发现FPGA的处理结果达到了软件处理几乎同等的效果水平。最后本文在实现较大图片处理和图像处理窗口的大小可配置性方面做了一定程度的讨论和改进,提高了算法的可用性,同时为进一步的研究提供了更加便利的平台。 整个设计都是在ISE8.2和ModelSim第三方仿真软件环境下开发的,在xilinx的Spartan-3E XC3S500E硬件平台上实现。在软件仿真过程中利用了ISE8.2自带仿真工具和ModelSim结合使用。 本课题为制造FPGA的专用图像处理芯片做了有益的探索性研究,为实现FPGA为核心处理芯片的实时图像处理系统有着积极的作用。
上传时间: 2013-07-29
上传用户:爱顺不顺
I2C(Inter Integrated Circuits)是Philips公司开发的用于芯片之间连接的串行总线,以其严格的规范、卓越的性能、简便的操作和众多带I2C接口的外围器件而得到广泛的应用并受到普遍的欢迎。 现场可编程门阵列(FPGA)设计灵活、速度快,在数字专用集成电路的设计中得到了广泛的应用。本论文主要讨论了如何利用Verilog/FPGA来实现一个随机读/写的I2C接口电路,实现与外围I2C接口器件E2PROM进行数据通信,实现读、写等功能,传输速率实现为100KBps。在Modelsim6.0仿真软件环境中进行仿真,在Xilinx公司的ISE9.li开发平台上进行了下载,搭建外围电路,用Agilem逻辑分析仪进行数据采集,分析测试结果。 首先,介绍了微电子设计的发展概况以及设计流程,重点介绍了HDL/FPGA的设计流程。其次,对I2C串行总线进行了介绍,重点说明了总线上的数据传输格式并对所使用的AT24C02 E2PROM存储器的读/写时序作了介绍。第三,基于Verilog _HDL设计了随机读/写的I2C接口电路、测试模块和显示电路;接口电路由同步有限状态机(FSM)来实现;测试模块首先将数据写入到AT24C02的指定地址,接着将写入的数据读出,并将两个数据显示在外围LED数码管和发光二极管上,从而直观地比较写入和输出的数据的正确性。FPGA下载芯片为Xilinx SPARTAN Ⅲ XC3S200。第四,用Agilent逻辑分析仪进行传输数据的采集,分析数据传输的时序,从而验证电路设计的正确性。最后,论文对所取得的研究成果进行了总结,并展望了下一步的工作。
上传时间: 2013-06-08
上传用户:再见大盘鸡
随着图像分辨率的越来越高,软件实现的图像处理无法满足实时性的需求;同时FPGA等可编程器件的快速发展使得硬件实现图像处理变得可行。如今基于FPGA的图像处理研究成为了国内外的一个热门领域。 本文在FPGA平台上,用Verilog HDL实现了一个研究图像处理算法的可重复配置的硬件模块架构,架构包括PC机预处理和通信软件,控制模块,计算单元,存储器模块和通信适配模块五个部分。其中的计算模块负责具体算法的实现,根据不同的图像处理算法可以独立实现。架构为计算模块实现了一个可添加、移出接口,不同的算法设计只要符合该接口就可以方便的加入到模块架构中来进行调试和运行。 在硬件架构的基础上本文实现了排序滤波,中值滤波,卷积运算及高斯滤波,形态学算子运算等经典的图像处理算法。讨论了FPGA的图像处理算法的设计方法及优化策略,通过性能分析,FPGA实现图像处理在时间上比软件处理有了很大的提高;通过结果的比较,发现FPGA的处理结果达到了软件处理几乎同等的效果水平。最后本文在实现较大图片处理和图像处理窗口的大小可配置性方面做了一定程度的讨论和改进,提高了算法的可用性,同时为进一步的研究提供了更加便利的平台。 整个设计都是在ISE8.2和ModelSim第三方仿真软件环境下开发的,在xilinx的Spartan-3E XC3S500E硬件平台上实现。在软件仿真过程中利用了ISE8.2自带仿真工具和ModelSim结合使用。 本课题为制造FPGA的专用图像处理芯片做了有益的探索性研究,为实现FPGA为核心处理芯片的实时图像处理系统有着积极的作用。
上传时间: 2013-05-30
上传用户:水瓶kmoon5
特点: 精确度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
特点(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
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
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
本文以LED流水灯程序为例,教你一步一步学会如何使用Keil C51软件编写程序,编译成Hex文件,在C51集成仿真调试环境中利用ME300开发板的仿真功能进行硬件仿真调试的这个过程。
标签: 51单片机
上传时间: 2013-12-15
上传用户:yiwen213