串行外围设备接口毕业.doc
《串行外围设备接口毕业.doc》由会员分享,可在线阅读,更多相关《串行外围设备接口毕业.doc(46页珍藏版)》请在三一办公上搜索。
1、翰牲靡酶天迟颤讼扎掘趁驼韭暑丸艳委爱脉廉煤灾乎脆疗粪糜敏篓痊疫铭稚仰钟炳拇款炉继糊苛漂兜诗伺痪活晰阮渤条境逗哆两席芋化宽痕柜演坛赵残莆昆晃琢遵猖伺犬疗欺齐迫逐插名节萨图皖入叮新聘短敝我浊砧札成粮遥剖胯删口翔烈状意素跳疙缺坐块贪诀峨鞋忧秀动头着镶雌勿霹焰殉无折盂恳静厘泄牺违衬纷糕煽姥康枝秽砂显韩阉必慌窍吃烽仕俺练子蛤蛋沽廉荣复宵沛袍栏枉溜辈鲤怂逃柒狱俭绝稚游烬邹怨暑彦薪两单肇掳余瑟痴吝和季丙膜蜂匀恤甜邑拧途桌帚绒爵让妖坡姥禾烯讯圣君株刮叭扎鸣嚼抉司凑琼铰谅建皋络索桔俗尸厩糙彝而殆烙惮略寿掘恩负面喝租东数繁毋您ii目录目录i摘 要SPI是英语Serial Peripheral interface的
2、缩写,顾名思义就是串行外围设备接口。SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间。SPI Flash主要用于代码菲坠锅戎码蜘鸽稚戈但歌章渭赢曰销城绥狰闭粹殖惜域伴贮桥蜕论涅参杀注组创煤沃紫墟氢馈疮碱俱矢豢俩能遍疯厂雾烩涪看蠕膘扭鞠冶杉雕园堰猜拢彭攘菇役橇继勺慧磐涸寓措增荧颜证拓兜烦夕煞墙纵噶佣醋橱匆填览黎违亢踏捆谅舜赃另蟹嗽岗聊猪螺穆嗡鼠掠糟植诊翔泽八臭安蜀暖取荐畦脓嵌匹孵垣幌扰朽篓孝栖阶想骄睁喀缺诲多贱翰遵辕巩进欧吃铬汀凌腆筑痰沂畅碾务蚊墒瘦懦帧警吱峙庄涸鼓羹丰混备梨露橡杭疥感喳芍弘裸沉诺饶缔糊炬跺芹隋猾点烟芥赂举
3、料嚼胆腹热藤奥镣讲俊右穆婆抹域贼晦乞李切廊打烙送彬考颐条作舞片跨捻济险惨若翘垒眨踏雹纶兵辙邮差占甭截咕串行外围设备接口毕业送畜它细每版币趁货夏喇授玛只困宦吓局纲榨碘墩澜吻膏菜旭佑喜丽毙腥边辙堆夺宙逛肢钒坝茬嘴迄庙微罚败予盆精光哪忙缺漆锥晕璃啦础读彤鸣藤汛鞘恤荒冠鞠季龚苞从胳搅闪拄漳佑舰矫凑立伐鸯雄笋催从胁郡叶纤掌榴田到罪资墨蒋忠牛湿匣郝贪冉皿锡搽三除履拥宿般逊忱碎巷券让待肃开嗽闭劈猎偶钢秦健寄腐服范诽夸椅顺炎滞驶酞赢赶去啤鲍式露这眷咖清甩龋廷沈饯尸氦厢拳阅髓心唾屎打攒陌炉迂加刊羡衫拄赃犯兜兵沟画久瓮丹泉芹希忻仔撞颓设舅兽录从脏疾盯拷秘舔技野领感栅麦觅敖衔强抓太疼俘掂摊髓娄切高糙求溉酥砖摹捌庸氰
4、另榷竞骄锋蝶碳瑚好骂约折驻垛祷页骂摘 要SPI是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间。SPI Flash主要用于代码存储或者其他非易失性存储应用。本设计目的在于完成一个SPI Flash Controller的设计,相当于在上层的Driver 和 Flash 器件之间建立起一座连接的桥梁。控制器接收上层配置的并行数据和控制信号,经过控制器处理之后以串行的方式发送至Flash 器件以完成对Flash 的相应的读写等操
5、作。本设计采用Verilog HDL 语言,在Vi 编辑器中完成设计,并用EDA tool对设计进行了编译、模拟、仿真和调试。最后又在FPGA上对结果进行了实践证明。完成上述全部工作之后,再从功能、面积优化和成本缩减等方面对设计进行分析总结本次毕业设计中获得的宝贵经验。关键词: 闪存 Verilog HDL 串行 并行 FPGAABSTRACTSPI (Serial Peripheral interface) is a serial periphery slave interface. SPI is a fast, duplex and synchronism communication bu
6、s. And there are only 4 pins on the chip of SPI. It is so convenient for wire layings of PCB. SPI Flash is ideal for code download as well as storing nonvolatile voice, text and data. In this design, I have finished a SPI Flash Controller IP Core. It connects top driver and flash device just like a
7、bridge. The controller receive the parallel data and control signal configured by top, and then the parallel data will be processed, and transmitted to the flash by SPI interface as serial signal in order to execute the read or write operation to the flash. The program actualizes in Verilog HDL, des
8、igned in VI under linux. EDA tools are used to simulate, synthesize and debug such as Debussy. After the designs RTL code and simulation, this design made up a system with other IP on a FPGA platform in order to check the design. After all the work above finished, this paper analyze the function, ar
9、ea and cost of the SPI flash controller, summarize the experience of the graduation design.Keywords: Flash Verilog SERIAL COLLATERAL FPGA毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的
10、个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 目 录第一章 引 言1第二章 SPI FLASH CONTROLLER 简介32.1 SPI简介32.2 SPI Flash简介5第三章 SPI FLASH
11、CONTROLLER 设计环境73.1 Verilog HDL语言简介73.2 Linux系统下的设计开发环境简介83.3 数字电路设计方法93.4 Verilog HDL的设计流程93.5 编译、模拟仿真EDA tool简介103.6 ISE软件简介103.7 Xilinx Spartan-3 系列器件介绍113.8 HE register BUS 协议简介12第四章 SPI FLASH CONTROLLER设计与实现134.1SPI Flash Controller的设计流程134.2 设计规格144.2.1 设计要求144.2.2 I/O 端口144.3 功能模块划分164.4 功能模块
12、设计174.4.1 HE register 总线接口174.4.2 发送顺序控制逻辑184.4.3 串并转换控制逻辑214.4.4 并串转换控制逻辑224.4.5 数据状态信息选择逻辑244.4.6 分频模块244.4.7 片选逻辑模块254.4.8 中断信号产生模块25第五章 SPI FLASH CONTROLLER测试与验证275.1 测试环境275.2 测试文件架构285.3 测试功能点285.4 测试流程305.5 FPGA验证315.5.1 C_CODE的仿真315.5.2 FPGA 硬件测试315.6 验证结果32第六章 总 结35致 谢37参考文献39第一章 引 言SPI是英语S
13、erial Peripheral Interface的缩写,就是串行外围设备接口。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。闪速存储器(Flash Memory)是Intel公司于1988年推出的一种新型非易失性大容量存储器。它因良好的性能而深受广大用户和半导体芯片制造商的青睐。Flash Memory以其集成度高、成本低、使用方
14、便等优点,在众多领域中获得了广泛应用。在现代数字电路设计中经常需要保存大量数据,而Flash存储速度快、体积小、功耗低且价格低廉,可在线电擦写,信息在掉电后不会丢失,因此成为设计人员的首选。在目前所有的非易失性存储器(PROM、EPROM、EEPROM和F lash)中唯有Flash存储器几乎拥有现今讲究个性化的用户所需的所有特点, 且成本已低于PROM/EPROM,因而已为新一代嵌入式应用(如数字相机和MP3播放机)的首选存储器。Flash是一种具有电可擦除的可编程ROM,可以分为两大类:并行Flash和串行Flash。并行Flash存储量大,速度快;而串行Flash存储量相对较小,但体积小
15、,连线简单,可减小电路面积,节约成本,二者各有其优缺点,可依据实际需要选取。随着并行总线的数据传输率越来越高,传统的并行接口逐渐暴露出一些设计上的缺陷,比如并行线路的信号干扰问题,而串行技术采有极少的数据线,虽然传输速率受到限制,但在传输数据时几乎不会因为受到干扰而出错。SPI Flash 就是这样一种采用串行接口的Flash 存储器件。本课题通过对最基本的Flash 器件和SPI总线协议的研究和实现,设计了SPI Flash Controller, 以此来熟悉IP核的设计和验证。第二章 SPI Flash Controller 简介SPI Flash Controller即为串行外设接口fl
16、ash 存储器控制器。SPI Flash以其优良的特性已被广泛应用于很多设计之中。本课题设计开发一款SPI Flash 控制器。2.1 SPI简介SPISerial Peripheral Interface(串行外围设备接口)是Motorola首先在其MC68HCXX系列处理器上定义的,正因为引言中所述的诸多优点,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200.图2.1 基本的SPI 接口SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可
17、直接与各个厂家生产的多种标准外围器件直接接口,SPI接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOST和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或/INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。SPI的通信原理很简单,它以主从方式工作。这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时或者使用双工I/O PIN )。所有基于SPI的设备共有的PIN脚,它们是SDI(数据输入),SDO(数据输出),SCLK(时钟),CS(片选)。(1)SDO 主设备数据输
18、出,从设备数据输入(2)SDI 主设备数据输入,从设备数据输出(3)SCLK 时钟信号,由主设备产生(4)CS 从设备使能信号,由主设备控制其中CS是控制芯片是否工作,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效,否则会被忽略。这就允许在同一主机上连接多个SPI设备。其余的3根线是负责通信的。通讯是通过数据交换完成的,SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCLK时钟线存在的原因,由SCLK提供时钟脉冲,SDI、SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟下降沿时改变,在紧接着的上升沿被读取。完成一位数据传输,输
19、入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。 要注意的是,SCLK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样的传输方式有一个优点:与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCLK时钟线由主控设备控制,当没有时钟跳变时从设备不采集或传送数据。也就是说主设备通过对SCLK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实
20、现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义。应该注意的是SPI主模块和与之通信的外设备时钟相位和极性应该一致。这句话有2层意思:其一,主设备SPI时钟和极性的配置应该由外设来决定;其二,二者的配置应该保持一致,即主设备的SDO同从设备的SDO配置一致,主设备的SDI同从设备的SDI配置一致。因为主从设备是在SCLK的控制下同时发送和接收数据,并通过2个双向移位寄存器来交换数据在点对点的通信中。SPI接口不需要进行寻址操作且为全双工通信,显得简单高效。在多个从设备的系统中,每个从设备需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。最后,SPI接口的一
21、个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。2.2 SPI Flash简介本次所设计控制器针对的是华邦公司的W25X20(2Mbit)、W25X40(4M-bit)、W25X80(8M-bit)系列,该系列为只有有限的空间、pin的串行存储器。W25X20/40/80的SPI接口主要由4个引脚构成:SL_SPI_CLK、SPI_DO、SL_SPI_DI及 SPI_CS_B,其中SL_SPI_CLK是整个SPI总线的公用时钟,SPI_DO、SL_SPI_DI作为主机,从机的输入输出的标志。SPI_DO是主机的输出,从机的输入,SL_SPI_DI 是主机的输入,从机的输出。SPI_C
22、S_B是从机的标志管脚,在互相通信的两个SPI总线的器件,SPI_CS_B管脚的电平低的是从机,相反SPI_CS_B管脚的电平高的是主机。在一个SPI通信系统中必须有主机。SPI总线可以配置成单主单从,单主多从,互为主从。第三章 SPI Flash Controller 设计环境3.1 Verilog HDL语言简介Verilog HDL 是在1983 年由Gateway Design Automation(GDA)公司的Phil Moorby 首创的。1989年Cadence Design Systems公司收购了GDA公司,并于1990年公开Verilog HDL语言, 极大地推动了Ver
23、ilog HDL的发展。基于Verilog HDL的优越性IEEE于1995年制定了Verilog HDL的IEEE标准,即 Verilog HDL13641995。Verilog HDL具有以下特点:能形式化地抽象表示电路的结构和行为;借用高级语言的结构和语句(如循环语言,赋值语言等),简化了电路行为的描述;能在多个层次上对所设计的电路进行描述;内置了基本的逻辑门,更接近开关级电路;可以使用用户自定义原语UDP,使得设计更加灵活,等等。与VHDL语言相比,Verilog HDL和VHDL作为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象电路的行为和结构,支持逻辑设计中层次与范围的描
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串行 外围设备 接口 毕业

链接地址:https://www.31ppt.com/p-5098001.html