支持主从模式的spi接口的制作方法_2

文档序号:8395828阅读:来源:国知局
频;
[0053]IIB为CPU时钟8分频。
[0054]所述状态寄存器,共2个bit,从高到低依次是:SPI_INT,SCIP。
[0055]SPI_INT,为SPI接口中断请求标志。SPI_INT=0,为无SPI接口中断请求;SPI_INT=1,为SPI接口中断请求发生。该位由硬件置位,软件清O。
[0056]SCIP,为SPI接口传输状态位。SCIP=O,为SPI接口不在传输中;SCIP=1,为SPI接口传输中。当软件设置所述控制寄存器的SCGO位为I时,硬件自动设置SCIP为1,直到传输完成。硬件自动对SCIP进行置位和清零操作,软件通过读取SCIP获得SPI接口传输状态,以确定是否可以安全的读取数据,进行下一个命令操作。仅当此位为O时,软件才可以操作下一个SPI接口指令。
[0057]所述从模式握手寄存器,共8个bit,为SPISLBUFF[7:0]。
[0058]SPISLBUFF[7:0],为SPI从握手数据/缓冲;用于SPI接口从模式轮询状态数据或SPI接口从模式传输缓冲。SPI从模式传输时,SPISLBUFF[7:0]作为第一个数据传输,所述16字节数据寄存器中数据寄存器SPIDATA0中寄存的数据作为第二个数据传输。
[0059]16字节数据寄存器,SPIDATA0?15,每个寄存器8个bit。
[0060]SPIDATA0?15是16个可寻址数据寄存器,是SPI接口最重要的组成部分,发送和接收共用。它是串行移位结构,发送时,数据寄存器0,数据寄存器I,数据寄存器2……的内容依次串行发出。同时,接收到的数据依次刷新数据寄存器O即SPIDATA0,数据寄存器I即SPIDATA1,数据寄存器2即SPIDATA2......的内容。
[0061]图中,“MOSIm/MISOs”,表示所述并转串接口,作为SPI主模式使用时,为主模式输出,从模式输入;作为SPI从模式使用时,为主模式输入,从模式输出。
[0062]“MISOm/MOSIs”,表示所述串转并接口,作为SPI主模式使用时,为主模式输入,从模式输出;作为SPI从模式使用时,为主模式输出,从模式输入。
[0063]以上通过【具体实施方式】对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
【主权项】
1.一种支持主从模式的SPI接口,其特征在于,包括: 一链路层,用于数据输入和输出的传输; 一控制寄存器,与所述链路层相连接,用于配置收发数据字节数、中断使能、从设备16字节使能、输出全零使能和主模式传输启动; 一配置寄存器,与所述链路层相连接,用于配置主从模式选择、最高有效位MSB选择、最低有效位LSB选择、极性、相位和主模式时钟分频; 一状态寄存器,与所述链路层相连接,用于寄存操作完成标志和中断标志; 一从模式握手寄存器,其输入端与一串转并接口的输出端相连接,其输出端与一并转串接口的输入端相连接,仅在从模式下可见;同时作为一个字节的数据寄存器,用于寄存发送和接收从模式下,每次收发的首字节; 一 16字节数据寄存器,其输入端与所述串转并接口的输出端相连接,其输出端与所述并转串接口的输入端相连接,为16个可寻址数据寄存器,发送和接收共用,每次发送数据的同时,接收新的数据; 所述并转串接口,与所述链路层相连接,用于将并行数据转换为串行数据;所述串转并接口用于将串行数据转换为并行数据。
2.如权利要求1所述的SPI接口,其特征在于:所述配置寄存器在上电初始化过程中完成配置,在下电前不会二次更改。
3.如权利要求1所述的SPI接口,其特征在于:所述从模式握手寄存器用于存放上一笔数据收发完成标志。
4.如权利要求1所述的SPI接口,其特征在于:所述控制寄存器,共8个bit,从高到低依次是:DBC[2:0],IRQEN, BULKOP, SL_DBC_16, TXb, SCGO ;其中, DBC [3:0],为Data数据计数器,用于指示一个SPI接口周期发送接收的数据数量;数值范围为O到15 ;传输的字节数等于所述控制寄存器设置的数值加I ;IRQEN,为SPI中断允许;IRQEN=0,为不允许SPI中断;IRQEN=1,为允许SPI中断;BULKOP,为块操作BULK模式允许;BULK0P=0,为传输结束后从设备选择SSn将无效;BULKOP=I,为从设备选择SSn将保持,直到BULKOP=O操作完成;块操作BULK仅支持主模式;SL_DBC_16,为从模式下有效,传输最大字节数为17个,包括16个数据字节和一个握手字节; TXb,当SPI接口工作于半双工模式,只接收,将输出数据线置为零; SCG0,为SPI接口传输启动;SCG0=0,为SPI接口传输未启动;SCG0=1,为启动SPI接口传输;SPI接口传输过程中对此位的写入操作无效;所述控制寄存器的其他位在传输中可以被修改。
5.如权利要求1所述的SPI接口,其特征在于:所述配置寄存器,共6个bit,从高到低依次是:SLAVE,LSB, CPHA, CPOL, CLKDIV[I:0];其中, SLAVE,为主从模式选择;SLAVE=0,为选择SPI接口主模式;SLAVE=1,为选择SPI从模式; LSB,为最高有效位MSB/最低有效位LSB选择;LSB=0,MSB先发送;LSB=1,LSB先发送; CPHA,为时钟相位; CP0L,为时钟极性,控制没有数据传输时空闲状态电平;CP0L=0,为空闲时时钟低电平;CPOL=I,为空闲时时钟高电平; CLKDIV,为SPI接口主模式时钟分频系数;其中, OOB为CPU时钟; OlB为CPU时钟2分频; 1B为CPU时钟4分频; IlB为CPU时钟8分频。
6.如权利要求1所述的SPI接口,其特征在于:所述状态寄存器,共2个bit,从高到低依次是:SPI_INT, SCIP ; SPI_INT,为SPI接口中断请求标志;SPI_INT=0,为无SPI接口中断请求;SPI_INT=1,为SPI接口中断请求发生;该位由硬件置位,软件清O ; SCIP,为SPI接口传输状态位;SCIP=0,为SPI接口不在传输中;SCIP=1,为SPI接口传输中。
7.如权利要求6所述的SPI接口,其特征在于:当软件设置所述控制寄存器的SCGO位为I时,硬件自动设置SCIP为1,直到传输完成;硬件自动对SCIP进行置位和清零操作,软件通过读取SCIP获得SPI接口传输状态,以确定是否能安全的读取数据,进行下一个命令操作;仅当此位为O时,软件才操作下一个SPI接口指令。
8.如权利要求1所述的SPI接口,其特征在于:所述从模式握手寄存器,共8个bit,表示为SPISLBUFF[7:0] ;SPISLBUFF[7:0]为SPI从握手数据或缓冲;用于SPI接口从模式轮询状态数据或SPI接口从模式传输缓冲;SPI从模式传输时,SPISLBUFF[7:0]作为第一个数据传输,所述16字节数据寄存器中数据寄存器SPIDATA0中寄存的数据作为第二个数据传输。
9.如权利要求1所述的SPI接口,其特征在于:所述16字节数据寄存器表示为,SPIDATA0?15,每个寄存器8个bit ;SPIDATA0?15是16个可寻址数据寄存器,为串行移位结构,发送时,数据寄存器0,数据寄存器1,数据寄存器2……的内容依次串行发出;同时,接收到的数据依次刷新数据寄存器O即SPIDATA0,数据寄存器I即SPIDATA1,数据寄存器2即SPIDATA2......的内容。
10.如权利要求1所述的SPI接口,其特征在于:所述并转串接口,作为SPI主模式使用时,为主模式输出,从模式输入;作为SPI从模式使用时,为主模式输入,从模式输出。
11.如权利要求1所述的SPI接口,其特征在于:所述串转并接口,作为SPI主模式使用时,为主模式输入,从模式输出;作为SPI从模式使用时,为主模式输出,从模式输入。
【专利摘要】本发明公开了一种支持主从模式的SPI接口,包括:一控制寄存器,用于配置收发数据字节数、中断使能、从设备16字节使能、输出全零使能和主模式传输启动;一配置寄存器,用于配置主从模式选择、MSB/LSB选择、极性、相位和主模式时钟分频;一状态寄存器,用于寄存操作完成标志和中断标志;一从模式握手寄存器,仅在从模式下可见;同时作为一个字节的数据寄存器,用于寄存发送和接收从模式下,每次收发的首字节;一16字节数据寄存器,为16个可寻址数据寄存器,发送和接收共用,每次发送数据的同时,接收新的数据。本发明能够实现芯片与外部设备间全双工的,同步串行数据传送功能。
【IPC分类】G06F13-38, G06F13-40
【公开号】CN104714908
【申请号】CN201310684633
【发明人】王彩红
【申请人】上海华虹集成电路有限责任公司
【公开日】2015年6月17日
【申请日】2013年12月13日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1