APP下载

可扩展地面无人平台综合处理模块硬件设计

2021-09-28刘舒阳韩相博谢时根

测控技术 2021年9期
关键词:无人处理器控制器

刘舒阳,韩相博,谢时根

(1.北京华科海讯科技有限公司,北京 100012;2.中国北方车辆研究所,北京 100072)

地面无人平台通常称为无人地面车辆,可以自主感知周围环境,并根据感知的信息,在工作人员不进入现场的情况下,半自主或自主地做出判断和规划,完成勘探、隐秘侦察、运输物资等任务,这使得地面无人平台在军事、灾害救援、物流等领域得到广泛应用。地面无人平台系统复杂,其体系架构及信息处理一直是科研人员研究的重点。作为地面无人平台信息汇集及行为决策的综合处理模块,其硬件设计与地面无人平台的架构设计及自主决策能力紧密相关。

地面无人平台架构研究开始于20世纪60年代,起初的单体架构[1]主要分为分层递阶式、反应式和混合式。随着地面无人平台的广泛应用,多个地面无人平台协作成为趋势,地面无人平台体系架构向着模块化、标准化、分布式、可互操作的方向发展,使得地面无人平台的设计更加清晰,但不同地面无人平台间模块的复用性、可扩展性还有待提高。

地面无人平台综合处理模块作为地面无人平台的信息处理中心,汇集来自多个信息源的信息,只有对这些信息进行恰当的融合处理,地面无人平台才能准确地感知周围环境、识别目标,做出正确决策。多源信息融合处理技术开始于20世纪70年代,广泛应用于环境识别、工业监测、交通运输、战略防御、物联网等领域。Brzykcy[2]于2008年提出了基于XML数据的语义融合模型;王加等[3]研究了基于D-S证据推理的多传感器信息融合技术,并将其应用在战场目标识别中,这种推理认为所收到的信息都是证据,从而建立模型进行识别;银奕淇等[4]建立了基于脑认知的物联网信息融合模型,对智能化物联网具有一定参考价值。

根据地面无人平台模块化、标准化、分布式体系架构的思想,设计可扩展地面无人平台综合处理模块,实现对整车自身状态监测、环境识别,从而向整车发出控制指令。可扩展地面无人平台综合处理模块硬件设计主要考虑了4方面因素:可扩展、体积小、重量轻和功耗低。可扩展地面无人平台综合处理模块由两个子板组成,分别是计算机主机板和信号采集板。其中计算机主机板具有自主工作能力,可实现信息处理及指令发布,并设计了大量可扩展接口,这些可扩展接口根据实际应用设计为串口、CAN总线接口等。信号采集板是一块实现接口扩展的子板,其本身不具有独立工作能力,需配合计算机主机板使用。这种采用子板互连的方式,使计算机主机板可以复用于多种地面无人平台,用户只需根据实际应用更换扩展板。同时在硬件设计上减少芯片数量,选用了资源较丰富的FPGA芯片。串口和CAN总线接口的扩展基于FPGA实现,扩展更方便灵活。

可扩展地面无人平台综合处理模块接收多源传感器信息,通过对这些信息进行处理,完成从感知到决策的类人脑活动。多源信息融合处理适用于此过程,可以基于FPGA完成对多源信息的融合处理,由于FPGA逻辑编程具有时序性和并行性,可提高地面无人平台决策效率。为此,通过查阅资料,提出了一种可基于FPGA实现的多源信息融合处理理论模型。

通过对可扩展地面无人平台综合处理模块的硬件设计及其多源信息融合处理理论模型的研究,希望其可以在多种地面无人平台中复用,为地面无人平台的整体设计和高效决策提供有力帮助。

1 综合处理计算机模块设计

可移动地面无人平台正向着小型轻体、可全方位自主感知信息的方向发展[5]。综合处理计算机模块作为其信号采集与处理的功能模块,要具有多种多路信号采集及通信接口,可调度整车所有CAN总线控制信息,包括行车控制、配电控制、制动控制和能源管理等,并通过以太网交换机接收各传感器信息,如激光雷达信息、惯导信息和全球定位信息等。为此,将综合处理计算机模块分为计算机主机板和信号采集板,采用扣板、载板的连接方式,减少平面空间占用面积。计算机主机板主要完成信息融合处理、解算及控制,从而实现车辆半自主与自主行驶。信号采集板主要完成各接口物理隔离扩展及信号采集。本文首先介绍了综合处理计算机模块的硬件电路设计,在理论上提出了一种基于FPGA的多源信息融合处理模型,接着详述了基于FPGA实现CAN总线扩展及PowerPC处理器对扩展CAN控制器的控制。

1.1 计算机主机板的设计

计算机主机板板载1个PowerPC处理器和1个Xilinx Kintex-7系列FPGA芯片,其通过堆叠连接器与信号采集板连接。PowerPC处理器可外挂8 GB内存,可以满足综合处理数据存储需求。在计算机主机板上有100路可扩展信号连接到信号采集板,基于Kintex-7系列FPGA实现串口控制器和CAN控制器扩展,PowerPC主处理器通过这些扩展控制器实现与本板和信号采集板上隔离串口收发器及隔离CAN收发器通信。PowerPC处理器带有3路以太网,其中1路以太网通过堆叠连接器与信号采集板上的以太网交换机相连,可以实现信号采集板的多路以太网与计算机主机板通信。计算机主机板通过采集AD信号实时监测整车供电状态,通过板载温度传感器实时监测模块温度。

计算机主机板的总体设计框图如图1所示。

图1 计算机主机板总体设计框图

1.2 信号采集板的设计

信号采集板主要实现通信接口扩展及信号采集。信号采集板具有以太网接口、串口及CAN总线接口等通信接口,同时还具有AD信号采集、继电器驱动等接口。信号采集板的总体设计框图如图2所示。

图2 信号采集板总体设计框图

1.3 多源信息融合处理理论模型研究

多源信息融合处理是对多源信息进行多层次、多级别的综合处理,从而得到准确有用信息的一种技术。可扩展地面无人平台综合处理模块需接受多源传感器信息,并根据这些信息感知自身状态和周围环境,从而半自主或自主做出决策。多源信息融合处理涉及到多方面的理论[3],如不确定性理论、模式识别、信号处理、人工智能、神经网络、最优化理论等。

可扩展地面无人平台综合处理模块根据多源信息进行决策的过程可以参考人类感知并做出决策的过程[6]。首先地面无人平台通过各种传感器获得自身和周围环境信息并传输给综合处理模块,然后综合处理模块经过信息融合和机器学习,明确当前所处的环境和面对的对象,最后根据一定的规则作出决策。

可扩展地面无人平台综合处理模块对多源信息的融合处理是地面无人平台对环境认知和决策判断的重要依据。FPGA逻辑编程可按照时序对数据进行并行处理,相比于PowerPC处理器,其处理效率更高且更稳定。因此可以应用FPGA对数据进行预处理。但FPGA逻辑编程不易进行浮点运算。由于收到的数据大多是浮点型的,需要首先对数据进行归一化处理。

参考人脑信息融合的过程,简单设计了一种基于FPGA预处理的类人脑多源信息融合处理理论模型,如图3所示。

图3 基于FPGA多源信息融合处理理论模型示意图

首先将接收到的不同传感器的数据进行归一化处理。由于收到的传感器数据存在噪声,因此通过数据自身特点分别进行聚类,剔除冗余数据。然后在第一层数据融合中,按照传感器种类对同类传感器数据进行融合,例如:温度、方位、姿态、雷达等。在这个模块中,不同类的传感器数据可以并行进行。之后FPGA将预处理得到的数据发送给PowerPC处理器。PowerPC处理器应用其计算性能优势,在第二层数据融合中,将不同类但与决策相关的传感器数据进行融合,并对融合结果进行判断,最后发布指令。例如将方位和姿态传感器数据进行融合后可以完成行车控制。

2 FPGA实现CAN总线扩展

计算机主机板上的Kintex-7 FPGA要实现PowerPC处理器与隔离CAN收发器的通信,可应用Xilinx Kintex-7系列FPGA的CAN控制器IP(Intellectual Property)核。此CAN控制器IP核的用户接口是AXI-Lite接口[7],AXI-Lite接口分为5种类型:写地址、写数据、写响应、读地址和读数据,其中读数据接口中包含读响应信号。要实现PowerPC处理器与隔离CAN收发器通信,即将PowerPC处理器数据和地址总线转换成AXI-Lite接口传给CAN控制器IP核,继而控制隔离CAN收发器。本文采用两个模块逐步实现转换,包括PowerPC数据拼接及读/写传输模块和读/写数据与AXI-Lite接口转接模块。其中PowerPC数据拼接及读/写传输模块主要将PowerPC处理器16 bit位宽数据按地址正确拼接成32 bit位宽数据,并根据PowerPC处理器读使能信号oeb或写使能信号wen完成PowerPC处理器读取隔离CAN收发器接收的数据或者将数据发送给隔离CAN收发器。读/写数据与AXI-Lite接口转接模块实现PowerPC处理器读/写功能与AXI-Lite接口的CAN控制器读写功能的转接。Kintex-7系列FPGA实现PowerPC主处理器与隔离CAN收发器通信的模块设计及数据流框图如图4所示。

图4 PowerPC处理器与隔离CAN收发器通信的模块设计框图

2.1 PowerPC数据拼接及读/写传输模块

PowerPC处理器按照字节读写数据[8],在本设计中,PowerPC处理器一次性可读写16 bit位宽数据,即PowerPC处理器按照偶地址读写数据。Kintex-7系列FPGA的CAN控制器IP核用户接口是AXI-Lite接口,AXI-Lite接口数据/地址位宽是32 bit,因此首先要把PowerPC处理器16 bit位宽数据拼成适用于AXI-Lite接口的32 bit位宽数据。将PowerPC处理器两个16 bit位宽数据拼成一个32 bit位宽数据,这两个16 bit位宽数据的读/写地址必须相差2,而且每个16 bit数据的开始地址都为偶地址。当PowerPC处理器向CAN控制器写数据的时候,要保证连续2个16 bit数据正确拼接后才能产生写使能信号write_enable,当PowerPC处理器读取CAN控制器数据的时候,在较小的偶地址时从CAN控制器读取32 bit数据,然后根据PowerPC的读使能信号oeb,每次读取16bit数据。PowerPC处理器实现读/写数据传输的状态机如图5所示。

图5 PowerPC处理器传输读/写数据状态机

其中,在PPC_WAIT状态时,状态机等待CAN控制器的片选信号CAN_Bus2IP_CS,当CAN_Bus2IP_CS信号有效,状态机进入PPC_WAIT_WR状态,此时如果PowerPC处理器的读使能信号有效,则状态机进入PPC_READ_ENABLE状态,如果PowerPC处理器的写使能有效,则进入PPC_WRITE_ENABLE状态。在PPC_READ_ENABLE状态和PPC_WRITE_ENABLE状态,FPGA会根据上述的数据拼接方式,将PowerPC处理器的16 bit数据拼成AXI-Lite接口的32 bit位宽数据,并产生可读或可写信号,从而触发状态机进入PPC_WAIT_FINISH状态,等待读结束或者写结束,当读或者写结束,状态机进入PPC_WAIT状态。至此完成一次PowerPC对某个CAN控制器的读/写操作。

2.2 读/写数据与AXI-Lite接口转接模块

在PowerPC数据拼接及读/写传输模块中已产生的32 bit的读/写数据,要按照AXI-Lite接口的信号类型及时序发送给CAN控制器IP核,才能实现PowerPC处理器与隔离CAN收发器的通信。AXI-Lite接口是AXI接口的简化接口,包括5种类型:写地址、写数据、写响应、读地址和读数据。这5种接口各自分别包含Valid信号、Ready信号及相应的数据、地址或响应信号。对于AXI-Lite接口的写操作来说包括:写地址、写数据和写响应。写地址和写数据在时序上没有先后顺序,可以随时发生,但写响应只能在写数据和写地址完成之后生成[9]。由此设计了AXI-Lite接口的写操作状态机,如图6所示。

图6 AXI-Lite接口写操作状态机

对于AXI-Lite接口的读操作包括读地址和读数据,读响应在读数据完成后产生。与AXI-Lite接口的写操作不同,读操作首先要读取地址,然后再读取数据,当读地址和读数据都完成后才能收到读响应[9]。AXI-Lite接口的读操作也采用状态机控制。

2.3 N个CAN控制器的扩展

CAN总线协议支持多节点多主的工作方式,理论上节点数可达110个[10]。对CAN总线的扩展,可以提高地面无人平台控制外部设备的能力。处理器芯片一般自身会带有CAN控制器,但数量有限,不能满足多外设大数据传输的要求。使用FPGA实现PowerPC处理器与隔离CAN收发器通信,可以根据FPGA的资源和实际需求实现多节点CAN控制器扩展,方便快捷。如图4所示,本文在一个CAN控制器接口模块中例化了PowerPC数据拼接及读/写传输模块、读/写数据与AXI-Lite接口信号转接模块及CAN控制器IP核,要实现N(N>1)个CAN控制器扩展时,只需要例化N个CAN控制器接口模块,通过处理器本地总线的片选信号、中断信号来分发和接收数据,具有较强的可扩展性。

3 性能分析

本文对可扩展地面无人平台综合处理模块接口进行了全面测试,包括扩展串口、扩展CAN总线接口、AD输入电压监测、继电器驱动、GPIO信号和以太网通信。各种接口通信正常,其中PowerPC处理器与基于FPGA实现的扩展串口和扩展CAN总线接口通信测试较复杂,本文详述了扩展CAN总线测试,对扩展串口的测试与此类似。

3.1 扩展CAN总线测试

本文对综合处理模块中PowerPC处理器与扩展CAN收发器的通信进行了测试。测试中使用USB-CAN调试器,此调试器的调试软件Ginkgo USB-CAN Classic可以实时监测CAN收发数据及状态。表1为PowerPC处理器与1个隔离CAN收发器通信时,用USB-CAN调试器监测到的实验结果,表2为PowerPC处理器端显示的收发数据,CAN总线初始化速率为1 Mbit/s。

表1中显示收发数据传输状态为“成功”。表1中监测到的发送数据与表2中监测到的接收数据相同,表1中监测到的接收数据与表2中监测到的发送数据相同,说明PowerPC处理器与隔离CAN收发器通信正常。

表1 USB-CAN调试器监测数据表

表2 PowerPC处理器监测数据表

图7和图8为使用Vivado编译器中的Hardware manager功能触发得到的某次PowerPC处理器读/写时的地址、数据时序图。

图7 Vivado Hardware Manager监测某次PowerPC处理器读数据时序图

图8 Vivado Hardware Manager监测某次PowerPC处理器写数据时序图

图7中S_AXI_AR*信号为读地址信号,S_AXI_R*为读数据信号,S_AXI_RRESP为读响应。当S_AXI_ARREADY和S_AXI_ARVALID同时有效即两者值都为“1”时,S_AXI_ARADDR值是此时PowerPC处理器要读的地址。当S_AXI_RREADY和S_AXI_RVALID同时有效即两者值都为“1”时,S_AXI_RDATA值为PowerPC处理器读到的数据,此时S_AXI_RRESP读响应信号的值说明读响应的状态,其值为“0”,说明读操作正常完成。

图8中S_AXI_AW*信号为写地址信号,S_AXI_W*为写数据信号,S_AXI_B*为写响应。当S_AXI_AWREADY和S_AXI_AWVALID同时有效即两者值都为“1”时,S_AXI_AWADDR值是此时PowerPC处理器要写的地址。当S_AXI_WREADY和S_AXI_WVALID同时有效即两者值都为“1”时,S_AXI_WDATA值为PowerPC处理器发送给隔离CAN收发器的数据。测试中PowerPC处理器给隔离CAN收发器发送的是随机数据,时序图中S_AXI_WDATA显示的数值为PowerPC处理器第一次发送的数据,其值与表1中第一次接收到的数据以及表2中第一次发送的数据一致。

在2.1节中,PowerPC读/写数据拼接要按照拼接数据地址相差2且都为偶地址的原则,图7和图8时序图中addr_lsb_flag代表某次拼接地址中较小地址有效,addr_msb_flag代表这次拼接地址中较大地址有效,we_addr_exact_flag代表这次地址拼接有效。由图7可以看出,当addr_lsb_flag有效时,PowerPC处理器完成一次读CAN控制器,得到32 bit位宽数据,当addr_msb_flag有效时,PowerPC处理器不会再读一次CAN控制器,而是读取当前32 bit中的未读取的16 bit数据,同时we_addr_exact_flag有效,PowerPC完成一次对CAN控制器的读操作。由图8可以看出,当addr_lsb_flag和addr_msb_flag有效,并且we_addr_exact_flag有效时,PowerPC完成一次对CAN控制器的写操作。

3.2 综合处理计算机模块基本性能

可扩展地面无人平台综合处理模块具有12路串口,10路CAN总线接口以及12路以太网,每个接口都对应一个独立的接口芯片,这就导致综合处理模块全负载时功耗较大。PowerPC处理器的主频最高可达1 GHz,但综合处理模块不需要这样高的速率,适当降低处理器主频有助于降低整体功耗。根据实际需要将PowerPC处理器主频降到600 MHz,内存设计为1 GB。其中以太网的功耗最大,本文将综合处理模块的12路以太网分别连接一个自研的计算机终端,自研的计算机终端可使用相应的以太网测试软件,进行每次传输50 MB数据的长时间循环测试,大约在1 h之后综合处理模块温度稳定在60 ℃左右,功耗在40 W左右。

可扩展地面无人平台综合处理模块以PowerPC处理器为主处理器,相比于原有系统以单片机或者数字信号处理芯片为主处理器,此模块在数据运算、功能开发、系统更新方面具有明显优势。

4 结束语

本文设计了一种以PowerPC为主处理器,FPGA为协处理器的可扩展地面无人平台综合处理模块。此模块的设计对多种地面无人平台间综合处理模块的复用、扩展以及综合处理模块进行多源信息融合处理方法的研究具有一定的借鉴作用。对综合处理模块的多种接口进行了全面测试,保证各接口通信正常,其中详细描述了PowerPC处理器与扩展CAN总线接口的通信过程。不足之处是仅介绍了测试阶段综合处理模块功耗、频率等基本性能,实际应用中此模块性能还需要进一步实验,对多源信息融合处理理论模型中第一层和第二层融合的方法也需要进行更深入的研究。

猜你喜欢

无人处理器控制器
工商业IC卡控制器改造为物联网控制器实践
无人战士无人车
反击无人机
诗到无人爱处工
无人超市会流行起来吗?
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
倍福 CX8091嵌入式控制器