一种spi总线在ipran设备中的实现方法

文档序号:10471071阅读:262来源:国知局
一种spi总线在ipran设备中的实现方法
【专利摘要】本发明公开了一种SPI总线在IPRAN设备中的实现方法,具体为:在CPLD内构建SPI总线接口模块,实现构成SPI总线接口的四个信号;在控制寄存器,配置每个SPI总线接口的传输模式、SPI时钟的极性和相位以及传输速率;SPI控制状态机产生从选择标志位,写入从选择寄存器,并产生时钟任务信号控制SPI时钟输出的时机,控制寄存器中与SPI时钟的极性和相位相同的SPI总线接口开始数据传输;SPI控制状态机控制SPI移位寄存器对8bit读缓冲器数据的装载和移位;实时检测状态寄存器的状态,数据发送完成,装载下一个数据。本发明解决了因处理器没有SPI总线接口,而不能使用在需要该接口功能的单盘应用开发电路上的问题,且方便后期SPI总线接口电路的修改和维护。
【专利说明】
-种SPI总线在IPRAN设备中的实现方法
技术领域
[0001] 本发明设及数据通信设备,具体设及一种SPI总线在IPRA的受备中的实现方法。
【背景技术】
[0002] 目前,数据业务网正处在发展转型时期,在电信业务IP化趋势推动下,传送网承载 的业务从WTDM为主向WIP为主转变,新业务类型的不断出现,对传输网承载数据类型的多 样性提出了更高的要求。因此,CiTRANS R845设备对主控盘处理器的性能提出了更高的要 求,而前期使用的MPC8247处理器扣板已不能满足运样的需求。
[0003] 经过评估,其它型号处理器可W满足CiTRANS R845设备对主控盘处理器性能需 求,但是没有SPI总线接口,而由于SPI总线接口使用简单方便、节省系统资源,且很多忍片 都支持该接口,应用相当广泛,因此设计要求主控盘处理器能够通过SPI总线接口外挂铁电 存储器W及配置皿B忍片,所W运些没有SPI总线接口的处理器不能取代MPC8247处理器,而 嵌入式MPC8548处理器,它的CPU处理能力最高可达3065MIPS,支持2GB的内存,自带PCI 2.2 标准接口,可W外接2GB的CF卡,完全满足CiTRANS R845设备对主控盘处理器性能需求。但 是,MPC8548处理器却没有SPI总线接口,致使其不能取代MPC8247处理器满足CiTRANS R845 设备对主控盘处理器的设计要求。

【发明内容】

[0004] 本发明所要解决的技术问题是实际应用中主控盘处理器需要通过SPI总线接口外 挂铁电存储器W及配置册B忍片,但是一些符合CiTRANS R845设备对主控盘处理器性能需 求的处理器却没有SPI总线接口,致使其不能取代前期MPC8247处理器作为主控盘处理器的 问题。
[0005] 为了解决上述技术问题,本发明所采用的技术方案是提供一种SPI总线在IPRAN设 备中的实现方法,具体为:
[0006] 在CPLD内构建SPI总线接口模块,实现构成SPI总线接口的四个信号;其中,SPI总 线接口模块包括8bit读缓冲器、SPI移位寄存器、控制寄存器、状态寄存器、从选择寄存器和 SPI控制状态机;
[0007] 主处理器读或写控制寄存器,配置每个SPI总线接口的传输模式、SPI时钟的极性 和相位W及传输速率;
[000引根据主处理器从使能信号,SPI控制状态机产生相应从选择标志位,写入从选择寄 存器,相应SPI总线接口输出有效,并产生时钟任务信号控制SPI时钟输出到时机,控制寄存 器中与SPI时钟的极性和相位相同的SPI总线接口开始数据传输;SPI控制状态机将接收到 的数据存入8bit读缓冲器,并控制SPI移位寄存器对缓存数据的装载和移位;实时检测状态 寄存器的状态,确定数据发送完成后,装载下一个数据。
[0009] 在上述方法中,8bit读缓冲器在发送端为单缓冲,接收端为双缓冲。
[0010] 在上述方法中,所述状态寄存器包含发送完成标志位和系统出错标志位,当相应 的事件发生时,发送完成标志位和系统出错标志位的标志自动设置,清除则由软件来完成。
[0011] 在上述方法中,SPI总线接口开始数据传输后,如果一个字节数据传输结束后数据 传输开始信号依然有效的话,SPI控制状态机就接着传输下一个字节数据,且运时的SCK信 号要继续保持有效。
[0012] 在上述方法中,在通过SPI总线接口通信时,数据是同步进行发送和接收的;数据 传输的SPI时钟来自主处理器的时钟脉冲。
[0013] 在上述方法中,SPI总线接口模块的SPI时钟和与之通信的外设时钟相位和极性一 致。
[0014] 本发明用CPLD来模拟实现SPI总线接口的功能,不仅解决了因 MPC8548等处理器没 有SPI总线接口,而不能使用在需要该接口功能的单盘应用开发电路上的问题,而且CPLD有 很强的灵活性,其内部的具体逻辑功能可W根据需要来配置,方便后期对SPI总线接口电路 的修改和维护。
【附图说明】
[001引图巧本发明提供的一种SPI总线在IPRA的受备中的实现方法系统框图;
[0016] 图2为本发明中SPI时钟的时序图。
【具体实施方式】
[0017] 制定成标准的SPI总线已成为常用的外围器件连接方式,针对常用的外围存储器 件FLA細,具有SPI总线接口的FLA細忍片连接方便,通过CPLD编程可W便捷地实现FLA甜的 存取功能,因此基于CPLD的具有SPI总线接口的FLA甜功能的实现为工程设计提供了一种原 型,用CPLD来模拟实现SPI总线接口的功能是可行的。
[0018] 下面结合说明书附图和具体实施例对本发明做出详细的说明。
[0019] 如图1所示,本发明提供的一种SPI总线在IPRA的受备中的实现方法,具体为:
[0020] 没有SPI总线接口的处理器接入一个CPLD,并在CPLD内构建SPI总线接口模块,实 现构成SPI总线接口的四个信号,分别为MISO(串行数据输入)、M0SI (串行数据输出)、SCK (串行移位时钟)和CS(从使能信号)。其中,SPI总线接口模块包括8bit读缓冲器、SPI移位寄 存器、控制寄存器、状态寄存器、从选择寄存器和SPI控制状态机;
[0021] 处理器读或写控制寄存器,用于配置每个SPI总线接口的传输模式(主或是从)、 SPI时钟(串行移位时钟SCK)的极性和相位W及传输速率;
[0022] 根据处理器从使能信号CS,SPI控制状态机产生相应从选择标志位,替换从选择寄 存器内的原从选择标志位,相应SPI总线接口输出有效;并产生时钟任务信号控制SPI时钟 输出到SPI总线的时机,当SPI时钟的极性和相位与控制寄存器中一个SPI总线接口的对应 值相同时,对应SPI总线接口开始数据传输(输出和输入),直到SPI时钟的极性改变;SPI控 制状态机将接收到的数据存入8bit读缓冲器,并控制SPI移位寄存器对缓存数据的装载和 移位;实时检测状态寄存器的状态,确定数据发送完成后,装载下一个数据。
[0023] 在本发明中,8bit读缓冲器和SPI移位寄存器是SPI总线接口模块的核屯、部分,目 前,在实际传输中新发送的数据直到前一个数据发送结束才能写进移位寄存器,为了避免 数据溢出,本发明的CPU发送端为单缓冲,接收端为双缓冲,运样接收到的数据被送到一个 并行的8bit读数据缓冲器中,使得SPI移位寄存器能够自由的接收第二个串行数据,只要第 一个数据在第二个数据准备发送前被读出8bit读缓冲器,就不会产生数据的溢出。
[0024] 本发明的状态寄存器包含了发送完成和系统出错的标志位,当相应的事件发生 时,运些标志自动设置,清除则由软件来完成。
[0025] 在本发明中如果一个字节数据传输结束后,数据传输开始信号依然有效的话,SPI 控制状态机就接着传输下一个字节数据,且运时的SCK信号要继续保持有效。
[0026] 在通过SPI总线接口通信时,数据是同步进行发送和接收的。数据传输的串行移位 时钟来自主处理器的时钟脉冲。本发明对串行移位时钟的设置基于时钟极性(CP0L)和时钟 相位(CPHA)两个参数;CP化定义SPI串行移位时钟的活动状态,而CPHA定义相对于数据位的 时钟相位。CP0L和CPHA的设置决定数据取样的时钟沿。
[0027] SPI总线接口模块为了与外设(从设备)进行数据交换,根据外设工作要求,可W设 置串行移位时钟极性和相位。图2为SPI时钟的时序图,其中,C表示时钟(串行移位时钟),D 表示时钟前沿数据采样,Q表示时钟后沿数据输出,MSB为最高有效位;可见,时钟极性 (CP0L)对传输协议没有大的影响,如果CP化=0,串行移位时钟的空闲状态为低电平;如果 CP〇L=l,串行移位时钟的空闲状态为高电平。时钟相位(CPHA)用于配置进行数据传输的传 输协议(在两种不同的传输协议中选择之一进行数据传输),如果CPHA = 0,在串行移位时钟 的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行移位时钟的第二个跳变沿 (上升或下降)数据被采样。SPI总线接口模块的串行移位时钟和与之通信的外设时钟相位 和极性应该一致。
[0028] 本发明数据传输的过程为:从使能信号CS决定唯一与主设备通信的从设备(如没 有CS信号,则只能存在一个从设备),主设备(处理器)通过产生串行移位时钟(SCK)发起通 信,在通过SPI总线接口通信时,数据在串行移位时钟的上升沿或下降沿从M0SI输出,在紧 接着的下降沿或上升沿由MIS0读入,运样经过8/16次时钟改变,完成8/16位数据的传输。
[0029] 下面例举出SPI控制状态机通过Verilog硬件描述语言实现的具体实例,在该实例 中,采用自顶向下的设计方法,从系统级开始,把系统划分为几个基本的单元,其中,主模式 下SPI控制器部分的时序用有限状态机来实现。用Verilog硬件描述语言实现SPI控制器的 状态机如下:
[0030]







[0038]显然,本领域的技术人员可W对本发明进行各种改动和变型而不脱离本发明的精 神和范围。运样,倘若本发明的运些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含运些改动和变型在内。
【主权项】
1. 一种SPI总线在IPRAN设备中的实现方法,其特征在于,具体为: 在CPLD内构建SPI总线接口模块,实现构成SPI总线接口的四个信号;其中,SPI总线接 口模块包括8bit读缓冲器、SPI移位寄存器、控制寄存器、状态寄存器、从选择寄存器和SPI 控制状态机; 主处理器读或写控制寄存器,配置每个SPI总线接口的传输模式、SPI时钟的极性和相 位以及传输速率; 根据主处理器从使能信号,SPI控制状态机产生相应从选择标志位,写入从选择寄存 器,相应SPI总线接口输出有效,并产生时钟任务信号控制SPI时钟输出的时机,控制寄存器 中与SPI时钟的极性和相位相同的SPI总线接口开始数据传输;SPI控制状态机将接收到的 数据存入8bit读缓冲器,并控制SPI移位寄存器对缓存数据的装载和移位;实时检测状态寄 存器的状态,确定数据发送完成后,装载下一个数据。2. 如权利要求1所述的方法,其特征在于,8bit读缓冲器在发送端为单缓冲,接收端为 双缓冲。3. 如权利要求1所述的方法,其特征在于,所述状态寄存器包含发送完成标志位和系统 出错标志位,当相应的事件发生时,发送完成标志位和系统出错标志位的标志自动设置,清 除则由软件来完成。4. 如权利要求2所述的方法,其特征在于,SPI总线接口开始数据传输后,如果一个字节 数据传输结束后数据传输开始信号依然有效的话,SPI控制状态机就接着传输下一个字节 数据,且这时的SCK信号要继续保持有效。5. 如权利要求2所述的方法,其特征在于,在通过SPI总线接口通信时,数据是同步进行 发送和接收的;数据传输的SPI时钟来自主处理器的时钟脉冲。6. 如权利要求2所述的方法,其特征在于,SPI总线接口模块的SPI时钟和与之通信的外 设时钟相位和极性一致。
【文档编号】G06F13/42GK105824777SQ201610158210
【公开日】2016年8月3日
【申请日】2016年3月18日
【发明人】陈立超
【申请人】烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1