基于模块化分层架构的OMAP-L138 UPP 异构通信协议系统
王成杰 李益 史世友
中车株洲电力机车研究所有限公司 株洲湖南 412000
1、研究背景
异构多核处理器(TI OMAP-L138)拥有 ARM 核的通用性和 DSP 核高效处理信号的特点,是目前很多通信设备、嵌入式实时系统的主平台 [1]。OMAP-L138 的通用并行接口(UPP)具有高带宽(百兆字节 / 秒)、可配置的数据宽度(8 位 /16位)等特点,成为连接 DSP 与 FPGA 等外设的理想通道。但现有 UPP 通信方案存在显著局限:(1) 灵活性低:采用的传统协议大多为扁平数据流, 没有逻辑标识,无法区分不同源头的数据 ;(2) 扩展性弱:添加新的数据流,需要更改底层驱动或FPGA 逻辑,扩展困难,不利于传感器信号融合输出或者多路输出 [2]。
2、协议栈技术实现
2.1 物理层:UPP 高速通信优化
采用 OMAP-L138 的双沿触发 16-bit 模式实现带宽最大化,时钟配置 37.5MHz 基准频率,双沿采样,16 位宽,约为1.2 Gb/s 理论带宽。
2.2 组件协议栈:Module-Port-Socket 三级架构
每一项数据帧都是通过 Module-Port-Socket 来表征,目的终点的 Socket 寻址通过以下三级实现:
1)Module 号:Module 号表征一个具体的功能单元,功能单元可以是一个设备形成一级子功能单元。
2)Port 号:Port 属于二级子功能单元,可以是依据功能的扩展:比如算法计算模块、逻辑保护模块、数字信号处理模块、硬件加速模块等。
3)Socket 号:Socket 为Port 下的三级功能子单元,设备通过该端口实现具体功能的扩展。帧结构设计如下:

语义定义:
Module_ID :功能单元标识(e.g. 0x1001= 视觉处理模块)Port_ID :子功能通道(e.g. 0x2001= 原始图像流)Socket_ID :物理端点(e.g. 0x03= 光纤端口3)
(2)层次化寻址机制
组件协议栈通过基于 Module、Port、Socket 的深度优先搜索,依据(Module,Port,Socket)三维向量作为一个数据元,搜索到满足到该特征的数据后进行排序。
2.3 应用层:动态注册数据收发
使用者在调用在协议时需要使用相应的注册机制以进行数据的收发,具体如下:
(1)数据接收:
1)使用者在初始化时调用协议栈注册函数,进行接收数据信息的注册,对(Module,Port,Socket)进行不同的编码注册。
2)协议栈根据注册的(Module,Port,Socket)的值汇总成注册表,进行数据的接收
3)数据(Module_x,Port_y,Socket_z)到来时 , 判断是否在注册表中,如果在注册表中,则进行数据的接收;如果不在则丢弃;
# 数据接收伪代码
输入 : 数据帧 Frame τ=τ (M, P, S, Data)
输出: 应用层回调调用
初始化时调用 register(M, P, S, callback_func) // 注册回调
当UPP 中断触发时:
提取协议头 $$ 获取 (M,P,S)
if (M,P,S)∈ 注册表 then
直接调用 callback_func(Data) // 零拷贝传递
else
丢弃数据并记录错误计数
(2)数据发送
1)使用者在初始化时调用协议栈注册函数,进行发送数据信息的注册,对(Module,Port,Socket)进行不同的编码注册。
2)在发送(Module,Port,Socket)数据元注册时,协议栈根据注册信息形成(Module_1,Port_1,Socket_1) + (Module_2,Port_2,Socket_2) + (Module_3,Port_3,Socket_3)+...+(Module_n,
,Socket_n)的数据队列;
在一个发送周期到来时,按照数据队列进行当前数据的发送。
作为 OMAP-L138 UPP 通信的对端设备,FPGA 承担双重关键职能:
下行路由:解析来自 OMAP 的协议帧,根据层级标识 {ModuleID, PortID,SocketID} 动态路由至指定光纤端口;
上行封装:接收多路光纤数据,并将之封装成三级协议帧,附带目标标识后,再发送给 OMAP DSP 处理器。
FPGA 实现了 OMAP-L138 UPP 通信的对端核心部分,实现协议解析 - 路由决策- 数据转发的全流程硬加速过程。采用了三级流水:(1) 协议处理层:利用状态机解析上行帧头得到 {Module ID, Port ID, Socket ID } 参数,并且将下行的数据进行目标标识 ( 需要封装的目标标识包含 CRC-32 校验 ) ;(2) 智能路由层:本层由1024 项可配置 LUT(look up table) 组成,完成不同层号到物理端口地址的映射,具有可静态固化、可OMAP 远程配置。
图 3 OMAP-L138 与 FPGA 通信架构

2.4 性能优化策略(1)中断响应加速
UPP 接收中断服务程序(ISR)仅执行 4 项操作:拷贝协议头到共享内存、标记数据就绪标志位、启动DMA 传输载荷、退出中断(全程 <500 ns)。
(2)树形合并效益量化
在数据发送时,进行相同维度的数据合并。例如将(Module_1,Port_1,Socket_1) + (Module_1,Port_2,Socket_2) + (Module_1,Port_2,Socket_3) 数据队列合并成 Module_1 :((Port_1,Socket_1),(Port_2 :(Socket_2,Socket_3)))树形结构。树形结构的数据结构节约了空间资源。

2.5 实验与验证
在 OMAP-L138+Artix-7 平台实测表明:
(1)传输效率
持续传输1024 字节帧:平均吞吐量 1.15 Gb/s(理论值 96% 利用率)
(2)注册机制延迟

3. 总结
本文提出一种基于模块 (Module)- 端口 (Port) -Socket 三级逻辑标识的创新通信架构,实现 OMAP-L138 UPP 通信的语义化与灵活路由。支持分层协议设计,提出 Module-Port-Socket 三级帧结构,为每帧数据注入语义标签,实现在 UPP 链路上实现逻辑数据流的多路复用,解除物理链路与逻辑功能的耦合。实现 FPGA 智能路由引擎,在 FPGA 端实现对称协议栈,通过三级标识查表路由,将数据动态分发至多路光纤端口,实现“配置驱动”的数据路径管理,替代传统硬件逻辑修改。最终构建完整 OMAP-L138 至 FPGA 通信链路,端到端系统验证该协议在多路并发传输与动态重配置场景下的灵活性。
参考文献:
[1] 周建琼等 . 基于 L138 的测井前端采集系统 [J]. 科技与创新 , 2023.
[2] 胡仙等. 基于OMAPL138 控制平台的中低速磁浮牵引系统研制[J]. 科学技术创新 , 2020.
(3)FPGA 数据处理