华中科技大学硕士学位论文嵌入式流媒体IP接入模块的设计与实现姓名:吴玮申请学位级别:硕士专业:光电信息工程指导教师:胡必春20061114IPCIEIP(1)IP(2)IPuClinuxIPIP(3)IPUDP/IPTCP/IPARPDHCPHTTPSMTPuClinuxIIAbstractAlongwiththecontinuousdevelopmentofthenetworktechniqueandthehighperformanceprocessors,thevideomonitoringsystem(VMS)hascomethroughthefirstgenerationVMSwhichfocusesontransportandprocessthesimulativesignals,andthesecondgenerationVMSwhichismarkedwiththesimulativevideotransmissionandpersonalcompute(PC)basedvideoprocessing.Currently,anewgenerationVMSwhichtakestheInternetasthecarrier,andattachesmostimportancetothenetworkedvideoserveemergesonthestage.Itshowsthecharacteristicofexploitingservertoeffectivelycompressthesimulativedatadirectly,deliveringthevideopictureandthecontrolsignalswithstreamingformattothenetworkconnectingend.TheusersgetthevideoandaudiodatabytheclientsoftwareortheInternetExplorerinreal-time.OnthebaseofanalyzingthedifferentunderlyingstructureofVMSs,weaimatdesigningtheconnectionmoduleinsidetheStreammediaVMS,andstudyinghowtoimprovetheIPconnectionoftheStreammediaVMS,accordinglytoresearchandimplementastableVMSwhichhasthecompleteindependentintelligentpropertyright.Themaincontentsareasfollows:(1)BysummarizingthepresentdevelopmentstatusoftheVMS,thewholestructureoftheStreammediaVMSandthehardwareblueprintofIPconnectionmoduleareproposed.Thekeytechniquesinvolvedtothesystemareanalyzed.(2)CompletingthesoftwaredesigningofthestreamingIPconnectionmodule,andtransplanttheuClinuxasitsoperatingsystem.ThebootloaderoftheuClinuxismodifiedandthekernelistailored.Thematerialframeincludesthemastercontrolprogram,videoandaudiotransportingprogramandassistantmanagementprogram.AserialofkernelmodulesarealsodevelopedtosupporttheIPconnection.(3)TheStreammediaIPconnectionmodulehasbeendevelopedaccordingtotheprojectsrequirements.ItsupportsmultipleprotocolssuchasUDP/IP,TCP/IP,ARP,FTP,DHCP,HTTPandSMTP.Italsorealizesthereal-timeplaying,thecooperativealarmingandtheremoteupdatingfunction.Afteralongtimetestandevaluation,thesystembecomesmoreperfectandrunsmorestable.Keywords:StreammediaEmbeddeduClinuxDriversWuhan430074,P.R.ChinaNovember,2006111.1[1-11][7-11](VOD)1.21[1]22PCWindowsUnixLinuxDVRDigitalVideoRecorder1/2/412DVR3PCWindowsWindowsWindowsCPU[12]VxWorks[8]uClinux[13,14]WindowCE[11]PCIPStreammedia[15-21]3TCP/IP1.3IPIPTVARM7TDMIS3C4510B/MPEG4uClinuxLinuxIPuClinuxuClinux42IP2.1CIP192.168.0.101CIP192.168.0.102CIP192.168.0.103CIP202.114.2.200192.168.0.3192.168.0.4CIP202.114.100.10CIP203.114.1.128202.113.2.101NAT192.168.0.161.111.172.169192.168.0.3192.168.0.2NAT192.168.0.1202.114.2.100DVR192.168.0.22.12.1IPIPCCCUIPTCPUDPRJ45IPIPIPIP15RS232IPDHCPIPRJ45ADSLPPPOE23DVR4IPUSBIDE5IP4GPIO2.2IPSDRAMS3C4510B656/601VideoDecoderPCMCODECSDRAMFLASHMPEG-4RJ-45/10/100-BaseTIISI2CRS485MPEG4PDT2.2IP2.2PCMCODECPCMAUVideoDecoderYCITU-RBT.656MPEG-4[22]PCMITU-RBT.656MPEG-4CPU6S3C4510BMPEG4S3C4510TCPUDPSDRAMIP2.3IP2.3.1[22]MNM*NM*N8bit16bit256bit2.3.2H.263JPEGMPEGMPEG-17MPEG-2MPEG-4ISOMPEG-XMPEG[23]MovingPicturesExpertsGroupMPEGMPEG-4MPEG-410Kbit/s1Mbit/sMPEG-4objectVideoobjectVOAudioobjectAOMPEG-4MPEG-4MPEG-1M-JPEG1/10MPEG-4MPEG-4CIF768×576640×4802.1MPEG-4MJPEGMPEG-1MJPEGMPEG-1MPEG-41111111116K7.2K11K9M10.8M16.5M535M625M950M2.4K2.4K2.4K3.5M3.5M3.5M212M212M212M0.7K1.1K1.7K1.02M1.6M2.42M60.2M93M148M8MPEG-4H.263H.263MPEG-42.2MPEG-41%MPEG-1MPEG-4MPEG-110MPEG-41~32.2MPEG-1H.263MPEG-4PSTNLAN25/500Kbit5-9/25/256Kbit5-15/25/256KbitsMPEG-4MPEG-42.4MPEG-4CPUDSPPCCPUASIC[24]DSP[24]DSPDSPMPEG-4MPEG4DSP9ASICASICMPEG-4ASIC20%50%DSP1040MPEG-4MPEG-4ASIC2.5IPMPEG4S3C4510BMPEG4CPUMPEG-4MPEG-4ASIC103uClinux3.13.1.1[12,25]CPUCPUAPIInternetInternetInternetInternetInternet113.1.2RTOS1VxWorksVxWorks[8]WindRiver1983RTOSTornado102WindowsCEWindowsCE[11]WindowsWindowsCEWinCE3.032WindowsCEWindows3LinuxLinuxGPLIDGLinux50%LinuxLinux124µC/OS-µC/OS-[26]81632DSPµC/OSµC/OSAPI5uClinuxuCLinuxLineoLinuxuCLinuxMMUMemoryManagementUnitCPUKB3.2uClinuxuClinuxLinuxLinux2.0noMMUARM7TDMIColdfireLinuxuClinuxLinux2.0LinuxuClinuxuClinuxuClinuxLinuxuClinuxMMU13uClinuxLinuxuClinuxLinuxromfsext2romfsext2romfssuperblockuClinuxLinuxTCP/IPuClinuxuClinuxuClinuxuClinuxLinuxuClinuxuClinux31linux/archuClinuxlinux/arch/Linux2uClinuxARM14S3C4510noMMUsnds100linux/arch/armnommu/mach-snds100/3uClinuxlinux/arch/armnommu/uClinuxuClinuxTCP/IPLinuxuClinuxuClinux3.3uClinuxuClinuxBootLoader[27,28]uClinux[29,30]BootLoaderBootLoaderPCBIOSFlashBootLoader12SDRAMBootLoaderBootLoader12tftp3uClinux4BootLoaderCPUCPU15BootLoaderS3C4510SDRAM16MNorFlash2M10/100MRTL8019ASRS232BootLoaderARMlinuxflashBootLoader3.1BootLoaderflashBootLoaderflash3.1bios3.4uClinuxbuild-inmodule.omakemenuconfigmakemenuconfig16uClinuxmakeconfigmakemenuconfigmakexconfigXwindowsmakeoldconfigY*――N――M――makemenuconfigCustomizeKernelSettingsNEWCustomizeVendor/UserSettingsNEWlinuxkernelv.2.4.22-uc0configurationsystemtypefilesystemsnetworkdevicesupportcharacterdevicessystemtype(samsungarmsystemtypegeneratebigendiancodesetflash/sdramsizeandbaseaddr(romkernelexecutesfrom(s3c4510-snds100boardimplementationflash/sdramkernelroms3c4510-snd