基于FPGA的串行通信分配装置制造方法及图纸

技术编号:8438573 阅读:166 留言:0更新日期:2013-03-17 22:59
本实用新型专利技术的基于FPGA的串行通信分配装置,串行通信分配装置由FPGA芯片构成,特征在于:FPGA芯片的引脚被设置为可与上位机、控制设备相连接的多个通讯端口,FPGA芯片内设置有均与通讯端口数目相等的波特率发生器、接收数据缓冲区、状态寄存器、发送数据缓冲区、控制寄存器、接收控制器和发送控制器,波特率发生器实现不同速率下数据的收发;状态寄存器中包含接收中断标志位RI、发送中断标志位TI;FPGA芯片内还设置有将不同的通讯端口连通的多路模拟开关。本实用新型专利技术的通信分配装置,实现了上位机与多个控制设备之间的相互通讯,可进行不同速率下数据的收发。整个装置简单、实用、可靠、稳定,成本低廉,易于实现,适合多种场合、多个节点的串行通信使用。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及一种基于FPGA的串行通信分配装置,更具体的说,尤其涉及一种对多个节点同时进行控制的基于FPGA的串行通信分配装置。
技术介绍
随着通信技术的发展,串口通信在工业控制及实时通信方面的应用已经非常广泛;尤其是对于一个主控点对多个节点的控制来说,应用十分普及。目前采用的串行分配装置大部分都是有集成电路构成,一般由微控制器和外围的处理模块构成,这种构成形式,采用的元器件数量多,存在造价高、体积大、能耗高的缺点。FPGA芯片作为一种半定制电路,既解决了定制电路的不足,又克服了原有可编程·器件门电路数有限的缺点,有利于提高系统集成度、可靠性。
技术实现思路
本技术为了克服上述技术问题的缺点,提供了一种对多个节点同时进行控制的基于FPGA的串行通信分配装置。本技术的基于FPGA的串行通信分配装置,串行通信分配装置由FPGA芯片构成,其特别之处在于所述FPGA芯片的引脚被设置为可与上位机、控制设备相连接的多个通讯端口,FPGA芯片内设置有均与通讯端口数目相等的波特率发生器、接收数据缓冲区、状态寄存器、发送数据缓冲区、控制寄存器、接收控制器和发送控制器,波特率发生器实现不同速率下数据的收发;接收控制器用于取出接收数据缓冲区内的数据,发送控制器用于将发送数据缓冲区内的数据发出,状态寄存器中包含接收中断标志位RI、发送中断标志位TI ;FPGA芯片内还设置有将不同的通讯端口连通的多路模拟开关。采用现场可编程门阵列FPGA可实现串行通信分配装置的硬件设置,使FPGA芯片的引脚形成多个通讯端口,以便与上位机和多个控制设备连接通讯。为了实现数据的接收和转发功能,一组波特率发生器、接收数据缓冲区、状态寄存器、发送数据缓冲区、控制寄存器、接收控制器和发送控制器用于管理一个通讯端口的数据接收和发送。多路模拟开关实现不同通讯端口之间的连通。本技术的基于FPGA的串行通信分配装置,所述通讯端口采用RS232串行通讯。RS232为较为常用的串行通讯形式。本技术的基于FPGA的串行通信分配装置,所述通讯端口通过电平转换器连接有RS485或RS422通讯模块。如果需要采用RS485或RS422通讯,需要增加电平转换器,以便转化为RS485或RS422电平。本技术的有益效果是(I)本技术的基于FPGA的串行通信分配装置,通过采用FPGA芯片来制作形成串行通信分配装置,且每个通讯端口均配置有各自的数据收发缓冲区、收发控制器、状态和控制寄存器、波特率发生器以及接通不同通讯端口的多路模拟开关,有效地实现了上位机与多个控制设备之间的相互通讯,使得整个通讯分配装置具有电路结构简洁、布局合理、通讯端口数据收发稳定的优点。(2)由于每个通讯端口有自己独立的波特率发生器,可有效地实现不同速率下数据的收发。(3)本技术的基于FPGA的串行通信分配装置的通信方法,通过检测中断标志位TI和RI的状态、数据接收和发送缓冲区对数据的暂存、收发控制器对接收和发送的控制,有效地实现了上位机与控制设备之间的通讯。同时,本技术的串行通信分配装置和方法还具有简单、实用、可靠、稳定、通信速率高的优点;可以对多达几十个节点的数据同时发送。通信速率最高可达115200 bit/S。附图说明 图I、图2为本技术的串行通信分配装置的内部结构原理图;图3为上位机利用本技术的串行通信分配装置、电平转换器与控制设备相连接的原理不意图;图4为上位机利用本技术的串行通信分配装置直接与控制设备相连接的原理示意图。图5为COMa端口上的上位机与COMb端口上的控制设备相通信的程序流程图。图中1波特率发生器,2接收数据缓冲区,3状态寄存器,4发送数据缓冲区,5控制寄存器,6接收控制器,7发送控制器,8多路模拟开关,9电平转换器,10 RS485或RS422通讯模块,11上位机,12控制设备,13通讯端口。具体实施方式以下结合附图与实施例对本技术作进一步说明。如图I、图2所示,给出了本技术的串行通信分配装置的内部结构原理图,FPGA芯片的引脚被设置为多个与上位机11、控制设备12相连接的通讯端口 13,以便实现数据的收发。FPGA芯片的内部电路被设置为波特率发生器I、接收数据缓冲区2、状态寄存器3、发送数据缓冲区4、控制寄存器5、接收控制器6、发送控制器7以及多路模拟开关8,且每个通讯端口 13都有各自的波特率发生器I、接收和发送数据缓冲区、状态和控制寄存器、接收和发送控制器,以便实现数据的接收和转发功能。多路模拟开关8用于将不同的通讯端口 13接通,实现数据由一个端口转发到另一个端口。由于每一个通讯端口 13有各自的波特率发生器I,故不同的通讯端口 13可采用不同的速率进行数据的收发。接收控制器6用于将接收到的数据从接收数据缓冲区2中取出,发送数据缓冲区4内的数据在发送控制器7的作用下进行发送。状态寄存器3中设置有接收中断标志位RI、发送中断标志位TI,以便对数据接收和发送的状态进行检测。如通讯端口采用RS232进行通讯,则上位机11、控制设备12与通讯端口相连接即可;如果采用RS485或RS422通讯,则需要增加电平转换器9。如图3和图4所示,均给出了上位机利用本技术的串行通信分配装置与控制设备相连接的原理示意图;图3中增设有电平转换器9,以便实现RS485或RS232总线形式的通讯。图4中,本技术的串行通信分配装置的COMl COMn通讯端口 13分别与η个控制设备12相连接,上位机11也通过I个通讯端口 13与串行通信分配装置相连接。如图5所示,给出了 COMa端口上的上位机与COMb端口上的控制设备相通信的程序流程图;设要进行数据收发的上位机(11 )、控制设备(12)分别接COMa、COMb通讯端口,a<b^n ;数据收发方法包括以下步骤a.接收状态判断,判断COMa通讯端口的接收中断标志位RI是否被置“1”,如没有被置1,则继续检测;如被置1,则表示上位机的数据接收完成,执行步骤b ;b.接收数据和RI清零,将COMa通讯端口的数据接收缓冲区内的数据取出,将COMa通讯端口的接收中断标志位RI清零,释放接收缓冲区,以便接收新的数据;c.转移发送数据,将从COMa的数据接收缓冲区内取出的数据存入到COMb的数据发送缓冲区;d.发送至控制设备,判断与控制设备相连接的COMb通讯端口是否有发送请求,如果没有,则继续等待;如果有请求,则将COMb的数据发送缓冲区内的数据发送至与COMb端·口相连的控制设备上,执行步骤e ;e.判断TI是否置I,判断COMb端口的发送中断标志位TI是否被置“1”,如果没有被置1,继续等待;如果被置1,则将COMb通讯端口的发送中断标志位TI清零,以便发送新的数据,COMb通讯端口发送数据完成;f.接收状态判断,判断COMb通讯端口的接收中断标志位RI是否被置“1”,如没有被置1,则继续检测;如被置1,则表示上位机的数据接收完成,执行步骤g ;g.接收数据和RI清零,将COMb通讯端口的数据接收缓冲区内的数据取出,将COMb通讯端口的接收中断标志位RI清零,释放接收缓冲区,以便接收新的数据;h.转移发送数据,将从COMb的数据接收缓冲区内取出的数据存入到COMa的数据发送缓冲区;本文档来自技高网...

【技术保护点】
一种基于FPGA的串行通信分配装置,串行通信分配装置由FPGA芯片构成,其特征在于:所述FPGA芯片的引脚被设置为可与上位机(11)、控制设备(12)相连接的多个通讯端口(13),FPGA芯片内设置有均与通讯端口数目相等的波特率发生器(1)、接收数据缓冲区(2)、状态寄存器(3)、发送数据缓冲区(4)、控制寄存器(5)、接收控制器(6)和发送控制器(7),波特率发生器实现不同速率下数据的收发;接收控制器用于取出接收数据缓冲区内的数据,发送控制器用于将发送数据缓冲区内的数据发出,状态寄存器中包含接收中断标志位RI、发送中断标志位TI;FPGA芯片内还设置有将不同的通讯端口连通的多路模拟开关(8)。

【技术特征摘要】

【专利技术属性】
技术研发人员:丁鉴彬徐玉惠
申请(专利权)人:山东神戎电子股份有限公司
类型:实用新型
国别省市:

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

1