基于总线通信的多通道UART串行收发控制器制造技术

技术编号:16469969 阅读:35 留言:0更新日期:2017-10-28 20:39
本实用新型专利技术公开了一种基于总线通信的多通道UART串行收发控制器,包括处理器CPU、FPGA内部逻辑单元,所述处理器CPU与FPGA内部逻辑单元进行总线通信连接,用于处理FPGA内部逻辑单元的数据,所述FPGA内部逻辑单元又与外部的多路UART收发器进行串行通信连接,用于读取并处理外部的多路UART收发器的数据。本实用新型专利技术通过扩展一个FPGA芯片并改变其内部逻辑结构,从而使一个控制芯片与多路的UART连接进行串口通信,代替原有的多个16C554芯片与多路UART串口连接的技术方案,节省了生产成本,方便了后续硬件升级,解决了应用多芯片所产生的总线占用及冲突问题。

Multi channel UART serial transceiver controller based on bus communication

The utility model discloses a multi channel UART bus transceiver controller serial communication based on CPU processor, including FPGA, internal logic unit, the processor CPU and FPGA internal logic unit for bus communication connection, to handle the internal logic unit of FPGA data, the FPGA internal logic unit and serial communication connection with multiple UART the external transceiver used in multiplex UART transceiver, read and processed external data. The utility model by extending a FPGA chip and change its internal logic structure, so that a control chip and multi-channel UART connection serial communication technology to replace multiple 16C554 chip and multi-channel UART serial original connection, saves the production cost, convenient for subsequent hardware upgrade, solves the application of multi chip the bus occupation and conflict problem.

【技术实现步骤摘要】
基于总线通信的多通道UART串行收发控制器
本技术涉及电力电子
,具体涉及一种基于总线通信的多通道UART串行收发控制器。
技术介绍
用电侧的计量计费终端主要包含:集中器、电能表、采集器、厂站终端等设备。这些设备间的数据抄读及通信,都是通过RS-485接口。终端间互联的设备较多,同时又对通信的速率有一定要求,这对RS-485通道的数量提出了要求。如:厂站终端,它的RS-485通路多达20个通道。对于基于ARM平台开发的设备来说,处理器自带的UART串行通信接口通常是5-7个通道,远远达不到20路串行通信接口的要求。设备厂商在硬件设计上通常采用扩展方式,以达到多路UART串行收发器的目的。常见的扩展方式是采用通用异步收发器16C554进行多通道扩展。采用16C554的方式扩展多路UART收发器,当要求达到16个收发通道以上时,板件需要放置4片以上芯片(单片只具备4通道UART)。这样大大增加了设计复杂性,增加了PCB布线难度。由于扩展的多个芯片需增加匹配的供电、外围电路等元器件,降低了产品的可靠性、可维护性。同时由于需要使用的芯片较多,增加了产品的成本,不利于产品市场竞争力。
技术实现思路
有鉴于此,为了解决现有技术中的上述问题,本技术提出一种基于总线通信的多通道UART串行收发控制器。本技术通过以下技术手段解决上述问题:一种基于总线通信的多通道UART串行收发控制器,包括处理器CPU、FPGA内部逻辑单元;所述处理器CPU与FPGA内部逻辑单元进行总线通信连接,用于处理FPGA内部逻辑单元的数据;所述FPGA内部逻辑单元又与外部的多路UART收发器进行串行通信连接,用于读取并处理外部的多路UART收发器的数据。进一步地,所述FPGA内部逻辑单元包括总线数据读写单元、通道选择单元、逻辑控制单元、数据缓存单元、数据分发单元、至少一个模拟16C554异步串口单元;所述处理器CPU与FPGA内部逻辑单元进行总线通信连接,用于处理FPGA内部逻辑单元的数据;所述总线数据读写单元分别与处理器CPU、通道选择及逻辑控制单元、数据缓存及数据分发单元进行总线通信连接,用于满足处理器CPU的读写时序;所述通道选择及逻辑控制单元分别与每个模拟16C554异步串口单元进行通信连接,用于对每个模拟16C554异步串口单元中的通道进行选择,用于控制每个模拟16C554异步串口单元的数据流,使数据流在多通道同时进行数据收发时避免错位;所述数据缓存及数据分发单元分别与每个模拟16C554异步串口单元进行通信连接,用于将总线数据读写单元所接收的数据、模拟16C554异步串口单元所接收的数据进行缓存,用于按照通道选择及逻辑控制单元的控制流程将数据缓存区的数据分发至模拟16C554异步串口单元相应的功能块;所述模拟16C554异步串口单元用于模拟标准的16C554芯片的功能。进一步地,所述每个模拟16C554异步串口单元包括接收模块、发送模块、波特率发生器、状态控制模块及配置寄存器、中断逻辑控制模块、数据总线缓冲模块;所述处理器CPU分别与中断逻辑控制模块、数据总线缓冲模块进行通信连接;所述波特率发生器分别与接收模块、发送模块、数据总线缓冲模块进行总线通信连接,用于提高接收数据的准确性,减少误码率;所述数据总线缓冲模块分别与接收模块、发送模块、波特率发生器进行总线通信连接,用于分发各个UART通道待发送的数据,接收各个UART通道待上传的接收数据,分发各个UART通道与波特率发生器的分频系数;所述中断逻辑控制模块分别与接收模块、发送模块、波特率发生器进行通信连接,用于判断接收或发送数据是否触发阈值或溢出从而执行对应的中断模式,用于判断发送及接收数据时接收模块与发送模块的状态控制器是否正常工作从而执行相应的中断模式;所述状态控制模块及配置寄存器分别与接收模块、发送模块、波特率发生器进行通信连接,用于定义相关的寄存器控制表,使处理器CPU通过外部总线配置FPGA内部逻辑单元的功能来获取状态信息;进一步地,所述接收模块包括FIFO接收器、接收缓冲寄存器、接收移位寄存器、接收状态控制器;所述FIFO接收器分别与接收缓冲寄存器、接收移位寄存器进行通信连接,用于设置触发中断的数据深度;所述接收移位寄存器分别与外部的UART收发器的UART通道、接收状态控制器进行通信连接,用于从外部的UART收发器的UART通道输入RX数据。所述接收缓冲寄存器分别与数据总线缓冲模块、FIFO接收器、FIFO发送器、波特率发生器进行总线通信连接,用于使所述接收模式的接收数据匹配总线的发送速率后输出,并产生所述数据总线缓冲模块的读写控制标志位信号;所述接收状态控制器分别与波特率发生器、接收移位寄存器进行通信连接,用于控制接收移位寄存器的状态,匹配不同波特率下的数据接收过程,对接收到的RX信号起始位、数据位、奇偶校验位、停止位进行检测;所述状态控制模块及配置寄存器分别与FIFO接收器、接收缓冲寄存器、接收移位寄存器、接收状态控制器进行通信连接;所述中断逻辑控制模块分别与FIFO接收器、接收缓冲寄存器、接收移位寄存器、接收状态控制器进行通信连接;进一步地,所述发送模块包括FIFO发送器、发送保持寄存器、发送移位寄存器、发送状态控制器;所述发送保持寄存器分别与FIFO发送器、发送移位寄存器进行通信连接,用于从FIFO发送器取出1Byte数据,保持发送数据,并输出到所述发送移位寄存器,防止发送的数据顺序错位;所述FIFO发送器分别与数据总线缓冲模块、波特率发生器、接收缓冲寄存器进行总线通信连接,用于存储通过发送移位寄存器配置的触发中断的深度数据;所述发送状态控制器分别与波特率发生器、发送移位寄存器进行通信连接,用于控制发送移位寄存器的状态,匹配不同波特率下的数据发送过程,产生发送TX数据信号的起始位、奇偶校验位、停止位;所述发送移位寄存器分别与发送状态控制器、外部的UART收发器的UART通道进行通信连接,用于直接对UART通道输出TX数据;所述状态控制模块及配置寄存器分别与FIFO发送器、发送保持寄存器、发送移位寄存器、发送状态控制器进行通信连接;所述中断逻辑控制模块分别与FIFO发送器、发送保持寄存器、发送移位寄存器、发送状态控制器进行通信连接。与现有技术相比,本技术基于总线通信的多通道UART串行收发控制器,通过扩展一个FPGA芯片并改变其内部逻辑结构,从而使一个控制芯片与多路的UART连接进行串口通信,代替原有的多个16C554芯片与多路UART串口连接的技术方案,节省了生产成本,方便了后续硬件升级,解决了应用多芯片所产生的总线占用及冲突问题。附图说明为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本技术基于总线通信的多通道UART串行收发控制器的结构示意图;图2是本技术的模拟16C554异步串口单元的结构示意图。具体实施方式为使本技术的上述目的、特征和优点能够更加明显易懂,下面将结合附图和具体的实施例对本技术的技术方案进本文档来自技高网...
基于总线通信的多通道UART串行收发控制器

【技术保护点】
一种基于总线通信的多通道UART串行收发控制器,其特征在于,包括处理器CPU、FPGA内部逻辑单元;所述处理器CPU与FPGA内部逻辑单元进行总线通信连接;所述FPGA内部逻辑单元又与外部的多路UART收发器进行串行通信连接。

【技术特征摘要】
1.一种基于总线通信的多通道UART串行收发控制器,其特征在于,包括处理器CPU、FPGA内部逻辑单元;所述处理器CPU与FPGA内部逻辑单元进行总线通信连接;所述FPGA内部逻辑单元又与外部的多路UART收发器进行串行通信连接。2.根据权利要求1所述的基于总线通信的多通道UART串行收发控制器,其特征在于,所述FPGA内部逻辑单元包括总线数据读写单元、通道选择单元、逻辑控制单元、数据缓存单元、数据分发单元、至少一个模拟16C554异步串口单元;所述处理器CPU与FPGA内部逻辑单元进行总线通信连接,用于处理FPGA内部逻辑单元的数据;所述总线数据读写单元分别与处理器CPU、通道选择及逻辑控制单元、数据缓存及数据分发单元进行总线通信连接;所述通道选择单元分别与每个模拟16C554异步串口单元进行电连接;所述通道选择及逻辑控制单元分别与每个模拟16C554异步串口单元进行通信连接;所述数据缓存及数据分发单元分别与每个模拟16C554异步串口单元进行通信连接。3.根据权利要求2所述的基于总线通信的多通道UART串行收发控制器,其特征在于,所述每个模拟16C554异步串口单元包括接收模块、发送模块、波特率发生器、状态控制模块及配置寄存器、中断逻辑控制模块、数据总线缓冲模块;所述处理器CPU分别与中断逻辑控制模块、数据总线缓冲模块进行通信连接;所述波特率发生器分别与接收模块、发送模块、数据总线缓冲模块进行总线通信连接;所述数据总线缓冲模块分别与接收模块、发送模块、波特率发生器进行总线通信连接;所述中断逻辑控制模块分别与接收模块、发送模块、波特率发生器进行通信连接;所述状态控制模块及配置寄存器分别与接收模...

【专利技术属性】
技术研发人员:张花
申请(专利权)人:广州炫通电气科技有限公司
类型:新型
国别省市:广东,44

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

1