系统笔记本内存条
笔记本内存条 时间: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.
- 系统笔记本内存条相关文档
- "深圳海关罚没财物委托拍卖信息2019第3号",,,,,,,
- "深圳海关罚没财物委托拍卖信息2014第26号",,,,,,,
- "深圳海关罚没财物委托拍卖信息2011第63号",,,,,,,
- "深圳海关罚没财物委托拍卖信息2018第45号",,,,,,,
- 成都联星微电子股份有限公司
- 项目编号:SDGP371121201902000180
Sharktech最近洛杉矶和丹佛低价配置大部分都无货了,只有荷兰机房还有少量库存,商家又提供了两款洛杉矶特价独立服务器,价格不错,CPU/内存/硬盘都是高配,1-10Gbps带宽不限流量最低129美元/月起。鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主...
最近很多网站都遭受到了伪墙/假墙攻击,导致网站流量大跌,间歇性打不开网站。这是一种新型的攻击方式,攻击者利用GWF规则漏洞,使用国内服务器绑定host的方式来触发GWF的自动过滤机制,造成GWF暂时性屏蔽你的网站和服务器IP(大概15分钟左右),使你的网站在国内无法打开,如果攻击请求不断,那么你的网站就会是一个一直无法正常访问的状态。常规解决办法:1,快速备案后使用国内服务器,2,使用国内免备案服...
HostKvm又上新了,这次上架了2个线路产品:俄罗斯和香港高防VPS,其中俄罗斯经测试电信CN2线路,而香港高防VPS提供30Gbps攻击防御。HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。俄罗斯VPSCPU:1core内存:2G...
笔记本内存条为你推荐
主机租用独立主机出租是什么意思美国vps服务器美国VPS服务器哪家的速度快已备案域名查询如何查询网站的域名是否已经备案国外主机空间可以购买国外主机(空间一样吗?)来做私服吗?台湾vps哪个地区的VPS从大陆访问快呢。域名备案域名怎么备案php虚拟空间怎样修改php虚拟空间单个文件上传大小限制合肥虚拟主机虚拟主机哪里买好一些?windows虚拟主机在windows 系统上装虚拟机有什么好的建议asp虚拟主机支持ASP MSSQL 的虚拟主机有哪些推荐
westhost 美元争夺战 视频存储服务器 警告本网站 web服务器架设软件 彩虹ip 国外代理服务器软件 hkt 789电视剧 无限流量 阿里云官方网站 数据库空间 qq金券 lamp兄弟连 摩尔庄园注册 cdn服务 防盗链 hosts文件修改 美国达拉斯 赵荣博客 更多