CN113641617A - 一种基于COMe平台通用串行中断模块实现的方法 - Google Patents

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

Info

Publication number
CN113641617A
CN113641617A CN202110902654.3A CN202110902654A CN113641617A CN 113641617 A CN113641617 A CN 113641617A CN 202110902654 A CN202110902654 A CN 202110902654A CN 113641617 A CN113641617 A CN 113641617A
Authority
CN
China
Prior art keywords
interrupt
bit
value
srpu
samp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110902654.3A
Other languages
English (en)
Inventor
李华栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yunjian Information Technology Co ltd
Original Assignee
Yunjian Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yunjian Information Technology Co ltd filed Critical Yunjian Information Technology Co ltd
Priority to CN202110902654.3A priority Critical patent/CN113641617A/zh
Publication of CN113641617A publication Critical patent/CN113641617A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明提供一种基于COMe平台通用串行中断模块实现的方法,COMe平台包括主机端和从设备,主机端包括CPU,所述CPU具有通用GPIO管脚,所述COMe底板通过串行中断总线上报中断给COMe扣板,从设备按照规定的时序,将内部汇聚的中断信息,放到对应bit位,主机端按照规定的时序去收集对应的bit,以此实现一个通用GPIO管脚将所有的中断信息进行收集后,再运行对应的中断程序,达到响应中断的目的。

Description

一种基于COMe平台通用串行中断模块实现的方法
技术领域
本发明属于信息技术技术领域,尤其是涉及一种基于COMe平台通用串行中断模块实现的方法。
背景技术
随着嵌入式技术的发展,通用定义信号扣板的硬件设计形式有了广泛的应用,其优势在于更快的开发周期,硬件及软件开发成果可重复利用,定义标准接口可应用多种不同的环境。同时减小产品尺寸,减小体积,资源利用更好,有更高的交互效率。所以通用信号定义扣板已经广泛应用在嵌入式产品中。
COM Express标准是在2005年首次发布,由PCI工业计算机制造商协会(PICMG)和它寻求几种不同的目标应用程序提供了标准化的模块接口。COM Express是模块计算机(COM)的外形尺寸,是一种高度集成且紧凑的PC,可以像集成电路组件一样用于设计应用。每个COM Express模块都集成了核心CPU和内存功能,通用I/O、USB、音频、图形(PEG)和以太网。所有I/O信号都映射到模块底部的两个高密度薄型连接器。COM模块插入通常针对应用定制的底板。可以将COM Express夹层模块升级到较新的,向后兼容的版本。COM Express通常用于工业,军事/航空航天,医疗,运输,物联网和双边缘连接器通用计算嵌入式应用程序。
COMe标准按照其规范定义,能否提供给用户使用的GPIO数量非常有限。底板控制的设备假如有大量中断上报给cpu,那么这些通用管脚的数量是无法满足要求的。
发明内容
本发明旨在解决上述技术问题,提供一种基于COMe平台通用串行中断模块实现的方法。
为了达到上述目的,本发明采用如下技术方案:
一种基于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管脚将所有的中断信息进行收集后,再运行对应的中断程序,达到响应中断的目的。
作为优选,所述串行中断模块实现的方法具体包括:主机端通过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的电平为低,表示传输结束。
作为优选,所述串行中断模块实现的方法还包括主机端配置方法,所述配置方法包括:配置使用的GPIO管脚为INT_SER串行中断总线功能;配置逻辑运行的时钟,默认配置为25MHz;配置空闲时间寄存器Samp_srpu_s,初始默认值为0,通过写此Samp_srpu_s寄存器对空闲时间进行配置,写成“100001”,空闲时间设置为(33-16)*8/25M,写成“110010”,空闲时间为(50-16)*8/25M。
作为优选,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传输到对应的命令字和中断号,此时就可以获取到中断传输过来的状态。
作为优选,串行中断总线的波特为25M/8,即每8个25M时钟传递一个bit,传递一帧数据需要128个时钟周期,单板的帧间隙规定为138个时钟周期。
作为优选,串行中断总线采用轮巡模式,单板的中断刷新频率为94.7K。
采用上述技术方案后,本发明具有如下优点:
显著提升了COMe连接器管脚利用率,仅用1个通用GPIO管脚就能够实现10个中断的上报;可扩展性强,根据这个通用模块可按照实际需求定义中断种类及中断数量,非常灵活。
附图说明
图1为COMe平台的结构示意图;
图2为串行数据的时序图;
图3为状态机转换流程图。
具体实施方式
以下结合具体实施例,对本发明作进一步的详细说明。
一种基于COMe平台通用串行中断模块实现的方法,如图1所示,COMe平台包括主机端和从设备,主机端包括CPU,所述CPU具有通用GPIO管脚,所述从设备通过串行中断总线上报中断给主机端。本实施例中,所述从设备和主机端的连接形式为COMe底板和COMe扣板的相互配合。
其中对串行数据要求如下:
如图2所示,一个数据帧含16个bit位,bit0表示起始位,低电平有效,bit15表示结束位,低电平有效;
bit1-bit4表示命令字,命令字和数据在串行发送中的顺序是:低位在前,高位在后,命令字在前,数据在后,bit1-bit4的Code0000为使用底板逻辑发串行中断信号,bit1-bit4的Code0001-1111为预留;
Code[3:0] 备注
0000 使用底板逻辑发串行中断信号
0001-1111 预留
bit5到bit14表示数据,Idle状态用高电平表示。
Figure DEST_PATH_IMAGE001
bit5到bit14的每个bit对应一个中断位,中断位默认为“1”高电平,当某个bit变成“0”低电平,表示该位置对应的中断源发生了中断事件;从设备按照规定的时序,将内部汇聚的中断信息,放到对应bit位,主机端按照规定的时序去收集对应的bit,以此实现一个通用GPIO管脚将所有的中断信息进行收集后,再运行对应的中断程序,达到响应中断的目的。
串行中断总线的波特为25M/8,即每8个25M时钟传递一个bit,传递一帧数据需要8*16=128个时钟周期,单板的帧间隙规定为8*(16+1)=138个时钟周期。串行中断总线采用轮巡模式,单板的中断刷新频率为94.7K。
所述串行中断模块实现的方法具体包括:
步骤1,配置使用的GPIO管脚为INT_SER串行中断总线功能;
步骤2,配置逻辑运行的时钟,默认配置为25MHz;
步骤3,配置空闲时间寄存器Samp_srpu_s,初始默认值为0,通过写此Samp_srpu_s寄存器对空闲时间进行配置,写成“100001”,空闲时间设置为(33-16)*8/25M,写成“110010”,空闲时间为(50-16)*8/25M;
步骤4,主机端通过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的电平为低,表示传输结束;
步骤5,Samp_srpu_s寄存器和组合逻辑电路构成状态机,如图3所示,状态机分为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,即接收数据完成状态;
步骤6,在状态机进入到接收数据完成状态时,将接收到对应的bit传输到对应的命令字和中断号,此时就可以获取到中断传输过来的状态。
本发明带来了以下有益效果:
1、显著提升了COMe连接器管脚利用率,仅用1个通用GPIO管脚就能够实现10个中断的上报;
2、可扩展性强,根据这个通用模块可按照实际需求定义中断种类及中断数量,非常灵活;
3、在数据中心交换机上已经大规模部署发货,实际使用效果良好。
除上述优选实施例外,本发明还有其他的实施方式,本领域技术人员可以根据本发明作出各种改变和变形,只要不脱离本发明的精神,均应属于本发明所附权利要求所定义的范围。

Claims (6)

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;
以此类推,直到判断Samp_srpu_s寄存器的值为001111,INT_SER的值为9号中断bit;
若判断Samp_srpu_s寄存器的值为010000,INT_SER的电平为低,表示传输结束。
3.如权利要求2所述的基于COMe平台通用串行中断模块实现的方法,其特征在于,所述串行中断模块实现的方法还包括主机端配置方法,所述配置方法包括:
配置使用的GPIO管脚为INT_SER串行中断总线功能;配置逻辑运行的时钟,默认配置为25MHz;配置空闲时间寄存器Samp_srpu_s,初始默认值为0,通过写此Samp_srpu_s寄存器对空闲时间进行配置,写成“100001”,空闲时间设置为(33-16)*8/25M,写成“110010”,空闲时间为(50-16)*8/25M。
4.如权利要求2所述的基于COMe平台通用串行中断模块实现的方法,其特征在于,
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传输到对应的命令字和中断号,此时就可以获取到中断传输过来的状态。
5.如权利要求1所述的基于COMe平台通用串行中断模块实现的方法,其特征在于,串行中断总线的波特为25M/8,即每8个25M时钟传递一个bit,传递一帧数据需要128个时钟周期,单板的帧间隙规定为138个时钟周期。
6.如权利要求5所述的基于COMe平台通用串行中断模块实现的方法,其特征在于,串行中断总线采用轮巡模式,单板的中断刷新频率为94.7K。
CN202110902654.3A 2021-08-06 2021-08-06 一种基于COMe平台通用串行中断模块实现的方法 Pending CN113641617A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110902654.3A CN113641617A (zh) 2021-08-06 2021-08-06 一种基于COMe平台通用串行中断模块实现的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110902654.3A CN113641617A (zh) 2021-08-06 2021-08-06 一种基于COMe平台通用串行中断模块实现的方法

Publications (1)

Publication Number Publication Date
CN113641617A true CN113641617A (zh) 2021-11-12

Family

ID=78419952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110902654.3A Pending CN113641617A (zh) 2021-08-06 2021-08-06 一种基于COMe平台通用串行中断模块实现的方法

Country Status (1)

Country Link
CN (1) CN113641617A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115643223A (zh) * 2022-12-21 2023-01-24 新华三信息技术有限公司 一种中断信号传输方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028697A1 (en) * 2001-08-02 2003-02-06 Nguyen Tom L. Implementing hardware interrupt event driven mechanism to offer soft real-time universal serial bus
CN106294253A (zh) * 2016-07-22 2017-01-04 安徽皖通邮电股份有限公司 一种中断信号处理系统
CN208298074U (zh) * 2018-05-16 2018-12-28 成都爱斯顿科技有限公司 一种基于申威处理器和ICH2桥片的COMe模块化计算机系统
CN109656850A (zh) * 2018-11-13 2019-04-19 河北汉光重工有限责任公司 采用单片cpld扩展的dsp串口通信电路
CN110888836A (zh) * 2019-11-29 2020-03-17 山东超越数控电子股份有限公司 一种在飞腾平台使用bmc实现中断响应的方法
CN111522757A (zh) * 2020-04-23 2020-08-11 上海琪云工业科技有限公司 一种基于i2c总线的中断读取与清除的控制方法
CN112711559A (zh) * 2021-01-15 2021-04-27 天津飞腾信息技术有限公司 串行中断方法、设备、串行中断处理方法以及处理器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028697A1 (en) * 2001-08-02 2003-02-06 Nguyen Tom L. Implementing hardware interrupt event driven mechanism to offer soft real-time universal serial bus
CN106294253A (zh) * 2016-07-22 2017-01-04 安徽皖通邮电股份有限公司 一种中断信号处理系统
CN208298074U (zh) * 2018-05-16 2018-12-28 成都爱斯顿科技有限公司 一种基于申威处理器和ICH2桥片的COMe模块化计算机系统
CN109656850A (zh) * 2018-11-13 2019-04-19 河北汉光重工有限责任公司 采用单片cpld扩展的dsp串口通信电路
CN110888836A (zh) * 2019-11-29 2020-03-17 山东超越数控电子股份有限公司 一种在飞腾平台使用bmc实现中断响应的方法
CN111522757A (zh) * 2020-04-23 2020-08-11 上海琪云工业科技有限公司 一种基于i2c总线的中断读取与清除的控制方法
CN112711559A (zh) * 2021-01-15 2021-04-27 天津飞腾信息技术有限公司 串行中断方法、设备、串行中断处理方法以及处理器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115643223A (zh) * 2022-12-21 2023-01-24 新华三信息技术有限公司 一种中断信号传输方法及装置
CN115643223B (zh) * 2022-12-21 2023-02-28 新华三信息技术有限公司 一种中断信号传输方法及装置

Similar Documents

Publication Publication Date Title
US7752374B2 (en) Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices
US5590292A (en) Scalable tree structured high speed input/output subsystem architecture
KR100352224B1 (ko) 핀-총수가 적은 버스 상에서의 직접 메모리 억세스 트랜잭션
US20030163627A1 (en) Enhanced universal serial bus (USB) bus monitor controller
CN211123833U (zh) 一种计算机模块、主板和计算机设备
CN113641617A (zh) 一种基于COMe平台通用串行中断模块实现的方法
CN110968352A (zh) 一种pcie设备的复位系统及服务器系统
CN116266168A (zh) 菊链spi集成电路及其操作方法
CN110795369A (zh) 基于gpio管脚实现mido从机功能的方法及终端
US10176133B2 (en) Smart device with no AP
CN210324191U (zh) 一种计算机模块及主板
CN112000545A (zh) 一种图形处理器板卡和图形处理器管理方法
CN213581897U (zh) 一种新型显示控制计算模块
CN115718529A (zh) 一种基于龙芯cpu come模块加固计算机主板系统
CN113535623A (zh) 一种端口配置电路、方法及服务器
US20220269642A1 (en) Method and apparatus for eliminating glitch, and state machine
CN210123521U (zh) 一种工业控制电路
CN115905072A (zh) 计算机系统、基于PCIe设备的控制方法及相关设备
CN113971148A (zh) 基于linux实时操作系统的PCIE实时网卡数据传输方法及装置
CN112306920A (zh) 一种减少硬盘逻辑控制器的方法及服务器
CN218848687U (zh) 一种高通用性的计算机板卡
CN219016882U (zh) 一种基于龙芯的多接口主板
CN113177013B (zh) 基于波特率的串口通讯方法和多串口芯片
CN213092292U (zh) 一种工控母板
CN218037986U (zh) 数据通道切换设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20211112