1. 研究目的与意义
基于Verilog HDL的SPI接口控制器设计是工程实践性课题,主要的目的是培养学生将所学习的电路知识、集成电路生将所学习的电路知识、集成电路设计和集成电路CAD的技能运用到实际的电路设计中,结合半导体加工厂的制造工艺,完成具有一定专用功能的专用集成电路设计。
SPI接口控制器即串行外围设备接口,是一种高速、全双工、同步的通信总线。只需要四条信号线即可,即CS片选信号、CLK同步时钟信号、SO主机输出信号(从机输入)、SI主机输入信号(从机输出),只有当片选信号有效时(一般为低电平),对此芯片的操作才有效,这就使得在同一总线上链接多个SPI设备成为可能。由于SPI接口控制器节约引脚,同时有利于PCB的布局。正式处于这种简单易用的特性,现在越来越多的芯片继承了这种通信协议。
2. 课题关键问题和重难点
由于此次的spi接口控制器设计要基于verilog hdl硬件描述语言和modelsim se软件的编程,由状态图确定逻辑电路,最终生成版图,烧录到板子上,进行测试应用。
课题关键点:主要确定电路的逻辑,功能的确定,和各功能的联系与独立。
课题难点:
3. 国内外研究现状(文献综述)
关于fpga。20世纪六十年代中期,ti公司大量生产了通用ic,如分别面向商用和军用的74系列和54系。这些通用的ic甚至沿用至今,仍是电子工程师电路板上不可或缺的一部分。20世纪80年代,出现了可编程逻辑控制期间,如spld和cpld,它们与asic相比,具有可充配置性和较短的开发调试时间,但实现的功能和电路都相对简单。为了弥补这一需要,xilin公司退出了第一块现场课变不成逻辑器件,并且在其后的几十年间,fpga得到了巨大的发展。
fpga应用于逻辑黏合与实时控制、信号处理与协议实现(如今的fpga具有内嵌乘法器、专用运算电路并集成了大量可灵活配置的片内ram等,使其足以与任何dsp相抗衡),fpga还应用于片上系统。
fpga的开发流程由需求分析、木块划分、设计输入、综合优化、时序收敛和仿真测试及最后的板级调试。
4. 研究方案
对于基于verilog hdl的spi接口控制器的设计采用硬件方式使用软件控制器对器件进行控制时,每发送和接收一个比特都必须对io引脚进行3次读写,这会占用mcu的处理时间,影响mcu对其它事务的处理。因此,考虑用硬件方式实现spi控制器硬件控制器采用verilog hdl语言编写,使用同步有限状态机设计实现。
先画出状态图,采用verilog hdl硬件描述语言对控制器进行逻辑语言的编写,反复检查编写的代码的正确性并用eda工具进行仿真测试。测试正确完整后,将代码烧录到fpga板子中进行验证,最后用版图生成工具生成版图。
硬件控制器方案需要fpga的资源允许,可以把多个spi控制器集成到fpga中,在只占用几个mcu地址的情况下将多个spi接口器件接入系统,即硬件实现方案具有很好的系统可扩性。
5. 工作计划
第1周:查找文献和翻译文献
第2周:撰写开题报告(开题报告对文献进行阅读、学习和研究,研究一些外国文献和国内优秀论文并将之保存下来以便后面设计时候的需要)。
第3周:分析所需要的功能并写出状态图,由状态图写出verilog hdl语言的编程,并检查它的正确性,分析电路系统的总体设计和规划。
