发明名称 基于GPIO接口的LPC外设扩展方法及装置
摘要 本发明公开了一种基于GPIO接口的LPC外设扩展方法及装置,方法包括基于双向异步请求‑应答握手协议与CPU的GPIO接口进行第一级通讯,将收到报文通过第二级同步握手协议转发给下级的LPC外设或者对内部寄存器及中断操作,如果收到LPC外设的串行中断请求或内部中断请求,则反向向CPU的GPIO接口发起中断请求;装置包括GPIO与LPC接口模块、LPC总线协议控制模块和LPC串行中断控制模块,GPIO与LPC接口模块与CPU相连。本发明具有扩展简单灵活、方便系统扩展、通讯与具体时钟无关、对GPIO口时钟没有特殊要求、通讯数据可靠、节省硬件资源、对于上层使用者透明的优点。
申请公布号 CN103914424B 申请公布日期 2016.08.03
申请号 CN201410147976.1 申请日期 2014.04.14
申请人 中国人民解放军国防科学技术大学 发明人 马爱永;张明;郭御风;邓宇;龚锐;任巨;石伟;高正坤;窦强
分类号 G06F13/38(2006.01)I 主分类号 G06F13/38(2006.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 赵洪;谭武艺
主权项 一种基于GPIO接口的LPC外设扩展方法,其特征在于实施步骤如下:1)基于双向异步请求‑应答握手协议通过多次握手传输接收CPU通过GPIO接口发起的报文请求,所述报文请求的可选字段信息包括报文头、地址、数据三种信息,所述报文请求的类型包括DMA读、DMA写、LPC设备读请求、LPC设备写请求,且其中类型为DMA读或LPC设备写请求的报文请求只含有报文头和地址信息而不含有数据信息,类型为DMA读和DMA写的报文请求的地址信息为DMA通道号;解析报文请求,根据报文请求的报文头判断其发送目标,如果发送目标为LPC外设,则将报文请求转换为LPC总线协议相关请求并基于同步握手协议将报文请求输出,跳转执行步骤2);否则基于同步握手协议将报文请求输出,跳转执行步骤3);同时,判断是否收到发往GPIO接口的报文请求,如果收到发往GPIO接口的报文请求或者中断请求,则将收到的报文请求基于双向异步请求‑应答握手协议通过多次握手传输发送给CPU的GPIO接口;2)接收报文请求,根据接收到报文请求中携带的设备类型和地址、数据及数据大小将相应的报文请求按照LPC协议向下发送给指定的LPC外设;同时,遵循LPC协议检测LPC总线上由LPC外设发送的数据,如果在LPC总线上读取到LPC外设发送的数据,则将LPC外设发送的数据基于同步握手协议作为发往CPU的GPIO接口的报文请求发送;3)接收报文请求,根据收到的报文请求执行对内置寄存器的操作,所述内置寄存器包括长等待超时控制寄存器、中断状态寄存器、清除中断寄存器、中断屏蔽寄存器、配置寄存器,针对CPU而言中断状态寄存器为读寄存器,清除中断寄存器为写寄存器,长等待超时控制寄存器、中断屏蔽寄存器、配置寄存器三者均为读写寄存器,所述长等待超时控制寄存器用于实现与CPU之间发送中断请求的超时控制,所述中断状态寄存器用于记录当前中断请求状态,所述当前中断请求状态可为数据读、串行中断请求和外设DMA请求三者之一,所述中断屏蔽寄存器用于记录数据读、串行中断请求和外设DMA请求三者的中断使能状态,所述配置寄存器用于记录数据读、串行中断请求和外设DMA请求三者的模式配置信息;所述对内置寄存器的操作包括对配置寄存器、中断屏蔽寄存器、清除中断寄存器三者的操作;同时根据中断屏蔽寄存器判断记录数据读、串行中断请求和外设DMA请求三者的中断使能状态,如果状态为使能,则根据是否需要向CPU返回读数据、是否收到LPC外设的串行中断请求、是否收到LPC外设的外设DMA请求来写中断状态寄存器,并根据写中断状态寄存器的状态来决定是否向CPU的GPIO接口发送中断请求,如果需要向CPU的GPIO接口发送中断请求,则基于同步握手协议将向CPU的GPIO接口发送中断请求。
地址 410073 湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院