当前位置: 首页 > 专利查询>武汉大学专利>正文

一种非分时端口复用方法及装置制造方法及图纸

技术编号:11827875 阅读:93 留言:0更新日期:2015-08-05 11:08
本发明专利技术提供一种非分时端口复用方法及装置,设置微处理器MCU,MCU上分配一个端口与主控设备进行连接,称为主控端口,再针对每一个外围设备分别分配一个对应的端口进行连接,称为外围端口,对每一个外围端口预先设定端口数据标志;主控设备发送数据到各外围设备时,在发送的数据前面加上相应外围端口的“端口数据标志”;MCU判断主控端口是否收到数据,是则判断主控端口收到的数据是否是指令,如果是端口的配置指令则执行配置指令并存储参数,如果是复位指令则直接复位MCU,否则根据收到的数据中携带的“端口数据标志”确定数据发送的目的外围端口并转发;外围端口收到数据,则在数据头部添加“端口数据标志”,然后转发到主控端口。

【技术实现步骤摘要】

本专利技术涉及一种通讯装置
,特别是一种非分时端口复用方法及装置
技术介绍
在数据通讯中,经常碰到这样的情况:主控设备需要与多个外围设备同时通讯,而主控设备上的通讯端口数量有限,无法同时连接多个外围设备。例如:1,GNSS终端(全球导航卫星系统)的CPU要与GNSS接收机、电台、蓝牙、GPRS (通用无线分组业务)、电脑等设备连接,每个设备都需要一到两个串口,而CPU上是很难提供这么多串口的;2,蓝牙设备目前在广泛使用,而MCU或者CPU通过蓝牙设备连接外围串口设备,一个蓝牙设备也只能连接一个串口外围设备,对于I2C总线的设备也无法连接。这大大限制了蓝牙的可用性。此前也有一种设备来解决串口复用的问题,但是所采用的是模拟开关分时复用的原理,在一个时刻,只能由一个外围设备可以和主控设备通讯,一旦错过这个时间片,则数据就发生丢失的现象,并且只能连接串口设备,无法真正解决端口复用的问题。
技术实现思路
本专利技术正是为了解决上述问题,用一种操作简便的装置,准确、快速、批量地测量相机的快门延迟时间。本专利技术的技术方案提供一种非分时端口复用方法,设置微处理器MCU,MCU上分配一个端口与主控设备进行连接,称为主控端口,再针对每一个外围设备分别分配一个对应的端口进行连接,称为外围端口,对每一个外围端口预先命名,作为端口数据标志;主控设备发送数据到各外围设备时,在发送的数据前面加上相应外围端口的“端口数据标志”;MCU执行以下流程, 步骤1,从MCU内部的非易失性存储器中读取预存的各端口的参数; 步骤2,根据读取的参数配置各个端口 ; 步骤3,判断主控端口是否收到数据,若否则进入步骤5,若是则进入步骤4 ; 步骤4,判断主控端口收到的数据是否是指令, 是则区分是哪种类型的指令,如果是端口的配置指令,则执行配置指令并存储参数,如果是复位指令,则直接复位MCU ;然后进入步骤5 ; 否则根据收到的数据中携带的“端口数据标志”确定数据发送的目的外围端口,将去掉“端口数据标志”的数据转发至对应外围端口 ;然后进入步骤5 ; 步骤5,判断各外围端口是否收到数据, 是则根据收到数据的外围端口,在数据头部添加“端口数据标志”,然后转发到主控端口,最后返回继续执行步骤3, 否则直接返回继续执行步骤3。而且,所述区分是哪种类型的指令,根据数据头部的预定标识判断实现。而且,MCU上分配的端口类型为UART、IIC、SPI总线接口或其他类型。本专利技术提供一种非分时端口复用装置,设置微处理器MCU,MCU上分配一个端口与主控设备进行连接,称为主控端口,再针对每一个外围设备分别分配一个对应的端口进行连接,称为外围端口,对每一个外围端口预先命名,作为端口数据标志;主控设备包括标识添加单元,用于发送数据到各外围设备时,在发送的数据前面加上相应外围端口的“端口数据标志” ;MCU中包括以下单元, 参数读取单元,用于从MCU内部的非易失性存储器中读取预存的各端口的参数; 初始化单元,用于根据读取的参数配置各个端口 ; 主控端口接收判断单元,用于判断主控端口是否收到数据,若否则进入步骤5,若是则进入步骤4 ; 指令判断单元,单元判断主控端口收到的数据是否是指令, 是则区分是哪种类型的指令,如果是端口的配置指令,则执行配置指令并存储参数,如果是复位指令,则直接复位MCU ;然后命令外围端口接收判断单元工作; 否则根据收到的数据中携带的“端口数据标志”确定数据发送的目的外围端口,将去掉“端口数据标志”的数据转发至对应外围端口 ;然后命令外围端口接收判断单元工作; 外围端口接收判断单元,用于判断各外围端口是否收到数据, 是则根据收到数据的外围端口,在数据头部添加“端口数据标志”,然后转发到主控端口,命令主控端口接收判断单元工作, 否则直接命令主控端口接收判断单元工作。而且,指令判断单元中,所述区分是哪种类型的指令,根据数据头部的预定标识判断实现。而且,MCU上分配的端口类型为UART、IIC、SPI总线接口或其他类型。本专利技术使用一个微处理器(MCU)来协调主控设备和外围设备的端口之间的数据流,主控设备与外围设备不是直接连接,而是经过MCU转发,并采用“端口数据标志”的方法区分端口,由于MCU有自己的存储器,因此系统可以同时缓存多个端口的数据,不必再使用分时的方法,避免了数据丢失,提高了处理能力。由于MCU自身具备一些通讯端口并且具有强大的可扩展性(例如软件仿真端口),因此本专利技术中的端口复用不再限于串口,而是任何MCU支持的通讯端口类型,例如IIC、IIS等总线接口。装置的接口包括一个主控端口和几个外围端口,主控端口接主控设备,外围端口接外围设备。如果把主控端口接到一个蓝牙设备上,就可以把带有蓝牙功能的主控设备的蓝牙仿真串口扩展成多个端口复用。【附图说明】图1为本专利技术实施例结构图; 图2为本专利技术实施例流程图。【具体实施方式】以下结合附图和实施例对本专利技术技术方案进行具体描述。本专利技术实施例使用一个微处理器(MCU)来协调主控设备端口与外围设备端口之间的数据,主控设备与外围设备之间不再是直接连接,而是通过MCU进行转发,其实现方法是: MCU上分配一个端口与主控设备连接,再给每一个外围设备分配一个对应的端口分别连接; MCU上收到来自外围设备的数据后,在其数据头部添加“端口识别标志”,以对不同端口进行区分,然后将带有“端口识别标志”头部的数据转发到主控设备; MCU上收到来自主控设备的数据后,首先判断其头部的“端口识别标志”,根据“端口只别标志”,将数据发送到正确的外围设备端口 ; MCU上收到来自主控设备的数据后,如果数据头部不是“端口识别标志”而是设备配置指令,则根据指令内容对端口进行参数设置或者将本装置复位等操作。以上所涉及的“端口”包括但不仅限于UART、IIC、SPI总线接口。UART为通用异步收发器;Iic为一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备;SPI总线是串行外设接口总线,是一种高速,全双工,同步通信总线。具体实施时,首先选择一款本身通讯端口比较丰富的MCU,例如ST公司出品的STM32F系列的MCU中有多款可以满足这个要求,已经实现的方案是在STM32F103上开发的,该M⑶具有5个UART和一个IIC接口; 主控设备和外围设备不直接连接,而是由MCU上分配一个端口与主控设备进行连接,称为主控端口,再针对每一个外围设备分别分配一个对应的端口进行连接,称为外围端口,对每一个外围端口预先命名,作为端口数据标志; 可确定主控端口的类型(一般是UART/IIC/SPI三者之一),例如主控端口是UART总线接口,记为UARTO ; 可确定外围端口的类型,例如有5个外围设备,有4个为UART总线接口,I个为IIC接P,分别记为 UART1、UART2、UART3、UART4、IICl ; 对每一个外围设备的通讯端口命名作为端口数据标志,命名原则是简单清晰,例如将UARTl、UART2、UART3、UART4、IICl,分别命名为 Ul、U2、U3、U4、11,以便在数据流前加“端口数据标志”进行区分。基于MCU可以实现如下功能: 如果收到来自外围设备本文档来自技高网...

【技术保护点】
一种非分时端口复用方法,其特征在于:设置微处理器MCU,MCU上分配一个端口与主控设备进行连接,称为主控端口,再针对每一个外围设备分别分配一个对应的端口进行连接,称为外围端口,对每一个外围端口预先命名,作为端口数据标志;主控设备发送数据到各外围设备时,在发送的数据前面加上相应外围端口的“端口数据标志”;MCU执行以下流程,步骤1,从MCU内部的非易失性存储器中读取预存的各端口的参数;步骤2,根据读取的参数配置各个端口;步骤3,判断主控端口是否收到数据,若否则进入步骤5,若是则进入步骤4;步骤4,判断主控端口收到的数据是否是指令,是则区分是哪种类型的指令,如果是端口的配置指令,则执行配置指令并存储参数,如果是复位指令,则直接复位MCU;然后进入步骤5;否则根据收到的数据中携带的“端口数据标志”确定数据发送的目的外围端口,将去掉“端口数据标志”的数据转发至对应外围端口;然后进入步骤5;步骤5,判断各外围端口是否收到数据,是则根据收到数据的外围端口,在数据头部添加“端口数据标志”,然后转发到主控端口,最后返回继续执行步骤3,否则直接返回继续执行步骤3。

【技术特征摘要】

【专利技术属性】
技术研发人员:张涛
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

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

1