The invention discloses a communication method of double CPUs in a POS machine, which relates to the communication technology field of a POS machine. The dual CPU includes a universal CPU and a secure CPU using serial communication. Event pins and state pins are set on both the universal CPU and the secure CPU, and a physical connection channel is established through event pins and state pins, which ensures low cost. Moreover, in all serial communication modes, one serial communication mode can be chosen arbitrarily in hardware, while only a few in software. Change. It facilitates the modular design of the software, and greatly reduces the development cycle and maintenance cost of the software when the project changes the communication requirements.
【技术实现步骤摘要】
一种POS机中双CPU的通讯方法
本专利技术涉及POS机通讯
,尤其涉及一种POS机中双CPU的通讯方法。
技术介绍
随着移动互联网技术的飞速发展,Android手机与平板等智能移动终端的火爆,移动支付出现了爆发式增长,作为移动支付附加产业——智能POS行业也不例外。目前,智能POS普遍采用了Android平台。因为Android平台架构,最初是为移动应用设计,并非直接针对安全,所以原生的Android平台层层都会有安全的问题,不能直接应用于智能POS上,需要经过安全的改造。为了使原生的Android平台满足智能POS的安全要求,一种比较普遍的原生的Android平台方案是:增加一颗安全CPU,用于保证重要数据的高度安全,如:密钥等。因为两颗CPU是独立运行的,所以两者必须相互通信,才能完成特定的工作。这就引入了两颗CPU的通讯问题。两颗CPU的通信总线为并行总线或串行总线。并行总线,需要使用的IO引脚较多,而CPU的IO引脚通常都是紧缺的。因此一般不会使用并行总线方式。常见的串行总线为:I2C、SPI、串口和USB。因此两颗CPU的串行通讯方式的硬件连接一般为几种连接方式,参见图3-9所示。其中,图4与图6增加了事件引脚,是因为I2C与SPI是主从模式,从机不能主动向主机发送数据,所以从机数据准备好了或有事件要通知主机,需要主机发送读取的指令时,才能向主机发送数据或事件消息。增加了事件引脚后,从机数据准备好或产生了事件,将事件引脚拉低后,主机便产生了中断,此时主机读取从机的数据或事件消息,减轻主机定时发送查询指令的负担。图7是无流控的串口连接方式, ...
【技术保护点】
1.一种POS机中双CPU的通讯方法,所述双CPU包括采用串行通信的通用CPU与安全CPU,其特征在于,通用CPU与安全CPU上均设置有事件引脚和状态引脚,并通过事件引脚和状态引脚建立物理连接通道,所述事件引脚用于当安全CPU产生了事件或数据准备好了时,及时向通用CPU发送中断,通知通用CPU处理;当使用串口或USB通信方式时,安全CPU主动向通用CPU发送数据,通用CPU事件引脚的中断处理函数专门处理安全CPU的事件,串口与USB的中断处理函数专门处理数据的通信;当使用I2C或SPI串口通信方式时,安全CPU不能主动向通用CPU发送数据,通用CPU事件引脚的中断处理函数处理安全CPU的事件;所述状态引脚用于通用CPU事件引脚的中断处理函数获取安全CPU的忙碌或空闲的状态,如果安全CPU处于忙碌的状态,则通用CPU事件引脚的中断处理函数延后处理安全CPU的事件。
【技术特征摘要】
1.一种POS机中双CPU的通讯方法,所述双CPU包括采用串行通信的通用CPU与安全CPU,其特征在于,通用CPU与安全CPU上均设置有事件引脚和状态引脚,并通过事件引脚和状态引脚建立物理连接通道,所述事件引脚用于当安全CPU产生了事件或数据准备好了时,及时向通用CPU发送中断,通知通用CPU处理;当使用串口或USB通信方式时,安全CPU主动向通用CPU发送数据,通用CPU事件引脚的中断处理函数专门处理安全CPU的事件,串口与USB的中断处理函数专门处理数据的通信;当使用I2C或SPI串口通信方式时,安全CPU不能主动向通用CPU发送数据,通用CPU事件引脚的中断处理函数处理安全CPU的事件;所述状态引脚用于通用CPU事件引脚的中断处理函数获取安全CPU的忙碌或空闲的状态,如果安全CPU处于忙碌的状态,则通用CPU事件引脚的中断处理函数延后处理安全CPU的事件。2.根据权利要求1所述的POS机中双CPU的通讯方法,其特征在于,通用CPU向安全CPU收发命令包的方法为:通用CPU向安全CPU发送数据前,申请访问安全CPU的互斥锁,即上锁,完成接收安全CPU的数据后,释放访问安全CPU的互斥锁;当某个进程申请访问安全CPU的互斥锁时,若已上锁,则进程挂起,即进程停止执行,进入休眠状态,直到访问安全CPU的互斥锁被释放时,挂起的进程才会被唤醒,即进程开始执行,进入工作状态。3.根据权利要求2所述的POS机中双CPU的通讯方法,其特征在于,通用CPU向安全CPU收发命令包的方法,包括如下步骤:A1,申请访问安全CPU的互斥锁;A2,查询状态引脚,判断安全CPU是否处于空闲状态,如果是,则执行A4;否则,执行A3;A3,判断是否等待空闲状态超时...
【专利技术属性】
技术研发人员:廖泽才,王琳斌,詹闽,
申请(专利权)人:艾体威尔电子技术北京有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。