一种基于单片机的多串口多路分时复用串行通信装置的制作方法

文档序号:403364阅读:2573来源:国知局
专利名称:一种基于单片机的多串口多路分时复用串行通信装置的制作方法
技术领域
本实用新型涉及电气工程设备领域,尤其涉及一种基于单片机的多串口多路分时复用串行通信装置。
背景技术
目前,大多数可编程逻辑控制器只有一个最多两个串行通信接口,而在很多系统设计时,多设备是利用串口传输数据的,这样这些可编程逻辑控制器的串口数量就无法满足系统需要,如果增加可编程逻辑控制器的数量,这样不仅增加了系统设计的成本,而且可编程逻辑控制器的内部资源得不到充分的利用,造成资源浪费。与同类技术比较,如中国发明专利一种基于可编程逻辑控制器的串行通信接口分时复用装置,申请号201010210262. 2,该专利是一种用一台可编程逻辑控制器(PLC)的一个RS-232C接口同时连接两个或多个通过RS-232C接口进行通讯的设备的一种基于可编程逻辑控制器的串行通信接口分时复用装置。装置中的可编程逻辑控制器上的RS-232C接口先与第一 RS485/RS232C转换器的RS-232C接口连接,第一 RS485/RS232C转换器的RS485 接口并联两个RS485/RS232C转换器,两个RS485/RS232C转换器通过继电器的常开触点和常闭触点分别与不同的与可编程逻辑控制器通讯的外接设备相接。该专利实现了可编程逻辑控制器的一个接口同时连接两个或多个通过RS-232C接口进行通讯的设备,使得可编程逻辑控制器的内部资源得到比较充分的利用,然而其可串行通信的设备数量还是比较有限,串行通信设备控制的灵活性欠佳,串行通信的效率尤其是单片机资源的利用率还是较低。

实用新型内容本实用新型的目的就是为了克服现有基于可编程逻辑控制器的串行通信接口分时复用装置可串行通信的设备数量比较有限,串行通信设备控制的灵活性欠佳等不足而提供一种可增加扩展串行通信设备的数量,提高了串行通信设备控制的灵活性,节省了通讯口扩展模块的硬件成本,提高了串行通信的效率及单片机资源的利用率的基于单片机的多串口多路分时复用串行通信装置。本实用新型的目的可以通过以下技术方案来实现一种基于单片机的多串口多路分时复用串行通信装置,包括串口电平转换电路单元和多串口多路分时复用电路单元。所述单片机为STC12C5A60S2。所述多串口多路分时复用电路单元包括可编程逻辑阵列器件和芯片,所述可编程逻辑阵列器件选取所述单片机上的一个或二个串行通信口,通过片选不同芯片来把串口交给不同的设备,同时确定芯片的输入输出状态。所述可编程逻辑阵列器件为GAL20V8。所述串口电平转换电路单元包含RS232电平转换的MAXIM公司生产的MAX232芯片和TI公司生产的RS485芯片75LBC184。
3[0010]与现有技术相比,本实用新型的有益效果在于利用单片机的多路串行通行端口, 与可编程逻辑阵列器件(GAL)连接,通过编程可编程逻辑阵列来实现多串口的分时复用, 同时有二路串口使用;增加了可扩展串行通信设备的数量,提高了串行通信设备控制的灵活性,节省了通讯口扩展模块的硬件成本,提高了串行通信的效率及单片机资源的利用率。

图1为本实用新型结构示意图;图2为本实用新型中单片机的电路原理图。
具体实施方式
以下结合附图和具体实施例对本实用新型进行详细说明。实施例如图1所示,本实施例提供一种基于单片机的多串口多路分时复用串行通信装置,包括串口电平转换电路单元和多串口多路分时复用电路单元。所述多串口多路分时复用电路单元包括可编程逻辑阵列器件(GAL20V8)。实施例中所述单片机为STC12C5A60S2,其内含二个串口,通过可编程逻辑阵列器件分时复用多大六路RS232或RS485串行接口。所述单片机的电路原理图如图2所示中的 U10。实施例中所述多串口多路分时复用电路单元包括可编程逻辑阵列器件 (GAL20V8),选取单片机上的二个串行中一个串行通信接口,通过选择单片机输出的四位逻辑地址,通过编程可编程逻辑阵列来实现串口的时分复用。而通过级联更多的GAL,可以扩展更多的串行通信设备;当级联更多的可编程逻辑阵列(GAL20V8)时,只要增加逻辑地址, 就可实现同更多通行设备之间的通信。所述多串口多路分时复用电路单元的电路原理图如图2所示中的U11。实施例中所述串口电平转换电路单元包含MAXIM公司生产的MAX232芯片和TI 公司生产的75LBC184,当单片机和可编程逻辑阵列(GAL20V8)连接,通过编程单片机和可编程逻辑阵列的四位逻辑地址,选择单片机不同的串行通信端口,通过MAX232芯片与外部 RS232串口设备通信,同时通过75LBC184芯片与外部RS485设备通信。同时RS485的发送与接收的选择由单片机的I/O控制。所述串口电平转换电路单元的电路原理图如图2所示中的 U1、U2、U3、U4、U5、U6、U7、U8、U9。在设计通信电路时,要考虑两者之间的距离,如果通信距离较短,可以利用 RS-232C接口延长通信距离。否则要使用RS-485接口标准,实现长距离通信和主从式多机通信。本实施例中采用的是RS-485。具体来说,本实施例中以单片机STC12C5A60S2为核心,该单片机只有2个串口,可以实行同时二路串口的调度同时使用。通过逻辑地址的片选来选择二路串口与外部设备通信。所述片选是通过SI0_SEC1、SI0_SEC2、SI0_SEC3、SI0_SEC4四位组成的逻辑地址,通过编程可编程逻辑阵列(GAL)来实现串口的时分复用。通过GAL的逻辑控制来选择串口号, 具体控制逻辑如下串口接收端逻辑公式
4[0022]RXDl = /SI0_SEC4*/SI0_SEC3*/SI0_SEC2*/SI0_SEC1*RX1+/SI0_SEC4*/SI0_SEC3*/SI0_SEC2*SI0_SEC1*RX2+/SI0_SEC4*/SI0_SEC3*SI0_SEC2*/SI0_SEC1*RX3+/SI0_SEC4*/SI0_SEC3*SI0_SEC2*SI0_SEC1*RX4+/SI0_SEC4*SI0_SEC3*/SI0_SEC2*/SI0_SEC1*RX5+/SI0_SEC4*SI0_SEC3*/SI0_SEC2*SI0_SEC1*RX6RXD2 = SI0_SEC4*/SI0_SEC3*/SI0_SEC2*/SI0_SEC1*RX1+SI0_SEC4*/SI0_SEC3*/SI0_SEC2*SI0_SEC1*RX2+SI0_SEC4*/SI0_SEC3*SI0_SEC2*/SI0_SEC1*RX3 +SI0_SEC4*/SI0_SEC3*SI0_SEC2*SI0_SEC1*RX4+SI0_SEC4*SI0_SEC3*/SI0_SEC2*/SI0_SEC1*RX5+SI0_SEC4*SI0_SEC3*/SI0_SEC2*SI0_SEC1*RX6串口发送端逻辑公式TXl = /SI0_SEC4*/SI0_SEC3*/SI0_SEC2*/SI0_SEC1*TXD1+SI0_SEC4*/SI0_SEC3*/SI0_SEC2*/SI0_SEC1*TXD2TX2 = /SI0_SEC4*/SI0_SEC3*/SI0_SEC2*SI0_SEC1*TXD1+SI0_SEC4*/SI0_SEC3*/SI0_SEC2*SI0_SEC1*TXD2TX3 = /SI0_SEC4*/SI0_SEC3*SI0_SEC2*/SI0_SEC1*TXD1+SI0_SEC4*/SI0_SEC3*SI0_SEC2*/SI0_SEC1*TXD2TX4 = /SI0_SEC4*/SI0_SEC3*SI0_SEC2*SI0_SEC1*TXD1+SI0_SEC4*/SI0_SEC3*SI0_SEC2*SI0_SEC1*TXD2TX5 = /SI0_SEC4*SI0_SEC3*/SI0_SEC2*/SI0_SEC1*TXD1+SI0_SEC4*SI0_SEC3*/SI0_SEC2*/SI0_SEC1*TXD2TX6 = /SI0_SEC4*SI0_SEC3*/SI0_SEC2*SI0_SEC1*TXD1+SI0_SEC4*SI0_SEC3*/SI0_SEC2*SI0_SEC1*TXD2通过编程可编程逻辑阵列(GAL20V8)来实现串口的时分复用。GAL20V8是通用阵列逻辑器件,现场可编程器件。其最多可以有20个输入引脚、最多可以有8个输出引脚。其既可以实现组合逻辑的逻辑功能,也可以实现时序逻辑的逻辑功能。通用可编程器件GAL20V8有8个输出引脚,分别标为100 107,有Il 110、112 和113共12个专用输入引脚,另有I0/CLK和I11/0E两个引脚,当被编程的电路需要时钟信号和使用输出允许控制时,时钟脉冲和输出允许控制信号就只能分别从I0/CLK和111/ OE这两个引脚输入;当不需要这两个信号(或一个)时,它们(或一个)可用作数据输入引脚。100 107在某些场合,也可用于输入功能,或分时用于输入/输出功能,可由用户决定。所以说它最多有20个输入、8个输出(至少有2个引脚用于输出)。GAL20V8内部,包括输入缓冲门、输出反馈缓冲门、与门阵列、输出逻辑宏单元 OLMC(内含或阵列)和输出三态门等。要对通用可编程器件GAL20V8进行编程,需要使用专用的软件工具和能对GAL器件编程的编程器,才可以向GAL20V8器件内写入所需要的逻辑功能。
5[0052]设计和操作过程大体如下1、编辑扩展名为“.PLD”的源文件,该文件用于描述在GAL20V8内部实现的逻辑功能。此为文本文件,但格式应符合相应编译软件的要求,也可以用ABEL语言编辑扩展名为 “.ABL”的源文件,只是要有相应的编译软件完成编译才能使用。2、用相应的软件对已设计的源文件进行编译,以生成GAL20V8的熔丝图文件,扩展名为“.JED”。3、用编程设备向GAL20V8器件内写入熔丝图文件所规定的内容,即对GAL20V8进
行编程。
权利要求1.一种基于单片机的多串口多路分时复用串行通信装置,其特征在于所述基于单片机的多串口多路分时复用串行通信装置包括串口电平转换电路单元和多串口多路分时复用电路单元。
2.根据权利要求1所述的基于单片机的多串口多路分时复用串行通信装置,其特征在于所述单片机为STC12C5A60S2。
3.根据权利要求1或2所述的基于单片机的多串口多路分时复用串行通信装置,其特征在于所述多串口多路分时复用电路单元包括可编程逻辑阵列器件和芯片,所述可编程逻辑阵列器件选取所述单片机上的一个串行通信口,通过片选不同芯片来把串口交给不同的设备,同时确定芯片的输入输出状态。
4.根据权利要求3所述的基于单片机的多串口多路分时复用串行通信装置,其特征在于所述可编程逻辑阵列器件为GAL20V8。
5.根据权利要求1或2所述的基于单片机的多串口多路分时复用串行通信装置,其特征在于所述串口电平转换电路单元包含MAXIM公司生产的MAX232芯片和TI公司生产的 75LBC184。
专利摘要本实用新型涉及一种基于单片机的多串口多路分时复用串行通信装置,包括串口电平转换电路单元和多串口多路分时复用电路单元。所述多串口多路分时复用电路单元包括可编程逻辑阵列器件和芯片,所述可编程逻辑阵列器件选取所述单片机上的一个串行通信口,通过片选不同芯片来把串口交给不同的设备,同时确定芯片的输入输出状态。与现有技术相比,本实用新型可增加扩展串行通信设备的数量,提高了串行通信设备控制的灵活性,节省了通讯口扩展模块的硬件成本,提高了串行通信的效率及单片机资源的利用率。
文档编号G06F13/40GK202150110SQ20112018490
公开日2012年2月22日 申请日期2011年6月2日 优先权日2011年6月2日
发明者何思雨, 何群, 吕虹, 孟樱, 张红, 王冠凌, 陈孟元, 顾劭傑 申请人:安徽工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1