您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于嵌入式系统的图像采集与传输设计
44140USBInternet1ARM920TS3C2410A,400MHzMMUPDA512MbitSDRAM133MHz32bit()512MbitNANDFLASH8bit16MbitNORFLASH16bit10MbpsCS8900A-CQ3RJ453GPRSARM20JTAG2USBHOSTUSBFULLSPEEDHUB1USBDEVICEUSBFULLSPEEDCPLD1USBUSBCMOSOV762035×104CMOS30RGB24640×480OV5112007-09-15E-mailmz848@163.com(1987)(214122)LinuxS3C2410USBVideo4-Linux;;;;TP368A1000-7024(2008)17-4414-03DesignofimagegatherandtransferbasedonembeddedsystemMENGChao,ZHANGXi-huang(SchoolofInformationTechnology,SouthernYangtzeUniversity,Wuxi214122,China)AbstractAvideoimagesystembasedontheembeddedLinuxandS3C2410isintroduced.ThesystemcatchthevideoimagethroughtheUSBcamera.ThedesignusethetranslateandeditinterfaceprovidingbyVideo4Linuxmoduletodesignthecollectionprogrammeofvideoimage.BycompressethestreammediumistransmittedbyInternetincludingthedesignofsoftwareontheservermainly,realizationofthedrivingandimagegatheringapplicationsofthecamera,imagesendingandreceivingapplicationbyinternet,multiplethreadsynchronizingandsoon.Itiswidelyusedinthefieldoflong-distancemonitorsystem,videotelephone,industrycontrolandsoon.Keywordsimagegathering;networkingprogramming;embeddedsystem;multiple-threadsynchronizing;long-distancemonitorsystem20089Sept.20082917Vol.29No.17ComputerEngineeringandDesign1S3C2410256LCDS3C2410CPUJTAGRS232PCAX88796FLASHSDRAM4415ICUSBICDRAMUSBI2CFIFOUSB22.1VIVI(BOOTLOAD)Linux2.4.18ARMBOOTLOADER(bootloader)BIOSvivi(vivibootloader)NANDflashviviNAND2.2arm-linux-gccNFSTFTPTFTPfedore2.3(1)Video4LinuxVideoforLinux(2)MultimediadevicesVideoforLinuxVideo4LinuxUSBSupportUSBMultimediadevicesUSBOV511CameraSupportOV511USB(3)makedepmakezImagemakemodulespca5xxspc5xx..ospc5xx..oNFSmountramdiskinsmodspca5xx.o(4)LinuxUSB3ARM920TUSBUSBARMInternetPCARMWeb3.12SOCKETsockfd=socket(AF_INET,SOCK_STREAM,0)bind(sockfd,(structsockaddr*)(&server_addr),sizeof(structsockaddr))==-1)listen(sockfd,5)5ACCEPT()while(1){connectfd=accept(listenfd,NULL,NULL);if(connectfd0){perror(accetp()error\n);}rc=pthread_create(&id,NULL,pthread_pic,NUL);if(rc!=0){printf(Createpthreaderrer:%s\n\a,strerror(errno));exit(5);}rc=pthread_create(&id,NULL,pthread_send,NUL);if(rc!=0){printf(Createpthreaderrer:%s\n\a,strerror(errno));exit(5);}close(connectfd);}sem_tsem1sem2;sem1,sem2103.22Y4416Video_capability()video_channelvideo_mbufmmapvideo_bufferbuffervideo_mmapmmap(1)sem1sem_wait(&sem1)sem1-1(2)Linuxgrab_fd=open(/dev/video0,O_RDWR)if(grad_fd=0){printf(openerror);exit;}ioct1(grab_fd,VIDIOCGCAP,&grab_cap);grab_capstructvoide_capability(3)ioct1(grab_fd,VIDIOCGPICT,&grab_pic);grab_picstructvoide_pictureUSBV200064048030USB(4)ioct1(grab_fd,VIDIOCGMBUF,&grab_vm);grab_vmstructvoide_mbufstructvoide_mmapgrab_bufgrab_buf.frame=024grab_buf.height=240;grab_buf.width=320;grab_buf.format=VIDEO_PALETTE_RGB24;(5)unsignedchar*grab_data=(unsignedchar*)mmap(0,grab_vm.size,PROT_READ|PROT_WRITE,MAP_SHARED,grad_fd,0);*ioctl(vd-fd,VIDIOCMCAPTURE,&(vd-mmap))VIDIOCSYNC*ioctl(vd-fd,VIDIOCSYNC,&frame)(6)sem2singalsem_post(&sem2),sem2+13.3(1)sem2waitsem_wait(&sem2)sem2-1(2)send()TCPlSOCKETsend()len(3)sem1Signalsem_post(&sem1)sem1+134S3C2410LinuxUSBARM:[1].LinuxUSB[J].,2007,28(8):1885-1888.[2],,,.Linux[M].:,2005.[3],.ARM7LinuxUSB[J].,2006,27(6):1069-1071.[4].Linux[M].:,2006.[5].Linux[M].:,2005[6].[M].:,2005.[7].Linux[M].:,2006.[8],,.USB[M].:,2003.[9].Linux[M].:2000.[10]AlessandroRuibini.Linux[M].:,2000.[11]Compaq,Hewlett-Packard,Intel,Lucent,Microsoft,NEC,Philips.Universalserialbusspecificationrevision2.0[S].2000.3Sem_wait(&sem2)Send()sem_post(&sem1)Sem_wait(&sem1)sem_post(&sem2)
本文标题:基于嵌入式系统的图像采集与传输设计
链接地址:https://www.777doc.com/doc-3699965 .html