CN109189711A - 基于以太网的串行控制台接口及其应用方法 - Google Patents

基于以太网的串行控制台接口及其应用方法 Download PDF

Info

Publication number
CN109189711A
CN109189711A CN201810889108.9A CN201810889108A CN109189711A CN 109189711 A CN109189711 A CN 109189711A CN 201810889108 A CN201810889108 A CN 201810889108A CN 109189711 A CN109189711 A CN 109189711A
Authority
CN
China
Prior art keywords
serial
logic unit
console
ethernet
network
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.)
Granted
Application number
CN201810889108.9A
Other languages
English (en)
Other versions
CN109189711B (zh
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.)
NANJING PANENG ELECTRIC POWER TECHNOLOGY CO LTD
Original Assignee
NANJING PANENG ELECTRIC POWER 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 NANJING PANENG ELECTRIC POWER TECHNOLOGY CO LTD filed Critical NANJING PANENG ELECTRIC POWER TECHNOLOGY CO LTD
Priority to CN201810889108.9A priority Critical patent/CN109189711B/zh
Publication of CN109189711A publication Critical patent/CN109189711A/zh
Application granted granted Critical
Publication of CN109189711B publication Critical patent/CN109189711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于以太网的串行控制台接口及其应用方法,所述串行控制台接口包括:与目标系统网络调试接口连接的MCU网络控制逻辑单元、通过串口复用器与目标系统的多个串行调试接口连接的串行控制台逻辑单元、通过以太网物理层与PC端控制台连接的PC侧网络控制逻辑单元。本发明提供的串行控制台接口基于以太网实现但对网络协议透明,占用硬件资源开销非常小,底层编解码由纯硬件实现,可同时多个设备的多个串行输出,并保留原有网络调试端口,使用简单方便,具有良好的应用前景。

Description

基于以太网的串行控制台接口及其应用方法
技术领域
本发明涉及以太网通信技术领域,尤其涉及一种基于以太网的串行控制台接口及其应用方法。
背景技术
随着微处理器技术的发展,嵌入式系统的应用越来越广泛,而作为一种专用的计算机系统,嵌入式系统更多时候是作为装置或设备的一部分,虽然有些系统含有操作系统,但大部分系统都是由单个程序控制整个逻辑。受到体积、功耗、存储、成本等限制,导致大多数嵌入式应用系统不可能像通用计算机系统那样包含复杂的调试分析手段,导致这些应用在调试开发和运行维护的手段受到限制。
串行控制台由于开销小和成本低廉且不依赖操作系统被设计进大多数目标系统,也非常适合嵌入系统启动前期或无操作系统场合使用,然而串行口作为有源器件且大部分场合缺乏电气隔离存在安全隐患,况且现在的便携式计算机不再提供内置的串行接口,导致工程应用极不方便。相比之下,以太网有较高的带宽,可以用来传输大量的数据或文件也具有非常多的应用工具,网络调试越来越受青睐,然而大部分的网络应用工具是基于TCP/IP协议的,也就意味着在操作系统未运行之前这些应用不可用。
如今,复杂的嵌入式装置往往由多个相互配合的处理器核心配合完成,从设计开发和诊断的角度看,也应该为每个特定的核心都提供一个串行控制台接口。基于网络和串行控制台的各自优点,如果能够经过网络同时提供两种接口,对系统运行诊断会大有益处。
目前,串行控制台接口提供主要有以下两种应用方法:
(1)基于以太网接入电脑,利用操作系统Telnet、SSH等控制台软件模拟传统串行控制台操作;
(2)基于传统串行控制器通过RS232接口,直接连接或经转换器(如USB转串口)接入电脑;
上述两种方案在一定程度上实现了串行控制台接口的应用,但存在不同的缺陷,具体如下:
(1)要求目标系统必须具备允许TCP/IP协议栈,且能够运行Telnet或SSH服务端等应用,此外在系统引导或内核异常或协议栈异常时无法和客户端交互;
(2)虽需计算机具备内置串行接口或要外配RS232串口转换设备,且串行口和目标系统间电气不隔离,存在安全隐患,系统具有串行调试接口时相当麻烦;
而且上述两种方案也无法经网口同时提供串行控制台。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种基于以太网的串行控制台接口及其应用方法,在保存原有网络调试端口的前提下,可同时实现多个设备的多个串行调试、硬件资源占用少、网络协议透明。
为达到上述目的,本发明所采用的技术方案是:基于以太网的串行控制台接口,包括:与目标系统网络调试接口连接的MCU网络控制逻辑单元、通过串口复用器与目标系统的多个串行调试口连接的串行控制台逻辑单元、通过以太网物理层与PC端控制台连接的PC侧网络控制逻辑单元;
用户通过PC端控制台选定目标系统中特定串行调试接口,PC侧网络控制逻辑单元调度MCU网络控制逻辑单元输出的网络报文和串行控制台逻辑单元输出的网络报文,并通过以太网物理层转发至PC端控制台软件进行目标系统相关信息输出展示;PC端控制台软件将包含校验信息的数据帧通过PC侧网络控制逻辑单元发送至目标系统串行控制台逻辑单元,串行控制台逻辑单元从校验通过的数据帧中提取PC端控制台软件的输入信息并发送至相应目标系统。
进一步的,所述串行控制台逻辑单元包括:
串口复用器:用于向目标系统提供多路串行收发信号,通过控制字选择连接目标系统特定的串行信号组到串行控制器;
串行控制器:连接于串口复用器和串行-网络帧控制器之间,用于完成标准Uart控制器的串行编解码;
串行-网络帧控制器:用于将串行控制器输出的数据封装成完整的以太网帧并转发至PC侧网络控制逻辑单元;同时从PC侧网络控制逻辑单元返回的校验通过的数据帧中提取PC端控制台软件的输入信息并转发至串行控制器。
进一步的,所述串行控制台逻辑单元还包括MCU总线接口,通过MCU配置串行控制台逻辑单元中的Uart控制器的波特率、串行控制台识别码、MAC地址、UDP/IP头部信息。
进一步的,所述MCU网络控制逻辑单元包括:
MCU侧以太网直通转发逻辑单元:用于将来自PC侧以太网物理层的网络报文转发至MCU侧网络发送端;
MCU侧以太网接收逻辑单元:用于接收并缓冲来自MCU侧的网络报文,并将接收到的网络报文发送至PC侧网络控制逻辑单元的发送队列等待调度发送。
进一步的,所述串行-网络帧控制器包括:
以太网发送帧组装器:将串行控制器输出的数据添加串行控制台应用头部信息和串行控制台应用头部校验和、UDP/IP头部信息及UDP/IP头部校验和,并封装成一个完整的以太网帧;
以太网接收帧分解器:用于接收PC侧网络控制逻辑单元输出的网络报文,对UDP/IP头部信息、串行控制台应用头部信息进行识别并进行头部校验,在校验通过的数据帧中提取PC端控制台软件的输入信息并转发到串行控制器的接收端。
进一步的,所述PC侧网络控制逻辑单元包括:
PC侧以太网发送逻辑单元:用于调度并发送MCU网络控制逻辑单元输出的网络报文和串行控制台逻辑单元输出的网络报文,同时负责发送报文的底层帧校验添加;
PC侧以太网接收逻辑单元:用于将PC端控制台软件返回的包含校验信息的数据帧传送到串行控制台逻辑单元,同时负责接收帧的底层帧校验。
本发明还提供了一种基于以太网的串行控制台接口的应用方法,所述方法包括如下步骤:
构建硬件电路:将目标系统的多个串行调试接口通过串口复用器接入串行控制器,串行控制器通过串行-网络帧控制器接入PC侧网络控制逻辑单元;将目标系统的网络调试接口通过MCU网络控制逻辑单元接入PC侧网络控制逻辑单元;将PC侧网络控制逻辑单元通过以太网物理层接口接入PC端控制台;
功能配置:
配置串口复用器:用于向目标系统提供多路串行收发信号,通过控制字选择连接目标系统特定的串行信号组到串行控制器;
配置串行控制器:用于完成特定速率的标准Uart控制器的串行编解码;
配置串行-网络帧控制器:用于将串行控制器输出的数据封装成完整的以太网帧并转发至PC侧网络控制逻辑单元;同时从PC侧网络控制逻辑单元返回的校验通过的数据帧中提取PC端控制台软件的输入信息并转发至串行控制器;
配置MCU网络控制逻辑单元:用于转发、接收并缓冲来自MCU侧的网络报文,并将接收到的网络报文发送至PC侧网络控制逻辑单元的发送队列等待调度发送;
配置PC侧网络控制逻辑单元:用于调度并发送MCU网络控制逻辑单元输出的网络报文和串行控制台逻辑单元输出的网络报文;并将PC端控制台软件返回的包含校验信息的数据帧传送到串行控制台逻辑单元。
进一步的,配置串行-网络帧控制器包括:
配置以太网发送帧组装器:将串行控制器输出的数据添加串行控制台应用头部信息和串行控制台应用头部校验和、UDP/IP头部信息及UDP/IP头部校验和,并封装成一个完整的以太网帧;
配置以太网接收帧分解器:用于接收PC侧网络控制逻辑单元输出的底层校验正确的网络报文,对UDP/IP头部信息、串行控制台应用头部信息进行识别并进行头部校验,在校验通过的数据帧中提取PC端控制台软件的输入信息转发到串行控制器的接收端。
进一步的,配置以太网发送帧组装器还包括配置以太网发送帧组装器采用定时扫描和正文长度限制两种方法控制发往PC侧网络数据流量。
进一步的,配置PC侧网络控制逻辑单元还包括:配置PC侧网络控制逻辑单元采用公平调度的策略轮流调度发送MCU网络控制逻辑单元输出的网络报文和串行控制台逻辑单元输出的网络报文。
与现有技术相比,本发明所达到的有益效果是:
1)串行控制台接口对网络协议透明;
2)可软件选择性接入特定应用串行调试接口;
3)由纯硬件仿真串行控制台全部信号,兼容性好;
4)可完成在同一网络上完成串行控制台和网络调试接口;
5)支持多设备联网共用同一串行控制台软件;
6)使用方便,软件无需配置可实现多设备访问;
附图说明
图1是本发明提供的基于以太网的串行控制台接口的结构原理框图;
图2是本发明的串行控制台接口转网络接口的硬件框图;
图3是本发明的串行控制台接口应用以太网编码成帧示意图;
图4是本发明的以太网和串口共用模式下网络发送状态变迁图;
图5是本发明的软件分层示意图;
图6是本发明的直通转发双时钟FIFO示意图。
具体实施方式
本发明提供的基于以太网的串行控制台接口,是将嵌入式系统的串行控制台输入输出通过编码映射到标准以太网帧并和原来网络调试接口合并,能够同时满足FTP、Telenet、SSH等网络应用和传统多处理器的串行调试需求。具体的:目标系统的多个串行调试接口通过串口复用器接入,而其网络调试接口则经过MCU网络控制逻辑接入,最后经以太网物理层接口接入PC端控制台软件,用户在PC端控制台软件上选择目标系统并指定期望的串行调试接口,在PC端控制台软件上用户输入经应用编码组帧后经网络传送到目标系统,再由目标系统的串行-网络帧控制器恢复出PC端控制台软件的输入信息后转发到选定的串行口输出。同时目标系统的串行控制台接口输出经过串行-网络帧控制器编码组帧后经网络接口传送到PC端控制台软件,PC端控制台软件解帧后恢复目标系统的输出并展示在PC端控制台软件的交互窗口,整个串行控制台接口基于以太网实现但对网络协议透明,占用硬件资源开销非常小,底层编解码由纯硬件实现,可同时连接多个设备的多个串行输出,并保留原有网络调试端口,使用简单方便,具有良好的应用前景。
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
1.硬件电路
基于以太网的串行控制台接口的应用方法,其硬件电路实现主要包括以下步骤:
步骤(1),构建包括:以太网物理层接口、串行控制台逻辑、MCU网络控制逻辑和PC侧网络控制逻辑。串行控制台逻辑包括:串口复用器、串行控制器及串行-网络帧控制器。
串口复用器向目标系统提供多路串行收发信号,通过控制字选择连接目标系统特定的串行信号组到内部的串行控制器,串行控制器用来连接串口复用器和串行-网络帧控制器,完成标准Uart控制器的串行编解码;
步骤(2),在串行控制器和PC侧网络控制逻辑之间构建串行-网络帧控制器,串行-网络帧控制器包括以太网发送帧组装器和以太网接收帧分解器两部分。其中:以太网发送帧组装器负责将来自串行控制器的数据添加串行控制台应用头部信息和串行控制台应用头部校验和,并添加UDP/IP头部信息及UDP/IP头部校验和,最后封装成一个完整的以太网帧。以太网接收帧分解器则负责检查来自PC侧网络控制逻辑的网络报文,通过识别UDP/IP头部信息、串行控制台应用头部信息并进行头部校验,随后在校验通过的数据帧中提取串行控制台传送来的信息转发到串行控制器的接收端;
步骤(3),构建MCU网络控制逻辑,用来连接MCU网络接口和外部网络物理层,MCU网络控制逻辑包括以太网直通转发逻辑和以太网接收逻辑两部分。其中以太网直通转发逻辑直接连接到外部网络物理层的接收端,将来自外部网络物理层的网络报文转发至MCU侧网络发送端,以太网接收逻辑则接收并缓冲来自MCU侧的网络报文,并将接收到的网络报文提交到PC侧网络控制逻辑的LV1发送队列等待调度发送;
步骤(4),构建PC侧网络控制逻辑,用于合并发送MCU侧输出的网络报文和串行控制台逻辑输出的网络报文,PC侧网络控制逻辑:包括两个发送队列LV0和LV1,其中:发送队列LV1队列连接到MCU侧以太网接收逻辑的输出端,发送队列LV0则连接到串行-网络帧控制器的以太网发送帧组装器的输出端,而PC侧网络控制逻辑则以帧为单位,轮流调度发送来自LV0和LV1队列的网络报文。
PC侧网络控制逻辑还包括一个PC侧以太网控制台接收逻辑,用来连接到以太网物理层接口,PC侧以太网控制台接收逻辑负责接收PC端网络报文并进行链路层帧校验,并将校验正确的数据包传送到串行-网络帧控制器中帧分解器中提取PC控制台输入信息。
步骤(5),构建MCU的总线接口,通过MCU配置串行控制台逻辑中的Uart的波特率、串行控制台识别码、MAC地址、UDP/IP头部信息等。
2.PC侧网络发送
本发明基于以太网的串行控制台接口的应用方法构建了包含两个数据队列的PC侧网络发送电路用来合并发送MCU侧网络报文和来自串行控制台逻辑的网络报文,其中发送队列LV1连接到MCU侧网络接收逻辑的输出,发送队列LV0则连接到串行-网络帧控制器的以太网发送帧组装器输出,而PC侧以太网发送逻辑则通过一个发送状态机来调度发送来自LV0和LV1队列的网络报文。
附图1展示网络发送电路的拓扑结构,而附图3则展示了帧调度发送的状态转换变迁图,整个发送状态变迁图描述如下:
IDLE状态:空闲状态,MAC等待发送的状态,根据轮转调度计数器LVL的值轮流检查发送队列LV1和队列LV0,计数器LVL为1转入SendCheckLV1状态检查LV1的数据包,计数器LVL为0转入SendCheckLV0状态检查LV0的数据包;
SendCheckLV1状态:LV1数据包检查状态,检查LV1发送描述符队列,若有待发送的分组则转PreSendLV1状态准备发送数据,否则在修改轮转调度计数器LVL后转IDLE;
SendCheckLV0状态:LV0数据包检查状态,检查LV0描述符队列,若有待发送的分组则转PreSendLV0状态准备发送数据,否则在修改轮转调度计数器LVL后转IDLE;
PreSendLV1状态:LV1数据准备状态,根据LV1描述符配置发送逻辑后转SendWait状态;
PreSendLV0状态:LV0数据准备状态,根据LV0描述符配置发送逻辑后转SendWait状态;
SendWait状态:发送等待状态,在该状态检查PHY的状态,若没有冲突或出错则转发送状态,否则等待。超时以后置出错标记并返回IDLE状态。
Send状态:发送状态,从描述符指定的数据缓冲区中读取数据,并在发送时钟TXCLK驱动下发送当前数据,发送完毕后修改轮转调度计数器LVL后转IDLE;
在上述发送状态机的调度下,PC侧以太网发送逻辑以帧为单位,轮流调度两个队列中待发送数据,以保证MCU侧网口发送和串行控制台逻辑接口发送能够得到公平发送。
3.PC侧网络报文接收和转发
本发明基于以太网的串行控制台接口的应用方法构建不同网络接口电路用来接收或转发网络数据,包括位于MCU网络控制逻辑中的MCU侧以太网直通转发逻辑和MCU侧以太网接收逻辑,如附图1所示。
MCU侧以太网直通转发逻辑直接连接到外部网络物理层的接收端,将来自外部物理层的网络报文通过双时钟FIFO进行跨时钟域转换后转发至MCU侧网络接收端,如附图6,将双时钟FIFO的输入时钟连接到接收侧的以太网物理层接口的RXCLK端,双时钟FIFO的数据写请求使用RXDV,将双时钟FIFO的输出时钟连接到对应侧的以太网接口的发送时钟TXCLK,双时钟FIFO的输出连接到对应侧的以太网物理层接口的数据输入端,使用FIFO空信号取反后作为FIFO的读请求信号和对应侧的以太网接口发送使能信号TXEN,以此实现直通转发。
以太网接收逻辑则由网络接收和DMA组成,首先由接收逻辑检测网络接口的RXDV信号,在RXDV上升沿并启动帧接收和帧校验计算,当RXDV下降沿到达时结束帧接收进行帧校验,校验通过后启动DMA将接收的数据包复制到后级数据队列并设置相关接收标记。对应于MCU网络控制单元中网络接收逻辑其最终数据被复制到PC侧以太网发送逻辑的LV1发送队列中,而PC侧以太网控制台接收逻辑将底层帧校验通过的数据报文被复制到以太网接收帧分解器,由以太网接收帧分解器将进一步从网络报文中提取PC端控制台软件的应用数据和相关控制信息。
4.串口选择和信号仿真
本发明基于以太网的串行控制台接口的应用方法,通过串口复用器选择特定的串口以便连接到选定的应用,其中复用器在控制字的串口选择信号UartSel控制下进行外部信号和串行控制器的内部连接以及将控制字中控制信号RTS、DTR输出到指定端口,对所有外部串行信号组执行下面选择策略:
若信号组i被选中(即UartSel=i)则
TXD<=RXDi;
DSR<=DSRi;
CTS<=CTSi;
TXDi<=RXD;
RTSi<=RTS;
DTRi<=DTR;
否则
TXDi<=’1’;
RTSi<=’1’;
DTRi<=’1’;
若没有信号组被选中,则置位TXD、DSR、CTS为1表示链路空闲,其中,符号“<=”表示信号赋值,TXD、RXD、DTR、RTS、DSR、CTS为串行控制台逻辑内部产生的信号,TXD和RXD直接接入内部的串行控制器,而TXDi、RXDi、DTRi、RTSi、DSRi、CTSi则为外部信号,连接到目标系统的第i组信号,i则由控制字中字段UartSel决定。
按上述法则完成外部信号组和串行控制器的数据线电路连接,就可以完成串行控制器和指定外部应用的串行数据交互,同时来自控制字的RTS、DTR信号也被扩展到指定端口,上述逻辑也表明任意时刻一个设备只能有一组串行信号被选中和PC端控制台软件实现端到端的连接。
进一步地被选中的串行信号组的状态信号DSRi、CTSi也被连接到以太网发送组装器,作为链路状态信号被传送给PC端控制台软件。
5.应用帧组装和分解
本发明基于以太网的串行控制台接口的应用方法,是通过把串行控制台应用数据映射到UDP帧中并经过网络和PC端串行控制台软件进行交互的,附图3展示了本发明将串行控制台应用数据编码成帧的过程,在目标系统中帧组装和帧分解均由硬件实现,在PC侧则由PC端串行控制台应用软件负责。表1给出了本发明的一个实例编码协议:
表1协议编码实例
对应表1中的各字段解释如下:
<串行控制台应用魔数>:6字节,表征该报文携带串行控制台应用数据;
<设备逻辑地址>:2字节,设备逻辑地址,1-65534,其中0-保留,65535为广播地址,逻辑地址用来标识联网的多个设备,PC端串行控制台软件可以通过广播地址向所有联网的设备发送广播信息;
<服务访问点>:1字节,目标系统中应用服务程序标识;
<控制/状态字>:1字节,作为串行控制台控制/状态字用,其中PC端串行控制台软件下发数据时作为控制字,目标系统上送数据时作为状态字,按位描述如下:
<D7>---保留
<D6>--对应串口DTR/DSR信号(上行对应DSR,下行对应DTR);
<D5>--对应串口RTS/CTS信号(上行对应CTS,下行对应RTS);
<D4…D0>--串口选择(UartSel),用来选择目标系统的串行信号组
<长度>:1字节,包括正文长度;
<头部校验和>:1字节,包含魔数到长度字段的头部校验和;
<串行控制台应用正文>:n字节,包含串行控制台应用的正文;
前述的以太网发送帧组装器为控制网络流量,不会在目标系统调试接口有输出时立即启动帧封装发送,而是定时扫描串行控制器的发送队列,若发现有目标系统新的输入则启动帧组装过程,同时以太网发送帧组装器会对一次传送正文长度进行限制,进一步限制网络流量。帧组装由以太网发送帧组装器负责,先按表1将来自串行控制器的数据添加串行控制台应用头部信息和头部校验,再按附图3所示次序将串行控制台应用数据添加UDP/IP头部及校验和,最后封装成一个完整的以太网帧并提交到网络发送队列LV0(对应附图1)或直接提交到发送逻辑(对应附图2)。
以太网接收帧分解器在收到来自网络接收逻辑传输的网络接收报文后,通过识别UDP/IP头部信息、PC端控制台应用软件头部魔术数并进行头部校验,若确认该帧为PC端控制台软件下行的命令帧则按附图5所示次序移动数据指针,读取UDP数据报中PC端控制台应用的控制字和正文部分,其中控制字按表1用来控制串口复用器选择特定的端口和控制该端口的DTR/RTS信号,而正文部分则写入串行控制器的串行接收队列,最后由串行控制向下发送给目标系统中选定的串行口。
串行-网络帧控制器为简化目标侧硬件协议实现,采用UDP广播方式和PC端控制台软件进行UDP数据报交互,从而避免了在目标硬件电路上实现MAC地址解析和IP选路协议。
串行-网络帧控制器应该由MCU通过配置接口设定一个唯一的设备逻辑地址,在接收到PC端控制台应用帧时检查其中设备逻辑地址字段,只有该地址和本地逻辑地址一致或地址为广播地址时才进一步进行帧解析,否则直接丢弃该帧报文。
6.PC端控制台软件
基于以太网的串行控制台接口的应用方法,需要构建PC端字符终端接口软件,该软件基于TCP/IP协议栈,采用UDP广播客户端和目标系统进行数据交互。PC端控制台软件具备为不同的设备提供独立的窗体视图(按表1逻辑地址区分不同设备)的能力,用于支持联网设备共用PC端控制台软件,同时在设备窗体视图上设计控制字和应用访问点配置界面,以此实现由PC端控制台软件和不同设备上不同应用进行交互的能力。
当用户在PC端控制台软件的界面窗口上输入时,PC端控制台软件进行应用编码组帧后将数据传递给UDP/IP协议栈,如附图5由协议栈完成底层编码并经网络传送到目标系统硬件电路,同时目标系统的串行输出在经过串行-网络帧控制器编码组帧后经网络接口传送到PC端控制台软件,PC端控制台软件从接收到的UDP报文中检查串行控制台应用的魔数,并进行头部校验检查,在确认所接收的帧为串行控制台应用帧后从该帧中解码出设备逻辑地址、状态字、应用访问点和串行控制台正文等信息,再根据设备逻辑地址和状态字及应用访问点信息将正文转换成字符展示在PC端控制台软件指定的窗体视图中。
前述的PC端控制台软件为简化实现基于UDP广播方式,确保无论是目标系统还是PC端控制台软件无需配置就可以实现信息交互,PC端控制台软件可以按表1将设备逻辑地址字段设为广播地址向所有联网设备发送广播信息,对联网设备进行主动发现,但在指定设备窗体视图中进行交互时采用与该设备窗体视图绑定的设备逻辑地址,以保证该交互不会被无关设备接收。
PC端控制台软件还采用被动发现模式,每当收到的UDP帧被认定为串行控制台应用报文,且其中设备逻辑地址还未在软件中出现过,则PC端控制台软件立即创建一个新的设备窗体视图,并在设备窗体视图的标题上标识该设备逻辑地址,随后与该设备的交互可以在窗体中进行。
7.简单以太网串行控制台接口
本发明基于以太网的串行控制台接口的应用方法的另一个简单实现是不包含MCU侧网络接口的简单以太网串行控制台接口,如附图2所示,包括串口复用器、串行控制器、串行-网络帧控制器、PC侧以太网收发逻辑和一个以太网物理层组成。与前述包含MCU侧网络接口的串行控制台电路不同的是以太网发送帧组装器的输出直接连接到网络发送逻辑,目标系统的串行输出成帧后直接发送到以太网物理层。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.基于以太网的串行控制台接口,其特征在于包括:与目标系统网络调试接口连接的MCU网络控制逻辑单元、通过串口复用器与目标系统的多个串行调试接口连接的串行控制台逻辑单元、通过以太网物理层与PC端控制台连接的PC侧网络控制逻辑单元;
用户通过PC端控制台选定目标系统中的特定串行调试接口,PC侧网络控制逻辑单元调度MCU网络控制逻辑单元输出的网络报文和串行控制台逻辑单元输出的网络报文,并通过以太网物理层转发至PC端控制台软件进行目标系统相关信息输出展示;PC端控制台软件将包含校验信息的数据帧通过PC侧网络控制逻辑单元发送至目标系统的串行控制台逻辑单元,串行控制台逻辑单元从校验通过的数据帧中提取PC端控制台输入信息并发送至相应目标系统的串行调试接口。
2.根据权利要求1所述的基于以太网的串行控制台接口,其特征在于:所述串行控制台逻辑单元包括:
串口复用器:用于向目标系统提供多路串行收发信号,通过控制字选择连接目标系统特定的串行信号组到串行控制器;
串行控制器:连接于串口复用器和串行-网络帧控制器之间,用于完成标准Uart控制器的串行编解码;
串行-网络帧控制器:用于将串行控制器输出的数据封装成完整的以太网帧并转发至PC侧网络控制逻辑单元;同时从PC侧网络控制逻辑单元返回的数据帧中提取PC端控制台软件输入信息并转发至串行控制器。
3.根据权利要求2所述的基于以太网的串行控制台接口,其特征在于:所述串行控制台逻辑单元还包括MCU总线接口,通过MCU配置串行控制台逻辑单元中的Uart控制器的波特率、串行控制台识别码、MAC地址、UDP/IP头部信息。
4.根据权利要求1所述的基于以太网的串行控制台接口,其特征在于:所述MCU网络控制逻辑单元包括:
MCU侧以太网直通转发逻辑单元:用于将来自PC侧网络物理层的网络报文转发至MCU侧网络发送端;
MCU侧以太网接收逻辑单元:用于接收并缓冲来自MCU侧的网络报文,并将接收到的网络报文发送至PC侧网络控制逻辑单元的发送队列等待调度发送。
5.根据权利要求1所述的基于以太网的串行控制台接口,其特征在于:所述串行-网络帧控制器包括:
以太网发送帧组装器:将串行控制器输出的数据添加串行控制台应用头部信息和串行控制台应用头部校验和、UDP/IP头部信息及UDP/IP头部校验和,并封装成一个完整的以太网帧;
以太网接收帧分解器:用于接收PC侧网络控制逻辑单元输出的网络报文,对UDP/IP头部信息、串行控制台应用头部信息进行识别并进行头部校验,在校验通过的数据帧中提取PC端控制台软件的输入信息并转发到串行控制器的接收端。
6.根据权利要求1所述的基于以太网的串行控制台接口,其特征在于:所述PC侧网络控制逻辑单元包括:
PC侧以太网发送逻辑单元:用于调度并发送MCU网络控制逻辑单元输出的网络报文和串行控制台逻辑单元输出的网络报文;
PC侧以太网接收逻辑单元:负责底层网络报文接收和帧校验,并将底层校验通过的帧传送到串行控制台逻辑单元。
7.基于以太网的串行控制台接口的应用方法,其特征在于:所述方法包括如下步骤:
构建硬件电路:将目标系统的多个串行调试接口通过串口复用器接入串行控制器,串行控制器通过串行-网络帧控制器接入PC侧网络控制逻辑单元;将目标系统的网络调试接口通过MCU网络控制逻辑单元接入PC侧网络控制逻辑单元;将PC侧网络控制逻辑单元通过以太网物理层接口接入PC端控制台;
功能配置:
配置串口复用器:用于向目标系统提供多路串行收发信号,通过控制字选择连接目标系统特定的串行信号组到串行控制器;
配置串行控制器:用于完成指定波特率的标准Uart控制器的串行编解码;
配置串行-网络帧控制器:用于将串行控制器输出的数据封装成完整的以太网帧并转发至PC侧网络控制逻辑单元;同时从PC侧网络控制逻辑单元返回的校验通过的数据帧中提取PC端控制台软件的输入信息并转发至串行控制器;
配置MCU网络控制逻辑单元:用于转发、接收并缓冲来自MCU侧的网络报文,并将接收到的网络报文发送至PC侧网络控制逻辑单元的发送队列等待调度发送;
配置PC侧网络控制逻辑单元:用于调度并发送MCU网络控制逻辑单元输出的网络报文和串行控制台逻辑单元输出的网络报文;接收来自PC端网络报文进行底层帧校验,并将底层帧校验通过的数据帧传送到串行控制台逻辑单元。
8.根据权利要求7所述的基于以太网的串行控制台接口的应用方法,其特征在于:配置串行-网络帧控制器包括:
配置以太网发送帧组装器:将串行控制器输出的数据添加串行控制台应用头部信息和串行控制台应用头部校验和、UDP/IP头部信息及UDP/IP头部校验和,并封装成一个完整的以太网帧;
配置以太网接收帧分解器:用于接收PC侧网络控制逻辑单元输出的网络报文,对UDP/IP头部信息、串行控制台应用头部信息进行识别并进行头部校验,在校验通过的数据帧中提取PC端控制台软件的输入信息并转发到串行控制器的接收端。
9.根据权利要求8所述的基于以太网的串行控制台接口的应用方法,其特征在于:配置以太网发送帧组装器还包括配置以太网发送帧组装器采用定时扫描和正文长度限制两种方法控制PC侧网络数据发送流量。
10.根据权利要求7所述的基于以太网的串行控制台接口的应用方法,其特征在于:配置PC侧网络控制逻辑单元还包括:配置PC侧网络控制逻辑单元采用公平调度的策略轮流调度发送MCU网络控制逻辑单元输出的网络报文和串行控制台逻辑单元输出的网络报文。
CN201810889108.9A 2018-08-07 2018-08-07 基于以太网的串行控制台接口及其应用方法 Active CN109189711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810889108.9A CN109189711B (zh) 2018-08-07 2018-08-07 基于以太网的串行控制台接口及其应用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810889108.9A CN109189711B (zh) 2018-08-07 2018-08-07 基于以太网的串行控制台接口及其应用方法

Publications (2)

Publication Number Publication Date
CN109189711A true CN109189711A (zh) 2019-01-11
CN109189711B CN109189711B (zh) 2020-04-28

Family

ID=64920797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810889108.9A Active CN109189711B (zh) 2018-08-07 2018-08-07 基于以太网的串行控制台接口及其应用方法

Country Status (1)

Country Link
CN (1) CN109189711B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599737A (zh) * 2022-12-13 2023-01-13 南京芯驰半导体科技有限公司(Cn) 一种异构多核系统、通信方法、芯片、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2705957Y (zh) * 2004-06-07 2005-06-22 上海电器科学研究所(集团)有限公司 一种现场总线通讯协议转换接口模块
US6915335B1 (en) * 2001-09-17 2005-07-05 Cisco Technology, Inc. Serial protocol for efficient messaging between host and intelligent daughtercards over a serial link
CN1808990A (zh) * 2005-01-18 2006-07-26 英业达股份有限公司 网络连线的备援系统
CN1980181A (zh) * 2005-12-02 2007-06-13 北京润光泰力科技发展有限公司 基于以太网的节点间传输性能在线获取方法和装置
CN105610876A (zh) * 2016-04-01 2016-05-25 江苏科技大学 工业控制自动化网络通信协议转换器及通信协议转换方法
CN106445859A (zh) * 2016-07-26 2017-02-22 安徽皖通邮电股份有限公司 一种单板上多个处理器调试口复用切换方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915335B1 (en) * 2001-09-17 2005-07-05 Cisco Technology, Inc. Serial protocol for efficient messaging between host and intelligent daughtercards over a serial link
CN2705957Y (zh) * 2004-06-07 2005-06-22 上海电器科学研究所(集团)有限公司 一种现场总线通讯协议转换接口模块
CN1808990A (zh) * 2005-01-18 2006-07-26 英业达股份有限公司 网络连线的备援系统
CN1980181A (zh) * 2005-12-02 2007-06-13 北京润光泰力科技发展有限公司 基于以太网的节点间传输性能在线获取方法和装置
CN105610876A (zh) * 2016-04-01 2016-05-25 江苏科技大学 工业控制自动化网络通信协议转换器及通信协议转换方法
CN106445859A (zh) * 2016-07-26 2017-02-22 安徽皖通邮电股份有限公司 一种单板上多个处理器调试口复用切换方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599737A (zh) * 2022-12-13 2023-01-13 南京芯驰半导体科技有限公司(Cn) 一种异构多核系统、通信方法、芯片、设备及存储介质
CN115599737B (zh) * 2022-12-13 2023-02-28 南京芯驰半导体科技有限公司 一种异构多核系统、通信方法、芯片、设备及存储介质

Also Published As

Publication number Publication date
CN109189711B (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN106612141B (zh) 一种光纤通道协议通用仿真测试卡及其数据交互方法
CN106411740B (zh) 基于以太网控制器的网络端口扩展方法
CN105187227B (zh) 一种应用rmap协议实现can总线设备即插即用的装置
CN105959288A (zh) 一种电力电网系统中的网络协议转换及其相互通讯方法
CN106502932B (zh) 基于分层结构的片间互联接口及其写操作和读操作的方法
CN108768892A (zh) 一种基于p4的可编程数据平面交换原型的设计与实现
CN101169771B (zh) 一种axi内部总线的外部接口装置及其数据传输方法
CN101102305A (zh) 管理网络信息处理的系统和方法
CN103078871A (zh) 一种串口以太网协议转换方法
CN106341266B (zh) 具有主动和被动传输模式的硬件tcp/ip协议栈装置
CN106953853B (zh) 一种片上网络千兆以太网资源节点及其工作方法
WO2003005152A2 (en) Communications system using rings architecture
CN105516142A (zh) 一种智能电网系统中的相互通讯方法
CN109819065A (zh) 基于fpga的数据传输及存储系统、方法以及数据系统
CN102185833A (zh) 一种基于fpga的fc i/o并行处理方法
CN102420763B (zh) Dma发送方法
CN105871643B (zh) 基于路由协议的网络运行仿真方法
CN109308283A (zh) 一种SoC片上系统及其外设总线切换方法
CN203151539U (zh) 一种afdx端系统虚拟链路层ip核
CN106130897B (zh) 基于路由模拟的性能优化方法
CN108063694A (zh) 通过核心程序在通讯端口上进行压力测试的系统及其方法
CN110290187A (zh) 数据信息的传输方法及装置、存储介质、电子装置
CN102546542A (zh) 电子系统及其嵌入式设备和中转设备
CN115866081A (zh) 一种基于soc的工业以太网协议转换方法
Carara et al. Communication models in networks-on-chip

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
GR01 Patent grant
GR01 Patent grant