模拟通信接口的时序控制方法、装置与电子设备制造方法及图纸

技术编号:20329112 阅读:23 留言:0更新日期:2019-02-13 05:44
本申请实施例公开了一种模拟通信接口的时序控制方法、装置与电子设备,所述方法包括:获取通信总线当前电平状态的目标维持时长,以及CPU当前工作频率,其中,目标维持时长由预设的通信总线时序确定;根据CPU当前工作频率和目标维持时长,确定CPU空指令的次数;根据CPU空指令的次数,确定模拟通信接口的时序。这样当CPU的工作频率发生变化时,可以确保模拟通信接口的时序与预设的通信总线时序一致,进而提高了该模拟通信接口通信或数据传输的成功率。

【技术实现步骤摘要】
模拟通信接口的时序控制方法、装置与电子设备
本申请实施例涉及数据传输领域,尤其涉及一种模拟通信接口的时序控制方法、装置与电子设备。
技术介绍
I2C(Inter-IntegratedCircuit,集成电路总线)通讯协议是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART(UniversalAsynchronousReceiverAndTransmitter,通用异步收发器)、CAN(ControllerAreaNetwork,区域网络控制器)等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。目前通常使用GPIO(GeneralPurposeInput/Output,通用输入输出)接口来模拟I2C总线实现数据的传输。I2C通信协议对时序有着严格的要求,采用GPIO模拟的方式实现I2C时,需要靠软件延时来模拟时序。而在CPU工作时CPU工作频率会变化,使得用于模拟I2C时序的软件延时也会随之变化,导致模拟I2C时序不满足标准规定的I2C时序要求,进而导致通信失败或数据传输出错。
技术实现思路
本申请实施例提供一种模拟通信接口的时序控制方法、装置与电子设备。第一方面,本申请实施例提供一种模拟通信接口的时序控制方法,包括:获取通信总线当前电平状态的目标维持时长,以及CPU当前工作频率,其中,所述目标维持时长由预设的通信总线时序确定;根据所述CPU当前工作频率和所述目标维持时长,确定所述CPU空指令的次数;根据所述CPU空指令的次数,确定所述模拟通信接口的时序,其中,所述模拟通信接口为用于模拟通信总线时序的通信接口。在第一方面的一种可能的实现方式中,所述根据所述CPU当前工作频率和所述目标维持时长,确定所述CPU空指令的次数,包括:若所述目标维持时长大于或等于第一预设值,则根据所述第一预设值和所述CPU当前工作频率,确定所述CPU空指令的第一次数,并执行所述第一次数的空指令;若所述目标维持时长小于所述第一预设值,则根据所述目标维持时长和所述CPU当前工作频率,确定所述CPU空指令的第二次数,并执行所述第二次数的空指令。在第一方面的另一种可能的实现方式中,所述若所述目标维持时长大于或等于第一预设值,则根据所述第一预设值和所述CPU当前工作频率,确定所述CPU空指令的第一次数,包括:若所述目标维持时长大于或等于所述第一预设值,则根据所述第一预设值和所述CPU当前工作频率,确定所述CPU空指令的第一子次数;判断所述目标维持时长与所述第一预设值的第一差值是否小于所述第一预设值;若否,则将所述第一差值作为所述目标维持时长,继续根据所述第一预设值和所述CPU当前工作频率,确定所述CPU空指令的第一子次数,直到所述第一差值小于所述第一预设值为止;将所有第一子次数之和作为所述第一次数。在第一方面的另一种可能的实现方式中,所述方法还包括:判断所述目标维持时长是否大于或等于第二预设值,其中,所述第二预设值大于所述第一预设值;若所述目标维持时长大于或等于所述第二预设值,则根据所述第二预设值和所述CPU当前工作频率,确定所述CPU空指令的第三次数。在第一方面的另一种可能的实现方式中,所述根据所述第二预设值和所述CPU当前工作频率,确定所述CPU空指令的第三次数,包括:根据所述第二预设值和所述CPU当前工作频率,确定所述CPU空指令的第三子次数;判断所述目标维持时长与所述第二预设值的第二差值是否小于所述第二预设值;若否,则将所述第二差值作为所述目标维持时长,继续根据所述第二预设值和所述CPU当前工作频率,确定所述CPU空指令的第三子次数,直到所述第二差值小于所述第二预设值为止;将所有第三子次数之和作为所述第三次数。在第一方面的另一种可能的实现方式中,所述根据所述CPU当前工作频率和所述目标维持时长,确定所述CPU空指令的次数,包括:根据维持时长、所述CPU当前工作频率、所述CPU的基准频率、以及所述CPU在所述基准频率下延时1纳秒时需要执行空指令的次数,确定所述CPU空指令的次数;其中,若所述目标维持时长大于或等于第二预设值,则所述维持时长为所述第二预设值,确定的所述CPU空指令的次数为所述CPU空指令的第二子次数;若所述目标维持时长小于所述第二预设值且大于或等于第一预设值,则所述维持时长为所述第一预设值,确定的所述CPU空指令的次数为所述CPU空指令的第一子次数;若所述目标维持时长小于所述第一预设值,则所述维持时长为所述目标维持时长,确定的所述CPU空指令的次数为所述CPU空指令的第二次数。在第一方面的另一种可能的实现方式中,所述根据维持时长、所述CPU当前工作频率、所述CPU的基准频率、以及所述CPU在所述基准频率下延时1纳秒时需要执行空指令的次数,确定所述CPU空指令的次数,包括:根据所述维持时长、所述CPU当前工作频率、所述CPU的基准频率、所述CPU在所述基准频率下延时1纳秒时需要执行空指令的次数,以及所述CPU在当前工作频率下,获取所述CPU当前功率频率以及计算CPU空指令的次数所占用的时间,确定所述CPU空指令的次数。在第一方面的另一种可能的实现方式中,所述根据所述维持时长、所述CPU当前工作频率、所述CPU的基准频率、所述CPU在所述基准频率下延时1纳秒时需要执行空指令的次数、以及所述CPU在当前工作频率下,获取所述CPU当前工作频率以及计算CPU空指令的次数所占用的时间,确定所述CPU空指令的次数,包括:根据公式(1)确定所述CPU空指令的次数,其中,所述loop_cnt为所述CPU空指令的次数;所述ns_delay为维持时长,单位为纳秒;所述cur_freq为所述CPU当前工作频率,单位为MHz;所述BASE_FREQ为所述CPU的基准频率;所述BASE_CNT为所述CPU在基准频率下,延时1纳秒需要执行空指令的次数;所述PROCESS_RATIO为所述CPU在当前工作频率下,获取CPU的当前工作频率和计算所述loop_cnt占用的时间。在第一方面的另一种可能的实现方式中,所述模拟通信接口为通用输入/输出GPIO接口。第二方面,本申请实施例提供模拟通信接口的时序控制装置,包括:获取模块,用于获取通信总线当前电平状态的目标维持时长,以及CPU当前工作频率,其中,所述目标维持时长由预设的通信总线时序确定;次数确定模块,用于根据所述当前工作频率和所述目标维持时长,确定所述CPU空指令的次数;时序确定模块,用于根据所述CPU空指令的次数,确定所述模拟通信接口的时序,其中,所述模拟通信接口为用于模拟通信总线时序的通信接口。在第二方面的一种可能的实现方式中,所述次数确定模块,具体用于若所述目标维持时长大于或等于第一预设值,则根据所述第一预设值和所述CPU当前工作频率,确定所述CPU空指令的第一次数,并执行所述第一次数的空指令;若所述目标维持时长小于所述第一预设值,则根据所述目标维持时长和所述CPU当前工作频率,确定所述CPU空指令的第二次数,并执行所述第二次数的空指令。在第二方面的另一种可能的实现方式中,所述次数确定模块,包括:确定单元、判断单元、循环单元;所述确定单元,用于若所述目标维持时长大于或等于所述第一预设值,则根据所述第一预设值和所述CPU当前本文档来自技高网...

【技术保护点】
1.一种模拟通信接口的时序控制方法,其特征在于,包括:获取通信总线当前电平状态的目标维持时长,以及CPU当前工作频率,其中,所述目标维持时长由预设的通信总线时序确定;根据所述CPU当前工作频率和所述目标维持时长,确定所述CPU空指令的次数;根据所述CPU空指令的次数,确定模拟通信接口的时序,其中,所述模拟通信接口为用于模拟通信总线时序的通信接口。

【技术特征摘要】
1.一种模拟通信接口的时序控制方法,其特征在于,包括:获取通信总线当前电平状态的目标维持时长,以及CPU当前工作频率,其中,所述目标维持时长由预设的通信总线时序确定;根据所述CPU当前工作频率和所述目标维持时长,确定所述CPU空指令的次数;根据所述CPU空指令的次数,确定模拟通信接口的时序,其中,所述模拟通信接口为用于模拟通信总线时序的通信接口。2.根据权利要求1所述的方法,其特征在于,所述根据所述CPU当前工作频率和所述目标维持时长,确定所述CPU空指令的次数,包括:若所述目标维持时长大于或等于第一预设值,则根据所述第一预设值和所述CPU当前工作频率,确定所述CPU空指令的第一次数,并执行所述第一次数的空指令;若所述目标维持时长小于所述第一预设值,则根据所述目标维持时长和所述CPU当前工作频率,确定所述CPU空指令的第二次数,并执行所述第二次数的空指令。3.根据权利要求2所述的方法,其特征在于,所述若所述目标维持时长大于或等于第一预设值,则根据所述第一预设值和所述CPU当前工作频率,确定所述CPU空指令的第一次数,包括:若所述目标维持时长大于或等于所述第一预设值,则根据所述第一预设值和所述CPU当前工作频率,确定所述CPU空指令的第一子次数;判断所述目标维持时长与所述第一预设值的第一差值是否小于所述第一预设值;若否,则将所述第一差值作为所述目标维持时长,继续根据所述第一预设值和所述CPU当前工作频率,确定所述CPU空指令的第一子次数,直到所述第一差值小于所述第一预设值为止;将所有第一子次数之和作为所述第一次数。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:判断所述目标维持时长是否大于或等于第二预设值,其中,所述第二预设值大于所述第一预设值;若所述目标维持时长大于或等于所述第二预设值,则根据所述第二预设值和所述CPU当前工作频率,确定所述CPU空指令的第三次数。5.根据权利要求4所述的方法,其特征在于,所述根据所述第二预设值和所述CPU当前工作频率,确定所述CPU空指令的第三次数,包括:根据所述第二预设值和所述CPU当前工作频率,确定所述CPU空指令的第三子次数;判断所述目标维持时长与所述第二预设值的第二差值是否小于所述第二预设值;若否,则将所述第二差值作为所述目标维持时长,继续根据所述第二预设值和所述CPU当前工作频率,确定所述CPU空指令的第三子次数,直到所述第二差值小于所述第二预设值为止;将所有第三子次数之和作为所述第三次数。6.根据权利要求5所述的方法,其特征在于,所述根据所述CPU当前工作频率和所述目标维持时长,确定所述CPU空指令的次数,包括:根据维持时长、所述CPU当前工作频率、所述CPU的基准频率、以及所述CPU在所述基准频率下延时1纳秒时需要执行空指令的次数,确定所述CPU空指令的次数;其中,若所述目标维持时长大于或等于第二预设值,则所述维持时长为所述第二预设值,确定的所述CP...

【专利技术属性】
技术研发人员:王双优初德进谭少峰陈彦霖白晓东
申请(专利权)人:青岛海信电器股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1