系统笔记本内存条

笔记本内存条  时间:2021-01-16  阅读:()
—189—基于龙芯PC104Plus模块的机载视频记录系统程晓宇1,蔡晔2,毕笃彦1,郑为民2(1.
空军工程大学工程学院,西安710038;2.
中国科学院计算技术研究所,北京100080)摘要:以国产CPU龙芯2号为核心设计符合PC104PLUS标准的处理器模块,并以此为基础构建机载视频记录系统.
在阐述整个系统基本原理的基础上,介绍了龙芯2号PC104PLUS处理器模块的设计、视频压缩系统的实现及上层软件的开发.
关键词:龙芯2号;视频压缩;PC104Plus;LinuxImplementationofAirborneDigitalVideoRecordingSystemBasedonGodson2PC104PlusCPUModuleCHENGXiaoyu1,CAIYe2,BIDuyan1,ZHENGWeimin2(1.
EngineeringInstitute,AirForceEngineeringUniversity,Xi'an710038;2.
InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100080)【Abstract】BasedonGodson2PC104PlusCPUmodule,anairbornevideorecordingsystemisimplemented.
Themainideaofsystemdesignisgiven.
ThedesignofGodson2PC104PlusCPUmoduleandvideocompresssystemisdescribed.
ThekeytechnologyofsoftwareincludingBIOSprogramming,operatingsystemporting,devicedriverandapplicationsoftwaredevelopmentisdiscussed.
【Keywords】Godson2;Videocompression;PC104Plus;Linux计算机工程ComputerEngineering第33卷第2期Vol.
33No.
22007年1月January2007·工程应用技术与实现·文章编号:1000—3428(2007)02—0189—02文献标识码:A中图分类号:TP391现代战斗机都有信息监视和记录系统,用于记录战时作战和平时训练的各种音视频信息.
目前的机载视频记录系统采用以Intel公司的CPU芯片为核心的处理器模块和Windows操作系统的组合,使得系统在安全性上存在很大隐患,成本上也相对较高.
龙芯2号处理器是中科院计算所研发的高性能通用处理器.
目前最高主频达到500MHz,其总体性能已达到2000年左右的国际先进水平,居国内通用CPU研制领先水平.
为了使龙芯在军事应用中发挥作用,研制了龙芯2号的PC104Plus处理器模块,在此基础上开发机载视频记录系统,实现6路视频和1路音频的实时压缩,分段存储及事件标记.
这项工作开创了我军机载设备使用国产CPU芯片的先例.
1系统设计及基本原理整个视频记录系统由压缩控制部分、存储部分和电源部分3大部分组成,见图1.
图1视频记录系统结构示意图其中压缩部分由龙芯PC104Plus处理器模块、6路MPEG-I压缩电路及1路音频电路组成,它的主要功能是实现对输入视频信号的数字压缩.
存储部分由大容量硬盘组成,完成对压缩数据的长时间记录.
电源部分对其他各模块电路供电,包括加温电路和延时断电电路.
本系统工作时,共有6路视频信号需要进行相同的压缩处理,视频信号通过压缩卡完成A/D转换、量化、压缩编码等一系列处理,生成标准的MPEG-1码流,数据通过PCI桥传递给控制模块,并由控制模块完成存储操作.
数据的读取和分段存储由软件完成.
2关键技术2.
1龙芯PC104Plus处理器模块的设计与实现PC104Plus[1]处理器模块是一个小型化的但功能完整的CPU主板系统,在设计时必须为龙芯2号选择相应的北桥和南桥等配套芯片.
龙芯2号采用了工业标准的64位SYSAD系统总线接口[2],比较目前市场上支持64位SYSAD系统总线接口的北桥芯片之后,选用Marvell公司的GT64240A作为PC104Plus处理器模块中龙芯2号的配套北桥.
该北桥芯片设计资料齐全,有板级仿真所需的IBIS模型.
同时也考虑下一步用ICTFPGA北桥作为替代.
南桥采用了Intel的82371芯片,该芯片应用比较成熟,通过PCI总线与系统北桥相连接,可提供2个IDE接口,2个USB接口并对外提供ISA总线接口.
SUPERIO选用了Winbond的W83977芯片,通过ISA总线与南桥连接.
可为系统提供鼠标键盘接口、2个串口、1个并口、1个软驱等外设接口.
系统完整的设计框架如图2所示.
作者简介:程晓宇(1979-),男,博士生,主研方向:图像侦查与传输,Linux;蔡晔,博士生;毕笃彦,教授、博导;郑为民,博士、副研究员收稿日期:2006-01-06E-mail:ubwom@163.
com压缩控制部存储部分电源部分外部控制信号自检信号视频信号6视频信号1音频信号.
.
.
MPEG-1压缩卡MPEG-1压缩卡音频压缩卡龙芯2号PC104Plus存储模块电源延时电路电源模块.
.
.
—190—图2系统结构从图2中可以看出,龙芯2号与北桥直接用SYSAD64总线连接,并从北桥的SDRAM接口扩展了一个SODIMM槽,可直接使用市场上的笔记本内存条,方便用户内存升级和更换,最大可支持到256MB.
BIOS启动电路从北桥的32位DEVICE口扩展,可同时支持8位FLASH或EEPROM作为BIOS启动芯片.
GT64240支持2个PCI口,在设计中PCI0连接系统南桥芯片,PCI1连接到PCIPLUS接口,用于该处理器模块扩展其他PC104Plus模块用.
南桥和superIO提供了系统的外设接口,并同时将ISA总线扩展到PC104接口.
为了提高系统的可靠性,通过北桥的MPP端口(多功能口)扩展了看门狗电路和扬声器电路,可用于系统恢复和报警.
2.
2基于W99200F的视频编码系统本系统的MPEG-1压缩通过硬件实现,核心编码芯片是Winbond公司的W99200F,视频编码系统示意图如图3所示.
图3视频编码系统视频解码器接收来自视频源的标准视频信号,并传递给压缩编码器,每个压缩编码器各有一个16MB的缓存(外部存储器),用来存储中间结果及图像数据.
压缩后的数据流通过PCI桥传输到主机(PC104Plus模块).
W99200F共有10种工作模式[3],在本系统中它工作在LVE(实时视频编码)模式,图像帧的大小为源输入格式(SIF);图像分辨率为352*288;每秒编码25帧;设置传送码率恒定为1.
5Mbps.
2.
3系统软件开发软件工作包括底层BIOS和操作系统的移植,驱动程序的编写和上层应用软件的编制.
2.
3.
1BIOS和Linux操作系统的移植龙芯PC104Plus处理器模块BIOS的任务是完成对CPU、板级、PCI、外围设备的初始化工作,并能够帮助载入Linux操作系统内核,将系统控制权传交给操作系统,帮助系统正常运转[4].
本系统的BIOS是在原有龙芯LinuxPC主板BIOS的基础上,针对于龙芯PC104Plus处理器模块的特点进行了相应的改动实现的.
最主要的改动包括SDRAM的初始化和Marvell北桥MPP口设置,前者修改了代码中的片选地址设置,使BIOS能顺利访问到SDRAM的寄存器,从而读出内存的参数,进而实现内存的初始化;后者则根据Marvell北桥中对MPP寄存器的定义修改其初始值,使之能正常工作.
Linux是一个以稳定性和安全性著称的优良操作系统,在它的内核发行版本中,早已加入对MIPS架构的支持,原有的龙芯2号Linuxpc的操作系统内核就是在此基础上向龙芯CPU移植的.
龙芯PC104Plus处理器模块采用的内核是根据系统要求,对这个内核进行进一步的裁减后得到的,为压缩卡的驱动加入了模块化支持,并提高了启动速度.
2.
3.
2驱动程序编写设备驱动程序是处理或操作硬件控制器的软件,它是内核中具有高特权级的、驻留内存的、可共享的底层硬件处理例程.
W99200F压缩卡是一个字符设备,它的驱动程序是利用Linux内核提供的可加载模块机制,通过编制init_module()的各个成员函数实现对芯片的各种操作,大部分特定的操作由ioctl对上层提供了调用接口,如表1所示.
表1ioctl函数ioctl调用功能说明IOCTL_GET_DIRVERINFO探测压缩卡参数IOCTL_ACQUIRE_SESSION私有数据初始化IOCTL_SET_VIDEO_CONFIG压缩卡配置参数设置IOCTL_START启动压缩卡IOCTL_ADD_BUFFER压缩卡缓存映射IOCTL_ACCESS_I2C初始化SAA7113IOCTL_WAIT_MESSAGE处理不同类型的消息IOCTL_STOP停止压缩卡为了提高数据传输效率和避免硬件的死锁问题.
驱动程序数据采用DMA传输[5].
数据缓存使用用户层和驱动层共享内存的策略,并采用睡眠唤醒机制查询共享内存空间.
DMA内存缓冲采用了乒乓结构,开辟了2块物理连续的内存空间,用于DMA传输.
当一块DMA内存写满时,即进行标识,然后向另一块未标识的内存写入数据.
内存中数据被拷贝后对标识复位.
这样2块内存交替使用,避免了由于系统效率问题造成的DMA内存中的数据覆盖现象,保证了记录数据的正确性和完整性.
2.
3.
3应用软件编制图4系统软件控制流程PCI0PCI1ETHERNET北桥(GT64240)GODSON2CSYSAD64SODIMMBIOSWATCHDogMPPPCIPLUSPC104南桥82371ISA总线SUPERIO(W83977)键盘鼠标串口并口软驱USBIDE视频源视频解码器压缩编码器PCI桥主机外部存储器初始化视频卡自检启动串口发送自检信息启动文件管理启动音、视频系统是否停止FIFO有无数据是否有切换标志读取数据发停止命令关闭文件查询GOP头加入SEQ头写文件NYY创建串口线程命令初始化串口监听串口信息的判断与处理停止标志开始磁盘空间确认启动定时时钟切换记录路径切换标志主线程串口通信线程文件管理线程视频记录线程(6个)Y开始NN音频记录线程切换标志开始采集数据并接受切换命令进行路径切换(下转第193页)—193—6闪存设备文件系统Flash的寿命以擦除次数表示,一般是100万次.
闪存设备的某块区域一旦超过使用寿命而损坏,即便其它区块是好的也将无法使用.
对于原始Flash芯片,常用的文件系统为cramfs+jffs/jffs2/yaffs/yaffs2+ramfs.
而对于CF卡、DOC或DOM,则用ext2/jffs2+ramfs.
选择合适的文件系统对于提高它们的寿命是非常关键的.
下面以CF卡为例,说明文件系统的安排.
由于/var目录存放系统经常变化的文件比如日志等,因此不能将var里面的文件放在CF卡中.
内存文件系统是在Linux中将一部分内存mount作分区来使用,通常称之为RamDisk.
将内存文件系统挂载到var目录下,里面的文件操作都是在内存中完成.
第1种就是传统意义上的RamDisk,可格式化,然后加载.
其不足之处是大小固定.
不建议使用.
在内核2.
4下可用更简单的方法实现,即内存文件系统(Ramfs).
Ramfs处于虚拟文件系统层,而不像RamDisk那样基于虚拟在内存中的其它文件系统.
无须格式化,只要内存足够可创建多个,并在创建时可指定其最大能用的内存大小.
如果Linux已经将Ramfs编译进内核,则很容易使用Ramfs.
创建一个目录,加载Ramfs到该目录即可:#mkdir/RamDk#mount-tramfsnone/RamDk缺省情况下,Ramfs被限制最多可使用内存大小的一半.
可通过maxsize选项来改变.
由于init进程根据inittab里面的设置首先执行rc.
sysinit脚本,并且该脚本里面执行别的脚本,需要在/var目录下记录日志或者产生锁定文件.
因此必须在使用var前挂载该目录,不然就会出现系统错误.
在合适的地方修改/etc/rc.
d/rc.
sysinit文件,添加如下语句:mount-tramfsnone/varmkdir–p/var/log#建立必要目录…这样系统启动后/var目录下的文件均存在于内存中,减少了系统对CF卡的频繁读写,提高了使用寿命.
对于普通Flash芯片,利用工具软件将文件系统先做成cramfs/jffs2/yaffs2映像文件,烧入Flash芯片中,挂载ramfs系统到tmp目录,进行相应的暂存,对实际要保存的文件写入jffs2/yaffs2文件格式的系统中.
7结束语本文主要介绍了多种闪存设备的结构和特点、着重说明它们如何在嵌入式Linux系统中被内核支持和文件系统的设计.
嵌入式系统在工业控制、信息产品中的不断应用,闪存设备的适用范围也将越来越广.
参考文献1BovetDP,CesatiM.
UnderstandingtheLinuxKernel[M].
O'Reilly,2002.
2EmbeddingRedhatLinuxinaDiskOnChipHOWTO[EB/OL].
2005.
http://www.
prosig.
com/protor/kbase/DiskOnChipDevelopment-HOWTO.
pdf.
3IntelCorporation.
UnderstandingtheFlashTranslationLayer(FTL)Specification[Z].
1998.
4CompactFlashSpecification[Z].
2005.
http://www.
compactFlash.
org/cfspc3_0.
pdf.
5BrakeC,SutherlandJ.
FlashFilesystemsforEmbeddedLinuxSystems[J/OL].
2005.
http://www.
linuxjournal.
com/article/4678.
6MalikV.
TheLinuxMTD,JFFSHOWTO[EB/OL].
2005.
http://ftp.
linux.
org.
uk/pub/people/dwmw2/mtd/cvs/mtd/mtd-jffs-HOWTO.
txt.
(上接第190页)应用软件的流程如图4所示.
软件首先完成系统的初始化,并根据需要设置相应的视频记录参数,主要参数如表2所示,这些参数决定了最终记录的视频数据的格式.
软件还必须使W99200F通过I2C总线对视频解码器SAA7113进行配置.
表2主要寄存器定义寄存器注释Video_format选取制式:NTSC、PALVframe_pattern选取"m"和"n"的值Vbit_rate_m,Vbit_rate_1选取比特率Vbv_size选取VBV大小Vbv_initial选取VBV初始化的充满度Vwork_mode比特[4:0]=0x0Vgop_header选取GOP头和序列头频率初始化结束后,利用Linux系统提供的多线程机制,软件同时启动6路视频压缩卡进行工作,系统在运行时同时启动了10个线程,其中每路压缩卡的记录各开一个单独的线程,保证了它们能够实时的读取FIFO中的数据;音频数据的记录用另外一个线程;还有另外的两个线程分别用来根据切换标志周期性地创建文件夹和监听串口传来的指令信息并进行相应的处理.
线程之间的通信与同步采用了POSIX[5]提供的信号量(Semaphores)和互斥量(Mutex)机制.
系统软件实现了与外界通过串口进行有效的通信,以获取射击信号及事件标志,在所记录的文件中予以标记.
最后,系统从串口接收关机信号,由主线程停止各个记录线程和监听线程,然后自己退出线程,完成视频记录工作.
3结论本机载视频记录系统基于龙芯2号处理器PC104Plus模块构建,采用移植后的Linux操作系统,通过W99200F进行实时视频压缩,实现了对6路视频和1路音频的实时记录,所有记录数据均符合多媒体技术的相关标准,同时由于采用了国产高性能CPU和开放源代码的操作系统,也实现了高安全性和高可靠性.
本系统成功完成了各项功能指标验证,准备进行环境实验,以便装配于某型主战飞机.
它同时也为我军机载设备采用国产CPU芯片提供了一个先例.
参考文献1PC104PlusSpecificationVersion2.
0[EB/OL].
2003-11.
http://www.
pc104.
org.
2中国科学院计算技术研究所.
龙芯2号用户手册[R].
2004.
3WinbondElectronicsCorp.
W99200FMPEG1VideoEncoderDataSheet[EB/OL].
1999.
http://www.
winbond.
com.
tw.
4高翔.
Godson主板BIOS的开发[D].
合肥:中国科学技术大学,2002.
5.
张立冬,程晓宇.
某型机载数字音视频记录系统的软件设计与开发[J].
计算机工程,2005,31(6):213-215.
6MatthewN,StonesR.
Linux程序设计[M].
北京:机械工业出版社,2002.

云基Yunbase无视CC攻击(最高500G DDoS防御),美国洛杉矶CN2-GIA高防独立服务器,

云基yunbase怎么样?云基成立于2020年,目前主要提供高防海内外独立服务器,欢迎各类追求稳定和高防优质线路的用户。业务可选:洛杉矶CN2-GIA+高防(默认500G高防)、洛杉矶CN2-GIA(默认带50Gbps防御)、香港CN2-GIA高防(双向CN2GIA专线,突发带宽支持,15G-20G DDoS防御,无视CC)。目前,美国洛杉矶CN2-GIA高防独立服务器,8核16G,最高500G ...

HaloCloud:日本软银vps100M/200M/500M带宽,,¥45.00元/月

halocloud怎么样?halocloud是一个于2019下半年建立的商家,主要提供日本软银VPS,广州移动VDS,株洲联通VDS,广州移动独立服务器,Halo邮局服务,Azure香港1000M带宽月抛机器等。日本软银vps,100M/200M/500M带宽,可看奈飞,香港azure1000M带宽,可以解锁奈飞等流媒体,有需要看奈飞的朋友可以入手!点击进入:halocloud官方网站地址日本vp...

麻花云-香港CN2云服务器,安徽BGP线路,安徽移动大带宽!全系6折!

一、麻花云官网点击直达麻花云官方网站二、活动方案优惠码:专属优惠码:F1B07B 享受85折优惠。点击访问活动链接最新活动 :五一狂欢 惠战到底 香港云主机 1.9折起香港特价体验云主机CN2 云服务器最新上线KVM架构,,默认40G SSD,+10G自带一个IPv4,免费10Gbps防御,CPU内存带宽价格购买1核1G1M19元首月链接2核2G 2M92元/3个月链接2核4G3M112元/3个月...

笔记本内存条为你推荐
虚拟主机价格虚拟主机一般多少钱一年独立ip空间如何设置独立IP加到现有空间asp主机空间asp空间是什么ip代理地址IP代理什么意思?国内ip代理谁有最快的国内IP代理HTTP虚拟空间哪个好哪个网络服务商的虚拟空间服务比较好呢?100m网站空间100M的最好的网站空间价格多少?深圳网站空间深圳网站设计 哪家好一些?论坛虚拟主机我要做个论坛,是用虚拟主机呢?还是用空间?除论坛外还有好及个单页,还带数据库。域名交易域名如何买卖??
查域名 域名停靠一青草视频 注册cn域名 互联网域名管理办法 idc评测 stablehost 网页背景图片 云图标 镇江联通宽带 一元域名 e蜗牛 合租空间 php空间购买 河南移动m值兑换 Updog 万网主机管理 太原联通测速 dnspod lick 工信部icp备案查询 更多