[发明专利]一种基于用户命令的通用GPIO端口控制器在审
申请号: | 202111188758.9 | 申请日: | 2021-10-12 |
公开(公告)号: | CN114048158A | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 罗长洲;石风怡;李荣乐;李泽超;孙明熙 | 申请(专利权)人: | 北京控制与电子技术研究所 |
主分类号: | G06F13/20 | 分类号: | G06F13/20 |
代理公司: | 中国航天科工集团公司专利中心 11024 | 代理人: | 张国虹 |
地址: | 100038 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 用户 命令 通用 gpio 端口 控制器 | ||
1.一种基于用户命令的通用输入/输出GPIO端口控制器,其特征在于包括:微控制器接口模块(1)、工作寄存器阵列模块(2)、命令解析与执行模块(3)和输入/输出GPIO端口控制模块(4);
微控制器接口模块(1)经内部连线与工作寄存器阵列模块(2)和命令解析与执行模块(3)连接;工作寄存器阵列模块(2)经内部连线与命令解析与执行模块(3)和输入/输出GPIO端口控制模块(4)连接;命令解析与执行模块(3)经内部连线与输入/输出GPIO端口控制模块(4)连接;
入/输出GPIO端口电平的控制信号,将信号传输方向为输出的输入/输出GPIO端口设置为指定的电平;当接收到将相应输入/输出GPIO端口设置为高电平的控制信号时,则将相应输入/输出GPIO端口设置为高电平;当接收到将相应输入/输出GPIO端口设置为低电平的控制信号时,则将相应输入/输出GPIO端口设置为低电平;当接收到将相应输入/输出GPIO微控制器接口模块(1)自动监测接收到的x80系列微控制器接口地址信号、数据信号和控制信号,当确认x80系列微控制器写基于用户命令的通用GPIO端口控制器工作寄存器时,自动将x80系列微控制器接口数据总线上的信息锁存到工作寄存器阵列模块(2)中由x80系列微控制器接口地址总线指定的工作寄存器单元中,从而设置基于用户命令的通用GPIO端口控制器输入/输出GPIO端口信号传输方向,接收用户系统对基于用户命令的通用GPIO端口控制器输入/输出GPIO端口进行电平操作的用户数据或用户命令;
微控制器接口模块(1)自动监测接收到的x80系列微控制器接口地址信号、数据信号和控制信号,当确认x80系列微控制器写基于用户命令的通用GPIO端口控制器工作寄存器时,自动将x80系列微控制器接口数据总线上的信息锁存到工作寄存器阵列模块(2)中由x80系列微控制器接口地址总线指定的工作寄存器单元中,从而设置基于用户命令的通用GPIO端口控制器输入/输出GPIO端口信号传输方向,接收用户系统对基于用户命令的通用GPIO端口控制器输入/输出GPIO端口进行电平操作的用户数据或用户命令;
当用户系统对基于用户命令的通用GPIO端口控制器的端口方向寄存器进行了写操作后,工作寄存器阵列模块(2)将相应寄存器数据发送给输入/输出GPIO端口控制模块(4),然后由输入/输出GPIO端口控制模块(4)根据端口方向寄存器各数据位的值,设置相应输入/输出GPIO端口的信号传输方向,当数据位的值为1b1时,则相应输入/输出GPIO端口为输入端口,否则,当数据位的值为1b0时,则相应输入/输出GPIO端口为输出端口;
当用户系统对基于用户命令的通用GPIO端口控制器的输出数据寄存器进行了写操作后,工作寄存器阵列模块(2)将相应寄存器数据发送给命令解析与执行模块(3),然后由命令解析与执行模块(3)根据输出数据寄存器各数据位的值,产生输入/输出GPIO端口电平操作控制信号,并发送给输入/输出GPIO端口控制模块(4),当数据位的值为1b1时,则将产生的相应输入/输出GPIO端口设置为高电平的控制信号,否则,当数据位的值为1b0时,则将产生的相应输入/输出GPIO端口设置为低电平的控制信号,最后由输入/输出GPIO端口控制模块(4)根据接收到的输入/输出GPIO端口电平操作控制信号,将相应信号传输方向为输出的输入/输出GPIO端口设置为用户指定的电平,当接收到将相应输入/输出GPIO端口设置为高电平的控制信号时,则将相应输入/输出GPIO端口设置为高电平,否则,当接收到将相应输入/输出GPIO端口设置为低电平的控制信号时,则将相应输入/输出GPIO端口设置为低电平;
当用户系统对基于用户命令的通用GPIO端口控制器的端口置位寄存器进行了写操作后,工作寄存器阵列模块(2)将相应数据发送给命令解析与执行模块(3),然后由命令解析与执行模块(3)根据端口置位寄存器各数据位的值,产生操作输入/输出GPIO端口电平的控制信号,并发送给输入/输出GPIO端口控制模块(4),当数据位的值为1b1时,则产生将相应输入/输出GPIO端口设置为高电平的控制信号,否则,当数据位的值为1b0时,则产生相应输入/输出GPIO端口电平保持不变控制信号,最后由输入/输出GPIO端口控制模块(4)根据接收到的输入/输出GPIO端口电平操作控制信号,将相应信号传输方向为输出的输入/输出GPIO端口设置为用户指定的电平,当接收到将相应输入/输出GPIO端口设置为高电平的控制信号时,则将相应输入/输出GPIO端口设置为高电平,否则,当接收到相应输入/输出GPIO端口电平保持不变控制信号时,则保持相应输入/输出GPIO端口电平不变;
当用户系统对基于用户命令的通用GPIO端口控制器的端口清位寄存器进行了写操作后,工作寄存器阵列模块(2)将相应数据发送给命令解析与执行模块(3),然后由命令解析与执行模块3根据端口清位寄存器各数据位的值,产生操作输入/输出GPIO端口电平的控制信号,并发送给输入/输出GPIO端口控制模块(4),当数据位的值为1b1时,则产生将相应输入/输出GPIO端口设置为低电平的控制信号,否则,当数据位的值为1b0时,则产生相应输入/输出GPIO端口电平保持不变控制信号,最后由输入/输出GPIO端口控制模块(4)根据接收到的输入/输出GPIO端口电平操作控制信号,将相应信号传输方向为输出的输入/输出GPIO端口设置为用户指定的电平,当接收到将相应输入/输出GPIO端口设置为低电平的控制信号时,则将相应输入/输出GPIO端口设置为低电平,否则,当接收到相应输入/输出GPIO端口电平保持不变控制信号时,则保持相应输入/输出GPIO端口电平不变;
当用户系统对基于用户命令的通用GPIO端口控制器的端口置反寄存器进行了写操作后,工作寄存器阵列模块(2)将相应数据发送给命令解析与执行模块(3),然后由命令解析与执行模块(3)根据端口置反寄存器各数据位的值,产生操作输入/输出GPIO端口电平的控制信号,并发送给输入/输出GPIO端口控制模块(4),当数据位的值为1b1时,则产生将相应输入/输出GPIO端口设置为相反电平的控制信号,否则,当数据位的值为1b0时,则产生相应输入/输出GPIO端口电平保持不变控制信号,最后由输入/输出GPIO端口控制模块(4)根据接收到的输入/输出GPIO端口电平操作控制信号,将相应信号传输方向为输出的输入/输出GPIO端口设置为用户指定的电平,当接收到将相应输入/输出GPIO端口设置为相反电平的控制信号时,则将相应输入/输出GPIO端口设置为相反电平,否则,当接收到相应输入/输出GPIO端口电平保持不变控制信号时,则保持相应输入/输出GPIO端口电平不变;
当用户系统对基于用户命令的通用GPIO端口控制器的用户命令寄存器进行了写操作后,工作寄存器阵列模块(2)将相应数据发送给命令解析与执行模块(3),然后由命令解析与执行模块(3)根据用户命令寄存中操作码的值,产生操作由用户命令寄存中端口号标识的输入/输出GPIO端口电平的控制信号,当操作码为0xA时,产生将相应输入/输出GPIO端口设置为高电平的控制信号,当操作码为0x5时,产生将相应输入/输出GPIO端口设置为低电平的控制信号,当操作码为0xD时,产生将相应输入/输出GPIO端口设置为相反电平的控制信号,当操作码为其它数值,则产生相应输入/输出GPIO端口电平保持不变控制信号,并发送给输入/输出GPIO端口控制模块(4),最后由输入/输出GPIO端口控制模块(4)根据接收到的输入/输出GPIO端口电平操作控制信号,将指定信号传输方向为输出的输入/输出GPIO端口设置为指定的电平,当接收到将相应输入/输出GPIO端口设置为高电平的控制信号时,则将相应输入/输出GPIO端口设置为高电平,当接收到将相应输入/输出GPIO端口设置为低电平的控制信号时,则将相应输入/输出GPIO端口设置为低电平,当接收到将相应输入/输出GPIO端口设置为相反电平的控制信号时,则将相应输入/输出GPIO端口设置为相反电平,当接收到相应输入/输出GPIO端口电平保持不变控制信号时,则保持相应输入/输出GPIO端口电平不变;
当确认x80系列微控制器读基于用户命令的通用输入/输出GPIO端口控制器工作寄存器时,自动将工作寄存器阵列模块(2)中由x80系列微控制器接口地址总线上指定的寄存器输出到x80系列微控制器接口数据总线上,从而将端口方向寄存器、输入数据寄存器、端口置位寄存器、端口清位寄存器、端口置反寄存器和用户命令寄存器的值反馈给用户系统,供用户系统查询和使用;
当用户系统读取了基于用户命令的通用输入/输出GPIO端口控制器的输入数据寄存器后,用户系统通过了解基于用户命令的通用输入/输出GPIO端口控制器各输入/输出GPIO端口的电平状态,当输入数据寄存器某一数据位为1b1时,则对应的输入/输出GPIO端口为高电平,否则,当输入数据寄存器某一数据位为1b0时,则对应的输入/输出GPIO端口为低电平,并且,当某一输入/输出GPIO端口信号传输方向为输入时,端口电平为用户系统输入到相应输入/输出GPIO端口上的信号电平,否则,当某一输入/输出GPIO端口信号传输方向为输出时,端口电平是由用户系统通过写输出数据寄存器、端口置位寄存器、端口清位寄存器、端口取反寄存器或者用户命令寄存器对相应输入/输出GPIO端口进行的最近一次电平操作的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京控制与电子技术研究所,未经北京控制与电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111188758.9/1.html,转载请声明来源钻瓜专利网。