- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
支持错误检测SPI从机模块策划与实现
支持错误检测的SPI从机模块的设计与实现 摘 要
SPI是一种常见的串行总线接口,可将串行信号转化为并行信号,有效地节约芯片的引脚。本文开发了一种SPI从机模块,它是Ku频段相控阵芯片的一部分。其基本结构参照SPI标准设计,在标准的基础上添加了奇偶校验与自检验功能,使接口具备了在复杂电磁环境下检测传输错误的能力。本文使用数字芯片的设计方法,完成了从前端功能设计到后端设计的全部流程,并进行了流片。使用FPGA作为主机对芯片进行了测试,结果符合预期,实现了设计目标
【关键词】SPI 从机模块 数字芯片设计
当需要向集成电路芯片并行地传输大量信号时,会占用许多芯片引脚;但这些引脚属于稀缺资源,不能被大量占用。为此,需要在芯片中添加接口模块,接口使用串行模式接收数据,在内部转换为并行模式后再传递给后端模块
SPI(Serial Peripheral Interface)是Motorola提出的一种同步串行外设接口[1],允许主机与外部设备进行串行、同步以及全双工的通信;它包括主机模块和从机模块。SPI使用四条信号线,分别是串行时钟(SCLK)、主机输出/从机输入(MOSI)、主机输入/从机输出(MISO)以及使能信号(SS),若是需要控制多个从机只需要增加相应的使能信号线。SPI能节约大量的引脚资源,因此被运用于各种芯片当中
本文研究开发了一种SPI从机模块,它是某雷达芯片的一部分。该芯片需要同时输入44路控制信号,若使用并行输入,需要44个对外引脚,这会使芯片面积大幅增大,增加成本。本文将主机控制信号串行地输入芯片,通过SPI转换成并行信号,再传输给芯片的后端模块。根据应用环境的需要,以SPI标准为基础,本文增加了自检验与奇偶校验两种纠错模式,使芯片具备了在复杂电磁环境中进行错误检测的能力
1 SPI从机模块整体结构
标准SPI从机模块一般包括循环移位寄存器与相关控制电路。为了支持奇偶校验与自检验的功能,本文设计的SPI从机模块增加了自检验模块、奇偶校验模块以及模式判断模块,整体结构如图1所示
1.1 循环移位寄存器
这是是本设计的核心部分。SPI的主机与从机分别有一个循环移位寄存器,首尾相连,由同步时钟驱动。每个时钟周期,主机移位寄存器末尾的数据位通过MOSI进入从机移位寄存器的队首,相应的从机移位寄存器末尾的数据通过MISO进入主机移位寄存器的队首,这样就实现了串行、同步、全双工的通信
1.2 输出寄存器
由主机传递至从机的数据要求在稳定之后并行读取,本设计在移位寄存器后添加了一个相同宽度的输出寄存器,由FINISH信号控制,当检测到FINISH信号的上升沿时将移位寄存器输出的数据读入输出寄存器
1.3 模式判断模块
用于判断对本帧数据进行何种检测。在每帧数据前添加了3位模式判断位,模式判断模块读取前3位数据并进行判断,决定启动哪种检测模块。传输数据时,数据与时钟信号同步传输,第1位数据到达时第1个时钟沿也同时到达,数据进入移位寄存器,模式判断模块中计数器开始计数。计数到3后,计数器产生一个信号,将已经进入移位寄存器的3位数据读入模式判断模块中的寄存器,并对数据进行判断,改变控制信号control的逻辑值,使能不同的模式
1.4 奇偶校验模块
检测主机至从机的传输过程中是否出错。数据按帧传输,每帧44位,要求对每帧数据进行奇偶校验。每帧数据末尾添加了1位奇偶校验位,主机根据传输的数据位确定校验位,要求保证44位数据位加1位校验位共45位数据中1’的个数为偶数。若模式判断模块判定应当进入奇偶校验模式,则启动奇偶校验模块,将该45位数据读入奇偶校验模块中的寄存器,并判断其中1’的个数。若为偶数则认为传输中没有出现错误。同时输出寄存器读入44位有效数据位至后端模块
1.5 自检验模块
检查内部寄存器是否出现问题。进入自检验模式后移位寄存器不再接收主机传来的数据,改为接收自检验模块产生的一组已知数据。传输完成后,自检验模块再读出移位寄存器内的数据,与已知数据进行比较,若两者相同说明寄存器工作正常,若有不同之处则说明寄存器出现故障。该模块接收control信号作为使能,高位有效;即control为“1”时启动自检测模块,进入自检测模式。若进入自检验模式,切换输入移位寄存器的数据流,改为输入自检验模块产生的已知数据流。接到主机传来的FINISH信号后,自检测模块读取移位寄存器中的数据,与已知数据进行比较,判断是否出现错误
2 SPI接口的前端与后端设计
前端设计指的是模块逻辑功能的设计,使用硬件设计语言对模块逻辑功能进行描述,最后仿真验证。本文使用VHDL进行前端设计,VHDL是IEEE和美国国防部确立的标准硬件描述语言
后端设计指的是从逻
文档评论(0)