一种改进了spi接口子模块的智能卡模块的制作方法

文档序号:6401886阅读:309来源:国知局
专利名称:一种改进了spi接口子模块的智能卡模块的制作方法
技术领域
本发明涉及移动通信技术领域,具体涉及一种在智能卡模块内,SPI接口可直接使用智能卡模块内存做FIFO缓冲区的机制。
背景技术
现有技术的智能卡芯片上的SPI接口的FIFO缓冲区与CPU的内存是分开的,通过CPU的参与,将FIFO缓冲区的数据一个一个搬移到CPU的内存内,或通过DMA方式,将FIFO缓冲区的数据批量搬移到CPU的内存内。缺点是:速度慢,SPI接口的数据必须经过搬移,才能供应用程序使用。

发明内容
有鉴于此,有必要针对背景技术提到的问题,提供一种更快速实现FIFO缓冲区和CPU之间的数据搬移的方法。本发明的目的是通过以下技术方案实现的:
一种改进了 SPI接口子模块的智能卡模块,所述智能卡模块包括内存、CPU和SPI接口子模块,其特征在于:
所述SPI接口子模块与所述内存都连接在CPU的地址总线ABUS与数据总线DBUS上; 所述CPU可读写所述内存的任意连续区域为FIFO缓冲区;
所述SPI接口子模块内设有:用于指定接收FIFO缓冲区在智能卡模块内存的偏移地址的寄存器rFIFOoffset、用于指定接收FIFO缓冲区长度的寄存器rFIFOLen、用于指定已接收到的在FIFO缓冲区内数据的长度的寄存器rLen、用于指定发送FIFO缓冲区在智能卡内存偏移地址的寄存器sFIFOoffset、用于指定发送FIFO缓冲区的长度的寄存器sLen。在SPI接口使能前,其接收用户预先配置SPI接口寄存器的操作,包括:将所述SPI接口子模块的FIFO缓冲区定位到所述内存上。具体的,寄存器rFIFOoffset,rFIFOLen,rLen控制SPI接口子模块接收FIFO缓冲区,在SPI接口使能前,接收用户设置rFIFOoffset,将SPI接口使用的接收FIFO缓冲区定位到智能卡模块的内存上,同时设置rFIFOLen的长度,指示SPI接口使用的最大接收FIFO缓冲区的长度,然后设置rLen到0,为SPI接口的接收做好准备。寄存器sFIFOof f set,sLen控制SPI接口发送FIFO缓冲区,在SPI接口使能前,用户设置sFIFOoffset,从而将发送FIFO缓冲区定位到智能卡模块的内存上;然后设置sLen,从而设置发送FIFO缓冲区的长度,为SPI接口的发送做好准备。在SPI接口使能时,为避免SPI接口与CPU同时写一个内存区域,所述FIFO缓冲区仅允许CPU读,SPI接口子模块写,在SPI接口未使能时,FIFO缓冲区作为一般内存被使用。与现有技术相比,本发明具备如下优点:
改进传统的SPI接口的缓冲区控制的方法,通过将SPI接口的FIFO缓冲区直接映射到智能卡模块的CPU的内存地址空间,使应用程序可直接使用FIFO缓冲区内的数据,不需进行数据搬移的操作;使得FIFO缓冲区和CPU之间的数据搬移速度快,高效,灵活,缓冲区大小、地址可任意调整。


图1是本发明实施例的模块结构示意图。
具体实施例方式本实施例提供一种可快速实现FIFO缓冲区和CPU之间数据搬移的智能卡模块,其包括:内存、CPU和SPI接口;
SPI接口与内存都连接在CPU的地址总线ABUS与数据总线DBUS上;
所述FIFO缓冲区是所述CPU内的可读写所述内存的任意区域;
所述SPI接口内设有:用于指定接收FIFO缓冲区在智能卡模块内存的偏移地址的寄存器rFIFOoffset、用于指定FIFO缓冲区长度的寄存器rFIFOLen、用于指定已接收到的FIFO缓冲区的长度的寄存器rLen、用于指定发送FIFO缓冲区在智能卡内存偏移地址的sFIFOoffset、用于指定发送FIFO缓冲区的长度的寄存器sLen。综上,寄存器rFIFOoffset,rFIFOLen,rLen 控制 SPI 接 口接收FIFO 缓冲区,在 SPI接口使能前,接收用户配置的接收FIFO缓冲区的开始地址、接收FIFO缓冲区的长度,使得当实际接收的数据rLen大于rFIFOLen时,SPI接口发生接收溢出。寄存器sFIFOoffset,sLen控制SPI接口发送FIFO缓冲区,在SPI接口发送数据前,接收用户配置的发送FIFO缓冲区的开始地址、发送FIFO缓冲区的长度。在SPI接口使能时,为避免SPI接口与CPU同时写一个内存区域,所述FIFO缓冲区仅允许CPU读,SPI接口子模块写;在SPI接口未使能时,FIFO缓冲区作为一般内存被使用。本实施例之技术方案,通过将SPI接口的FIFO缓冲区直接映射到智能卡模块的CPU的内存地址空间,使应用程序可直接使用FIFO缓冲区内的数据,不需进行数据搬移的操作。
权利要求
1.一种改进了 SPI接口子模块的智能卡模块,所述智能卡模块包括内存、CPU和SPI接口子模块,其特征在于: 所述SPI接口子模块与所述内存都连接在CPU的地址总线ABUS与数据总线DBUS上; 所述CPU可读写所述内存的任意连续区域为FIFO缓冲区; 所述SPI接口子模块内设有:用于指定接收FIFO缓冲区在智能卡模块内存的偏移地址的寄存器rFIFOoffset、用于指定接收FIFO缓冲区长度的寄存器rFIFOLen、用于指定已接收到的在FIFO缓冲区内数据的长度的寄存器rLen、用于指定发送FIFO缓冲区在智能卡内存偏移地址的寄存器sFIFOoffset、用于指定发送FIFO缓冲区的长度的寄存器sLen。
2.根据权利要求1所述的智能卡模块,其特征在于:寄存器rFIFOoffset、rFIFOLen、rLen控制SPI接口子模块接收FIFO缓冲区,在SPI接口使能前,接收用户设置rFIFOoffset,将SPI接口使用的接收FIFO缓冲区定位到智能卡模块的内存上,同时设置rFIFOLen的长度,指示SPI接口使用的最大接收FIFO缓冲区的长度,然后设置rLen到0,为SPI接口的接收做好准备。
3.根据权利要求1所述的智能卡模块,其特征在于:寄存器sFIFOoffset、sLen控制SPI接口发送FIFO缓冲区,在SPI接口使能前,接收用户设置sFIFOoffset,从而将发送FIFO缓冲区定位到智能卡模块的内存上;然后设置sLen,从而设置发送FIFO缓冲区的长度,为SPI接口的发送做好准备。
4.根据权利要求1至3任一所述的智能卡模块,其特征在于:在SPI接口使能时,为避免SPI接口与CPU同时写一个内存区域,所述FIFO缓冲区仅允许CPU读,SPI接口子模块写;在SPI接口未使能时,FIFO缓冲区作为一般内存被使用。
全文摘要
本发明提供一种改进了SPI接口子模块的智能卡模块,所述智能卡模块包括内存、CPU和SPI接口子模块,所述SPI接口子模块与所述内存都连接在CPU的地址总线ABUS与数据总线DBUS上;所述CPU可读写所述内存的任意连续区域为FIFO缓冲区;所述SPI接口子模块内设有用于指定接收FIFO缓冲区在智能卡模块内存的偏移地址的寄存器rFIFOoffset、用于指定接收FIFO缓冲区长度的寄存器rFIFOLen、用于指定已接收到的在FIFO缓冲区内数据的长度的寄存器rLen、用于指定发送FIFO缓冲区在智能卡内存偏移地址的寄存器sFIFOoffset、用于指定发送FIFO缓冲区的长度的寄存器sLen。
文档编号G06F12/08GK103164349SQ201310124518
公开日2013年6月19日 申请日期2013年4月11日 优先权日2013年4月11日
发明者曾华新, 黄小鹏 申请人:东信和平科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1