tag 标签: s3c2440

相关博文
  • 热度 18
    2013-11-14 15:05
    1132 次阅读|
    1 个评论
      较为完整的S3C2440A处理器中文手册压缩包,请点击下载:   s3c2440中文数据手册.rar
  • 热度 24
    2013-6-13 01:15
    1824 次阅读|
    0 个评论
    随着社会的发展和进步,人们的生活步调加快,如家庭生活和工作等环境中会经常出现无人的情况,此时安全问题令人担忧,研制一个适宜的安全监控系统是十分必要的。然而,目前大多智能监控系统需要借助一些传感器,如热红外、烟雾等,来实现智能监控,这样提高了成本,使系统变得复杂,可靠性降低。因此设计一种简易的智能家居监控系统是必要的。本文提出了运动物体检测的设计方案。当有外来入侵者时,系统会追踪运动目标并将其锁定,拍摄记录下其图片,并会发出报警信号,警告入侵者离开。同时系统将会通过GPRS网络发送警告信息和入侵者的图片,让用户可以随时了解监控区域的情况。 本文以嵌入式系统ARM+Linux系统为平台设计了智能家居监控系统。系统采用背景差法实现对视频序列中运动目标的检测,根据检测结果实现报警功能,同时利用GPRS移动通信覆盖区域广阔的特点,以短信和彩信的形式将信息发送到用户手机,从而实现智能监控 。 1 监控系统的功能概述及工作流程 本智能监控系统是基于嵌入式ARM-Linux开发的,系统实现图像采集、运动目标检测、现场警报并通过GPRS网络实现短信和彩信的发送。 系统要实现的主要功能有:(1)采用背景差法实现对视频序列中运动目标检测;(2)通过GPRS发送报警短信和检测到的运动目标图像彩信;(3)通过声卡在现场播放报警音乐。 系统工作流程为:首先,运行运动目标入侵检测模块,驱动USB摄像头进行图像数据采集,在ARM处理器中进行运动目标检测算法计算工作。当系统检测到有运动目标入侵时,系统会拍摄下运动目标入侵者的图像并保存在文件夹中。此时,系统将开启现场报警程序模块,通过声卡UDA1341驱动音箱播放报警音乐,来警告非法入侵者离开。同时,系统通过串口发送AT指令来启动GPRS无线模块M20,GPRS模块发送报警短信和入侵者的图片到用户手机。 2 系统硬件平台构建 本系统硬件由以下模块构成:中芯微的USB摄像头zc0301、GPRS彩信模块M20、声卡UDA1341、音箱、三星公司的微处理器S3C2440,256 MB NAND Flash以及64 MB SDRAM。S3C2440微处理器内部集成了ARM公司ARM920T处理器核的32 bit微控制器,其资源丰富,带独立的16 KB指令Cache和16 KB数据Cache,还有NAND闪存控制器及RAM控制器,系统主频最高可达203 MHz 。本系统硬件结构框图如图1所示。 本系统用USB摄像头zc301进行图像采集,得到JPEG格式图像,通过声卡UDA1341驱动音箱报警,用M20实现彩信图片发送。 3 系统软件设计 本视频监控系统软件是基于ARM-Linux平台开发的。首先在系统上移植Uboot、Linux-2.6.30内核和根文件系统。系统移植zc0301摄像头驱动、声卡UDA1341驱动和串口驱动。系统需要设计基于背景差法的运动图像检测算法的软件实现 。报警模块需要移植MP3播放器madplay,设计报警控制程序及GPRS警告信息发送程序。系统的应用软件体系结构如图2所示。 3.1 运动图像检测 视频序列检测为智能视频监控提供了便利。本系统通过运动检测实现自动报警和图片拍摄,而在以往的监控系统中通常是采用人工干预的方式或者增加额外报警电路的方式实现报警功能。通过视频序列检测运动目标则可以提高监控系统的自动化程度,节约人力 。运动目标检测和跟踪是视觉领域的重要课题。系统对视频视野内是否有入侵者进行检查,当检测结果超出认定的变化阈值时,系统就会自动报警并拍摄下运动目标的照片。 本文采用背景差法进行运动图像检测。背景差法基于图像序列和参考背景模型相减实现运动物体的检测,它能较好地检测出运动目标有关的所有像素点 。由于视频监控系统位置是固定的,场景不会实时变化,因此适合采用背景差法进行运动目标检测 。 修改配置文件motion-dist.conf:设置图像大小为320×240,设置摄像头采集速度为30帧/s,设置像素变化检测认定为图像变化的阈值threshold=90,设置当检测到有图像变化时,把运动区域用矩形框起来等配置信息。 移植motion:首先进入源码包交叉编译#./configure、#make和#make install,这样就完成了移植工作。之后#./motion-c motion-dist.conf,即可开始验证运动图像检测。 报警模块是根据motion检测的结果(图像变化超过阈值90)作出报警反应。报警模块移植了MP3播放器madplay及报警音乐播放处理程序。当检测到图像像素变化达到阈值时,则开始播放MP3报警音乐。 《电子设计技术》网站版权所有,谢绝转载 3.2 短信发送 短信的发送方式有TEXT模式和PDU模式两种,本文采用TEXT模式向用户发送报警短信。发送英文短信的主要步骤如下: (1)打开串口; (2)初始化串口参数; (3)发送AT+CMGF=1命令,通知手机模块采用TEXT模式; (4)发送AT指令AT+CMGS="150968807501",通知手机模块用户的电话号码; (5)添加发送的警告信息内容; (6)发送结束,关闭串口。 3.3 彩信发送 运动目标检测部分在检测到运动目标入侵时会拍摄下运动目标的图像,将其存储在/root/motion文件夹下。发送彩信时则将读取相关图片,并采用彩信发送的指令发送彩信 。发送彩信的步骤为: (1)发送指令AT+QIFGCNT=1,以配置场景; (2)发送AT+QICSGP=1,"CMWAP"设置接入点; (3)发送指令AT+QIREGAPP以设置用户名及密码,通常默认为空; (4)发送AT+QIACT激活GPRS; (5)发送AT+QILOCIP查询本机IP是否连上GPRS; (6)发送AT+QMMSW=1,1,"150968807501"设置目标手机号码; (7)发送AT+QFUPL="pic_name.jpg",2 644,即上传图片并起名为pic_name.jpg,图片大小为2 664; (8)发送AT+QMMSEND=1,发送彩信。 应用软件部分代码如下: /*pic.txt用于记录文件pic.txt记录是否有图像变化。1:有图像变化0:没有图像变化*/ pic_fd=open("pic.txt",O_RDWR|O_CREAT,0666); read(pic_fd,pic_buf,1); if(pic_buf ==′1′) /*检测到有图像变化*/ start_playMP3(); /*播放MP3报警音乐函数*/ send_text(); /*发送文本短信*/ fd=open(pic_name.jpg,O_RDWR,0777)); len=read(fd,buff); send_MMS(”150968807501”,len,buff);/*发送彩信*/ strcpy(uart_buff,AT_QIDEACT); strcpy(ptr1_code,AT_QMMSEND); Send_AT_Command(ptr1_code); /*发送彩信*/ Send_AT_Command(uart_buff); /*断开连接*/ return 0; 4 系统测试 运动目标检测的测试结果如图4所示,当摄像头视野内出现运动物体且像素变化达到设定的阈值时,报警模块发出警报,同时拍摄下一组运动目标的图像,在照片内用方框标定运动目标。用户手机接收到报警短信和彩信,如图5所示。 本文提出了一种基于运动检测的智能家居监控系统设计方案,该系统最终完成了运动目标的检测功能。当有物体入侵时,系统可以灵敏地检测到运动目标,然后拍摄下入侵者的照片,将图片发送到用户的手机,并发出报警信号。系统能够满足无人值守环境的应用需求,提高了系统的智能化水平。 《电子技术设计》网站版权所有,谢绝转载
  • 热度 19
    2012-4-4 12:23
    2150 次阅读|
    0 个评论
      作者:下家山 (转载,请注明) 一:60个中断源        S3c2440共有60个中断源。        主中断源如下: 子中断源如下:     二:中断优先级        S3c2440共有7组基于优先级轮转的冲裁机制来控制32个中断源。   说明: ①ARBITER6所控制的REQ0,1,2,3,4,5实际上对应ARBITER0,1,2,3,4,5 ②REQ0在任何情况下具有最高优先级,REQ5具有最低优先级;   对这句话的理解:   对ARBITER1-4来说,在任何情况下:REQ0具有最高优先级,REQ5具有最低优先级   对ARBITER6来说,在任何情况下:ARBITER0具有最高优先级,ARBITER5具有最低优先级 2.1 优先级控制原理        S3c2440是通过Priority Register(优先级寄存器)来控制32个中断请求的,而在这个寄存器中是通过ARB_MOD(PRIORITY )和ARB_SEL(PRIORITY )来区分优先级的。       2.1.1 当ARB_MOD为0        REQ1-4(REQ0,5优先级固定)优先级不轮转,顺序即为开始设置好的顺序。        复位值: ARB_SEL0 00 优先级次序:REQ1REQ2REQ3REQ4(即:EINT0EINT1EINT2EINT3); ARB_SEL1 00 优先级次序:REQ0 REQ1REQ2REQ3REQ4REQ5 (即:EINT4_7EINT8_23INT_CAMNbatt_FLTINT_TICKINT_WDT/AC97); ARB_SEL2 00 优先级次序:REQ0 REQ1REQ2REQ3REQ4REQ5 (即:INT_TIMER0 INT_TIMER1 INT_TIMER2 INT_TIMER3 INT_TIMER4 INT_UART2); ARB_SEL3 00 优先级次序:REQ0 REQ1REQ2REQ3REQ4REQ5 (即:INT_LCD INT_DMA0 INT_DMA1 INT_DMA2 INT_DMA3 INT_SDI); ARB_SEL4 00 优先级次序:REQ0 REQ1REQ2REQ3REQ4REQ5 (即:INT_SPI0 INT_UART1 INT_NFCON INT_USBD INT_USBH INT_IIC); ARB_SEL5 00 优先级次序:REQ1REQ2REQ3REQ4 (即:INT_UART0INT_SPI1INT_RTC INT_ADC); 其他组值: ARB_SEL bits are 01b, the priority order is REQ0, REQ2, REQ3, REQ4, REQ1, and REQ5. ARB_SEL bits are 10b, the priority order is REQ0, REQ3, REQ4, REQ1, REQ2, and REQ5. ARB_SEL bits are 11b, the priority order is REQ0, REQ4, REQ1, REQ2, REQ3, and REQ5. 具体优先级次序不一一列出。     2.1.2 当ARB_MOD为1 当ARB_MOD==1,REQ1-4优先级次序会随着当前中断服务程序轮转: (REQ0和REQ5因为优先级固定而不参与轮转) If REQ0 or REQ5 is serviced, ARB_SEL bits are not changed at all. If REQ1 is serviced, ARB_SEL bits are changed to 01b. If REQ2 is serviced, ARB_SEL bits are changed to 10b. If REQ3 is serviced, ARB_SEL bits are changed to 11b. If REQ4 is serviced, ARB_SEL bits are changed to 00b. 上面是来自s3c2440 datasheet的原话,怎么理解呢? ARB_SEL bits are 00b, the priority order is REQ0, REQ1, REQ2, REQ3, REQ4, and REQ5. ARB_SEL bits are 01b, the priority order is REQ0, REQ2, REQ3, REQ4, REQ1, and REQ5. ARB_SEL bits are 10b, the priority order is REQ0, REQ3, REQ4, REQ1, REQ2, and REQ5. ARB_SEL bits are 11b, the priority order is REQ0, REQ4, REQ1, REQ2, REQ3, and REQ5. 如果ARB_SEL初始值为00,即优先级次序为REQ0 REQ1REQ2REQ3REQ4REQ5 当当前中断是REQ1,并且处理完毕,则ARB_SEL自动改变到01,即优先级次序轮转一次变成REQ0 REQ2REQ3REQ4REQ1REQ5 紧接着REQ2中断发生并处理完毕,则ARB_SEL自动改变到10,即优先级次序轮转一次变成REQ0 REQ3REQ4REQ1REQ2REQ5 再接着REQ3中断发生并处理完毕,则ARB_SEL自动改变到11,即优先级次序轮转一次变成REQ0 REQ4REQ1REQ2REQ3REQ5 最后REQ3中断发生并处理完毕,则ARB_SEL自动改变到00,即优先级次序轮转一次变成REQ0 REQ1REQ2REQ3REQ4REQ5 REQ1REQ2REQ3REQ4就像一个链条或者说是一个履带,每发生一次中断就转动一次。   这里会有一个矛盾: 当ARB_SEL初始值为00,即优先级次序为REQ0 REQ1REQ2REQ3REQ4REQ5 此时:我们只用了REQ0,REQ1,REQ3,REQ4 当REQ3发生,并处理完毕。ARB_SEL值应该是多少??? 应该为11? 三:中断控制原理        S3c2440的中断控制原理可以通过下面的图体现出来:   可是这个图却有几个地方让人模棱两可。        疑问一:SUBSRCPND              SRCPND               INTPND        疑问二:SUBMASK                MASK 我们来看s3c2440 datasheet的定义: 3.1 Interrupt Pending Register The S3C2440A has two interrupt pending registers: source pending register (SRCPND) and interrupt pending register(INTPND). These pending registers indicate whether an interrupt request is pending or not. When the interrupt sources request interrupt the service, the corresponding bits of SRCPND register are set to 1, and at the same time,only one bit of the INTPND register is set to 1 automatically after arbitration procedure. If interrupts are masked, then the corresponding bits of the SRCPND register are set to 1. This does not cause the bit of INTPND register changed.When a pending bit of INTPND register is set, the interrupt service routine will start whenever the I-flag or F-flag is cleared to 0. The SRCPND and INTPND registers can be read and written, so the service routine must clear the pending condition by writing a 1 to the corresponding bit in the SRCPND register first and then clear the pending condition in the INTPND registers by using the same method.   3.2关于SRCPND      INTPND        当一个中断源被请求【(主中断源,即不带子中断的中断源),例如某一个外部中断引脚上出现了低电平(一般是低电平或下降沿触发中断)】        如果中断没有被屏蔽:               SRCPND对应位将置1。               与此同时,INTPND中的某一个位在得到优先级冲裁后(对应中断位)将自动置1。        如果中断被屏蔽:               SRCPND对应位将置1。               但此时,该中断不会被冲裁,也不会改变INTPND相关位,如上图所示,在MASK地方就被截断了。 3.3关于 INTPND        当INTPND某一个位被置位,此时只要CPSR中的I-flag或F-flag被置位,中断函数就会被执行。 四:外部中断 4.1 外部中断与主中断的关系   从上图可以一目了然的看出EINT8-23和EINT8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23之间的关系(EINT4-7和EINT4,5,6,7)。 4.2 外部中断控制原理     外部中断触发方式: 五:结束语        中断部分,是整个arm架构中比较难理解的部分,本文有不正确之处,请与我讨论。可以跟我发邮件!(ximenpiaoxue4016@sina.com) 转载:请注明,作者,下家山   请尊重原创!    
相关资源
  • 所需E币: 3
    时间: 2022-10-8 22:38
    大小: 552.44KB
    上传者: czd886
    基于S3C2440嵌入式平台的USB摄像头视频监控
  • 所需E币: 0
    时间: 2022-10-8 22:35
    大小: 478.2KB
    上传者: czd886
    面向S3C2440的视频监控设计与实现
  • 所需E币: 5
    时间: 2022-10-6 11:09
    大小: 846.22KB
    上传者: ZHUANG
    基于S3C2440的嵌入式视频监控实现
  • 所需E币: 4
    时间: 2022-10-6 11:09
    大小: 270.98KB
    上传者: ZHUANG
    基于S3C2440的家用视频监控系统的设计.
  • 所需E币: 3
    时间: 2022-1-6 09:56
    大小: 279.63KB
    上传者: ZHUANG
    基于嵌入式S3C2440的船舶导航系统设计
  • 所需E币: 1
    时间: 2022-1-6 13:42
    大小: 652.69KB
    上传者: ZHUANG
    S3C2440嵌入式音频系统设计与实现
  • 所需E币: 3
    时间: 2021-4-21 01:31
    大小: 208.68KB
    上传者: zyn518
    单片机STM32F103RCT6 S3C2440学习四.pdf
  • 所需E币: 0
    时间: 2021-3-19 22:58
    大小: 4.77MB
    上传者: samewell
    基于S3C2440的VoIP通信终端硬件设计
  • 所需E币: 3
    时间: 2020-11-11 21:27
    大小: 4.77MB
    上传者: bwj312
    基于S3C2440的VoIP通信终端硬件设计
  • 所需E币: 1
    时间: 2020-9-16 19:19
    大小: 605.71KB
    上传者: symic
    三星S3C2440参考设计
  • 所需E币: 3
    时间: 2019-12-25 16:40
    大小: 190.79KB
    上传者: 978461154_qq
    西安傅立叶电子公司提供的2440vivi上面做了如下修改和修正工作:1、在interrupt_init()中先关中断再初始化2、做了对s3c2440的配置(makemenuconfig)3、开启了vivi的烧写yaffs映像的功能4、修正了drivers/mtd/nand/bon.c中烧写yaffs映像的代码5、修正了include/platform/各个平台头文件中MACH_TYPE的值,使其与linux内核中的值相等6、修改了arch/s3c24[1,4]0/smdk.c中的默认内核参数,s3c24a0没作修改7、修改了arch/s3c24[1,4]0/smdk.c中的默认分区设置,s3c24a0没作修改安装步骤:tar-jxfvivi-fft-liu.tar.bz2cdvivi-fft-liu修改Makefile中LINUX_INCLUDE_DIR、CROSS_COMPILE和ARM_GCC_LIBS的值为你所使用的交叉编译器的路径make最后生成vivi,用烧写工具进行烧写记得在使用partadd添加yaffs分区时flag值要为YAFFS,否则不会正确写入。测试环境:在FFT-2440-S学习板上测试通过,应该能移植到其他2440开发板上面。……
  • 所需E币: 4
    时间: 2019-12-25 15:56
    大小: 272.52KB
    上传者: 二不过三
    BootloaderU-Boot功能齐全、应用广泛但移植到ARM微处理器S3C2440A上相对比较复杂.简介了常见的Bootloader,归纳了U-Boot的主要特征,分析了其运行过程,介绍了系统存储空间分布和基于S3C2440A微处理器为核心自主开发的嵌...第30卷第4期电子器件v01.30No.4J“。”1饼Electron2007年8月chi“8seDev2。e3Aug.2007PortingMethodof―U―BootinS3C2440Board……
  • 所需E币: 5
    时间: 2019-12-25 05:53
    大小: 3.5MB
    上传者: 978461154_qq
    s3c2440整套中文手册……
  • 所需E币: 5
    时间: 2019-12-25 05:46
    大小: 4.01MB
    上传者: 978461154_qq
    找到的s3c2440,比较全的中文资料。……
  • 所需E币: 4
    时间: 2020-1-15 11:10
    大小: 3.7MB
    上传者: 二不过三
    再来一个ARM芯片资料(免费),S3C2440……
  • 所需E币: 5
    时间: 2019-12-20 16:50
    大小: 957.04KB
    上传者: 238112554_qq
    TOPPERS_ASP在S3C2440上的移植……
  • 所需E币: 3
    时间: 2019-6-9 09:06
    大小: 733.58KB
    上传者: royalark_912907664
    设计实现了一种基于S3C2440平台,应用于实时监控周边环境情况,能够保障个人及社会财产安全的视频监控系统。系统通过QT集成开发环境在Linux中进行开发,应用于嵌入式Linux平台。系统根据Linux系统中的V4L2协议实现图像采集模块并通过QT的Label控件直接显示,采用UDP协议完成视频传输模块,在视频处理模块移植x264对数据进行编码压缩以mp4格式封装保存,移植开源软件MPlayer制作视频播放器实现视频回放功能。整个系统实现了嵌入式平台视频监控的基本功能,能够记录历史并显示实时图像,并且远程查看实时图像。
  • 所需E币: 3
    时间: 2019-6-6 22:02
    大小: 1.5MB
    上传者: royalark_912907664
    针对储物柜智能、便捷的特点,设计了一种基于S3C2440处理器和嵌入式Linux系统为核心的新型储物柜控制系统。采用模块化的思想设计了储物柜终端硬件电路,完成了硬件驱动开发并定制了嵌入式linux系统,采用多线程编程技术进行人机界面开发。利用云服务器和微信公众号开发平台技术,完成了储物柜终端数据通过无线网络与云端数据实时共享更新,实现了手机微信和RFID卡均可便捷开柜的智能储物柜系统。最后,通过实物现场试验,验证了系统的智能性、便捷性与安全性。系统在高校的图书馆、大型超市门口等场合中有着广泛的应用前景。