CPU与IIC总线的连通控制方法及设备.pdf

上传人:bo****18 文档编号:10657788 上传时间:2021-08-06 格式:PDF 页数:11 大小:472.04KB
收藏 版权申诉 举报 下载
CPU与IIC总线的连通控制方法及设备.pdf_第1页
第1页 / 共11页
CPU与IIC总线的连通控制方法及设备.pdf_第2页
第2页 / 共11页
CPU与IIC总线的连通控制方法及设备.pdf_第3页
第3页 / 共11页
文档描述:

《CPU与IIC总线的连通控制方法及设备.pdf》由会员分享,可在线阅读,更多相关《CPU与IIC总线的连通控制方法及设备.pdf(11页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201911206235.5 (22)申请日 2019.11.29 (71)申请人 深圳震有科技股份有限公司 地址 518057 广东省深圳市南山区粤海街 道高新区社区科苑南路3176号彩讯科 技大厦五层、 六层 (72)发明人 戴瑜吴闽华孟庆晓秦金昆 梁栋 (74)专利代理机构 深圳市君胜知识产权代理事 务所(普通合伙) 44268 代理人 王永文刘文求 (51)Int.Cl. G06F 13/26(2006.01) (54)发明名称 一种CPU与IIC总线的连通控制方法及设备。

2、 (57)摘要 本发明公开了一种CPU与IIC总线的连接控 制方法及装置, 方法包括: 获取CPU向IIC总线发 送的访问信号, 根据所述访问信号获取所述IIC 总线的当前状态; 根据所述当前状态获取所述 CPU的个数以及各个CPU的优先级关系; 根据所述 各个CPU的优先级关系控制所述CPU与所述IIC总 线之间的信号连通。 本发明通过对IIC总线的当 前状态进行判定, 继而对CPU的数量以及优先级 进行获取, 选择出优先级最高的CPU进行连接, 同 时有效避免多个CPU访问IIC总线资源导致的冲 突问题, 确保多个CPU之间运行快速有效, 避免产 生访问错误等问题。 权利要求书1页 说明书。

3、6页 附图3页 CN 111124964 A 2020.05.08 CN 111124964 A 1.一种CPU与IIC总线的连通控制方法, 其特征在于, 所述方法包括: 获取CPU向IIC总线发送的访问信号, 并获取所述IIC总线的当前状态; 根据所述当前状态获取所述CPU的个数以及各个CPU的优先级关系; 根据各个所述CPU的优先级关系控制所述CPU与所述IIC总线之间的信号连通。 2.根据权利要求1所述的CPU与IIC总线的连通控制方法,其特征在于,所述当前状态具 体包括空闲状态与繁忙状态,所述繁忙状态表示当前存在CPU与所述IIC总线进行信号访 问。 3.根据权利要求1所述的CPU与I。

4、IC总线的连通控制方法, 其特征在于, 所述获取IIC总 线的当前状态还包括: 监听所述IIC总线的状态, 并判断是否从繁忙状态转换为空闲状态; 若转换为所述空闲状态, 则通知处于所述等待状态的CPU, 并判定需要进行访问的CPU 的优先级。 4.根据权利要求3所述的CPU与IIC总线的连通控制方法, 其特征在于, 所述空闲状态 为: 所述CPU与IIC总线之间的连通信号断开, 并使CPLD逻辑单元调高所述IIC总线的电平。 5.根据权利要求1所述的CPU与IIC总线的连通控制方法, 其特征在于, 所述根据所述当 前状态获取CPU的个数以及各个CPU的优先级关系包括: 当所述IIC总线为繁忙状。

5、态, 则将所述CPU置于等待状态; 当所述IIC总线为空闲状态, 则获取所述CPU的个数; 若所述CPU的数量大于一个时, 则继续获取各个CPU的优先级, 并将所述优先级进行比 较。 6.根据权利要求5所述的CPU与IIC总线的连通控制方法, 其特征在于, 所述等待状态为 CPLD逻辑单元调低所述需要进行访问的CPU的时钟CKL信号线的电平。 7.根据权利要求5所述的CPU与IIC总线的连接控制方法, 其特征在于, 所述获取CPU的 个数还包括: 若所述CPU的数量等于一个时, 则直接将所述CPU与所述IIC总线连接。 8.根据权利要求1所述的CPU与IIC总线的连通控制方法, 其特征在于, 。

6、所述根据各个优 先级关系控制所述CPU与所述IIC总线之间的连通包括: 若存在最高优先级的所述CPU时,则将最高优先级的所述CPU与所述IIC总线连通; 若存在多个最高优先级相同的所述CPU时,则获取多个最高优先级相同的所述CPU与 IIC总线的连通次数; 将连接次数最少的CPU与所述IIC总线连通。 9.一种CPU与IIC总线的连接控制装置, 其特征在于, 所述装置包括: 多个CPU; 与多个所 述CPU通过单独引出的IIC总线连接, 且用于对CPU的访问信号进行控制的CPLD逻辑单元; 与 所述CPLD逻辑单元通过IIC总线连接的外接设备, 所述外接设备用于获取及存储外部信息。 10.根据。

7、权利要求9所述的CPU与IIC总线的连接控制装置, 其特征在于, 所述CPLD逻辑 单元内部还设置有一存储器, 用以记录进行访问的CPU的连接次数。 权利要求书 1/1 页 2 CN 111124964 A 2 一种CPU与IIC总线的连通控制方法及设备 技术领域 0001 本发明涉及嵌入式驱动领域, 具体涉及一种CPU与IIC总线的连通控制方法及设 备。 背景技术 0002 随着电子科技的迅速发展, 集成电路已成为维持机械运转以及实现装置多功能化 的重要配件, 同时随着人们的工作更加复杂, 集成电路往往配置有更多的处理器以适应性 能上的需求。 0003 例如, TCN75温度传感器具有两个C。

8、PU, 两个CPU都可以访问IIC外部资源, 在现有技 术中, 是将其中一个CPU做访问, 另一个要访问的CPU则需要通过软件转发访问命令, 但是在 两个CPU都与IIC从设备相连时, 当两个CPU同时访问IIC设备, 则必然导致IIC总线信号冲 突, 使得两个CPU均不能正常访问, 或访问错误。 现有技术通常选择一个CPU做访问, 另一个 CPU则需要通过软件转发访问命令, 再由可执行的CPU执行命令, 对于使用更多CPU的设备来 说, 多个CPU向可执行CPU发送访问命令, 使主CPU使用繁忙, 且效率极低, 访问反馈较慢, 并 且会对执行命令的CPU造成较大负担。 0004 因此, 现有。

9、技术还有待改进。 发明内容 0005 本发明要解决的技术问题在于, 针对现有技术的上述缺陷, 提供一种多CPU的IIC 总线仲裁方法、 介质及终端, 旨在解决现有技术中单CPU进行访问功能损耗大, 访问回复速 度慢等问题。 0006 本发明解决技术问题所采用的技术方案如下: 0007 一种CPU与IIC总线的连通控制方法, 其中, 所述方法包括: 0008 获取CPU向IIC总线发送的访问信号, 并获取所述IIC总线的当前状态; 0009 根据所述当前状态获取所述CPU的个数以及各个CPU的优先级关系; 0010 根据各个所述CPU的优先级关系控制所述CPU与所述IIC总线之间的信号连通。 0。

10、011 所述的CPU与IIC总线的连通控制方法,其中,所述当前状态具体包括空闲状态与 繁忙状态,所述繁忙状态表示当前存在CPU与所述IIC总线进行信号访问。 0012 所述的CPU与IIC总线的连通控制方法, 其中, 所述获取IIC总线的当前状态还包 括: 0013 监听所述IIC总线的状态, 并判断是否从繁忙状态转换为空闲状态; 0014 若转换为所述空闲状态, 则通知处于所述等待状态的CPU, 并判定需要进行访问的 CPU的优先级。 0015 所述的CPU与IIC总线的连通控制方法, 其中, 所述空闲状态为: 0016 所述CPU与IIC总线之间的连通信号断开, 并使CPLD逻辑单元调高所。

11、述IIC总线的 电平。 说明书 1/6 页 3 CN 111124964 A 3 0017 所述的CPU与IIC总线的连通控制方法, 其中, 所述根据所述当前状态获取CPU的个 数以及各个CPU的优先级关系包括: 0018 当所述IIC总线为繁忙状态, 则将所述CPU置于等待状态; 0019 当所述IIC总线为空闲状态, 则获取所述CPU的个数; 0020 若所述CPU的数量大于一个时, 则继续获取各个CPU的优先级, 并将所述优先级进 行比较。 0021 所述的CPU与IIC总线的连通控制方法, 其中, 所述等待状态为CPLD逻辑单元调低 所述需要进行访问的CPU的时钟CKL信号线的电平。 。

12、0022 所述的CPU与IIC总线的连接控制方法, 其中, 所述获取CPU的个数还包括: 0023 若所述CPU的数量等于一个时, 则直接将所述CPU与所述IIC总线连接。 0024 所述的CPU与IIC总线的连通控制方法, 其中, 所述根据各个优先级关系控制所述 CPU与所述IIC总线之间的连通包括: 0025 若存在最高优先级的所述CPU时,则将最高优先级的所述CPU与所述IIC总线连通; 0026 若存在多个最高优先级相同的所述CPU时,则获取多个最高优先级相同的所述CPU 与IIC总线的连通次数; 0027 将连接次数最少的CPU与所述IIC总线连通。 0028 一种CPU与IIC总线。

13、的连接控制装置, 其中, 所述装置包括: 多个CPU; 与多个所述 CPU通过单独引出的IIC总线连接, 且用于对CPU的访问信号进行控制的CPLD逻辑单元; 与所 述CPLD逻辑单元通过IIC总线连接的外接设备, 所述外接设备用于获取及存储外部信息。 0029 所述的CPU与IIC总线的连接控制装置, 其中, 所述CPLD逻辑单元内部还设置有一 存储器, 用以记录进行访问的CPU的连接次数。 0030 本发明的有益效果: 本发明通过CPLD逻辑单元对多CPU的电子设备进行限制, 使 CPU在进行访问IIC总线时, 需要通过CPLD逻辑单元的仲裁, 从而选择出优先级高的CPU进行 连接, 同时。

14、有效防止多CPU访问IIC总线资源导致资源冲突的问题, 从而确保多CPU运行快捷 有效, 避免产生访问错误等问题。 附图说明 0031 图1是本发明CPU与IIC总线连通控制方法的流程图; 0032 图2是本发明CPU的IIC总线连通方法的逻辑框图; 0033 图3是本发明CPU的IIC总线的连通方法仲裁过程的逻辑框图; 0034 图4是传统技术的连接示意图; 0035 图5是传统技术解决多CPU冲突的原理示意图; 0036 图6是本发明的连接示意图。 具体实施方式 0037 为使本发明的目的、 技术方案及优点更加清楚、 明确, 以下参照附图并举实施例对 本发明进一步详细说明。 应当理解, 此。

15、处所描述的具体实施例仅仅用以解释本发明, 并不用 于限定本发明。 0038 需要说明, 若本发明实施例中有涉及方向性指示(诸如上、 下、 左、 右、 前、 后), 说明书 2/6 页 4 CN 111124964 A 4 则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、 运动情况等, 如果该特定姿态发生改变时, 则该方向性指示也相应地随之改变。 0039 另外, 若本发明实施例中有涉及 “第一” 、“第二” 等的描述, 则该 “第一” 、“第二” 等 的描述仅用于描述目的, 而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技 术特征的数量。 由此, 限定有。

16、 “第一” 、“第二” 的特征可以明示或者隐含地包括至少一个该特 征。 另外, 各个实施例之间的技术方案可以相互结合, 但是必须是以本领域普通技术人员能 够实现为基础, 当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结 合不存在, 也不在本发明要求的保护范围之内。 0040 请参考图4, 图4是传统技术双CPU(Central Processing Unit, 中央处理器)访问 IIC总线(Inter-Integrated Circuit, 集成电路总线)的示意图, 其中, 从设备以双线温度 传感器为例, 在传统技术中, 第一CPU(CPU(1)与第二CPU(CPU(2)分别通。

17、过IIC总线对双线 温度传感器进行访问, 其中, IIC总线分别直接将双线温度传感器与两个CPU相连, 因此, 在 实际使用的过程中, 往往会出现两个CPU都需要访问从设备外部资源的情况, 在这种情况 下, 必然会导致IIC总线信号冲突, 两个CPU均不能正常访问或访问错误。 如图5所示, 传统技 术解决这个问题采用的方式是, 将第一CPU做主访问, 当第二CPU需要访问从设备外部资源 时, 则需要通过软件转发命令, 由可访问的CPU去执行访问命令, 再传输回第二CPU, 相当于 只有第一CPU通过IIC总线与从设备连接, 而第二CPU通过软件协议与第一CPU连接, 传统技 术的缺点在于第一C。

18、PU在自身访问工作的同时, 还需要承担第二CPU的访问与答复, 因此整 个过程运行缓慢, 并且随着CPU的增多对第一CPU功能损耗也会更大。 0041 如图6所示, 本发明公开一种多CPU的IIC总线仲裁方法, 其中第一CPU与第二CPU分 别通过IIC总线与CPLD逻辑单元(Complex Programmable Logic Device, 复杂可编程逻辑 器件)相连, 再通过IIC总线将CPLD逻辑单元与从设备双线温度传感器进行连接, CPLD逻辑 单元主要是由可编辑逻辑宏单元围绕中心的可编程互联矩阵单元组成, 可由用户根据需要 生成特定的电路结构, 完成一定的功能, 并且CPLD逻辑单。

19、元内部采用固定长度的金属线进 行各逻辑块的互连, 因此设计的逻辑电路具有时间可预测性, 避免了分段式互连结构时序 不完全预测的缺点, 本发明通过CPLD逻辑单元作为IIC总线的控制仲裁器, 使每个CPU都单 独引出IIC总线连接至CPLD逻辑单元中, 对多个CPU通过IIC总线访问从设备外部资源的过 程进行限制, 从而保证多CPU自主工作的同时, 只存在一个CPU访问从设备外部资源, 有效避 免多CPU之间的冲突, 提高运行速度, 降低CPU负担。 0042 请参考图1, 以下对CPU与IIC总线的联通控制方法的流程进行详细的介绍: 0043 S100、 获取CPU向IIC总线发送的访问信号,。

20、 根据所述访问信号获取所述IIC总线的 当前状态; 0044 S200、 根据所述当前状态获取所述CPU的个数以及各个CPU的优先级关系; 0045 S300、 根据所述各个CPU的优先级关系控制所述CPU与所述IIC总线之间的信号连 通。 0046 本发明在当CPU向IIC总线发送访问信号时, 获取IIC总线的当前状态, 当前状态通 常有两种, 即忙绿状态和空闲状态, 在忙绿状态下说明存在CPU与IIC总线处于访问状态, 而 空闲状态下则说明没有CPU与IIC总线处于访问状态。 0047 进一步地, 在当前IIC总线处于忙碌状态时, 无法进行新的CPU访问, 因此此时无需 说明书 3/6 页。

21、 5 CN 111124964 A 5 继续获取CPU的数量以及各个CPU的优先级关系; 在当前IIC总线处于空闲状态时, 则继续获 取发出访问信号的CPU的数量以及各个CPU的优先级, 并根据各个CPU优先级的关系控制CPU 与IIC总线之间的信号连通。 0048 请参考图2, 以下通过逻辑框图的形式对CPU与IIC总线连通方法的流程进行详细 的介绍: 0049 S101、 CPU访问IIC资源准备; 0050 S102、 CPU的IIC控制器发送起始信号; 0051 S103、 检测IIC总线是否繁忙; 0052 S104、 当IIC总线繁忙时, 则将要访问的CPU置于等待状态; 0053。

22、 S105、 当IIC总线空闲时, 则直接将CPU连接到IIC总线进行资源访问; 0054 S106、 当CPU访问IIC总线结束后, CPU向IIC控制器发送结束信号; 0055 S107、 CPU访问IIC资源结束。 0056 从设备以多线温度传感器为例, 在上述步骤S102中, 当CPU需要获取温度传感器中 的数据时, 会首先通过IIC总线对CPLD逻辑单元发出访问申请, CPLD逻辑单元对从设备温度 传感器是否处于繁忙状态进行判定(繁忙状态即存在其它CPU正在访问), 在此过程中, 此时 刻对从设备进行访问的设备个数可能同时包含多个。 0057 当CPLD逻辑单元判定从设备温度传感器处。

23、于繁忙状态时, 无论此时发出访问申请 的CPU是否包含多个, 都直接将这些发起访问的CPU置于等待状态, 等待状态即CPLD逻辑单 元将CPU的时钟CLK信号线的电平拉低(在IIC电路中, 默认高电平为访问结束状态, 低电平 为等待状态), 置于等待状态的CPU将在从设备温度传感器空闲时重新进行判定。 0058 当CPLD逻辑单元判定从设备温度传感器处于空闲状态时, 对发起访问的CPU的个 数进行判定, 此时, 若只存在一个CPU发起访问, 则直接将该CPU与从设备的IIC总线进行连 接(即调高该CPU连接IIC总线电平), 从而进入访问状态; 若存在多个CPU发起访问, 则CPLD 逻辑单元。

24、对发起访问的多个CPU进行仲裁, 仲裁即将多个CPU的优先级进行对比文, 从而确 定多个CPU中优先级最高的CPU与从设备的IIC总线连接, 进入访问状态, 此时, 从设备温度 传感器处于繁忙状态, 因此其他优先级较低的CPU回到等待状态。 0059 如图3所示, 在本发明中, 优先级为人为预设的优先顺序, 其仲裁的标准可以是CPU 执行命令的重要程度、 CPU自身的优先级别等, 对此本发明不进行限定。 0060 在上述判定过程中, 其中仲裁过程具体包括: 0061 S201、 仲裁启动; 0062 S202、 检测是否为多个CPU同时发起IIC访问 0063 S203、 检测是否存在唯一最高。

25、优先级CPU发起访问; 0064 S204、 当有且仅有一个最高优先级的CPU时, 将IIC总线切换到优先级最高的CPU; 0065 S205、 当存在多个最高优先级相等的CPU时, 则计算所述多个CPU访问IIC总线的次 数; 0066 S206、 将IIC总线切换到访问次数少的CPU; 0067 S207、 仲裁结束。 0068 在上述仲裁的过程中, 当确定了同时访问从设备温度传感器的CPU具有多个后, CPLD逻辑单元判定所有CPU的优先级, 并对具有最高优先级设备进行挑选。 说明书 4/6 页 6 CN 111124964 A 6 0069 进一步地, 当只存在一个最高优先级的CPU时。

26、, 则将该最高有优先级的CPU与从设 备IIC总线进行连接, 即调平此CPU的电平, 使该CPU与从设备温度传感器进入访问状态, 同 时, 将其它优先级较低的CPU置入等待状态, 并且此时CPLD逻辑单元判定IIC总线处于繁忙 状态。 0070 进一步地, 当存在多个最高优先级相等的CPU时, 则计算该多个优先级相等的CPU 之前连接IIC总线的连接次数, 并且将访问次数较少的CPU与从设备IIC总线进行连接, 使该 优先级高且连接IIC总线次数少的CPU接入温度传感器进行访问, 同时, 将其它CPU置于等待 状态。 在本实施例, 将与从设备IIC总线连接次数少的CPU优先接入访问状态, 这样。

27、的访问策 略有利于避免重复使用同一CPU,造成某个CPU过于繁忙而其它CPU相较空闲的情况发生, 使 资源得到充分利用的同时, 延长各个组件的寿命。 0071 在本实施例中, 如果存在多个发起访问的CPU同属最高优先级, 且在某一时刻之前 连接的次数相等时, 则判定这些CPU距离上次接入从设备IIC总线的时刻, 上次接入的时刻 距离当前时刻较远的则判定为优先级较高的CPU, 因此可以将CPU之间的繁忙程度排布更为 平均, 提高CPU的使用效率。 0072 进一步地, 当已进行访问的CPU与从设备温度传感器断开连接时, 与从设备温度传 感器连接的IIC总线的电平上拉为高, 此时IIC总线当前已处。

28、于空闲状态, 同时将从设备温 度传感器空闲的信号发送给等待状态的CPU, 从而继续进行处于等待状态的CPU的判定与仲 裁。 0073 基于上述仲裁原则, 本发明CPLD逻辑单元内部还设置有一存储器, 该存储器能够 区分多个CPU,并记录多个CPU在使用过程中的数据, 例如连接次数、 接入从设备IIC总线的 时刻、 断开从设备IIC总线的时刻等, 通过存储器可以准确判定多个CPU在过去时间中的使 用程度, 从而使CPLD逻辑单元能够根据用户设置的不同需求进行准确的判断。 0074 进一步地, 在本发明的另一个实施例中, 如果某个处于等待状态的CPU的时钟CKL 信号线一直被拉低, 且该CPU的时。

29、钟CKL信号线被拉低的时间超过了某一预定的阈值, 说明 该CPU优先级较低, 且当前访问线路比较繁忙, 因此CPLD逻辑单元将该CPU置入循环状态进 行等待, 直到IIC总线的电平上拉为高, 且没有更高优先级的CPU执行访问, 此时结束该CPU 的循环状态, 并将该CPU置入访问状态。 0075 同时, 本申请还提供了一种CPU与IIC总线的连通控制装置, 该装置应用上述技术 方案, 用于进行多CPU发起资源访问时的选择, 可有效避免多CPU同时访问产生冲突, 确保多 CPU之间运行快速, 该装置具体包括: 多个CPU; 与所述多个CPU通过IIC总线连接, 用于对CPU 的信号访问进行控制的。

30、CPLD逻辑单元; 与所述CPLD逻辑单元通过IIC总线连接的外接设备, 所述外接设备用于获取及存储外部信息。 0076 具体的, 多个CPU相互之间没有干扰, 可分别根据系统的要求执行访问外部资源的 命令; 多个CPU分别通过单独的IIC总线与所述CPLD逻辑单元连接, 同时, 所述CPLD逻辑单元 能够获取并判定同时发起访问的CPU的个数以及优先权, 所述CPLD逻辑单元对多个CPU的优 先权判定从而实现对CPU于IIC总线连通控制的功能; CPLD逻辑单元与外接设备之间通过一 根IIC总线相连, 通过CPLD的判定功能决定CPU与该IIC总线的连接, 进而实现CPU访问IIC总 线的从设。

31、备, 获取从设备中外部资源的过程。 0077 综上所述, 本发明提供了一种CPU与IIC总线的连通控制方法及装置, 该方法、 装置 说明书 5/6 页 7 CN 111124964 A 7 能够在多CPU同时对从设备进行访问的过程中进行选择, 避免发生多CPU同时访问造成访问 冲突的情况发生, 同时, 相较传统技术的主CPU访问反馈, 本发明能够降低单个CPU的使用频 率, 提高多CPU之间的工作效率, 延长使用寿命。 0078 应当理解的是, 本发明的应用不限于上述的举例, 对本领域普通技术人员来说, 可 以根据上述说明加以改进或变换, 所有这些改进和变换都应属于本发明所附权利要求的保 护范围。 说明书 6/6 页 8 CN 111124964 A 8 图1 图2 说明书附图 1/3 页 9 CN 111124964 A 9 图3 图4 说明书附图 2/3 页 10 CN 111124964 A 10 图5 图6 说明书附图 3/3 页 11 CN 111124964 A 11 。

展开阅读全文
内容关键字: CPU IIC 总线 连通 控制 方法 设备
关于本文
本文标题:CPU与IIC总线的连通控制方法及设备.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10657788.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1