本发明涉及通讯数据传输的,具体而言,涉及一种msc接口读取数据的方法及读取装置。
背景技术:
1、msc接口是一种串行接口,专门用于连接外部电源设备(如l9788芯片)到tc29x系列的智能卡芯片,强大的下行串行数据传输能力最大限度地减少了连接此类外部电源设备所需的引脚数量。并行数据信息(来自定时器单元)或命令信息通过高速同步串行数据流(下行通道)发送到电源设备,msc接口通过低速异步串行数据流从电源设备接收数据和状态(上行通道)。
2、由于msc接口的上下行速率不一致的特性,在读取指令发出后需要等待一定时间才能通过中断服务函数写回全局变量(l9788wd_regs)中。普遍采用两条读取指令之间手动增加延迟的方法,但存在如下缺陷:如果手动增加延迟不够,l9788芯片会丢弃下一条读取指令的执行,从而导致接收值顺序错乱;延迟必然覆盖所有情况取最大值,增加额外的系统负载。
3、针对上述msc接口的上下行速率不一致而导致读取数据不稳定的技术问题,目前尚未提出有效的解决方案。
技术实现思路
1、本发明实施例提供了一种msc接口读取数据的方法及读取装置,以至少解决因msc接口的上下行速率不一致而导致读取数据不稳定的技术问题。
2、根据本发明实施例的一个方面,提供了一种msc接口读取数据的方法,包括:获取msc接口读取数据的状态信息和fifo队列中的指令数量,其中,状态信息包括如下至少之一:msc接口处于空闲状态的信息、msc接口处于繁忙状态的信息;基于状态信息和指令数量生成控制策略集,控制策略集包括如下至少之一:控制msc接口发送读取指令且控制msc接口读取数据的状态为繁忙状态、控制待发送的读取指令加入fifo队列的队尾、控制msc接口发送位于fifo队列的队首处的读取指令且控制msc接口读取数据的状态为繁忙状态、控制msc接口读取数据的状态为空闲状态。
3、可选地,获取msc接口读取数据的状态信息和fifo队列中的指令数量,基于状态信息生成控制策略集,包括:在确定msc接口处于空闲状态的情况下,生成控制策略集中的第一控制策略,其中,第一控制策略用于控制msc接口发送读取指令,且控制msc接口读取数据的状态为繁忙状态。
4、可选地,获取msc接口读取数据的状态信息和fifo队列中的指令数量,基于状态信息生成控制策略集,包括:在确定msc接口处于繁忙状态的情况下,生成控制策略集中的第二控制策略,其中,第二控制策略用于控制待发送的读取指令加入fifo队列的队尾;在确定msc接口接收到预设数据的情况下,判断fifo队列中的指令数量是否等于0;如果是,生成控制策略集中的第三控制策略,其中,第三控制策略用于控制msc接口读取数据的状态为空闲状态。
5、可选地,获取msc接口读取数据的状态信息和fifo队列中的指令数量,基于状态信息和指令数量生成控制策略集,包括:在确定msc接口处于繁忙状态的情况下,生成控制策略集中的第二控制策略,其中,第二控制策略用于控制待发送的读取指令加入fifo队列的队尾;在确定msc接口接收到预设数据的情况下,判断fifo队列中的指令数量是否等于0;如果否,生成控制策略集中的第四控制策略,其中,第四控制策略用于控制msc接口发送位于fifo队列的队首处的读取指令,且控制msc接口读取数据的状态为繁忙状态。
6、可选地,判断fifo队列中的指令数量是否等于0之前,包括:在msc接口发送位于fifo队列的队首处的读取指令之后,以及,待发送的读取指令加入fifo队列的队尾之后,fifo队列中的第一指令数量更新为第二指令数量;根据第二指令数量,判断fifo队列中的指令数量是否等于0。
7、可选地,获取msc接口读取数据的状态信息和fifo队列中的指令数量,基于状态信息和指令数量生成控制策略集,包括:在确定msc接口处于繁忙状态的情况下,生成控制策略集中的第二控制策略,其中,第二控制策略用于控制待发送的读取指令加入fifo队列的队尾;根据fifo队列中的指令数量,计算msc接口接收到预设数据的延迟时长;在延迟时长之后,生成控制策略集中的第三控制策略,其中,第三控制策略用于控制msc接口读取数据的状态为空闲状态。
8、根据本发明实施例的另一方面,还提供了一种msc接口读取数据的读取装置,包括:获取模块,获取模块用于获取msc接口读取数据的状态信息和fifo队列中的指令数量,其中,状态信息包括如下至少之一:msc接口处于空闲状态的信息、msc接口处于繁忙状态的信息;生成模块,生成模块用于基于状态信息和指令数量生成控制策略集,控制策略集包括如下至少之一:控制msc接口发送读取指令且控制msc接口读取数据的状态为繁忙状态、控制待发送的读取指令加入fifo队列的队尾、控制msc接口发送位于fifo队列的队首处的读取指令且控制msc接口读取数据的状态为繁忙状态、控制msc接口读取数据的状态为空闲状态。
9、根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质包括存储的程序,其中,在程序运行时控制计算机存储介质所在设备执行上述的方法。
10、根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述的方法。
11、根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述方法。
12、在本发明实施例中,获取msc接口读取数据的状态信息和fifo队列中的指令数量,基于状态信息和指令数量生成控制策略集,msc接口处于空闲状态时,控制msc接口发送读取指令且控制msc接口读取数据的状态为繁忙状态;msc接口处于繁忙状态时,控制待发送的读取指令加入fifo队列的队尾,等msc接口空闲后,再对fifo队列中的指令进行发送。在上述方法中,采用fifo队列机制,当msc接口处于繁忙状态,即读取数据过快时,将待发送的读取指令存入fifo队列中,以使每条读取指令得到有效执行并返回,以避免因读取指令的丢失而导致接收数据顺序错乱。
1.一种msc接口读取数据的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,获取msc接口读取数据的状态信息和fifo队列中的指令数量,基于所述状态信息生成控制策略集,包括:
3.根据权利要求1所述的方法,其特征在于,获取msc接口读取数据的状态信息和fifo队列中的指令数量,基于所述状态信息生成控制策略集,包括:
4.根据权利要求1所述的方法,其特征在于,获取msc接口读取数据的状态信息和fifo队列中的指令数量,基于所述状态信息和所述指令数量生成控制策略集,包括:
5.根据权利要求3或4所述的方法,其特征在于,判断所述fifo队列中的指令数量是否等于0之前,包括:
6.根据权利要求1所述的方法,其特征在于,获取msc接口读取数据的状态信息和fifo队列中的指令数量,基于所述状态信息和所述指令数量生成控制策略集,包括:
7.一种msc接口读取数据的读取装置,其特征在于,包括:
8.一种计算机存储介质,其特征在于,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行权利要求1-6中任一项所述的方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述方法。