首页 > 嵌入式软件 > vxworks

在一些特别的科学研究和工程应用领域,需要采用高帧频、大面阵的CCD相机以获取高质量的图像数据,用于对变化较快的观测对象的运动轨迹及其变化特性分析或实时计算。由此可产生高达50MB/s以上的实时数据流,需要持续地实时记录,以便于事后分析。

本文引用地址: http://embed.21ic.com/software/vxworks/201806/63616.html

本文介绍中科院光电技术研究所针对高速实时图像记录任务的要求,专门设计开发的VxWorks嵌入式操作系统下的高速嵌入式SCSI硬盘阵列记录系统。

在本系统中采用的高帧频CCD数字相机其工作帧频为:200帧/秒,分辨率为:532×516像素,8bit灰度级,有效数据率约为55MB/s。要求能对其长时间地持续记录,且不允许中间有丢帧现象。

实际工程项目中,在技术上采用了嵌入式计算机和Vxworks嵌入式操作系统以及SCSI硬盘阵列系统,成功地完成了上述任务。

1 系统硬件结构

1.1 硬件框图

硬件框图如图1所示。

整个系统在硬件上由嵌入式计算机、CCD相机、PCI采集卡、SCSI控制卡及SCSI硬盘阵列组成。系统基于PCI总线架构。目前使用32位33MHz的PCI总线,可实现约132MB/s的数据传输率。以后将使用64位66MHz的PCI总线,以达到更高的数据传输率。来自CCD相机的高速数据流经PCI采集卡交叉缓冲存储后送往PCI总线,SCSI控制卡与PCI采集卡在PCI总线上通过DMA方式直接交换数据。记录存储介质的接口采用SCSI总线接口。

1.2 SCSI总线接口

SCSI(Small Computer System Interface)小型计算机系统接口是一种连接主机与外围设备的接口,支持包括磁盘驱动器、磁带机、光驱、扫描仪在内的多种设备。它由SCSI控制器进行数据操作。SCSI控制器相当于一块小型CPU,有自己的命令集和缓存。SCSI 接口是智能化的,可以彼此通信而不增加CPU 的负担。当向SCSI硬盘读写数据时,主机CPU只需向SCSI控制卡发出读写命令,SCSI控制卡会自动处理并以DMA方式执行相应的读写操作,完全不需要主机的干预,使主机和SCSI卡可以并行地工作。与IDE接口相比,速度、性能和稳定性都要比IDE好得多,具体区别如表1。

SCSI接口几经变革,传输率、支持设备等功能都有大幅度的改进。在速度上,SCSI接口规范随时间有表2所示的规范版本。

从Ultra2之后,SCSI采用全新的LVD(Low Voltage Differential)串接模块。LVD的特性为低电压、信号干扰少、兼容传统排线,可以有较长的串接距离,也可以兼顾传输速度与设备数。这次任务使用Ultra160,接口速度可达160MB/s。实际应用中只需要55MB/s的传输速度。实际测出的速度达80MB/s以上。

2 系统软件结构

2.1 VxWorks操作系统简介

系统软件基于VxWorks操作系统平台。VxWorks操作系统是目前世界上最先进的高性能实时操作系统,主要应用于航空、航天、导弹武器系统(包括火星探陆车、爱国者导弹系统、F-16战机等)。它包括一个微内核、强大的网络支持,以及文件系统和I/O管理、C++支持的各种模块。它的多任务、抢占调度、快速上下文切换、低中断延迟和快速灵活的通信机制更是VxWorks的突出优点。

VxWorks特点:

(1) 支持多种CPU

包括x86、PowerPC、68K、i960、SPARC、Mips等。还支持RISC和DSP技术。

(2) 实时性

VxWorks系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,造成的延迟很短。VxWorks提供多任务机制,对任务的控制采用了优先级抢占(Preemptive Priority Scheduling)和轮转调度(Round-Robin Scheduling)机制,也充分保证了可靠的实时性,使同样的硬件配置能满足更强的实时性要求,为应用的开发留下更大的余地。

(3) 可裁减性

用户在使用操作系统时,并不是操作系统中的每一个部件都用到。例如图形显示、文件系统以及一些设备驱动在某些嵌入式系统中并不使用。VxWorks 由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成,可裁剪的组件超过80个。VxWorks内核最小为 8KB,即便加上其它必要模块,所占用的空间也很小,且不失其实时、多任务的系统特征。由于其高度灵活,用户可以很容易地对这一操作系统进行定制或适当开发,满足自己的实际应用需要。

(4) 可靠性

操作系统的可靠性是用户首要考虑的问题。而稳定、可靠一直是VxWorks的一个突出优点。VxWorks以其良好的可靠性在一些实时关键任务领域赢得了广泛的用户。

2.2 系统软件功能

系统软件结构如图2所示。记录系统完全通过接收来自RS-232串口或TCP网络的命令字进行工作。记录结束后通过TCP网络下载记录数据。

首先进行系统初始化,对各硬件进行必要的初始设置,确定其工作状态。包括:网络部件的初始化、SCSI卡的初始化、SCSI硬盘的初始化、PCI采集卡的初始化以及处理来自PCI采集卡硬件中断的信号量的初始化。

然后进行系统自检,包括对SCSI硬盘记录速度测试自检以判定是否能达到要求的记录速度、硬盘的读写自检,以及对自己定义在硬盘前一段当作数据检索用的信息头的自检。

系统自检成功后将会调用taskSpawn()系统调用使处理串口和网络命令的模块运行起来。根据主控计算机发来的命令字调用相应的功能模块并给主控计算机相应的回答响应。具体命令包括:A查询系统版本、B自检、C开始记录、D停止记录、E查询硬盘剩余容量、F开始图像数据下载、G查询系统状态、H硬盘清空、I查询单次任务信息。系统最重要的工作是记录任务。PCI采集卡每75ms发出一个中断,在这段时间里采集卡已经完成了一个缓冲区共4MB数据的采集,此时来的图像数据流存储在另外一个4MB缓冲区中,即所谓的交叉存储技术,以保证数据不会丢失。在这75ms时间内必须完成记录4MB的任务,记录速度约为54MB/s。在实际测试中,记录4MB的数据一般50ms即可完成,记录速度约为80MB/s,因此较好地完成了记录任务。实际编程,在硬件中断服务程序中只是用semGive()系统函数放出一个信号量,由发起任务具体处理记录操作。中断服务程序不象一般的任务那样运行在普通的任务上下文中,它没有任务控制块,所有的中断服务程序共享一个堆栈。所以对中断服务程序的基本要求就是不能引起阻塞。例如在中断服务程序不能调用printf()函数用于输出信息。此外,在中断服务程序中也不能通过VxWorks驱动执行I/O操作。此项目中阵列了三个SCSI硬盘,每个硬盘容量为36GB,共计108GB。由于一个硬盘物理的持续读写速度在30MB/s左右,因此必须阵列地读写多个SCSI硬盘,在处理中断服务程序的任务中利用每个硬盘物理的读写间隙,按一定时隙分别写入每个硬盘一定的数据量,实现了硬盘的并行工作,达到了高速存储记录的目的。

本系统成功地应用于实际工程项目中,其可靠性和实时性已在严格的实际应用环境中得到检验。下一步,将进一步提高记录系统的性能指标,采用基于64位66MHz的PCI总线、SCSI Ultra 320接口、千兆网络接口以及阵列更多的SCSI硬盘,使系统的记录速度、记录容量、下载传输速度和可靠性都有更大的提高。本系统虽然是专门为我所实时测控系统中高速记录任务而设计,但实际上也广泛地应用于图像处理、雷达、声纳等对实时图像记录有要求的领域。

换一批

延伸阅读

[猎聘集] 2017年集成电路行业应届生薪资表曝光

2017年集成电路行业应届生薪资表曝光

今年的秋天来的比往常早,也更冷一些。对于想找工作的同学们来说,可能没有比一份收集了许多IC公司薪资待遇的文章更加暖心的了。......

关键字:集成电路行业 应届生 薪资

[真心话] 一位放弃上大学,毅然决然走上IT人生路的工程师自述

一位放弃上大学,毅然决然走上IT人生路的工程师自述

来自一位对高考结果不满意,选择放弃上大学,自学走上IT工程师道路的新人自述。......

关键字:IT工程师 编程 自学

[破谣言] 混血儿长得普遍比较好看,这是真的吗?

混血儿长得普遍比较好看,这是真的吗?

说起混血,我估计你脑子里想的全是中国人和白人混血的样子,像洋娃娃一样。又洋气又有中国人的亲切感。......

关键字:混血 审美

[破谣言] 如果带着降落伞从太空往地球跳,能回到地面吗?

如果带着降落伞从太空往地球跳,能回到地面吗?

当然可以回到地面了,只要处于地球的引力圈范围,肯定会回到地面来的。只不过是不是安全的回来就难说了。......

关键字:太空 地球
条评论

我 要 评 论

网友评论

大家都爱看

  • 扇出型晶圆级封装的优势和挑战!

    我们有能力创造一些能保持前代性能并且更好更小的电子设备,例如今天的可穿戴设备、智能手机或平板电脑,这是由于很多因素超过摩尔定律而快速发展,从而能够从底层的嵌入组件发展到今天把它们封…

    2018-03-29
  • Xilinx推出革命性的新型自适应计算产品

    自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX)),近日宣布推出一款超越FPGA功能的突破性新型产品,名为ACAP(Adaptive Compute Acceleration Platform,自适应计算加速…

    2018-03-20
  • 赛普拉斯为树莓派3 B+ IoT单板计算机提供强大稳定的无

    先进嵌入式系统解决方案的领导者赛普拉斯(纳斯达克代码:CY)近日宣布其Wi-Fi®和蓝牙®combo解决方案为全新的树莓派 3 B+(Raspberry Pi 3Model B+)IoT单板计算机提供强大稳定的无线连接…

    2018-03-20
  • 观看直播领红包,SEED-A10加速卡助力人工智能

    随着云服务器、云计算的发展,大家对硬件加速的需求越来越多,但是随着设备功耗的上升、性能需求越来越高,常规加速设备以及开始不能满足需求,因此FPGA逐渐在硬件加速中找到了自己的位置,而艾…

    2018-03-19
  • 特朗普:博通不得以任何形式收购高通

    白宫周一(3月12日)晚发出声明,川普(特朗普)总统出于“国家安全”考量、禁止新加坡博通公司(Broadcom)收购美国高通公司(Qualcomm)。

    2018-03-14