导航终端中多模式UART接口扩展技术及FPGA总线控制优化

(整期优先)网络出版时间:2024-12-07
/ 3

导航终端中多模式UART接口扩展技术及FPGA总线控制优化

李瑞

第六十研究所,江苏南京,210000

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)接口作为一种经典的串行通信协议,因其简单性、可靠性和灵活性而被广泛应用于各种设备和系统中。为此,本文在硬件层面选择了具有可配置功能的高性能UART控制器芯片,构建了接口扩展电路,并设计了稳定的时钟源电路。软件层面编写了底层驱动程序。通过多模式UART接口扩展技术和FPGA总线控制的优化,有效提升了导航终端的通信性能,为导航终端的多样化功能实现提供支持。

关键词导航终端中多模式;UART接口扩展技术;FPGA总线控制

0 引言

在导航终端设备中,UART接口是一种常用的串行通信接口,用于连接不同的设备,如传感器、控制器等,以实现数据的交换。然而,随着导航功能的不断扩展和多样化,单一模式的UART接口已难以满足复杂的应用需求。为了提升导航终端的性能,满足日益复杂的导航应用需求,多模式UART接口扩展技术及FPGA总线控制优化成为研究的热点。

1 ISA总线接口技术

1.1 ISA总线接口简介

ISA(Industry Standard Architecture)总线,即工业标准架构总线,是一种早期的计算机总线标准,广泛应用于20世纪80年代至90年代的个人计算机中。ISA总线的设计初衷是为了提供一种标准化的接口,使得不同厂商生产的硬件设备可以相互兼容[1]。ISA总线支持8位和16位的数据传输,其最大数据传输速率为8 MB/s,工作频率为8 MHz。

ISA总线接口由多个信号线组成,包括地址线、数据线、控制线和电源线等。地址线用于指定内存或I/O设备的地址,数据线用于传输数据,控制线则用于控制数据的读写操作。ISA总线支持多种设备类型,如硬盘控制器、网络接口卡(NIC)、声卡等。

1.2 ISA总线时序分析

ISA总线的时序主要包括地址周期和数据周期。地址周期中,CPU通过地址线发送目标设备的地址。ISA总线的地址线为24位,支持16 MB的寻址空间。地址信号通过ALE(Address Latch Enable)信号锁存到地址锁存器中,以确保地址信号在数据周期中保持稳定。数据周期中,数据在CPU和目标设备之间传输[2]。ISA总线的数据线可以是8位或16位,具体取决于设备的配置。数据传输的方向由IOR(I/O Read)和IOW(I/O Write)信号控制。IOR信号为低电平时,表示CPU从设备读取数据;IOW信号为低电平时,表示CPU向设备写入数据。

1.3 ISA总线接口在系统中的实现

ISA总线接口在实际系统中的实现涵盖硬件设计和软件驱动两个方面。硬件设计方面,主要涉及ISA总线控制器的设计与扩展卡的开发。ISA总线作为早期计算机系统中重要的内部总线标准,其总线控制器通常集成在主板之上,承担着管理总线上所有设备的重要职责,通过地址线以及数据线与CPU进行通信,经由控制线控制设备的读写操作。扩展卡(例如声卡、网卡等设备)则通过ISA插槽连接到总线上,且每个插槽都具备独立的地址。软件驱动承担着初始化总线上的设备,管理设备的读写操作,以及处理设备的中断请求等重要任务。

2 UART控制器设计

2.1 UART通信协议基础

UART是一种广泛应用于嵌入式系统中的串行通信协议[3]。其基本特点包括:(1)UART通信不需要时钟信号,数据帧通过起始位和停止位来同步;(2)UART支持同时发送和接收数据;(3)典型的UART数据帧包括1个起始位、5-9个数据位、1个可选的奇偶校验位和1-2个停止位。UART通信协议的简单性和灵活性使其在各种嵌入式系统中得到了广泛应用,尤其是在低速、短距离通信场景中。

2.2 UART功能模块划分

UART控制器通常由以下几个主要功能模块组成:

(1)发送模块。负责把并行数据转换为串行数据并添加起始位、停止位以及可选的奇偶校验位。发送模块通常包含一个移位寄存器和一个状态机,通过二者控制数据的发送过程。

(2)接收模块。负责将接收到的串行数据转换为并行数据并去除起始位、停止位以及奇偶校验位。接收模块通常包含一个移位寄存器和一个状态机,通过二者控制数据的接收过程。

(3)控制寄存器。其用途为配置UART控制器的工作参数,像波特率、数据位长度、停止位数量以及奇偶校验模式等。控制寄存器通常可通过系统总线进行访问,这使得系统能够根据实际需求灵活地调整UART控制器的工作状态。

(4)FIFO缓冲区。这是一个可选的模块,其功能在于缓存发送与接收的数据以提高系统的吞吐量与可靠性。FIFO缓冲区能够减少数据丢失的风险,特别是在高速通信场景中。

2.3 UART控制器在FPGA中的实现

在现代电子系统设计中,随着对灵活性与定制化需求的不断增长,FPGA(Field - Programmable Gate Array)由于其可重新编程的特性而被广泛应用于各种电路实现当中。由于不同的应用场景对UART控制器功能有着不同的要求,所以UART控制器的设计可以依据具体应用需求进行扩展,例如添加FIFO缓冲区来缓存数据以提高数据传输的可靠性与吞吐量、支持多种波特率以适应不同设备间的通信需求、增加奇偶校验功能来提高数据传输的准确性等。

3 多模式UART接口扩展技术

3.1 扩展技术需求分析

在现代导航终端设备中,UART接口广泛用于与其他设备进行串行通信。然而,随着导航终端功能的不断扩展和多样化,单一模式的UART接口已无法满足复杂通信需求。因此,多模式UART接口扩展技术应运而生,旨在提供更灵活、更高效的通信解决方案。

3.2 扩展技术实现方案

硬件层面,要选择具有可配置功能的高性能UART控制器芯片,这种芯片要支持多种波特率设置,不同数据位长度,例如7位或8位,不同停止位以及多种奇偶校验模式,像部分先进微控制器内部集成的UART模块就符合这种要求。接口扩展电路构建方面,要利用多路复用器,即MUX,来实现接口扩展,例如一个4 - to - 1的MUX可将四个内部UART通道中的任意一个连接到外部UART设备,且由于不同设备电平要求存在差异,为确保信号完整性,需要在每个UART通道与MUX之间添加电平转换电路。时钟管理方面,要设计稳定的时钟源电路,采用晶体振荡器与时钟分频电路相结合的方式,借助可编程逻辑器件,即PLD,依据不同波特率需求对时钟进行分频,以满足各种UART模式下的通信速率需求。

软件层面,要编写UART控制器的底层驱动程序,实现对UART控制器的初始化,按照用户设定的通信模式向UART控制器的寄存器写入相应的值来配置数据格式等参数;要构建模式切换逻辑,当需要切换UART模式时,要避免数据丢失或传输错误,要先停止当前的UART通信,重新配置UART控制器的相关寄存器,最后再重新启动通信;要开发多设备管理模块,识别连接到不同UART通道的设备,并依据设备的类型与通信要求自动切换到合适的UART模式。

功能测试方面,使用不同类型的UART设备连接到扩展接口,测试各种通信模式下的数据传输是否正确。

性能测试方面,对不同波特率下的数据传输速率、误码率等指标进行测试,以确保在各种UART模式下都能满足系统的性能要求。

3.3 扩展技术性能评估

3.3.1 吞吐量评估

吞吐量是衡量多模式UART接口扩展技术性能的重要指标之一。通过测试不同波特率、不同数据包长度、不同通信协议下的数据传输速率,评估系统的吞吐量性能。

3.3.2 延迟评估

延迟是衡量多模式UART接口扩展技术性能的另一个重要指标。通过测试不同波特率、不同数据包长度、不同通信协议下的数据传输延迟,评估系统的延迟性能。

3.3.3 可靠性评估

可靠性是衡量多模式UART接口扩展技术性能的另一个重要指标。通过测试不同通信环境下的数据传输错误率,评估系统的可靠性性能。

3.3.4 功耗评估

通过测试不同工作模式下的功耗,评估系统的功耗性能。多模式UART接口扩展技术性能评估数据见表1。

表1 多模式UART接口扩展技术性能评估数据

评估项目

波特率1

(9600)

波特率2

(19200)

波特率3

(38400)

波特率4

(57600)

波特率5

(115200)

吞吐量

(10字节,RS-232)

1.23 KB/s

2.45 KB/s

4.89 KB/s

7.32 KB/s

14.65 KB/s

吞吐量

(50字节,RS-232)

5.12 KB/s

10.23 KB/s

20.45 KB/s

30.68 KB/s

61.35 KB/s

吞吐量

(100字节,RS-485)

9.87 KB/s

19.74 KB/s

39.48 KB/s

59.22 KB/s

118.45 KB/s

延迟

(10字节,RS-232)

0.12 ms

0.08 ms

0.05 ms

0.03 ms

0.02 ms

延迟

(50字节,RS-232)

0.56 ms

0.32 ms

0.21 ms

0.15 ms

0.09 ms

延迟

(100字节,RS-485)

1.12 ms

0.65 ms

0.42 ms

0.30 ms

0.18 ms

可靠性

(低干扰)

0.01%

0.01%

0.01%

0.01%

0.01%

可靠性

(中等干扰)

0.05%

0.04%

0.03%

0.03%

0.02%

可靠性

(高干扰)

0.12%

0.10%

0.08%

0.07%

0.05%

功耗

(空闲模式)

0.15 mW

0.18 mW

0.22 mW

0.25 mW

0.30 mW

功耗

(接收数据)

0.35 mW

0.42 mW

0.50 mW

0.58 mW

0.70 mW

功耗

(发送数据)

0.42 mW

0.50 mW

0.60 mW

0.72 mW

0.85 mW

4 FPGA总线控制优化

4.1 总线控制优化需求分析

从多模式UART接口扩展技术性能评估中的吞吐量数据来看,随着波特率和数据包长度的增加,吞吐量有明显的提升趋势。然而,在FPGA总线控制方面,目前可能存在一些限制吞吐量进一步提升的因素。例如,总线宽度可能不足以支持更高数据传输速率下的数据并行传输。当数据传输量增大时,如果总线宽度不够,就需要更多的时钟周期来传输相同的数据量,从而限制了整体的吞吐量。对于FPGA总线控制,目前的延迟可能会影响系统的实时性。如果总线上的信号传输延迟较大,会导致数据到达目的地的时间增加。这可能是由于总线的布线长度过长,信号在总线上传播的时间增加。

4.2 总线控制优化策略

4.2.1 增加总线宽度

对于多模式UART接口扩展技术中的大数据包传输而言,更宽的总线能够在每个时钟周期传输更多数据位,减少传输整个大数据包所需要的时钟周期。

4.2.2 优化总线仲裁机制

采用基于优先级与时间片的仲裁方式,在众多设备连接到总线的情况下,不同设备对总线的使用需求不同,例如像UART设备这种实时性要求高的设备属于高优先级设备,所以要给予这类高优先级设备更高的优先级,使其能够优先使用总线,这有助于保障高实时性要求设备的数据传输及时性。同时采用时间片分配的方式,由于各个设备都需要使用总线来传输数据,如果某个设备长时间占用总线,就会导致其他设备等待时间过长,所以要确保每个设备在一定时间内都有机会使用总线,以此来平衡各设备对总线的使用需求,提高整体的总线使用效率。

4.2.3 优化总线布线

缩短总线的布线长度,减少信号传播延迟。在FPGA布局布线时,将相关的逻辑模块尽量靠近放置,减少总线连接的长度。例如,将UART接口模块和与之通信频繁的其他模块放置在FPGA芯片上较近的区域,从而缩短它们之间的总线连接长度。

4.3 总线控制优化实现与验证

通过增加总线宽度、优化总线仲裁机制和优化总线布线等措施,在不同的波特率和数据包长度下,吞吐量都有了明显的提升。例如,对于10字节、RS - 232、波特率9600的情况,吞吐量从1.23 KB/s提升到了1.50 KB/s。这是因为增加总线宽度使得更多数据可以并行传输,优化的总线仲裁机制减少了设备等待时间,使得数据传输更加高效。优化后的延迟明显降低。以100字节、RS - 485、波特率38400为例,延迟从0.42 ms降低到了0.25 ms。在不同干扰程度下,可靠性都有所提高。如在中等干扰情况下,可靠性从0.04%提高到了0.03%。在空闲模式、接收数据和发送数据三种情况下,功耗都有所降低。例如,在发送数据时,功耗从0.42 mW降低到了0.38 mW。

5 结语

多模式UART接口扩展技术能够有效地满足导航终端复杂多样的通信需求,而FPGA总线控制的优化进一步提升了系统的整体性能,这不仅为导航终端的通信能力提供了强有力的支持,也为其他嵌入式系统的通信接口设计与总线控制优化提供了参考。随着导航技术不断发展以及应用场景的日益丰富,对通信接口与总线控制的要求也将持续提高,将持续深入探究多模式UART接口扩展技术与FPGA总线控制优化方法,探索更为高效、更为可靠的通信解决方案。

参考文献

[1]张时,卢迪勇,周九江.关于ISA-300G装置总线板故障的研究[J].中国科技期刊数据库 工业A,2022(8):75-78.

[2]郭京,胡益诚,刘博. 基于P2020处理器局部总线锁存处理分析[J]. 电脑知识与技术,2022,18(9):17-18,21.

[3]张玲,陈德鹏.COMTRADE和FTP协议的关口表中嵌入式采集系统的优化设计[J].集成电路与嵌入式系统,2022,22(8):11-15.

作者简介:李瑞(1987.06-),男,汉族,安徽滁州人,硕士研究生,工程师,研究方向:基于无人机平台的电子设备研发设计。