SPI与Localbus的互通方法及其应用的制作方法

文档序号:6552210阅读:1173来源:国知局
SPI与Localbus的互通方法及其应用的制作方法
【专利摘要】本发明公开了一种SPI与Localbus的互通方法,用于实现处理器的SPI接口与芯片的Localbus之间的通讯,用CPLD连接处理器的SPI接口和Localbus,以处理器的SPI接口为主机模式,以CPLD的SPI接口为从机模式,CPLD外接50MHz的有源晶振作为同步时钟;所述互通方法根据CPLD的SPI接口的片选信号变化而对处理器的SPI接口数据和Localbus作不同处理。本互通方法应用于网络语音交换设备。本发明通过在处理器的SPI接口和芯片的Localbus之间连接CPLD,将Localbus的读写操作全部转换到CPLD的SPI接口和处理器的SPI接口上操作,将芯片与处理器之间的连接做到最大程度的简化,提高了连接的可靠性,降低了开发难度,大大节约了系统成本。
【专利说明】SPI与Localbus的互通方法及其应用

【技术领域】
[0001 ] 本发明涉及一种通讯方法及应用,尤其涉及一种SPI与Localbus的互通方法及其应用。

【背景技术】
[0002]SPI (Serial Peripheral Interface)接口即串行外围设备接口,是一种高速的全双工同步通信接口,系统中需要主、从模式配合使用。SPI接口通常使用4条信号线,分别是CLK即串行时钟线、MOSI即主机输出/从机输入线、MISO即主机输入/从机输出线和SEL即片选信号线。SPI控制器的核心是2个移位寄存器,分别用于数据的输入和输出,由于使用的信号线少,因此电路设计简单,同时却十分高效。
[0003]Localbus又称为CPU总线或局部总线或本地总线,根据高低位地址线序的差异分为Motorola CPU总线和Intel CPU总线,二者主要结构相同。Localbus通常包括数据线、地址线和控制线。CPU通过控制线发起读或者写操作,同时用地址线告知从设备CPU将要操作的地址,最后从数据线上完成数据的读或写操作。
[0004]在一些通讯设备中,往往会同时存在SPI接口和Localbus,比如网络语音交换设备,下面对网络语音交换设备进行具体介绍:
[0005]随着IP技术与语音交换技术的快速发展,中小企业对网络语音交换设备的个性化需求越来越来多样化,网络语音交换设备对传统电信中继线路如El、PSTN、GSM与网络技术的融合提出了更多的需求。
[0006]在全球范围来看,由于各地区电信运营商在规划和建设基础中继线路上差别明显,比如欧洲大部分国家仍然使用的是ISDN BRI中继线路,而很多以岛屿为主的国家会直接使用GSM作为中继线路。每种中继线路使用到的模块或者芯片提供的信令控制接口种类众多,因此很多网络语音交换设备会针对不同的中继采用不同的接口,或者通过一系列产品型号来满足不同的需求,这样必然会增加系统成本。


【发明内容】

[0007]本发明的目的就在于为了解决上述问题而提供一种结构简单、基于CPLD的SPI与Localbus的互通方法及其应用。
[0008]本发明通过以下技术方案来实现上述目的:
[0009]一种SPI与Localbus的互通方法,用于实现处理器的SPI接口与芯片的Localbus之间的通讯,用CPLD连接处理器的SPI接口和Localbus,以处理器的SPI接口为主机模式,下称SPI主机接口,以CPLD的SPI接口为从机模式,下称SPI从机接口,CPLD外接50MHz的有源晶振作为同步时钟;所述互通方法如下:在SPI主机接口发起写操作命令时,首先发出第一个字节数据0x6F,第二个字节为操作芯片的寄存器地址,第三个字节为写入芯片当前地址寄存器的数据;对应CPLD中SPI从机接口和Localbus的写操作流程为:系统复位时将所有变量做初始化操作;SPI从机接口时钟频率为12MHz,以50MHz作为同步时钟,在SPI从机接口片选为低电平,同时SPI从机接口时钟处于上升沿后的稳定高电平状态下,将临时变量spi_cnt作加I操作;如果片选为高电平,则将spi_cnt清O,同时,片选为低电平状态时,SPI从机接口时钟处于上升沿后的稳定高电平状态时,按照spi_cnt的数值将SPI主机接口输出的稳定数据MOSI存入变量spi_in的对应位;在片选信号变化为高电平的稳定状态下,如果SPI主机接口的状态寄存器spi_cmd_cnt值为O,判断spi_in的值,如果是0x6F,将 spi_cmd_cnt 置为 I,如果 spi_cmd_cnt 值为 2,就将 spi_cmd_cnt 作清 O 处理,否则spi_cmd_cnt作加I处理;当spi_cmd_cnt值为I时,同时片选处于由电平到高电平变化后的第一个稳定时刻,将spi_in中的地址数据写入Localbus的地址总线;当spi_cmd_cnt值为2时,同时片选处于由电平到高电平变化后的第一个稳定时刻,将spi_in中的数据写入Localbus的数据总线;当spi_cmd_cnt值为O时,同时片选处于由电平到高电平变化后的第一个稳定时刻,Localbus的写信号置O,完成一次Localbus写操作;SPI从机接口发送Localbus到SPI主机接口的操作流程是其写操作的反向操作,区别在于SPI主机接口发送的第一个数据为0x2F。
[0010]一种SPI与Localbus的互通方法的应用,所述互通方法应用于网络语音交换设备,所述网络语音交换设备包括嵌入式Blackfin处理器、El芯片和所述CPLD,所述嵌入式Blackfin处理器包括所述SPI主机接口,所述El芯片包括所述Localbus。
[0011]本发明的有益效果在于:
[0012]本发明通过在处理器的SPI接口和芯片的Localbus之间连接CPLDjf Localbus的读写操作全部转换到CPLD的SPI接口和处理器的SPI接口上操作,将芯片与处理器之间的连接做到最大程度的简化,提高了连接的可靠性,同时也统一了主控芯片的软、硬件设计,降低了开发难度,大大节约了系统成本。
[0013]将本互通方法应用于网络语音交换设备,具有性价比高、灵活性强的优点,使用相同的主控平台和硬件接口,通过选配不同的电信中继接口模块,如GSM、FX0、El等就可以满足不同国家不同区域的个性化需求。

【专利附图】

【附图说明】
[0014]图1是本发明所述网络语音交换设备内CPLD的SPI接口和Localbus之间的连接示意图。

【具体实施方式】
[0015]为了更具体地说明本
【发明内容】
,下面以一个具体的网络语音交换设备的接口应用为例,结合附图对本发明作详细描述:
[0016]如图1所示,网络语音交换设备包括嵌入式Blackfin处理器(图中未示出)、E1芯片和CPLD,嵌入式Blackfin处理器包括SPI主机接口(与图中的CPLD的SPI从机接口连接,应该位于CPLD的左端,但因为图中的CPLD、El芯片和中继出口为一个整体模块,所以图中未示出Blackfin处理器及其SPI主机接口),El芯片包括Localbus。
[0017]Blackfin处理器用Blackfin双核500MHz的BF607作为主控芯片,BF607内置网络控制器、DDR控制器、USB控制器以及内部自带32K指令缓存和32K数据缓存,具有足够的运算能力处理El线路的语音及信令控制;E1芯片选用Infineon公司的PEF2256H,该芯片支持E1/T1模式,信令控制采用Localbus ;CPLD选用Lattice公司的LCMX02-256H,与El芯片PEF2256的Localbus采用同步传输模式,所以硬件设计阶段加入了 I颗外接50MHz的有源晶振作为同步时钟;中继出口选用RJ48。
[0018]如图1所示,以Blackfin处理器的SPI接口为主机模式,下称SPI主机接口,以CPLD的SPI接口为从机模式,下称SPI从机接口,所述互通方法如下:在SPI主机接口发起写操作命令时,首先发出第一个字节数据0X6F,第二个字节为操作芯片的寄存器地址,第三个字节为写入芯片当前地址寄存器的数据;对应CPLD中SPI从机接口和Localbus的写操作流程为:系统复位时将所有变量做初始化操作;SPI从机接口时钟频率为12MHz,以50MHz作为同步时钟,在SPI从机接口片选为低电平,同时SPI从机接口时钟处于上升沿后的稳定高电平状态下,将临时变量spi_cnt作加I操作;如果片选为高电平,则将spi_cnt清0,同时,片选为低电平状态时,SPI从机接口时钟处于上升沿后的稳定高电平状态时,按照spi_cnt的数值将SPI主机接口输出的稳定数据MOSI存入变量spi_in的对应位;在片选信号变化为高电平的稳定状态下,如果SPI主机接口的状态寄存器spi_cmd_cnt值为O,判断spi_in的值,如果是0x6F,将spi_cmd_cnt置为I,如果spi_cmd_cnt值为2,就将spi_cmd_cnt作清O处理,否则spi_cmd_cnt作加I处理;当spi_cmd_cnt值为I时,同时片选处于由电平到高电平变化后的第一个稳定时刻,将spi_in中的地址数据写入Localbus的地址总线;当spi_cmd_cnt值为2时,同时片选处于由电平到高电平变化后的第一个稳定时刻,将spi_in中的数据写入Localbus的数据总线;当spi_cmd_cnt值为O时,同时片选处于由电平到高电平变化后的第一个稳定时刻,Localbus的写信号置O,完成一次Localbus写操作;SPI从机接口发送Localbus到SPI主机接口的操作流程是其写操作的反向操作,区别在于SPI主机接口发送的第一个数据为0x2F。
[0019]说明:图1中示出了各接口的全部或部分信号线和对应信号名称,这些信号线均为接口自带的常规信号线,不是本发明的创新,本发明的创新主要在于使用软件实现对具体信号的控制,达到利用CPLD实现SPI主机接口与Localbus之间通讯的目的。
[0020]上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。
【权利要求】
1.一种SPI与Localbus的互通方法,用于实现处理器的SPI接口与芯片的Localbus之间的通讯,其特征在于:用CPLD连接处理器的SPI接口和Localbus,以处理器的SPI接口为主机模式,下称SPI主机接口,以CPLD的SPI接口为从机模式,下称SPI从机接口,CPLD外接50MHz的有源晶振作为同步时钟;所述互通方法如下:在SPI主机接口发起写操作命令时,首先发出第一个字节数据0x6F,第二个字节为操作芯片的寄存器地址,第三个字节为写入芯片当前地址寄存器的数据JtSCPLD中SPI从机接口和Localbus的写操作流程为:系统复位时将所有变量做初始化操作;SPI从机接口时钟频率为12MHz,以50MHz作为同步时钟,在SPI从机接口片选为低电平,同时SPI从机接口时钟处于上升沿后的稳定高电平状态下,将临时变量spi_cnt作加I操作;如果片选为高电平,则将spi_cnt清0,同时,片选为低电平状态时,SPI从机接口时钟处于上升沿后的稳定高电平状态时,按照spi_cnt的数值将SPI主机接口输出的稳定数据MOSI存入变量spi_in的对应位;在片选信号变化为高电平的稳定状态下,如果SPI主机接口的状态寄存器spi_cmd_cnt值为O,判断spi_in的值,如果是0x6F,将spi_cmd_cnt置为I,如果spi_cmd_cnt值为2,就将spi_cmd_cnt作清O处理,否则spi_cmd_cnt作加I处理;当spi_cmd_cnt值为I时,同时片选处于由电平到高电平变化后的第一个稳定时刻,将spi_in中的地址数据写入Localbus的地址总线;当spi_cmd_cnt值为2时,同时片选处于由电平到高电平变化后的第一个稳定时刻,将spi_in中的数据写入Localbus的数据总线;当spi_cmd_cnt值为O时,同时片选处于由电平到高电平变化后的第一个稳定时刻,Localbus的写信号置O,完成一次Localbus写操作;SPI从机接口发送Localbus到SPI主机接口的操作流程是其写操作的反向操作,区别在于SPI主机接口发送的第一个数据为0x2F。
2.一种如权利要求1所述的SPI与Localbus的互通方法的应用,其特征在于:所述互通方法应用于网络语音交换设备,所述网络语音交换设备包括嵌入式Blackfin处理器、El芯片和所述CPLD,所述嵌入式Blackfin处理器包括所述SPI主机接口,所述El芯片包括所述 Localbus。
【文档编号】G06F13/40GK104077258SQ201410315594
【公开日】2014年10月1日 申请日期:2014年7月3日 优先权日:2014年7月3日
【发明者】林雪峰 申请人:成都智科通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1