一种基于Arcnet串口服务器的制作方法

文档序号:6378914阅读:594来源:国知局
专利名称:一种基于Arcnet串口服务器的制作方法
技术领域
本发明涉及串口通信及协议转换技术领域,特别涉及一种Arcnet串口服务器。
背景技术
UART,通用异步串口(以下简称串口)是工业中应用最广泛的一种接口,实现简单,方便快捷,一般单片机、工控机都会集成1-2个串口,很多传感器也都使用串口与上位机进行通信。但是串口对总线的支持并不是很好,在大量使用串口的场合下,就需要一种设备,可以将某种高速总线转换成多个串口,即串口服务器。目前市场上用的比较多的串口服务器采集用以太网转串口的方式,还有部分产品采用USB接口转串口的方式。对于目前应用较为广泛的以太网串口服务器、USB串口服务器,协议非常复杂,如果自己开发的话一般都用计算机或者高性能32位处理器加嵌入式操作系统来实现。对于一般8位、16位单片机,开发难度大,而且由于协议的开销,处理性能受到很大影响。

发明内容
(一 )所要解决的技术问题本发明通过提供一种Arcnet串口服务器及基于此串口服务器的级联,解决了串口扩展中协议复杂,开发难度大,处理性能差的问题。(二)技术方案本发明提供了一种Arcnet串口服务器,该串口服务器包括CPU、Arcnet协议芯片、串口协议芯片、console接口和电平转换电路;其中所述CPU分别与Arcnet协议芯片、串口协议芯片和console接口相连,用于进行Arcnet协议与串口协议之间的数据转换;所述Arcnet协议芯片,用于基于Arcnet协议接收和发送Arcnet数据;所述串口协议芯片,用于接收和发送串口数据;所述电平转换电路,与串口协议芯片相连,用于对串口数据进行电平信号转换;所述console接口,用于配置参数;优选的,该串口服务器还包括R0M,所述ROM与CPU相连,用于存储所配置的参数。优选的,该串口服务器还包括Arcnet接口,所述Arcnet接口一端与Arcnet协议芯片相连,另一端连接上位机或总线,用于传输数据。优选的,所述Arcnet数据的数据包包括如下字段巾贞头、串口数量、串口号、数据长度、数据和帧尾字段。优选的,所述console接口为单片机上集成的接口。本发明还提供了一种将Arcnet数据转换为串口数据的方法,该方法包括SI、采用中断方式接收Arcnet数据,并对Arcnet数据进行巾贞头尾、CRC校验,校验正确后,根据Arcnet数据的数据包内部协议,对Arcnet数据的数据包进行分解,解析出各个串口所需要的数据,放入串口发送缓冲区内;S2、采用中断方式,判断串口协议芯片是否发送空中断信号,如果是,并且串口发送缓冲区有数据,则进行数据发送;本发明还提供了一种将串口数据转换为Arcnet数据的方法,该方法包括A、采用中断方式接收串口数据,并存入串口接收缓冲区内;B、采用周期轮循的方式,每个周期开始从第一个使能的串口查询,判断串口接收缓冲区是否有数据,如果有数据,则根据Arcnet数据的数据包内部协议,将数据存放入Arcnet发送数据缓冲区内,然后查询下一个使能的串口,直到查询到最后一个使能串口,将收到的串口数据整体打包,进行发送。本发明还提供了一种基于Arcnet串口服务器的通信系统,其特征在于,包括Arcnet总线、上位机、多个所述的Arcnet串口服务器,所述多个Arcnet串口服务器并联在Arcnet总线上,所述Arcnet总线连接所述上位机。优选的,Arcnet总线采用双绞线。(三)有益效果I、因为协议也比较简单,采用普通的单片机就可以实现,硬件开发成本、软件开发成本都会大大降低。2、采用新的串口服务器级联方式,非常适合串口设备比较多、布置位置比较分散的场合。


图I为Arcnet串口服务器的主要结构组成图;图2为Arcnet串口服务器的具体结构示意图;图3为Arcnet数据的数据包内部协议字段示意图;图4为Arcnet数据接收流程图;图5为Arcnet数据发送流程图;图6为基于Arcnet串口协议的通彳目系统不意图。
具体实施例方式本发明提供了一种Arcnet串口服务器,这种服务器可提供一种协议简单的高速通信接口并实现串口的扩展。如图I所示,Arcnet串口服务器的主要结构包括CPU、Arcnet协议芯片、串口协议芯片、console接口和电平转换电路;连接方式为其中CPU分别与Arcnet协议芯片、串口协议芯片和console接口相连,用于进行Arcnet协议与串口协议之间的数据转换;所述Arcnet协议芯片,用于基于Arcnet协议接收和发送Arcnet数据;所述串口协议芯片,用于接收和发送串口数据;所述电平转换电路,与串口协议芯片相连,用于对串口数据进行电平信号转换;所述console接口,用于配置参数;其中该串口服务器还包括R0M,所述ROM与CPU相连,用于存储所配置的参数。该串口服务器还包括Arcnet接口,所述Arcnet接口一端与Arcnet协议芯片相连,另一端连接上位机或总线,用于传输数据。
所述Arcnet数据的数据包包括如下字段帧头、串口数量、串口号、数据长度、数据和帧尾字段。所述console接口为单片机上集成的接口。Arcnet协议比较简单,采用普通的单片机就可以实现,硬件开发成本、软件开发成本大大降低。一种将Arcnet数据转换为串口数据的方法,该方法包括SI、采用中断方式接收Arcnet数据,并对Arcnet数据进行巾贞头尾、CRC校验,校验正确后,根据Arcnet协议和串口协议,对Arcnet数据的数据包进行分解,解析出各个串口所需要的数据,放入串口发送缓冲区内;S2、采用中断方式,判断串口协议芯片是否发送空中断信号,如果判断发送了空中断信号,并且串口发送缓冲区有数据,则进行数据发送;一种将串口数据转换为Arcnet数据的方法,该方法包括A、采用中断方式接收串口数据,并存入串口接收缓冲区内;B、采用周期轮循的方式,每个周期开始从第一个使能的串口开始查询,判断串口接收缓冲区是否有数据,如果有数据,则根据Arcnet协议和串口协议,读取数据添加头信息并将其放入Arcnet发送数据缓冲区内,然后查询下一个使能的串口,直到查询到最后一个使能串口,将收到的串口数据整体打包,进行发送。本发明还提供了一种基于Arcnet串口服务器的通信系统,其特征在于,包括Arcnet总线、上位机、多个所述的Arcnet串口服务器,所述多个Arcnet串口服务器并联在Arcnet总线上,所述Arcnet总线连接所述上位机。该通信系统采用串口服务器级联方式,实现串口的扩展,非常适合串口设备比较多、布置位置比较分散的场合。优选的,Arcnet总线采用双绞线。具体的,Arcnet串口服务器的具体结构如图2所示为Arcnet串口服务器硬件上主要由CPU、Arcnet协议芯片、串口协议芯片、console接口、ROM、电平转换电路和Arcnet接口组成。其中CPU分别与Arcnet协议芯片、串口协议芯片、ROM和console接口相连,串口协议芯片与电平转换电路相连,Arcnet协议芯片与Arcnet接口相连。CPU,因为Arcnet协议是基于链路层的协议,而且协议都已经集成在Arcnet协议芯片内部,采用普通的单片机就可以很好的实现。Arcnet协议芯片采用SMSC公司的C0M20022芯片,最高支持IOMBps Arcnet。该芯片采用标准的数据、地址总线,对单片机可以提供很好的支持。串口协议芯片,目前应用比较多的串口协议芯片是16C554,很多厂家都提供此种芯片。一片16C554可以扩展4个串口,对于16 口串口服务器,选择4片相同的芯片。Console接口,单片机一般都可以提供串口、I2C、SPI等接口,直接使用单片机集成的接口就可以。R0M,用来保存串口服务器、各个串口等参数,可以选择一般非易失性ROM。电平转换电路,各个串口需要根据现场的不同需求,配置成RS422、RS485、RS232等接口,利用电平转换电路实现此功能。
Arcnet接口是额外的硬件设施,主要的功能是Arcnet总线物理层的实现,即数据的传输,根据总线物理层的不同可以是RS485、铜轴电缆、光纤等。Arcnet串口服务器主要就是实现串口与Arcnet接口之间数据的转换,同时需要提供一个接口对串口服务器进行设置。由图2可看出,Arcnet串口服务器对外提供3种通信接口,分别是Arcnet接口、串口、console接口,每种接口功能如下(I)Arcnet接口,负责接收上位机或Arcnet总线发送给串口的数据,将串口的数据转发给上位机或Arcnet总线。(2)串口,用来与串口设备进行通信,根据需求不同,可以扩展成4 口、8 口、16 口等不同接口的串口服务器,串口电平也可以设置成RS482、RS422、RS232等电平。根据目前串口的应用情况,串口波特率最高设置为115200Bps。(3) console接口,用来配置串口服务器参数、各个串口的参数,此console接口可以根据需求的不同,选择串口、I2C、SPI等多种串行接口。串口服务器中数据传输依据的协议具体为Arcnet串口服务器主要功能是完成协议的转换,协议很大程度上决定了串口服务器的性能。Arcnet协议Arcnet是一种令牌式总线协议,每个Arcnet节点有一个唯一的地址,从最小号地址开始循环传输令牌,获得令牌的Arcnet节点才可以发送数据。令牌传输的时间间隔是74us,一次最多传输508字节数据。 数据包外部总的协议不做要求,可以采用任何协议,数据包内部协议中实际内容如图3所示,每个字段的含义如下“串口数量”:这一数据包中包含串口数据的实际数量,因为实际应用中,可能不会用到所有的串口,根据此字段计算包的长度。“串口号”需要收发数据的串口号,串口服务器从第一串口开始,依次编号为I、
2λ... 16ο“数据长度”:该串口号串口收发数据的长度,数据最长长度设置为24。设置最长长度主要有两个考虑,一是为了保证所有的串口都有平等的机会参与收发数据;另外一方面,考虑Arcnet总线一次最多传输508个字节,每个串口加上“串口数据”、“串口号”两个字段,最多26个字节,如果16个串口全部使用,一次需要传输416个字节,加上一些协议的消耗,可以保证Arcnet总线一次将所有字节发送完毕,提供串口收发的实时性。同时需要根据此字段计算下一个串口数据包的位置。“数据”串口服务器传输的实际数据。“帧头和帧尾”:根据协议的不同,可以选择不同的帧头和帧尾。基于Arcnet串口服务器的具体的数据传输的软件方法CPU实现Arcnet协议与串口协议之间的数据转换功能。一方面,通过Arcnet协议芯片,接收Arcnet总线上的数据,如图3所示对数据进行解析,判断数据是需要通过哪个串口发送出去,然后将数据通过该串口的串口协议芯片发送出去;另外一方面,CPU通过某个串口协议芯片接收来自这个串口上的数据,将数据按图3所示字段进行数据打包,然后将打包后的数据通过Arcnet协议芯片发送出去。可知软件上主要包含接收Arcnet数据、发送Arcnet数据、接收串口数据、发送串口数据4个流程,每个流程如下接收Arcnet数据采用中断方式,一旦接收到数据立即执行,如图4所示。接收到Arcnet数据,首先进行帧头尾、CRC等校验,校验正确后,根据Arcnet数据的数据包内部协议,对数据包进行分解,解析出各个串口所需要的数据,放入串口发送缓冲区内。发送Arcne数据采用周期轮循的方式,如图5所示。每个周期开始从第一个使能的串口开始查询,判断串口接收缓冲区是否有数据。如果有数据,根据Arcnet数据的数据包内部协议,读取数据并将数据存放入Arcnet发送数据缓冲区内,然后查询下一个使能的 串口。直到查询到最后一个使能串口,将收到的串口数据整体打包,发送给上位机。如果没有数据,则继续进行使能串口的查询;若没有使能串口,则判断Arcnet发送缓冲区内是否有数据,若有数据,则进行数据发送。发送周期根据协议,一次Arcnet传输可以发送16个串口,每个串口 24个数据。串口采用115200Bps,平均每86us接收到一个数据,串口接收24个数据的时间约是2ms左右。考虑Arcnet的发送周期,只要发送周期小于Ims就不会造成数据堆积。接收串口数据采用中断方式,一旦接收到串口数据,就存入串口接收缓冲区内。发送串口数据采用中断方式,判断串口协议芯片是否发送空中断信号,如果判断发送了空中断信号,并且串口发送缓冲区有数据,则进行数据发送。一种基于Arcnet串口服务器的通信系统如图6所示包括Arcnet总线、上位机、多个Arcnet串口服务器;对于需要使用更多串口的场合,利用Arcnet总线的特点,可以很好的实现此功能。该通信系统采用基于总线型的拓扑结构,Arcnet串口服务器并联在Arcnet总线上,Arcnet总线连接上位机。一条总线上最多可以挂载255个Arcnet节点,理论上可以扩展上千个串口。其中Arcnet总线通过Arcnet总线接口与上位机相连,作为串口与上位机之间的通信桥梁,负责接收上位机发送给串口的数据,将串口的数据转发给上位机。同时通过Arcnet总线接口,也可以对各个串口参数进行配置。最高通信速率为IOM Bps,采用双绞线通信方式。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
权利要求
1.一种Arcnet串口服务器,其特征在于,该串口服务器包括CPU、Arcnet协议芯片、串口协议芯片、console接口和电平转换电路;其中所述CPU分别与Arcnet协议芯片、串口协议芯片和console接口相连,用于进行Arcnet协议与串口协议之间的数据转换;所述Arcnet协议芯片,用于基于Arcnet协议接收和发送Arcnet数据;所述串口协议芯片,用于接收和发送串口数据;所述电平转换电路,与串口协议芯片相连,用于对串口数据进行电平信号转换;所述console接口,用于配置参数。
2.如权利要求I所述Arcnet串口服务器,其特征在于,该串口服务器还包括R0M,所述ROM与CPU相连,用于存储所配置的参数。
3.如权利I所述Arcnet串口服务器,其特征在于,该串口服务器还包括Arcnet接口,所述Arcnet接口一端与Arcnet协议芯片相连,另一端连接上位机或总线,用于传输数据。
4.如权利要求I所述Arcnet串口服务器,其特征在于,所述Arcnet数据的数据包包括如下字段巾贞头、串口数量、串口号、数据长度、数据和帧尾字段。
5.如权利要求I所述Arcnet串口服务器,其特征在于,所述console接口为单片机上集成的接口。
6.一种将Arcnet数据转换为串口数据的方法,其特征在于,该方法包括51、采用中断方式接收Arcnet数据,并对Arcnet数据进行巾贞头尾、CRC校验,校验正确后,根据Arcnet数据的数据包内部协议,对Arcnet数据的数据包进行分解,解析出各个串口所需要的数据,放入串口发送缓冲区内;52、采用中断方式,判断串口协议芯片是否发送空中断信号,如果判断发送了空中断信号,并且串口发送缓冲区有数据,则进行数据发送。
7.—种将串口数据转换为Arcnet数据的方法,其特征在于,该方法包括A、采用中断方式接收串口数据,并存入串口接收缓冲区内;B、采用周期轮循的方式,每个周期开始从第一个使能的串口查询,判断串口接收缓冲区是否有数据,如果有数据,则根据Arcnet数据的数据包内部协议,将数据存放入Arcnet发送数据缓冲区内,然后查询下一个使能的串口,直到查询到最后一个使能串口,将收到的串口数据整体打包,进行发送。
8.—种基于Arcnet串口服务器的通信系统,其特征在于,包括Arcnet总线、上位机、多个如权利要求I所述的Arcnet串口服务器,所述多个Arcnet串口服务器并联在Arcnet总线上,所述Arcnet总线连接所述上位机。
9.如权利要求8所述的通信系统,其特征在于,Arcnet总线采用双绞线。
全文摘要
本发明提供了一种Arcnet串口服务器,包括CPU、Arcnet协议芯片、串口协议芯片、console接口和电平转换电路,其中CPU分别与Arcnet协议芯片、串口协议芯片和console接口相连;电平转换电路与串口协议芯片相连;本发明还提供了Arcnet数据和串口数据之间的转换方法,同时还提供了一种基于Arcnet串口服务器的通信系统,本发明采用了简单的协议,降低了串口扩展的开发难度,提高了服务器的处理性能。
文档编号G06F13/40GK102937944SQ20121039297
公开日2013年2月20日 申请日期2012年10月16日 优先权日2012年10月16日
发明者栾庆文, 李超 申请人:北京交控科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1