一种串口数据传输系统与方法与流程
本技术涉及数据传输,具体而言,涉及一种串口数据传输系统与方法。
背景技术:
1、随着服务器系统集成度的不断提高,服务器cpu通常需要提供多路相互独立的uart调试串口,以供研发阶段和运维阶段对服务器运行状态进行监控与调试。在实际应用中,服务器调试串口需要同时支持两种调试方式:一种是本地usb直连调试,即工程师通过usb线缆将上位机与服务器主板直接连接,进行近距离调试;另一种是远程以太网调试,即通过串口服务器将以太网信号转换为串口信号,使工程师能够在远端通过网络对服务器进行调试。特别是在数据中心、机房等应用场景下,多台服务器往往需要同时接入同一串口服务器进行集中调试与管理,这对服务器调试串口的信号传输架构提出了更高的要求。
2、现有技术中,服务器cpu输出的多路独立uart串口信号通常全部接入板载cpld/fpga,由cpld/fpga内部实现信号缓冲与分路输出功能。经cpld/fpga分路后的多路uart信号,一路完整保留每一路独立的tx/rx走线,全部引出至主板连接器,再通过线缆连接至eth转串口服务器,由串口服务器内部的控制器将每一路独立串口信号转换为以太网数据流,实现远程网络调试;另一路则通过主板内部pcb走线直接接入usb转串口模块,将多路串口转换为usb信号后直连上位机,实现本地直连调试。该方案中,多路串口在cpld/fpga分路之后,两条调试链路均完整保留全部独立串口走线,每一路串口均占用独立的发送信号线和接收信号线。
3、然而,一方面,cpu多路调试串口占用cpld/fpga大量io引脚,而服务器外设逻辑繁多,cpld/fpga引脚资源本就紧张,当调试串口数量较多时,容易发生引脚资源不足,甚至需要新增cpld/fpga器件,增加硬件成本与服务器逻辑设计难度。另一方面,cpu各路uart均具备独立收发信号线,经过cpld/fpga分路之后,两路调试链路依旧完整保留全部独立串口走线,以8路调试串口为例,单条链路就需要占用16根连接器引脚,引脚数量增加迫使选用更大规格连接器,挤占板上器件布局空间,同时造成pcb布线密集,增大走线阻抗控制难度。此外,在多台服务器同时接入串口服务器组网的应用场景下,服务器与串口服务器之间需要布设大量线缆,各路串口相互独立,当某一路串口通信出现连接异常时,在错综复杂的布线环境中难以快速定位故障对应的通道与线缆,设备运维排查效率低。
技术实现思路
1、本技术的目的在于提供一种串口数据传输系统与方法,以解决现有技术中存在的引脚资源不足、走线阻抗控制难度大以及设备运维排查效率低的问题。
2、为了实现上述目的,本技术实施例采用的技术方案如下:
3、一方面,本技术实施例提供一种串口数据传输系统,所述系统包括:
4、至少一个服务器主板,每个所述服务器主板均包括服务器cpu和复用管理模块;
5、所述服务器cpu内置有多路独立uart串口,用于将多路独立uart串口数据按照预设帧格式封装为一组时分复用总线信号,所述时分复用总线信号通过下行总线和上行总线传输;
6、所述复用管理模块通过所述下行总线和所述上行总线与所述服务器cpu连接,所述复用管理模块内用于对接收到的所述时分复用总线信号进行解析,分离恢复出各通道独立的串口信号;
7、usb转串口模块,所述usb转串口模块与所述复用管理模块连接,用于将所述复用管理模块分离恢复出的各通道独立串口信号转换为usb信号,并通过usb接口连接至客户端,实现本地直连调试;
8、主板连接器,与所述复用管理模块的输入端连接,用于将所述时分复用总线信号引出至主板外部;
9、串口服务器,与所述主板连接器连接,用于分别接收所述时分复用总线信号,并通过以太网接口连接至客户端,实现多服务器远程网络调试。
10、可选地,所述复用管理模块由cpld、fpga、asic、mcu或soc中的任意一种实现;
11、所述复用管理模块内部设置有tdm uart解码单元,所述tdm uart解码单元用于依据所述预设帧格式对所述时分复用总线信号进行帧同步、通道识别、数据提取和校验验证,以分离恢复出各通道独立的串口信号。
12、可选地,所述主板连接器分配有下行总线信号引脚、上行总线信号引脚和gnd接地引脚;
13、连接所述主板连接器与所述串口服务器的外部线缆包含与三个引脚对应的三根信号线。
14、可选地,所述预设帧格式依次包括:帧头、串口通道号、串口数据、crc校验和帧尾;
15、所述帧头、所述串口通道号、所述crc校验和所述帧尾共占用32bit,所述串口数据字段为8n bit长度,其中n为字节数。
16、可选地,所述预设帧格式中,在所述帧头和所述串口通道号之间还设置有状态码字段;
17、所述状态码字段用于表征对应串口通道当前的实时负载状态或速率需求指示。
18、可选地,所述服务器cpu内部设置有负载监测与速率决策模块,用于根据各串口通道的发送缓冲区水位生成对应的所述状态码,并将所述状态码封装入所述预设帧格式中;
19、所述状态码至少包括以下编码状态之一或组合:
20、空闲状态编码,表示对应通道当前无数据待发送;
21、轻载状态编码,表示对应通道的发送缓冲区占用率低于第一阈值;
22、中载状态编码,表示对应通道的发送缓冲区占用率介于所述第一阈值和第二阈值之间;
23、满载状态编码,表示对应通道的发送缓冲区占用率高于所述第二阈值;
24、突发预告状态编码,表示对应通道即将产生突发数据,请求接收端提前提升总线速率。
25、可选地,所述复用管理模块和/或所述串口服务器内部设置有仲裁决策模块,所述仲裁决策模块用于解析接收到的所述状态码,并结合自身链路质量监测结果,综合判定是否执行所述时分复用总线运行速率的升降调整;
26、当判定需要升速或降速时,所述仲裁决策模块通过所述上行总线向所述服务器cpu发送速率协商帧,所述服务器cpu收到所述速率协商帧后确认并执行速率切换;
27、速率切换后的总线运行速率不低于当前活跃串口数量所对应的理论最低速率需求,所述理论最低速率需求满足:
28、rate_min = n_active × (baud_uart ÷ 8) × l_frame
29、其中,n_active为当前活跃串口通道数量,baud_uart为原始串口波特率,l_frame为单帧总位数。
30、可选地,所述串口服务器同时连接有多个所述服务器主板的主板连接器,所述串口服务器内部设置有控制器和通道映射表;
31、所述通道映射表用于记录各所述服务器主板的标识信息与各服务器主板内部各串口通道号之间的对应关系;
32、所述控制器根据所述通道映射表,将解码恢复出的各通道串口数据与对应的服务器主板和串口通道进行关联标识,并在转换为以太网报文时,在所述以太网报文中同时携带服务器主板标识字段和串口通道号字段。
33、可选地,所述串口服务器还设置有端口状态指示模块和数据缓存模块;
34、所述端口状态指示模块包括与各主板连接器接入端口一一对应的状态指示灯,用于指示对应端口的链路通断状态和数据传输活动状态;
35、所述数据缓存模块用于在多台服务器主板同时向所述串口服务器发送数据时,按照预设的优先级策略对各通道数据进行缓存和排队,并通过所述以太网接口依次上传至客户端。
36、另一方面,本技术实施例还提供了一种串口数据传输方法,应用于上述的系统,所述方法包括:
37、各服务器主板的服务器cpu分别将各自内部的多路独立uart串口数据按照预设帧格式封装为一组时分复用总线信号,分别通过各自的下行总线传输至对应的复用管理模块;
38、各所述复用管理模块对接收到的所述时分复用总线信号进行解析,分离恢复出各通道独立的串口信号,并将分离恢复出的各通道独立串口信号输出至usb转串口模块,转换为usb信号后通过usb接口连接至客户端,实现各服务器主板的本地直连调试;
39、各所述复用管理模块将所述时分复用总线信号分别通过各自的主板连接器引出,经由外部线缆传输至同一串口服务器;
40、所述串口服务器分别接收并解码来自各所述服务器主板的所述时分复用总线信号,恢复各服务器主板各通道的串口数据,并根据内部预置的通道映射表,将各通道数据与对应的服务器主板和串口通道进行关联标识;
41、所述串口服务器将关联标识后的所有服务器主板的所有通道数据统一转换为以太网报文,通过以太网接口上传至客户端,实现多服务器远程网络调试。
42、相对于现有技术,本技术具有以下有益效果:
43、本技术提供了一种串口数据传输系统,通过将服务器cpu的多路独立uart串口数据按照预设帧格式封装为一组时分复用总线信号,经复用管理模块解析后分离恢复出各通道独立串口信号,并分别通过usb转串口模块实现本地直连调试、通过主板连接器引出至串口服务器实现远程网络调试,从而以一组时分复用总线替代传统多路独立串口走线,解决了引脚资源不足、走线阻抗控制难度大以及设备运维排查效率低的问题。
44、为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com