郑万斌, 崔 敏, 梁志剑
(1. 中北大学 电子测试技术重点实验室, 山西 太原 030051;2. 中北大学 仪器科学与动态测试教育部重点实验室, 山西 太原 030051;3. 中北大学 大数据学院, 山西 太原 030051)
当前数据传输系统传输速率低、 兼容性差, 随着总线技术和虚拟磁盘技术的不断发展, 数据传输系统的性能也需进一步提升. 本文介绍的数据传输系统以MC9S12XEP100VAL处理器为主控模块, CH378为通用串行总线接口芯片, 通过对测控数据传输系统固件的优化设计使得数据信息的通信速率更快速准确, 进一步提高了车辆的自我保护能力. 需要注意的是, 数据传输系统的传输性能局限于当前技术水平, 随着社会技术的发展提升, 应能实现更快更高效的传输.
根据系统的功能、 特性和其他要求, 对测控数据传输系统的硬件功能实现进行相应设计.
如图 1 所示, 数据传输系统根据设计的技术要求和执行基础, 提供了该系统的总体设计. 其中测控数据传输系统总体设计框架为微控制器+通用串行总线接口芯片. 在硬件设计中, 微控制器负责系统整体控制[1-3], 而通用串行总线接口模块主要负责完成通用串行总线协议的封装及与外部主机或存储的连接[4].
图 1 数据传输系统的总体功能框图Fig.1 The overall functional block diagram of the data transmission system
系统硬件功能模块主要有:
1) 电源模块. 通过对外部电源进行滤波、 降压来为系统内部硬件提供持续且可靠的电压.
2) 主控制模块. 主控制模块选择具有112个功能引脚的MC9S12XEP100VAL处理器, 可以满足主控制模块的最小化的工作系统和完整功能性的目标.
3) 通用串行总线接口模块. 系统采用沁恒公司生产的通用串行总线通用芯片CH378, 其同时支持USB_HOST和USB_DEVICE两种工作模式, 主要用于实现两种工作模式的动态切换.
4) CAN接口模块. 本系统采用两种模式的设计, 一是选用芯片PCA82C251实现系统内部功能模块之间的数据交互, 二是选用CTM1050实现车辆CAN网络系统之间的传输.
5) 存储功能模块. 系统存储模块分两部分构成, 一是实现数据存储工作的串行铁电存储器件FM25640; 二是记录存储系统工作状态信息及标志位信息的闪存芯片K9K8G08U0. 该模块是为了实现对汽车行驶过程中的各种状态数据的记录与存储, 且保证数据在掉电后不会丢失.
上位机外接测控数据传输系统时, 该系统被上位机虚拟判定为磁盘, 而虚拟磁盘的部署和地址分配发生在存储功能模块中. 当虚拟磁盘被设置时, 上位机通过小型计算机系统接口命令读写该磁盘, 使操作系统能够正确识别它, 以便在获得该数据后使用文件系统上的驱动程序来解析该数据. 为了让小型计算机系统接口指令在存储模块中有效读写, 系统的存储模块必须虚拟为FAT16、 FAT32等文件系统, 即分区引导记录、 文件分配表和根目录的相应实现[5].
数据传输系统的分区引导扇区要求如表 1 所示.
表 1 分区引导扇区参数要求
在系统实现过程时[6-8], 此文件分配表的群集编号之间的关系称为“群集编号链”. 如图 2 所示, 假设有4个集群长度的数据文件, 其中0集为a1, 连接顺序为a1→a4→a3→a2.
图 2 集群链实现过程及其存储空间关系图Fig.2 Cluster chain implementation process and its storage space diagram
根目录[9]参数要求如表 2 所示.
表 2 根目录参数要求
数据传输系统可以通过利用该通用串行总线接口上的身份信息来确定设备的连接状态, 从而实现外接通用串行总线移动存储设备的操作模式. 数据传输系统还执行多种任务, 例如在查找外接通用串行总线存储设备的属性(如磁盘容量、 写保护和支持的文件格式)后枚举、 读取和写入外接通用串行总线存储设备[10], 同时确保外接通用串行总线可移动存储设备正确连接到系统. 数据传输系统与外接通用串行总线移动存储设备通信的过程必须基于通用串行总线大容量存储通信协议.
图 3 所示为数据传输系统外接存储模式过程.
图 3 外接存储设备工作流程Fig.3 External storage device workflow
对影响数据传输系统的数据传输速率的流程进行总结, 具体为存储模块存储期间读取数据的速度和CH378固件设计数据写缓存速度.
在该工作模式下, 将闪存页的数据读取到缓存区, 以便将数据文件上传到主机, 并在CH378芯片上完成命令、 地址等, 这种传输方式对传输速度影响很大. 因此, 在上述可提高数据传输速度部分的基础上, 可在这一工作模式下将上传的程序作如下改进:
在闪存数据被读取之前, 先完成通用串行总线接口芯片的命令和地址的操作, 然后直接让读取的数据进入通用串行总线的芯片接口, 同时改变通用串行总线芯片的通信接口方向为输出, 完成CH378芯片的数据输出接收[11], 其工作流程如图 4 所示.
通过对该工作模式数据上传功能函数的优化设计, 系统处于设备工作模式时的通信速率达 1.11 MB/s.
图 4 闪存数据读到CH378函数实现流程图Fig.4 Flash data read CH378 function implementation flowchart
在该工作模式下, 以闪存页为单位将数据读/写至缓存[12-14], 数据频繁读取到通用串行总线接口芯片缓存区, 不但让通用串行总线接口芯片RAM利用率低, 而且通用串行总线接口芯片指令、 地址等操作的不断重复使得数据传输速率受到影响. 因此, 在上述可提高数据传输速率部分的基础上, 可在这一工作模式下将上传数据的固件程序作如下改进:
以扇区的操作方式写入通用串行总线接口芯片缓存区, 同时通用串行总线接口芯片内置20 K数据缓存区(4个扇区), 将闪存页数据直接读取至通用串行总线接口芯片缓存区, 待20 K缓存区写满后, 将该缓存区数据写入移动存储设备. 固件优化过程如图 5 所示.
通过对该工作模式数据上传功能函数的优化设计, 系统处于设备工作模式时的通信速率达 518.2 KB/s.
图 5 外接移动存储设备工作模式数据上传函数实现流程Fig.5 Implementation process of data upload function for working mode of external mobile storage device
搭建测试平台, 对数据传输系统进行相应的功能测试.
1) 检查验证平台
数据传输系统的检查验证平台选用常见的笔记本电脑, 该平台主要用于接收数据文件并对其进行准确性和传输速率的检验测试.
2) 数据传输系统
数据传输系统在不同时刻处于设备工作模式和主机工作模式状态, 上位机外接数据传输系统时, 该系统被虚拟为磁盘, 数据传输系统外接通用串行总线移动存储设备时, 该系统被虚拟为FAT32文件系统.
3) 数据采集系统
该系统主要将各个采集单元采集的数据通过CAN总线传输至数据传输系统.
数据传输系统可以通过通用串行总线功能模块以两种操作模式将数据文件上传到验证平台或U盘, 分别对其进行相应测试[15-16].
5.2.1 虚拟磁盘工作模式测试
数据传输系统在该工作模式下的主要传输过程为:
上传: 数据传输系统的数据文件可以上传至检查验证平台, 用户通过对数据文件的解析可以判断出车辆的信息状态;
下传: 检查验证平台的信息参数下传至数据传输系统, 同时数据传输系统对其接收的数据进行相应回复.
1) 上传的数据文件测试
数据传输系统正确连接到检查验证平台后, 被检查验证平台识别为大容量存储器, 完成数据上传后, 通过比较数据传输系统测试期间由机柜形成的数据文件和上传的数据文件, 可以看出数据传输系统可以准确上传数据文件. 二者数据对比结果如图 6 所示. 经过对不同容量大小和不同数量的数据文件进行多次测试, 得出数据传输系能够准确传输数据文件.
图 6 数据校验测试结果Fig.6 Data verification test results
2) 下传的数据文件测试
下传的数据文件如表 3 所示, 下传不同大小的数据文件得到的数据文件经过比较后均无差异, 由此可以看出, 数据传输系统可以准确地下传数据文件.
表 3 检查验证平台下传数据校验分析
5.2.2 外接存储设备工作模式测试
数据传输系统外接存储设备工作模式将系统数据文件加载到通用串行总线(主要是移动内存)以外的移动存储中, 通过该工作模式, 将“数据存储”数据文件与仅用于检测数据准确性的源数据文件进行比较. 数据检验测试结果如图 7 所示.
图 7 数据校验测试结果分析Fig.7 Data verification test result analysis
通过分析该模型下数据文件的状况, 数据传输系统可以在这一工作模式下准确地传输数据.
数据传输系统在两种工作模式下不但要保证数据文件传输的准确性, 还要保证数据文件传输的速率.
5.3.1 虚拟磁盘工作模式传输速率测试
数据传输系统与检查验证平台进行数据交互, 上传数据的传输速率需要对数据文件传输的速率进行统计分析后才能得出. 结合图 8 数据分析可知, 数据传输系统的数据上传过程中, 其平均传输速率约为1.11 MB/s.
图 8 数据传输系统数据文件上传速率分析统计Fig.8 Data transmission system data file upload rate analysis statistics
5.3.2 测试外部通用串行总线存储传输速率
由于优化了固件, 数据传输速度已达到518 KB/s. 为了确定这一工作模式下数据传输速率的稳定性, 数据传输速率受外部通用串行总线移动存储类型等因素的影响. 图 9~图 12 为系统外接通用串行总线存储运行情况下数据传输速率的统计分析图.
图 9 三星U盘在该工作模式下的传输速率Fig.9 The transmission rate of Samsung U disk in this working mode
图 10 闪迪U盘在该工作模式下的传输速率Fig.10 The transmission rate of SanDisk U disk in this working mode
图 11 西部数据移动硬盘在该工作模式下的传输速率Fig.11 The transfer rate of Western Digital mobile hard disk in this working mode
图 12 索尼移动硬盘在该工作模式下的传输速率Fig.12 The transfer rate of Sony mobile hard disk in this working mode
根据图 9~图 12 分析得出, 外接通用串行总线存储设备工作模式下平均传输速率为 519.19 KB/s.
本文提出了测控数据传输系统中的双工作模式固件设计, 且对该测控数据传输系统的存储模块数据和两种工作模式的数据传输方面进行准确性和速率测试, 并对测试结果进行数据分析. 结果表明该系统不仅准确且传输速率高, 更具有跨平台服务的性能, 也说明该设计对未来工业的实用价值.