一种基于COMe平台通用串行中断模块实现的方法技术

技术编号:30788780 阅读:48 留言:0更新日期:2021-11-16 07:51
本发明专利技术提供一种基于COMe平台通用串行中断模块实现的方法,COMe平台包括主机端和从设备,主机端包括CPU,所述CPU具有通用GPIO管脚,所述COMe底板通过串行中断总线上报中断给COMe扣板,从设备按照规定的时序,将内部汇聚的中断信息,放到对应bit位,主机端按照规定的时序去收集对应的bit,以此实现一个通用GPIO管脚将所有的中断信息进行收集后,再运行对应的中断程序,达到响应中断的目的。达到响应中断的目的。达到响应中断的目的。

【技术实现步骤摘要】
一种基于COMe平台通用串行中断模块实现的方法


[0001]本专利技术属于信息技术
,尤其是涉及一种基于COMe平台通用串行中断模块实现的方法。

技术介绍

[0002]随着嵌入式技术的发展,通用定义信号扣板的硬件设计形式有了广泛的应用,其优势在于更快的开发周期,硬件及软件开发成果可重复利用,定义标准接口可应用多种不同的环境。同时减小产品尺寸,减小体积,资源利用更好,有更高的交互效率。所以通用信号定义扣板已经广泛应用在嵌入式产品中。
[0003]COM Express标准是在2005年首次发布,由PCI工业计算机制造商协会(PICMG)和它寻求几种不同的目标应用程序提供了标准化的模块接口。COM Express是模块计算机(COM)的外形尺寸,是一种高度集成且紧凑的PC,可以像集成电路组件一样用于设计应用。每个COM Express模块都集成了核心CPU和内存功能,通用I/O、USB、音频、图形(PEG)和以太网。所有I/O信号都映射到模块底部的两个高密度薄型连接器。COM模块插入通常针对应用定制的底板。可以将COM Express夹层模块升级到较新的,向后兼容的版本。COM Express通常用于工业,军事/航空航天,医疗,运输,物联网和双边缘连接器通用计算嵌入式应用程序。
[0004]COMe标准按照其规范定义,能否提供给用户使用的GPIO数量非常有限。底板控制的设备假如有大量中断上报给cpu,那么这些通用管脚的数量是无法满足要求的。

技术实现思路

[0005]本专利技术旨在解决上述技术问题,提供一种基于COMe平台通用串行中断模块实现的方法。
[0006]为了达到上述目的,本专利技术采用如下技术方案:一种基于COMe平台通用串行中断模块实现的方法,COMe平台包括主机端和从设备,主机端包括CPU,所述CPU具有通用GPIO管脚,所述从设备通过串行中断总线上报中断给主机端,其中对串行数据要求如下:一个数据帧含16个bit位,bit0表示起始位,低电平有效,bit15表示结束位,低电平有效;bit1-bit4表示命令字,命令字和数据在串行发送中的顺序是:低位在前,高位在后,命令字在前,数据在后,bit1-bit4的Code0000为使用底板逻辑发串行中断信号,bit1-bit4的Code0001

1111为预留;bit5到bit14表示数据,Idle状态用高电平表示,bit5到bit14的每个bit对应一个中断位,中断位默认为“1”高电平,当某个bit变成“0”低电平,表示该位置对应的中断源发生了中断事件;从设备按照规定的时序,将内部汇聚的中断信息,放到对应bit位,主机端按照规定的时序去收集对应的bit,以此实现一个通用GPIO管脚将所有的中断信息进行收集后,再运行对应的中断程序,达到响应中断的目的。
[0007]作为优选,所述串行中断模块实现的方法具体包括:主机端通过25M时钟对INT_
SER信号进行采样,INT_SER信号默认是高电平,当中断上来后,INT_SER管脚变低,表示中断序列开始传输,对Samp_srpu_s寄存器的值进行判断:若判断Samp_srpu_s寄存器的值为000010,INT_SER的值为命令字bit0;若判断Samp_srpu_s寄存器的值为000011,INT_SER的值为命令字bit1;若判断Samp_srpu_s寄存器的值为000100,INT_SER的值为命令字bit2;若判断Samp_srpu_s寄存器的值为000101,INT_SER的值为命令字bit3;若判断Samp_srpu_s寄存器的值为000110,INT_SER的值为0号中断bit0;若判断Samp_srpu_s寄存器的值为000111,INT_SER的值为1号中断bit1;若判断Samp_srpu_s寄存器的值为001000,INT_SER的值为2号中断bit2;若判断Samp_srpu_s寄存器的值为001001,INT_SER的值为3号中断bit3;以此类推,直到判断Samp_srpu_s寄存器的值为001111,INT_SER的值为9号中断bit;若判断Samp_srpu_s寄存器的值为010000,INT_SER的电平为低,表示传输结束。
[0008]作为优选,所述串行中断模块实现的方法还包括主机端配置方法,所述配置方法包括:配置使用的GPIO管脚为INT_SER串行中断总线功能;配置逻辑运行的时钟,默认配置为25MHz;配置空闲时间寄存器Samp_srpu_s,初始默认值为0,通过写此Samp_srpu_s寄存器对空闲时间进行配置,写成“100001”,空闲时间设置为(33

16)*8/25M,写成“110010”,空闲时间为(50

16)*8/25M。
[0009]作为优选,Samp_srpu_s寄存器和组合逻辑电路构成状态机,状态机分为4个运行状态,分别是RX_Start,接收开始状态,RECEIVERING,接收进行中状态,RECEIVERED,接收完成状态,RX_IDLE,接收IDLE空闲状态,每一个状态的跳变是通过对Samp_srpu_s计数器的值进行判断;默认状态为IDLE空闲状态,当INT_SER信号由默认的高电平变低电平时,状态机由IDLE状态跳转到RX_start状态;此时判断Samp_srpu_s寄存器是否等于8'b00000011,若是,则进入到RECEIVERING,即接收数据状态;此时判断Samp_srpu_s寄存器是否等于8

b01111011,若是,则进入到RECEIVERED,即接收数据完成状态;在状态机进入到接收数据完成状态时,将接收到对应的bit传输到对应的命令字和中断号,此时就可以获取到中断传输过来的状态。
[0010]作为优选,串行中断总线的波特为25M/8,即每8个25M时钟传递一个bit,传递一帧数据需要128个时钟周期,单板的帧间隙规定为138个时钟周期。
[0011]作为优选,串行中断总线采用轮巡模式,单板的中断刷新频率为94.7K。
[0012]采用上述技术方案后,本专利技术具有如下优点:显著提升了COMe连接器管脚利用率,仅用1个通用GPIO管脚就能够实现10个中断的上报;可扩展性强,根据这个通用模块可按照实际需求定义中断种类及中断数量,非常灵活。
附图说明
[0013]图1为COMe平台的结构示意图;图2为串行数据的时序图;图3为状态机转换流程图。
具体实施方式
[0014]以下结合具体实施例,对本专利技术作进一步的详细说明。
[0015]一种基于COMe平台通用串行中断模块实现的方法,如图1所示,COMe平台包括主机端和从设备,主机端包括CPU,所述CPU具有通用GPIO管脚,所述从设备通过串行中断总线上报中断给主机端。本实施例中,所述从设备和主机端的连接形式为COMe底板和COMe扣板的相互配合。
[0016]其中对串行数据要求如下:如图2所示,一个数据帧含16个bit本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于COMe平台通用串行中断模块实现的方法,COMe平台包括主机端和从设备,主机端包括CPU,所述CPU具有通用GPIO管脚,其特征在于,所述从设备通过串行中断总线上报中断给主机端,其中对串行数据要求如下:一个数据帧含16个bit位,bit0表示起始位,低电平有效,bit15表示结束位,低电平有效;bit1-bit4表示命令字,命令字和数据在串行发送中的顺序是:低位在前,高位在后,命令字在前,数据在后,bit1-bit4的Code0000为使用底板逻辑发串行中断信号,bit1-bit4的Code0001

1111为预留;bit5到bit14表示数据,Idle状态用高电平表示,bit5到bit14的每个bit对应一个中断位,中断位默认为“1”高电平,当某个bit变成“0”低电平,表示该位置对应的中断源发生了中断事件;从设备按照规定的时序,将内部汇聚的中断信息,放到对应bit位,主机端按照规定的时序去收集对应的bit,以此实现一个通用GPIO管脚将所有的中断信息进行收集后,再运行对应的中断程序,达到响应中断的目的。2.如权利要求1所述的基于COMe平台通用串行中断模块实现的方法,其特征在于,所述串行中断模块实现的方法具体包括:主机端通过25M时钟对INT_SER信号进行采样,INT_SER信号默认是高电平,当中断上来后,INT_SER管脚变低,表示中断序列开始传输,对Samp_srpu_s寄存器的值进行判断:若判断Samp_srpu_s寄存器的值为000010,INT_SER的值为命令字bit0;若判断Samp_srpu_s寄存器的值为000011,INT_SER的值为命令字bit1;若判断Samp_srpu_s寄存器的值为000100,INT_SER的值为命令字bit2;若判断Samp_srpu_s寄存器的值为000101,INT_SER的值为命令字bit3;若判断Samp_srpu_s寄存器的值为000110,INT_SER的值为0号中断bit0;若判断Samp_srpu_s寄存器的值为000111,INT_SER的值为1号中断bit1;若判断Samp_srpu_s寄存器的值为001000,INT_SER的值为2号中断bit2;若判断Samp_srpu_s寄存器的值为001001,INT_SER的值为3号中断bit3;以此...

【专利技术属性】
技术研发人员:李华栋
申请(专利权)人:云尖信息技术有限公司
类型:发明
国别省市:

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

1