发明内容
本发明实施例提供一种NFC射频通信的控制方法、装置及系统,用以解决多主架构下多个NFC主机同时对NFCC进行射频通信请求而产生的冲突问题。
本发明实施例提供的具体技术方案如下:
第一方面,一种NFC射频通信的控制方法,包括:
第一NFC主机接收第一消息,该第一消息用于表示第二NFC主机请求射频通信;
所述第一NFC主机确定NFCC当前处于非空闲状态时,对所述第二NFC主机和第三NFC主机进行优先级比较,其中,所述第三主机为所述NFCC当前执行射频通信过程所对应的NFC主机;
当所述第二NFC主机的优先级高于所述第三NFC主机的优先级时,所述第一NFC主机向所述NFCC发送第二消息,指示所述NFCC终止当前为所述第三NFC主机执行的射频通信过程。
结合第一方面,在第一种可能的实现方式中,所述第二消息携带所述第二NFC主机的配置信息,所述第二消息还用于指示所述NFCC为所述第二NFC主机执行射频通信过程;或者,当所述第二NFC主机的优先级高于所述第三NFC主机的优先级时,所述方法还包括:所述第一NFC主机向所述第二NFC主机发送第三消息,指示所述第二NFC主机重新请求射频通信。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一NFC主机接收第一消息,包括:
所述第一NFC主机接收所述NFCC发送的通告消息,该通告消息是NFCC接收到所述第二NFC主机发送的射频通信请求后发送的;或者,
所述第一NFC主机接收所述第二NFC主机发送的射频通信请求。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一NFC主机确定NFCC当前处于非空闲状态,包括:
若所述第一NFC主机接收到所述NFCC发送的通告消息,则在接收到所述通告消息时即确定所述NFCC当前处于非空闲状态;或者,
若所述第一NFC主机接收到所述NFCC发送的通告消息,则在接收到所述通告消息后,在获知所述NFCC当前为所述第三NFC主机执行射频通信过程时,确定所述NFCC当前处于非空闲状态;或者,
若所述第一NFC主机接收到所述第二NFC主机发送的射频通信请求,则在接收到所述射频通信请求后,在获知所述NFCC当前为所述第三NFC主机执行射频通信过程时,确定所述NFCC当前处于非空闲状态。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:
在所述第一NFC主机接收到所述NFCC发送的通告消息或者接收到所述第二NFC主机发送的射频通信请求之后,若所述第一NFC主机获知所述NFCC当前处于空闲状态,则向所述NFCC发送第四消息,指示所述NFCC为所述第二NFC主机执行射频通信过程。
结合第一方面,以及结合第一方面的上述任意一种实现方式,在第五种可能的实现方式中,所述第一NFC主机对所述第二NFC主机和所述第三NFC主机进行优先级比较,包括:
所述第一NFC主机根据所述第一NFC主机针对所述第二NFC主机和第三NFC主机预配置的优先级信息,对所述第二NFC主机和所述第三NFC主机进行优先级比较;或者,
所述第一NFC主机根据系统初始配置的优先级信息,对所述第二NFC主机和所述第三NFC主机进行优先级比较;或者,
所述第一NFC主机将所述第二NFC主机和所述第三NFC主机的提示信息通知用户,并根据用户基于所述提示信息设置的优先级,对所述第二NFC主机和所述第三NFC主机进行优先级比较。
结合第一方面,以及结合第一方面的上述任意一种实现方式,在第六种可能的实现方式中,还包括:
当所述第二NFC主机的优先级低于所述第三NFC主机的优先级时,所述第一NFC主机向所述第二NFC主机发送第五消息,所述第五消息用于表示所述第二NFC主机请求进行的射频通信被拒绝。
第二方面,一种NFC射频通信的控制方法,包括:
NFCC接收到第二NFC主机发送的射频通信请求时,向第一NFC主机发送第一消息;
所述NFCC接收到所述第一NFC主机发送的第二消息时,终止当前为第三NFC主机执行的射频通信过程,其中,所述第二消息是所述第一NFC主机在接收到所述第一消息后,确定所述NFCC当前处于非空闲状态且所述第二NFC主机的优先级高于所述第三NFC主机的优先级时发送的,所述第三NFC主机为所述NFCC当前执行射频通信过程所对应的NFC主机。
结合第二方面,在第一种可能的实现方式中,还包括:所述第二消息携带所述第二NFC主机的配置信息,所述NFCC接收到所述第二消息后,进一步为所述第二NFC主机执行射频通信过程;或者,所述NFCC在接收到所述第二消息后,在接收到所述第二NFC主机重新发送的射频通信请求时,为所述第二NFC主机执行射频通信过程,其中,所述第二NFC主机在接收到所述第一NFC主机发送的第三消息时,重新发送射频通信请求。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述NFCC接收到所述第二NFC主机发送的射频通信请求时,向所述第一NFC主机发送第一消息,包括:
所述NFCC接收到所述第二NFC主机发送的射频通信请求后,在确定所述NFCC当前为所述第三NFC主机执行射频通信过程时,向所述第一NFC主机发送通告消息;或者,
所述NFCC接收到所述第二NFC主机发送的射频通信请求后,向所述第一NFC主机发送通告消息。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:
所述NFCC接收到所述第二NFC主机发送的射频通信请求后,若确定所述NFCC当前处于空闲状态,则为所述第二NFC主机执行射频通信过程。
结合第二方面的第二种可能的实现方式,在第四种可能的实现方式中,还包括:
若所述NFCC接收到所述第二NFC主机发送的射频通信请求后,向所述第一NFC主机发送所述通告消息,则在接收到所述第一NFC主机发送的第四消息时,为所述第二NFC主机执行射频通信过程,其中,所述第四消息是所述第一NFC主机在确定所述NFCC当前处于空闲状态时发送的。
结合第三方面,以及结合第三方面的上述任意一种实现方式,在第五种可能的实现方式中,还包括:
若所述NFCC接收到所述第一NFC主机发送的第五消息,则拒绝为所述第二NFC主机执行射频通信过程,所述第五消息是所述第一NFC主机确定所述NFCC当前处于非空闲状态且所述第二NFC主机的优先级低于所述第三NFC主机的优先级时发送的。
第三方面,一种NFC射频通信的控制装置,包括:
接收单元,用于接收第一消息,该第一消息用于表示第二NFC主机请求射频通信;
主控单元,用于确定近场通信控制器NFCC当前处于非空闲状态时,对所述第二NFC主机和第三NFC主机进行优先级比较,其中,所述第三主机为所述NFCC当前执行射频通信过程所对应的NFC主机;
发送单元,用于当第二NFC主机的优先级高于所述第三NFC主机的优先级时,向所述NFCC发送第二消息,指示所述NFCC终止当前为所述第三NFC主机执行的射频通信过程。
结合第三方面,在第一种可能的实现方式中,所述第二消息携带所述第二NFC主机的配置信息,所述第二消息还用于指示所述NFCC为所述第二NFC主机执行射频通信过程;或者,当所述第二NFC主机的优先级高于所述第三NFC主机的优先级时,所述发送单元还用于:向所述第二NFC主机发送第三消息,指示所述第二NFC主机重新请求射频通信。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收单元接收第一消息,包括:
所述接收单元接收所述NFCC发送的通告消息,该通告消息是NFCC接收到所述第二NFC主机发送的射频通信请求后发送的;或者,
所述接收单元接收所述第二NFC主机发送的射频通信请求。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述主控单元确定NFCC当前处于非空闲状态,包括:
若所述接收单元接收到所述NFCC发送的通告消息,则在接收到所述通告消息时即确定所述NFCC当前处于非空闲状态;或者,
若所述接收单元接收到所述NFCC发送的通告消息,则在接收到所述通告消息后,所述主控单元在获知所述NFCC当前为所述第三NFC主机执行射频通信过程时,确定所述NFCC当前处于非空闲状态;或者,
若所述接收单元接收到所述第二NFC主机发送的射频通信请求,则在接收到所述射频通信请求后,所述主控单元在获知所述NFCC当前为所述第三NFC主机执行射频通信过程时,确定所述NFCC当前处于非空闲状态。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述发送单元还用于:
在所述接收单元接收到所述NFCC发送的通告消息或者接收到所述第二NFC主机发送的射频通信请求之后,若所述主控单元获知所述NFCC当前处于空闲状态,则向所述NFCC发送第四消息,指示所述NFCC为所述第二NFC主机执行射频通信过程。
结合第三方面,以及结合第三方面的上述任意一种可能的实现方式,在第五种可能的实现方式中,所述主控单元对所述第二NFC主机和所述第三NFC主机进行优先级比较,包括:
所述主控单元根据所述第一NFC主机针对所述第二NFC主机和第三NFC主机预配置的优先级信息,对所述第二NFC主机和所述第三NFC主机进行优先级比较;或者,
所述主控单元根据系统初始配置的优先级信息,对所述第二NFC主机和所述第三NFC主机进行优先级比较;或者,
所述主控单元将所述第二NFC主机和所述第三NFC主机的提示信息通知用户,并根据用户基于所述提示信息设置的优先级,对所述第二NFC主机和所述第三NFC主机进行优先级比较。
结合第三方面,以及结合第三方面的上述任意一种可能的实现方式,在第六种可能的实现方式中,所述发送单元还用于:
当所述第二NFC主机的优先级低于所述第三NFC主机的优先级时,向所述第二NFC主机发送第五消息,所述第五消息用于表示所述第二NFC主机请求进行的射频通信被拒绝。
第四方面,一种NFC射频通信的控制装置,包括:
通信单元,用于在接收到第二NFC主机发送的射频通信请求时,向第一NFC主机发送第一消息;
处理单元,用于在所述通信单元接收到所述第一NFC主机发送的第二消息时,终止当前为第三NFC主机执行的射频通信过程,其中,所述第二消息是所述第一NFC主机接收到所述第一消息后在确定所述NFCC当前处于非空闲状态且所述第二NFC主机的优先级高于所述第三NFC主机的优先级时发送的,所述第三NFC主机为所述NFCC当前执行射频通信过程所对应的NFC主机。
结合第四方面,在第一种可能的实现方式中,所述第二消息携带所述第二NFC主机的配置信息,所述通信单元接收到所述第二消息后,所述处理单元进一步为所述第二NFC主机执行射频通信过程;或者,所述通信单元接收到所述第二消息后,在所述通信单元接收到所述第二NFC主机重新发送的射频通信请求时,所述处理单元为所述第二NFC主机执行射频通信过程,其中,所述第二NFC主机在接收到所述第一NFC主机发送的第三消息时,重新发送射频通信请求。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述通信单元接收到所述第二NFC主机发送的射频通信请求时,向所述第一NFC主机发送第一消息,包括:
所述通信单元接收到所述第二NFC主机发送的射频通信请求后,在确定所述处理单元当前为所述第三NFC主机执行射频通信过程时,向所述第一NFC主机发送通告消息;或者,
所述通信单元接收到所述第二NFC主机发送的射频通信请求后,向所述第一NFC主机发送通告消息。
结合第四方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理单元还用于:
所述通信单元接收到所述第二NFC主机发送的射频通信请求后,若所述处理单元确定自身当前处于空闲状态,则为所述第二NFC主机执行射频通信过程。
结合第四方面的第二种可能的实现方式,在第四种可能的实现方式中,所述处理单元还用于:
若所述通信单元接收到所述第二NFC主机发送的射频通信请求后,向所述第一NFC主机发送所述通告消息,则在所述通信单元接收到所述第一NFC主机发送的第四消息时,所述处理单元为所述第二NFC主机执行射频通信过程,其中,所述第四消息是所述第一NFC主机在确定所述NFCC当前处于空闲状态时发送的。
结合第四方面,以及结合第四方面的上述任意一种实现方式,在第五种可能的实现方式中,所述处理单元还用于:
若所述通信单元接收到所述第一NFC主机发送的第五消息,则所述处理单元拒绝为所述第二NFC主机执行射频通信过程,所述第五消息是所述第一NFC主机确定所述NFCC当前处于非空闲状态且所述第二NFC主机的优先级低于所述第三NFC主机的优先级时发送的。
第五方面,一种NFC射频通信的控制装置,包括:
接收端口,用于接收第一消息,该第一消息用于表示第二NFC主机请求射频通信;
处理器,用于确定近场通信控制器NFCC当前处于非空闲状态时,对所述第二NFC主机和第三NFC主机进行优先级比较,其中,所述第三主机为所述NFCC当前执行射频通信过程所对应的NFC主机;
发送端口,用于当第二NFC主机的优先级高于所述第三NFC主机的优先级时,向所述NFCC发送第二消息,指示所述NFCC终止当前为所述第三NFC主机执行的射频通信过程。
结合第五方面,在第一种可能的实现方式中,所述第二消息携带所述第二NFC主机的配置信息,所述第二消息还用于指示所述NFCC为所述第二NFC主机执行射频通信过程;或者,当所述第二NFC主机的优先级高于所述第三NFC主机的优先级时,所述发送端口还用于:向所述第二NFC主机发送第三消息,指示所述第二NFC主机重新请求射频通信。
结合第五方面或第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收端口接收第一消息,包括:
所述接收端口接收所述NFCC发送的通告消息,该通告消息是NFCC接收到所述第二NFC主机发送的射频通信请求后发送的;或者,
所述接收端口接收所述第二NFC主机发送的射频通信请求。
结合第五方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器确定NFCC当前处于非空闲状态,包括:
若所述接收端口接收到所述NFCC发送的通告消息,则在接收到所述通告消息时即确定所述NFCC当前处于非空闲状态;或者,
若所述接收端口接收到所述NFCC发送的通告消息,则在接收到所述通告消息后,所述处理器在获知所述NFCC当前为所述第三NFC主机执行射频通信过程时,确定所述NFCC当前处于非空闲状态;或者,
若所述接收端口接收到所述第二NFC主机发送的射频通信请求,则在接收到所述射频通信请求后,所述处理器在获知所述NFCC当前为所述第三NFC主机执行射频通信过程时,确定所述NFCC当前处于非空闲状态。
结合第五方面的第三种可能的实现方式,在第四种可能的实现方式中,所述发送端口还用于:
在所述接收端口接收到所述NFCC发送的通告消息或者接收到所述第二NFC主机发送的射频通信请求之后,若所述处理器获知所述NFCC当前处于空闲状态,则向所述NFCC发送第四消息,指示所述NFCC为所述第二NFC主机执行射频通信过程。
结合第五方面,以及结合第五方面的上述任意一种可能的实现方式,在第五种可能的实现方式中,所述处理器对所述第二NFC主机和所述第三NFC主机进行优先级比较,包括:
所述处理器根据所述第一NFC主机针对所述第二NFC主机和第三NFC主机预配置的优先级信息,对所述第二NFC主机和所述第三NFC主机进行优先级比较;或者,
所述处理器根据系统初始配置的优先级信息,对所述第二NFC主机和所述第三NFC主机进行优先级比较;或者,
所述处理器将所述第二NFC主机和所述第三NFC主机的提示信息通知用户,并根据用户基于所述提示信息设置的优先级,对所述第二NFC主机和所述第三NFC主机进行优先级比较。
结合第五方面,以及结合第五方面的上述任意一种可能的实现方式,在第六种可能的实现方式中,所述发送端口还用于:
当所述第二NFC主机的优先级低于所述第三NFC主机的优先级时,向所述第二NFC主机发送第五消息,所述第五消息用于表示所述第二NFC主机请求进行的射频通信被拒绝。
第六方面,一种NFC射频通信的控制装置,包括:
通信端口,用于在接收到第二NFC主机发送的射频通信请求时,向第一NFC主机发送第一消息;
处理器,用于在所述通信端口接收到所述第一NFC主机发送的第二消息时,终止当前为第三NFC主机执行的射频通信过程,其中,所述第二消息是所述第一NFC主机接收到所述第一消息后在确定所述NFCC当前处于非空闲状态且所述第二NFC主机的优先级高于所述第三NFC主机的优先级时发送的,所述第三NFC主机为所述NFCC当前执行射频通信过程所对应的NFC主机。
结合第六方面,在第一种可能的实现方式中,所述第二消息携带所述第二NFC主机的配置信息,所述通信端口接收到所述第二消息后,所述处理器进一步为所述第二NFC主机执行射频通信过程;或者,所述通信端口接收到所述第二消息后,在所述通信端口接收到所述第二NFC主机重新发送的射频通信请求时,所述处理器为所述第二NFC主机执行射频通信过程,其中,所述第二NFC主机在接收到所述第一NFC主机发送的第三消息时,重新发送射频通信请求。
结合第六方面或第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述通信端口接收到所述第二NFC主机发送的射频通信请求时,向所述第一NFC主机发送第一消息,包括:
所述通信端口接收到所述第二NFC主机发送的射频通信请求后,在确定所述处理器当前为所述第三NFC主机执行射频通信过程时,向所述第一NFC主机发送通告消息;或者,
所述通信端口接收到所述第二NFC主机发送的射频通信请求后,向所述第一NFC主机发送通告消息。
结合第六方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器还用于:
所述通信端口接收到所述第二NFC主机发送的射频通信请求后,若所述处理器确定自身当前处于空闲状态,则为所述第二NFC主机执行射频通信过程。
结合第六方面的第二种可能的实现方式,在第四种可能的实现方式中,所述处理器还用于:
若所述通信端口接收到所述第二NFC主机发送的射频通信请求后,向所述第一NFC主机发送所述通告消息,则在所述通信端口接收到所述第一NFC主机发送的第四消息时,所述处理器为所述第二NFC主机执行射频通信过程,其中,所述第四消息是所述第一NFC主机在确定所述NFCC当前处于空闲状态时发送的。
结合第六方面,以及结合第六方面的上述任意一种实现方式,在第五种可能的实现方式中,所述处理器还用于:
若所述通信端口接收到所述第一NFC主机发送的第五消息,则所述处理器拒绝为所述第二NFC主机执行射频通信过程,所述第五消息是所述第一NFC主机确定所述NFCC当前处于非空闲状态且所述第二NFC主机的优先级低于所述第三NFC主机的优先级时发送的。
第七方面,一种NFC射频通信的控制系统,包括第一NFC主机、第二NFC主机、第三NFC主机和近场通信控制器NFCC,其中,
所述第一NFC主机,用于接收第一消息,该第一消息表示所述第二NFC主机请求进行射频通信,并在确定所述NFCC当前处于非空闲状态时,对所述第二NFC主机和所述第三NFC主机进行优先级比较,以及在所述第二NFC主机的优先级高于所述第三NFC主机的优先级时,向所述NFCC发送第二消息,其中,所述第三NFC主机为所述NFCC当前执行射频通信过程所对应的NFC主机;
所述NFCC,用于根据所述第二消息终止当前为所述第三NFC主机执行的射频通信过程。
结合第七方面,在第一种可能的实现方式中,所述第二消息携带所述第二NFC主机的配置信息,所述第二消息还用于指示所述NFCC为所述第二NFC主机执行射频通信过程;或者,当所述第二NFC主机的优先级高于所述第三NFC主机的优先级时,所述第一NFC主机还用于:向所述第二NFC主机发送第三消息,指示所述第二NFC主机重新请求射频通信。
结合第七方面或第七方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述第一NFC主机接收第一消息,包括:所述第一NFC主机接收所述NFCC发送的通告消息,该通知消息是NFCC接收到所述第二NFC主机发送的射频通信请求后发送的;或者,所述第一NFC主机接收所述第二NFC主机发送的射频通信请求;
所述NFCC还用于,接收到所述第二NFC主机发送的射频通信请求时后,在确定所述NFCC当前为所述第三NFC主机执行射频通信过程时,向所述第一NFC主机发送所述通告消息;或者,接收到所述第二NFC主机发送的射频通信请求后,向所述第一NFC主机发送所述通告消息。
结合第七方面的第二种可能的实现方式,在第三种可能的实现方式中,所述NFCC还用于:
所述NFCC接收到所述第二NFC主机发送的射频通信请求后,若确定所述NFCC当前处于空闲状态,则执行针对所述第二NFC主机的射频通信过程。
结合第七方面的第二种可能的实现方式,在第四种可能的实现方式中,所述第一NFC主机确定所述NFCC当前处于非空闲状态,包括:
若所述第一NFC主机接收到所述NFCC发送的通告消息,则在接收到所述通告消息时即确定所述NFCC当前处于非空闲状态;或者,
若所述第一NFC主机接收到所述NFCC发送的通告消息,则在接收到所述通告消息后,在获知所述NFCC当前为所述第三NFC主机执行射频通信过程时,确定所述NFCC当前处于非空闲状态;或者,
若所述第一NFC主机接收到所述第二NFC主机发送的射频通信请求,则在接收到所述射频通信请求后,在获知所述NFCC当前为所述第三NFC主机执行射频通信过程时,确定所述NFCC当前处于非空闲状态。
结合第七方面的第四种可能的实现方式,在第五种可能的实现方式中,所述第一NFC主机还用于:
在所述第一NFC主机接收到所述NFCC发送的通告消息或者接收到所述第二NFC主机发送的射频通信请求之后,若所述第一NFC主机获知所述NFCC当前处于空闲状态,则向所述NFCC发送第四消息,所述NFCC根据所述第四消息执行针对所述第二NFC主机的射频通信过程。
结合第七方面,以及结合第七方面的上述任意一种实现方式,在第六种可能的实现方式中,所述第一NFC主机对当前使用所述NFCC的第二NFC主机与所述第三NFC主机进行优先级比较,包括:
所述第一NFC主机根据所述第一NFC主机针对各NFC主机预配置的优先级信息,对所述第二NFC主机和所述第三NFC主机进行优先级比较;或者,
所述第一NFC主机根据系统初始配置的优先级信息,对所述第二NFC主机和所述第三NFC主机进行优先级比较;或者,
所述第一NFC主机将所述第二NFC主机和所述第三NFC主机的相关提示信息通知用户,并根据用户基于所述相关提示信息设置的优先级,对所述第二NFC主机和所述第三NFC主机进行优先级比较。
结合第七方面,以及结合第七方面的上述任意一种实现方式,在第七种可能的实现方式中,所述第一NFC主机还用于:
所述第一NFC主机确定所述第二NFC主机的优先级低于所述第三NFC主机的优先级时,向所述NFCC发送第五消息,所述NFCC根据所述第五消息拒绝执行针对所述第二NFC主机的射频通信过程。
综上所述,本发明实施例中,第一NFC主机接收到用于表示第二NFC主机请求射频通信的第一消息后,在确定NFCC当前处于非空闲状态时,对第二NFC主机和第三NFC主机进行优先级比较,其中,第三主机为NFCC当前执行射频通信过程所对应的NFC主机,当第二NFC主机的优先级高于第三NFC主机的优先级时,第一NFC主机向NFCC发送第二消息,所述NFCC根据该第二消息终止当前为第三NFC主机执行的射频通信过程。这样,由于针对各NFC主机配置了相应的优先级,因而在运行某个高优先级的NFC主机时能够优先获取使用NFCC的权利,相应的,低优先级的NFC主机对应的射频通信过程会被中止,从而有效避免了在NFC多主架构下多个NFC主机对NFCC请求射频通信所引起的冲突问题,保持了系统的运行可靠性。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
可选的,本发明所有实施例中的通用的消息格式定义如图3所示,其中,
MT:表示消息类型,001b为控制指令,010b为响应消息,011b为通知消息;
PBF:0b,表示该消息为一个完整消息包;
GID:表示组标识符;
OID:表示选项标识符;
Payload Length:表示负荷数据长度;
Payload:表示数据;
OCTET:表示一个字节,即8bit。
参阅图4所示,本发明实施例中,第一种NFC射频通信的控制流程如下:
步骤400:第一NFC主机接收第一消息,该第一消息用于表示第二NFC主机请求进行射频通信。
实际应用中,可选的,第一NFC主机为DH,第二NFC主机为一SE。
本实施例中,第一NFC主机接收到的第一消息,可以是NFCC在接收到第二NFC主机发送的射频通信请求时向第一NFC主机发送的通告消息,也可以是第二NFC主机发送的射频通信请求,该射频通信请求可以由第二NFC主机直接发送至第一NFC主机,也可以由第二NFC主机发送至NFCC,再由NFCC转发至第一NFC主机。
步骤410:第一NFC主机确定NFCC当前处于非空闲状态时,对第二NFC主机和第三NFC主机进行优先级比较,其中,第三NFC主机为NFCC当前执行射频通信过程所对应的NFC主机。
实际应用中,第三NFC主机可以为另一SE。
本实施例中,第一NFC主机确定NFCC当前是否处于非空闲状态时,可以采用但不限于以下方式:
可选的,若第一NFC主机接收到NFCC发送的通告消息,则在接收到通告消息时即确定NFCC当前处于非空闲状态;在此种情况下,NFCC是在已确定其自身处于非空闲状态时才发送的通告消息给第一NFC主机。
可选的,若第一NFC主机接收到NFCC发送的通告消息,则在接收到通告消息后,在获知NFCC当前为第三NFC主机执行射频通信过程时,确定NFCC当前处于非空闲状态;在此种情况下,NFCC接收到射频通信请求后直接发送通告消息给第一NFC主机,而第一NFC主机根据之前控制NFCC进行射频通信的情况判断NFCC当前是否处于非空闲状态。
可选的,若第一NFC主机接收到第二NFC主机发送的射频通信请求,则在接收到射频通信请求后,在获知NFCC当前为第三NFC主机执行射频通信过程时,确定NFCC当前处于非空闲状态;在此种情况下,NFCC接收到射频通信请求后直接发送通告消息给第一NFC主机,而第一NFC主机根据之前控制NFCC进行射频通信的情况判断NFCC当前是否处于非空闲状态。
需要说明的是,NFCC可以有多种状态,例如为以下7种状态:1、空闲状态(RFST_IDLE),在第一NFC主机和NFCC成功初始化后,NFCC的射频通信状态为空闲;2、执行射频发现的状态(RFST_DISCOVERY),该状态为:NFCC根据射频发现命令发起射频发现过程,并根据发现配置(discoveryconfiguration)执行射频发现过程的状态;3、发现多个远端设备(远端NFC端点)的状态(RFST_W4_ALL_DISCOVERIES),该状态为NFCC发现多个远端设备或一个远端设备的状态;4、主机选择的状态(RFST_W4_HOST_SELECT),该状态为:NFCC在发现多个远端设备后,等待NFC主机来选择一个远端设备的状态;5、激活后的轮询状态(RFST_POLL_ACTIVE),该状态下为NFCC被激活并处于轮询模式的状态;6、激活后的侦听状态(RFST_LISTEN_ACTIVE),该状态为NFCC被激活并处于侦听模式的状态;7、休眠状态(RFST_LISTEN_SLEEP),当NFCC在激活后的侦听状态下,长时间没有侦听到内容,则转变为休眠状态。其中,远端NFC端点(remote nfc endpoint),可以为NFC设备,也可以表示NFC标签。
本发明各实施例中所述的射频通信过程,可以包括:从NFCC发起射频发现过程开始,直至NFCC与远端设备进行射频通信结束的所有过程中的任意一个或多个,即在射频通信过程中,NFCC可以处于上述状态2-6中的任一状态。上述7种状态中,除了空闲状态以外的6种状态,可以统称为非空闲状态。
另一方面,本实施例中,第一NFC主机对第二NFC主机和第三NFC主机进行优先级比较时,亦可以采用但不限于以下方式:
可选的,第一NFC主机可以根据该第一NFC主机针对第二NFC主机和第三NFC主机预配置的优先级信息,对第二NFC主机和第三NFC主机进行优先级比较。
例如,在系统启动后,第一NFC主机可以根据用户指令设置NFC主机的优先级列表,在该NFC主机优先级列表中记录有预配置的各个NFC主机的优先级。这样做,各个NFC主机的优先级可以根据用户指令灵活设置,从而更符合用户使用需求。
可选的,第一NFC主机亦可以根据系统初始配置的优先级信息,对第二NFC主机和第三NFC主机进行优先级比较。
例如,第一NFC主机可以根据系统在出厂阶段默认设置的NFC主机的优先级信息,确定每一个NFC主机的优先级。这样做,可以有效节省优先级信息的设置时间,提高射频通信的控制效率。
可选的,DH还可以将第二NFC主机和第三NFC主机的提示信息通知用户,并根据用户基于该提示信息设置的优先级,对第二NFC主机和第三NFC主机进行优先级比较。
例如:第一NFC主机向用户提示第二NFC主机和第三NFC主机的应用内容,请用户选择其中一个做为高优先级的NFC主机。这样做,可以根据用户临时的使用需求设置第二NFC主机和第三NFC主机的优先级,形式更为灵活便捷。
步骤420:当第二NFC主机的优先级高于第三NFC主机的优先级时,第一NFC主机向NFCC发送第二消息,指示NFCC终止当前为第三NFC主机执行的射频通信过程。
本实施例中,在执行步骤420时,第一NFC主机可以在第二消息中携带第二NFC主机的配置信息,此时,该第二消息还进一步用于指示NFCC为第二NFC主机执行射频通信过程;
或者,在执行步骤420时,当第二NFC主机的优先级高于第三NFC主机的优先级时,所述第一NFC主机可以进一步向第二NFC主机发送第三消息,指示第二NFC主机重新请求射频通信;此时,由于NFCC已经终止为第三NFC主机执行射频通信过程,因而,当第二NFC主机重新请求射频通信时,NFCC便可以立即开始为第二NFC主机执行射频通信过程。
需要说明的是,步骤420中第一NFC主机指示NFCC终止当前的射频通信过程,在NFCC终止当前的射频通信过程之后,NFCC可以直接为第二NFC主机执行射频通信过程,也可以在第二NFC主机在重新请求射频通信时,为第二NFC主机执行射频通信过程。
本实施例中,可选的,DH采用的第二消息可以采用以下新增的RF_DISCOVERY_SE_REQ_CMD,其消息格式如表1所示:
表1
其中,MT:001b;PBF:0bGID:1111b;OID:0010b;PayloadLength:3Octets。
第一NFC主机向NFCC发送RF_DISCOVERY_SE_REQ_CMD,用于终止NFCC正在进行的射频通信,进一步的,还可以为该RF_DISCOVERY_SE_REQ_CMD中所携带的配置信息所表示的NFC主机向NFCC发起射频通信请求。
相应的,可选的,NFCC采用以下新增的RF_DISCOVERY_SE_REQ_RSP作为第二消息的响应消息,其消息格式如表2所示:
表2
数据域 |
长度 |
描述 |
Status |
1Octet |
NCI1.0规范中的表92 |
其中,MT:010b;PBF:0b;GID:1111b;OID:0011b;PayloadLength:1Octets。
在上述实施例中,在执行步骤410时,在第一NFC主机接收到NFCC发送的通告消息或者接收到第二NFC主机发送的射频通信请求之后,若第一NFC主机获知NFCC当前处于空闲状态,则向NFCC发送第四消息,指示NFCC开始为第二NFC主机的执行射频通信过程。
进一步的,本实施例中,可选的,第一NFC主机采用的第四消息可以采用以下新增的RF_DISCOVERY_ALLOW_SE_REQ_CMD,其消息格式如表3所示:
表3
其中,MT:001b;PBF:0b;GID:1111b;OID:0000b;PayloadLength:3Octets。
第一NFC主机向NFCC发送RF_DISCOVERY_ALLOW_SE_REQ_CMD,允许NFCC为指定的SE执行射频通信过程;
相应的,可选的,NFCC采用以下新增的RF_DISCOVERY_ALLOW_SE_REQ_RSP作为第四消息的响应消息,其消息格式如表4所示:
表4
数据域 |
长度 |
描述 |
Status |
1Octet |
NCI1.0规范中的表92 |
MT:010b;PBF:0b;GID:1111b;OID:0001b;PayloadLength:1Octets。
另一方面,在执行步骤420时,若第一NFC主机确定第二NFC主机的优先级低于第三NFC主机的优先级,则向NFCC发送第五消息,该第五消息用于表示第二NFC主机请求进行的射频通信被拒绝。
参阅图5所示,本发明实施例中,第二种NFC射频通信的控制流程如下:
步骤500:NFCC接收第二NFC主机发送的射频通信请求时,向第一NFC主机发送第一消息。
本实施例中,在执行步骤500时,NFCC可以在接收到第二NFC主机发送的射频通信请求后,在确定NFCC当前为第三NFC主机执行射频通信过程时,向第一NFC主机发送通告消息;或者,也可以在接收到第一NFC主机发送的射频通信请求后,立即向第一NFC主机发送通告消息。
步骤510:NFCC接收到第一NFC主机发送的第二消息时,终止当前为第三NFC主机执行的射频通信过程,其中,第二消息是第一NFC主机在接收到所述第一消息后,确定NFCC当前处于非空闲状态且第二NFC主机的优先级高于第三NFC主机的优先级时发送的,而第三NFC主机为NFCC当前执行射频通信过程所对应的NFC主机。
本实施例中,在执行步骤510时,若第二消息中携带第二NFC主机的配置信息,则NFCC可以在接收到第二消息后,在终止为第三NFC主机执行射频通信过程的同时或之后,进一步开始为第二NFC主机执行射频通信过程;
或者,在执行步骤510时,NFCC也可以在接收到第二消息后,在接收到第二NFC主机重新发送的射频通信请求时,再开始为第二NFC主机执行射频通信过程,其中,第二NFC主机是在接收到所述第一NFC主机发送的第三消息时,再重新发送射频通信请求的。
可选的,第二消息采用的消息格式可以参考表1所示,而NFCC回复的响应消息采用的消息格式可以参考表2所示。
另一方面,在上述实施例中,若NFCC接收到第一NFC主机发送的第五消息,则拒绝为第二NFC主机执行射频通信过程,因为,该第五消息是第一NFC主机确定NFCC当前处于非空闲状态且第二NFC主机的优先级低于第三NFC主机的优先级时发送的。
在上述实施例中,在执行步骤500时,若NFCC接收到第二NFC主机发送的射频通信请求后,立即向第一NFC主机发送通告消息,则在接收到第一NFC主机发送的第四消息时,开始为第二NFC主机执行射频通信过程,其中,第四消息是第一NFC主机在确定NFCC当前处于空闲状态时发送的。
可选的,第四消息所采用的消息格式可以参考表3所示,而NFCC回复的响应消息采用的消息格式可以参考表4所示。
另一方面,在执行步骤500时,NFCC在接收到第二NFC主机发送的射频通信请求后,若确定该NFCC当前处于空闲状态,则可以直接开始为第二NFC主机执行射频通信过程。
下面采用三个具体的应用场景对上述实施例作出进一步详细介绍。
以下应用场景中,均以第一NFC主机为DH,第二NFC主机为SE1,第三NFC主机为SE2为例进行介绍。
参阅图6所示,第一种应用场景的具体实施流程如下:
步骤601:DH获取NFCC连接的所有SE的配置信息,该配置信息中至少包含各SE的标识符、射频协议、射频技术和模式。
步骤602:DH为所有的SE分配优先级。
步骤602为可选操作,因为各SE的优先级可以选用系统默认设置的优先级,也可以在应用过程中由用户根据具体应用场景临时设置,步骤602仅为举例。
步骤603:SE1向NFCC发送射频通信请求。
步骤604:NFCC判断自身状态是否为空闲,若是,则执行步骤609,否则,执行步骤605。
NFCC当前若为SE2执行射频通信过程,则处于非空闲状态,若未执行任何射频通信过程,则处于空闲状态。
步骤605:NFCC向DH通告SE1的射频通信请求,即NFCC向DH发送通告消息,通知DH已经接收到SE1的射频通信请求。
步骤606:DH判断SE1的优先级是否高于SE2的优先级,若是,则执行步骤607,否则,执行步骤610。
步骤607:DH向NFCC发送RF_DISCOVERY_SE_REQ_CMD(即射频通信中止指令),用于终止NFCC当前为SE2执行的射频通信过程,该中止指令中还携带了SE1的配置信息(如,标识符等等),用于进一步指示NFCC为SE1执行射频通信过程。
步骤608:NFCC终止当前为SE2执行的射频通信过程,并执行步骤609;
步骤609:NFCC为SE1执行射频通信过程,执行结束。
本实施例中,NFCC为SE1或SE2执行的射频通信过程,可以包括射频发现过程、目标设备选择激活、射频数据通信以及射频通信结束的所有过程。
步骤610:DH向NFCC发送射频通信请求的拒绝指令,NFCC向SE1转发该拒绝指令,执行结束。
参阅图7所示,第二种应用场景的具体实施流程如下:
步骤701:DH获取NFCC连接的所有SE的配置信息,该配置信息中至少包含各SE的标识符、射频协议、射频技术和模式。
步骤702:DH为所有的SE分配优先级。
步骤702为可选操作,因为各SE的优先级可以选用系统默认设置的优先级,也可以在应用过程中由用户根据具体应用场景临时设置,步骤702仅为举例。
步骤703:SE1向NFCC发送射频通信请求。
步骤704:NFCC向DH通告SE1的射频通信请求,即NFCC向DH发送通告消息,通知DH已经接收到SE1的射频通信请求。
步骤705:DH判断NFCC当前的状态是否空闲,若是,则执行步骤708,否则,执行步骤706。
NFCC当前若为SE2执行射频通信过程,则处于非空闲状态,若未执行任何射频通信过程,则处于空闲状态。
步骤706:DH判断SE1的优先级是否高于SE2,若是,则执行步骤707,否则,执行步骤711。
步骤707:DH向NFCC发送RF_DISCOVERY_SE_REQ_CMD(即射频通信中止指令),用于终止当前为SE2执行的射频通信过程,该中止指令中还携带了SE1的配置信息(如,标识符等等),用于向NFCC请求射频通信,接着执行步骤709。
步骤708:DH向NFCC发送RF_DISCOVERY_ALLOW_SE_REQ_CMD(即射频通信允许指令),该允许指令中携带了SE1的配置信息(如,标识符等等),用于允许NFCC为SE1执行射频通信请求,接着,执行步骤710。
步骤709:NFCC终止当前为SE2执行的射频通信过程,并执行步骤710。
步骤710:NFCC为SE1执行射频通信过程,执行结束。
本实施例中,NFCC为SE1或SE2执行的射频通信过程,包括射频发现过程、目标设备选择激活、射频数据通信以及射频通信结束的所有过程。
步骤711:DH向NFCC发送射频通信请求的拒绝指令,NFCC向SE1转发该拒绝指令,执行结束。
参阅图8所示,第三种应用场景的具体实施流程如下:
步骤801:DH获取NFCC连接的所有SE的配置信息,该配置信息中至少包含各SE的标识符、射频协议、射频技术和模式。
步骤802:DH为所有的SE分配优先级。
步骤802为可选操作,因为各SE的优先级可以选用系统默认设置的优先级,也可以在应用过程中由用户根据具体应用场景临时设置,步骤802仅为举例。
步骤803:SE1向DH发送射频通信请求。
步骤804:DH判断NFCC当前的状态是否空闲,若是,则执行步骤807,否则,执行步骤805。
NFCC当前若为SE2执行射频通信过程,则处于非空闲状态,若未执行任何射频通信过程,则处于空闲状态。
步骤805:DH判断SE1的优先级是否高于SE2,若是,则执行步骤806,否则,执行步骤810。
步骤806:DH向NFCC发送RF_DISCOVERY_SE_REQ_CMD(即射频通信中止指令),用于终止当前为SE2执行的射频通信过程,该中止指令中还携带了SE1的配置信息(如,标识符等等),用于向NFCC请求射频通信,接着执行步骤808。
步骤807:DH向NFCC发送RF_DISCOVERY_ALLOW_SE_REQ_CMD(即射频通信允许指令),该允许指令中携带了SE1的配置信息(如,标识符等等),用于允许NFCC为SE1执行射频通信请求,接着,执行步骤809。
步骤808:NFCC终止当前为SE2执行的射频通信过程,并执行步骤809。
步骤809:NFCC为SE1执行射频通信过程,执行结束。
本实施例中,NFCC为SE1或SE2执行的射频通信过程,包括射频发现过程、目标设备选择激活、射频数据通信以及射频通信结束的所有过程。
步骤810:DH向NFCC发送射频通信请求的拒绝指令,NFCC向SE1转发该拒绝指令,执行结束。
基于上述实施例,参阅图9所示,本发明实施例中,第一NFC主机包括接收单元90、主控单元91和发送单元92,其中,
接收单元90,用于接收第一消息,该第一消息用于表示第二NFC主机请求射频通信;
主控单元91,用于确定NFCC当前处于非空闲状态时,对第二NFC主机和第三NFC主机进行优先级比较,其中,第三主机为NFCC当前执行射频通信过程所对应的NFC主机;
发送单元92,用于当第二NFC主机的优先级高于第三NFC主机的优先级时,向NFCC发送第二消息,指示NFCC终止当前为第三NFC主机执行的射频通信过程。
第二消息携带第二NFC主机的配置信息,第二消息还用于指示NFCC为第二NFC主机执行射频通信过程;或者,
当第二NFC主机的优先级高于第三NFC主机的优先级时,发送单元92还用于:向第二NFC主机发送第三消息,指示第二NFC主机重新请求射频通信。
接收单元90接收第一消息,包括:
接收单元90接收NFCC发送的通告消息,该通告消息是NFCC接收到第二NFC主机发送的射频通信请求后发送的;或者,
接收单元90接收第二NFC主机发送的射频通信请求。
主控单元91确定NFCC当前处于非空闲状态,包括:
若接收单元90接收到NFCC发送的通告消息,则主控单元91在接收到通告消息时即确定NFCC当前处于非空闲状态;或者,
若接收单元90接收到NFCC发送的通告消息,则主控单元91在接收到通告消息后,主控单元91在获知NFCC当前为第三NFC主机执行射频通信过程时,确定NFCC当前处于非空闲状态;或者,
若接收单元90接收到第二NFC主机发送的射频通信请求,则主控单元91在接收到射频通信请求后,在获知NFCC当前为第三NFC主机执行射频通信过程时,确定NFCC当前处于非空闲状态。
发送单元92还用于:
在接收单元90接收到NFCC发送的通告消息或者接收到第二NFC主机发送的射频通信请求之后,若主控单元91获知NFCC当前处于空闲状态,则向NFCC发送第四消息,指示NFCC为第二NFC主机执行射频通信过程。
主控单元91对第二NFC主机和第三NFC主机进行优先级比较,包括:
主控单元91根据第一NFC主机针对第二NFC主机和第三NFC主机预配置的优先级信息,对第二NFC主机和第三NFC主机进行优先级比较;或者,
主控单元91根据系统初始配置的优先级信息,对第二NFC主机和第三NFC主机进行优先级比较;或者,
主控单元91将第二NFC主机和第三NFC主机的提示信息通知用户,并根据用户基于提示信息设置的优先级,对第二NFC主机和第三NFC主机进行优先级比较。
发送单元92还用于:
当第二NFC主机的优先级低于第三NFC主机的优先级时,向第二NFC主机发送第五消息,第五消息用于表示第二NFC主机请求进行的射频通信被拒绝。
参阅图10所示,本发明实施例中,NFCC包括通信单元100和处理单元101,其中,
通信单元100,用于在接收到第二NFC主机发送的射频通信请求时,向第一NFC主机发送第一消息;
处理单元101,用于在通信单元100接收到第一NFC主机发送的第二消息时,终止当前为第三NFC主机执行的射频通信过程,其中,第二消息是第一NFC主机在确定NFCC当前处于非空闲状态且第二NFC主机的优先级高于第三NFC主机的优先级时发送的,第三NFC主机为NFCC当前执行射频通信过程所对应的NFC主机。
第二消息携带第二NFC主机的配置信息,通信单元100接收到第二消息后,处理单元101进一步为第二NFC主机执行射频通信过程;或者
通信单元100接收到第二消息后,在通信单元100接收到第二NFC主机重新发送的射频通信请求时,处理单元101为第二NFC主机执行射频通信过程,其中,第二NFC主机在接收到第一NFC主机发送的第三消息时,重新发送射频通信请求。
通信单元100接收到第二NFC主机发送的射频通信请求时,向第一NFC主机发送第一消息,包括:
通信单元100接收到第二NFC主机发送的射频通信请求后,在确定处理单元101当前为第三NFC主机执行射频通信过程时,向第一NFC主机发送通告消息;或者,
通信单元100接收到第二NFC主机发送的射频通信请求后,立即向第一NFC主机发送通告消息。
处理单元101还用于:
通信单元100接收到第二NFC主机发送的射频通信请求后,若处理单元101确定自身当前处于空闲状态,则直接开始为第二NFC主机执行射频通信过程。
处理单元101还用于:
若通信单元100接收到第二NFC主机发送的射频通信请求后,立即向第一NFC主机发送通告消息,则在通信单元100接收到第一NFC主机发送的第四消息时,处理单元101开始为第二NFC主机执行射频通信过程,其中,第四消息是第一NFC主机在确定NFCC当前处于空闲状态时发送的。
处理单元101还用于:
若通信单元100接收到第一NFC主机发送的第五消息,则处理单元101拒绝为第二NFC主机执行射频通信过程,第五消息是第一NFC主机确定NFCC当前处于非空闲状态且第二NFC主机的优先级低于第三NFC主机的优先级时发送的。
参阅图11所示,本发明实施例中,第一NFC主机包括接收端口110、处理器111和发送端口112,其中,
接收端口110,用于接收第一消息,该第一消息用于表示第二NFC主机请求射频通信;
处理器111,用于确定NFCC当前处于非空闲状态时,对第二NFC主机和第三NFC主机进行优先级比较,其中,第三主机为NFCC当前执行射频通信过程所对应的NFC主机;
发送端口112,用于当第二NFC主机的优先级高于第三NFC主机的优先级时,向NFCC发送第二消息,指示NFCC终止当前为第三NFC主机执行的射频通信过程。
第二消息携带第二NFC主机的配置信息,第二消息还用于指示NFCC为第二NFC主机执行射频通信过程;或者,
当第二NFC主机的优先级高于第三NFC主机的优先级时,发送端口112还用于:向第二NFC主机发送第三消息,指示第二NFC主机重新请求射频通信。
接收端口110接收第一消息,包括:
接收端口110接收NFCC发送的通告消息,该通告消息是NFCC接收到第二NFC主机发送的射频通信请求后发送的;或者,
接收端口110接收第二NFC主机发送的射频通信请求。
处理器111确定NFCC当前处于非空闲状态,包括:
若接收端口110接收到NFCC发送的通告消息,则处理器111在接收到通告消息时即确定NFCC当前处于非空闲状态;或者,
若接收端口110接收到NFCC发送的通告消息,则处理器111在接收到通告消息后,在获知NFCC当前为第三NFC主机执行射频通信过程时,确定NFCC当前处于非空闲状态;或者,
若接收端口110接收到第二NFC主机发送的射频通信请求,则处理器111在接收到射频通信请求后,在获知NFCC当前为第三NFC主机执行射频通信过程时,确定NFCC当前处于非空闲状态。
发送端口112还用于:
在接收端口110接收到NFCC发送的通告消息或者接收到第二NFC主机发送的射频通信请求之后,若处理器111若获知NFCC当前处于空闲状态,则向NFCC发送第四消息,指示NFCC为第二NFC主机执行射频通信过程。
处理器111对第二NFC主机和第三NFC主机进行优先级比较,包括:
处理器111根据第一NFC主机针对第二NFC主机和第三NFC主机预配置的优先级信息,对第二NFC主机和第三NFC主机进行优先级比较;或者,
处理器111根据系统初始配置的优先级信息,对第二NFC主机和第三NFC主机进行优先级比较;或者,
处理器111将第二NFC主机和第三NFC主机的提示信息通知用户,并根据用户基于提示信息设置的优先级,对第二NFC主机和第三NFC主机进行优先级比较。
发送端口112还用于:
当第二NFC主机的优先级低于第三NFC主机的优先级时,向第二NFC主机发送第五消息,第五消息用于表示第二NFC主机请求进行的射频通信被拒绝。
参阅图12所示,本发明实施例中,NFCC包括通信端口120和处理器121,其中,
通信端口120,用于在接收到第二NFC主机发送的射频通信请求时,向第一NFC主机发送第一消息;
处理器121,用于在通信端口120接收到第一NFC主机发送的第二消息时,终止当前为第三NFC主机执行的射频通信过程,其中,第二消息是第一NFC主机在接收到第一消息后,确定NFCC当前处于非空闲状态且第二NFC主机的优先级高于第三NFC主机的优先级时发送的,第三NFC主机为NFCC当前执行射频通信过程所对应的NFC主机。
第二消息携带第二NFC主机的配置信息,通信端口120接收到第二消息后,处理器121进一步为第二NFC主机执行射频通信过程;或者
通信端口120接收到第二消息后,在通信端口120接收到第二NFC主机重新发送的射频通信请求时,处理器101为第二NFC主机执行射频通信过程,其中,第二NFC主机在接收到第一NFC主机发送的第三消息时,重新发送射频通信请求。
通信端口120接收到第二NFC主机发送的射频通信请求时,向第一NFC主机发送第一消息,包括:
通信端口120接收到第二NFC主机发送的射频通信请求后,在确定处理器121当前为第三NFC主机执行射频通信过程时,向第一NFC主机发送通告消息;或者,
通信端口120接收到第二NFC主机发送的射频通信请求后,立即向第一NFC主机发送通告消息。
处理器121还用于:
通信端口120接收到第二NFC主机发送的射频通信请求后,若处理器121确定自身当前处于空闲状态,则直接开始为第二NFC主机执行射频通信过程。
处理器121还用于:
若通信端口120接收到第二NFC主机发送的射频通信请求后,立即向第一NFC主机发送通告消息,则在通信端口100接收到第一NFC主机发送的第四消息时,处理器121开始为第二NFC主机执行射频通信过程,其中,第四消息是第一NFC主机在确定NFCC当前处于空闲状态时发送的。
处理器121还用于:
若通信端口120接收到第一NFC主机发送的第五消息,则处理器121拒绝为第二NFC主机执行射频通信过程,第五消息是第一NFC主机确定NFCC当前处于非空闲状态且第二NFC主机的优先级低于第三NFC主机的优先级时发送的。
参阅图13所示,本发明实施例中,NFC射频通信的控制系统包括第一NFC主机131、第二NFC主机132、第三NFC主机133和NFCC130,其中,
第一NFC主机131,用于接收到第一消息,该第一消息表示第二NFC主机请求132进行射频通信,并在确定NFCC当前处于非空闲状态时,对第二NFC主机132和第三NFC主机133进行优先级比较,以及在第二NFC主机132的优先级高于第三NFC主机133的优先级时,向NFCC130发送第二消息,其中,第三NFC主机133为NFCC130当前执行射频通信过程所对应的NFC主机;
NFCC130,用于根据第二消息终止当前为第三NFC主机133执行的射频通信过程。
第二消息携带第二NFC主机132的配置信息,第二消息还用于指示NFCC130为第二NFC主机132执行射频通信过程;或者
当第二NFC主机132的优先级高于第三NFC主机133的优先级时,第一NFC主机131还用于:向第二NFC主机132发送第三消息,指示第二NFC主机132重新请求射频通信。
第一NFC主机131接收第一消息,包括:
第一NFC主机131接收到NFCC发送的通告消息,该通知消息是NFCC130接收到第二NFC主机132发送的射频通信请求后发送的;或者,
第一NFC主机131接收到第二NFC主机132发送的射频通信请求。
所述NFCC还用于,NFCC130接收到第二NFC主机132发送的射频通信请求时后,在确定NFCC130当前为第三NFC主机133执行射频通信过程时,向第一NFC主机131发送通告消息;或者,
NFCC130接收到第二NFC主机132发送的射频通信请求后,立即向第一NFC主机131发送通告消息。
NFCC130还用于:
NFCC130接收到第二NFC主机发送的射频通信请求后,若确定NFCC130当前处于空闲状态,则直接开始执行针对第二NFC主机的射频通信过程。
第一NFC主机131确定NFCC130当前处于非空闲状态,包括:
若第一NFC主机131接收到NFCC发送的通告消息,则在接收到通告消息时即确定NFCC当前处于非空闲状态;或者,
若第一NFC主机131接收到NFCC发送的通告消息,则在接收到通告消息后,在获知NFCC130当前为第三NFC主机133执行射频通信过程时,确定NFCC130当前处于非空闲状态;或者,
若第一NFC主机131接收到第二NFC主机132发送的射频通信请求,则在接收到射频通信请求后,在获知NFCC130当前为第三NFC主机133执行射频通信过程时,确定NFCC130当前处于非空闲状态。
第一NFC主机131还用于:
在第一NFC主机131接收到NFCC130发送的通告消息或者接收到第二NFC主机132发送的射频通信请求之后,若第一NFC主机131获知NFCC130当前处于空闲状态,则向NFCC130发送第四消息,NFCC130根据第二指令开始执行针对第二NFC主机132的射频通信过程。
第一NFC主机131对当前使用NFCC130的第二NFC主机132与第三NFC主机133进行优先级比较,包括:
第一NFC主机131根据第一NFC主机131针对各NFC主机预配置的优先级信息,对第二NFC主机132和第三NFC主机133进行优先级比较;或者,
第一NFC主机131根据系统初始配置的优先级信息,对第二NFC主机132和第三NFC主机133进行优先级比较;或者,
第一NFC主机131将第二NFC主机132和第三NFC主机133的相关提示信息通知用户,并根据用户基于相关提示信息设置的优先级,对第二NFC主机132和第三NFC主机133进行优先级比较。
第一NFC主机131还用于:
第一NFC主机131确定第二NFC主机132的优先级低于第三NFC主机133的优先级时,向NFCC130发送第五消息,NFCC130根据第五消息拒绝执行针对第二NFC主机132的射频通信过程。
综上所述,本发明实施例中,第一NFC主机接收到用于表示第二NFC主机请求射频通信的第一消息后,在确定NFCC当前处于非空闲状态时,对第二NFC主机和第三NFC主机进行优先级比较,其中,第三主机为NFCC当前执行射频通信过程所对应的NFC主机,当第二NFC主机的优先级高于第三NFC主机的优先级时,第一NFC主机向NFCC发送第二消息,所述NFCC根据该第二消息终止当前为第三NFC主机执行的射频通信过程。这样,由于针对各NFC主机配置了相应的优先级,因而在运行某个高优先级的NFC主机时能够优先获取使用NFCC的权利,相应的,低优先级的NFC主机对应的射频通信过程会被中止,从而有效避免了在NFC多主架构下多个NFC主机对NFCC请求射频通信所引起的冲突问题,保持了系统的运行可靠性。
进一步地,本发明实施例中,为第一NFC主机提供一个接口来向NFCC发送新定义的中止指令,使NFCC将正在运行的所有射频通信过程终止,并且,可选的,该中止指令中携带了高优先级NFC主机的配置信息,使得NFCC优先为该高优先级NFC主机执行射频通信过程,从而使得高优先级的NFC主机在NFCC非空闲时也能够使用NFCC,进而有效保障了高优先级NFC主机的运行可靠性。
另一方面,本发明实施例中,提供一个接口来允许NFCC执行或拒绝其他NFC主机的射频通信请求,从而使得高优先级的NFC主机在NFCC非空闲时也能使用NFCC,进一步有效保障了高优先级NFC主机的运行可靠性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。