S3C2440A智能小车可移动视频监控系统

发布者:科技小巨人最新更新时间:2010-10-20 来源: 电子发烧友关键字:S3C2440A  TCP协议  可移动视频监控系统 手机看文章 扫描二维码
随时随地手机看文章

  本文介绍的智能小车可移动视频监控系统,以“飞思卡尔杯”智能小车竞赛提供的车模装置为基础,利用ARM芯片S3C2440A控制图像采集、网络传输、速度采集干扰小的模块,利用FPGA芯片控制电机驱动、舵机控制、电量采集干扰大的模块,当上位机通过Internet访问智能小车服务器时,在监控界面上点击按钮来控制小车的运行、图像拍摄、速度采集。

  1 系统总体设计

  该系统采用三星公司的ARM芯片S3C2440A作为主控制芯片及Altera公司的FPGA芯片EP2C5T144C8作为辅助控制芯片,ARM上装有Windows CE5.0操作系统。S3C2440A内置丰富的外设资源包括中断控制器、GPIO、I2C、相机接口等接口电路,其内核为16/32位的ARM920T处理器,它集MMU,AMBA BUS和Harvard高速缓冲体系结构与一体,主频可达400 MHz。

  利用ARM9控制图像采集、速度采集、网络传输等功耗小、干扰弱的模块;利用FPGA单独控制功耗大、干扰强的直流电机、舵机、固态继电器以提高系统的抗干扰能力。ARM9和FPGA以并行总线的方式进行数据和控制信号的传输,需要注意的是ARM的I/O口需要设置为禁止上拉,否则无法和FPGA进行通信。该系统具体组成如图1所示。

系统具体组成 www.elecfans.com

  2 系统硬件电路设计

  2.1 图像采集电路设计

  图像采集模块选用OmniVision公司的CMOS图像传感器OV9650,可达130万像素,具有标准SCCB(setial camera control bus)接口,通过该接口可以方便地设置图像像素大小、输出YCbCr顺序、白平衡、色饱和等重要参数。

  S3C2440A可以直接和CMOS图像传感器OV9650连接,如图2所示。OV9650的PWDN引脚与S3C2440A的GPG12引脚相连,这样可以控制OV9650的工作状态。当无须采集图像时,将GPG12输出高电平,OV9650芯片处于掉电模式,节省电能消耗。OV9650可输出YCbCr,RGB两种格式的数据,当输出YCbCr格式时,要用到数据线的D2~D9;当输出RGB格式时,则需要用数据线D0~D9。本文采用YCbCr格式,数据线D2~D9与S3C2440A的CAMDATA0~CAMDATA7相连。

S3C2440A可以直接和CMOS图像传感器OV9650连接 www.elecfans.com

  S3C2440A芯片具有相机接口CAMIF,其内部单元如图3所示,CAMIF支持ITU-R BT.601/656YCbCr 8 b标准的图像数据输入,最大可采样4 096×4 096像素的图像。该接口可以使用两种通道将图像数据存储在SDRAM中:一种是预览通道模式,将从相机接口采集到的图像数据转为RGB数据,并在DMA控制下传输到SDRAM,这种模式通常用来提供图像预览功能;另一种是编码通道模式,将图像数据按照YCbCr 4:2:0或者YCbCr 4:2:2的格式传输到SDRAM,这种模式主要为JPEC,MPEG-4,H.263等编码器提供图像数据的输入。

  2.2 网络传输模块电路设计

  网络传输模块选用DAVICOM公司推出的一款高速以太网接口芯片DM9000A,内部集成10/100M物理层接口,16 KB SRAM用作接收发送的F-IFO缓存,支持8/16 b内存数据存取接口。

  S3C2440A内部没有专用以太网控制器,需要外部总线外挂一个以太网控制器,才能实现S3C2440A连接以太网的需要,该系统选用DM9000A作为以太网的物理层接口。DM9000A与S3C2440A的连接比较简单,如图4所示。S3C2440A数据总线DATA0~DATA15与芯片的SD0~SD15连接;地址线ADDR2与芯片的CMD连接;片选线nGCS3与芯片nCS的相连;9号外中断与芯片的INT相连。DM9000A以太网控制器的工作基址为0x300,而S3C2440A的地址线ADDR2与芯片的命令/数据使能端CMD相连,所以对其进行操作时的地址是0x300(地址端口)或0x304(数据端口)。

  2.3 运动控制电路设计

  速度采集模块由红外传感器和脉冲整形电路组成,经整形后的脉冲送往ARM中断进行脉冲捕获。运动控制模块选用型号为RS-380SH的直流电机控制车模的前进或后退,选用型号为FUTABA-S3010的舵机控制车模的转向,电机驱动芯片选用L298N实现对电机调速、正反转的控制。

  

  该系统运动控制包括电机控制和舵机控制两部分。电机控制如图5所示,PWM1,PWM2用于控制电机的转速,IN11,IN12,IN21,IN22用于控制电机正反转。舵机控制电路简单,外接有3根线,红色为电源线,黑色为地线,另外一个为PWM信号输入线。两者的主要控制信号是PWM信号,S3C2440A发送命令控制FPGA输出占空比可调的PWM信号。舵机PWM信号的周期固定为20 ms,脉宽分布在1~2 ms之间,因此选定PWM信号频率为50 Hz,占空比固定在5%~10%之间。直流电机PWM信号频率选定10 kHz,占空比可在0%~100%波动,当IN11=1,IN12=0,电机正转且转速随PWM1信号的占空比不同而变化,当IN11=0,IN12=1,电机反转且转速也随着PWM1信号占空比变化。

  3 系统软件设计

  3.1 图像采集驱动开发

  该系统图像采集模块硬件电路由CMOS图像传感器芯片和S3C2440A的CAMIF单元组成。为此在编写图像采集驱动程序时,就需要对图像传感器芯片的寄存器和S3C2440A的CAMIF单元的寄存器同时配置,否则就得不到正常图像。S3C2440A以I2C总线的方式对CMOS图像传感器芯片的寄存器进行配置。

  在WinCE下,图像采集驱动是基于流接口设计的。首先在CIS_Init函数下对相机接口的寄存器进行配置,主要配置功能包括:设置相机接口输出时钟;设置图像输入输出格式;设置裁剪图像偏移量;设置帧缓冲区中图像像素大小;设置编码通道和预览通道帧缓冲区起始地址。然后S3C2440A以I2C总线方式对OV9650的寄存器进行配置,需要注意的是相机接口的配置功能要和OV9650的配置功能完全一致,否则采集不到图像,两者之间通信协议如图6所示。最后利用API函数CreateThread()创建中断服务线程。

  

  中断服务线程函数负责具体的中断操作,在该线程函数内利用CreateEent()函数创建CAMIF单元的中断事件。然后调用InterruptInitia-lize()函数将该中断事件与CAMIF单元的逻辑中断相关联。最后调用Wait For SingleObject()等待中断事件的到来,当中断到来时,将读取事件置位,在应用程序中即可利用ReadFile()函数读取YCbCr数据,为图像压缩提供数据源。

  3.2 速度采集程序设计

  速度传感器由红外反射式传感器和施密特触发器组成,经过施密特触发器整形后信号的频率与速度相关,通过测量该信号频率计算车模行驶速度。在Windows CE中,API函数SetTimer()可以设置定时器编号和定时时间,当定时时间到达时,执行消息响应函数OnTimer。速度采集流程如图7所示。调用SetTimer函数设置定时器初值,当外部中断EINT_19产生时,即一个脉冲信号到来,计数变量CNT加1,当SetTimer()函数设置的时间到来时,执行OnTimer()函数,该函数负责计算车模速度并将计数变量CNT清0。

  

 

  计数变量CNT虽然与速度成正比关系,但它并不是真正的行驶速度,需要经过一定的数学转换,才能传送到远程监控端并显示。假设车模后轮直径为D,光栅编码盘黑白相间的个数为M,在定时时间T秒内记得脉冲个数为N,则车模行驶速度:

  

 

  3.3 网络传输程序设计

  该系统网络传输程序是基于TCP协议来实现的。S3C2440A组成的嵌入式设备作为服务器负责图像采集、速度采集、车模控制。服务器调用accept()函数等待客户端的连接请求,服务器端接收该连接请求后,双方就此建立了连接。客户端通过send()发送请求命令,服务器调用recv()函数接收该请求命令,通过命令解析来执行具体的操作,若收到图像采集命令,服务器端打开摄像头驱动,设置图像像素大小后,将采集到YCbCr数据进行JPEG的压缩并保存为.jpg格式的图片。然后将该图片发送到客户端,客户端将该图片在图像显示区域显示;若收到速度采集命令,服务器端打开定时器,打开外部中断EINT19,用于计数,当定时时间到后,将计数脉冲转换为以cm/s为单位的速度发送到客户端,客户端将采集到速度在速度显示区显示;若收到控制车模运行状态,如前进、后退、左转、右转,服务器端打开GPIO驱动,通过GPIO端口输出控制信号,控制FPGA输出占空比可调的PWM信号,即可控制车模的运行状态。

  客户端负责发送控制车模、图像采集、速度采集的命令,然后将服务器端发送过来的图像、速度信息进行显示。客户端的监控界面如图8所示。

  

客户端的监控界面 www.elecfans.com

 

  远程地址栏输入服务端IP地址,点击“创建连接”按钮即可和服务器端进行连接,连接成功后,就可以进行一系列的命令发送。

  4 结语

  该设计在自制电路板板上进行了软、硬件的系统集成及测试。测试结果为:图像采集时钟24 MHz;图像采集速度为30 f/s;行同步频率为14.5 kHz,图像采集像素为640×480;JPEG压缩比达到10:1;运动控制命令响应时间为5μs,网络传输速率达10 Mb/s。

关键字:S3C2440A  TCP协议  可移动视频监控系统 引用地址:S3C2440A智能小车可移动视频监控系统

上一篇:基于S3C2440的WindML图形驱动设计
下一篇:基于ARM的英文转中文翻译器设计

推荐阅读最新更新时间:2024-03-16 12:30

互联网通信协议TCP/IP协议)分层模型介绍
网络 一、什么是网络? 简单来说,网络就是一种辅助双方或者多方连接在一起的工具,是一种工具。 二、使用网络的目的 为了联通多方然后进行通信,即把数据从一方传递给另一方,python开发基础阶段学习的编程都属于单机的,即不能和其他电脑的程序进行通信。为了让在不同的电脑上运行的软件之间能够相互传输数据,就需要借助网络的功能。 TCP/IP 一、TCP/IP协议族 (网络通信协议) 首先我们需要知道什么是协议(百度百科有): 简单理解,就像下图一般,全世界很多语言,为了解决沟通障碍,规定国际通用的语言为英语,这就是一个规定,或者说协议。 那么类比到计算机领域,计算机网络沟通语言是什么? 其实在现实中,我们可以发现,不同计算机
[嵌入式]
互联网通信<font color='red'>协议</font>(<font color='red'>TCP</font>/IP<font color='red'>协议</font>)分层模型介绍
内嵌TCP/IP协议的CDMA无线终端
CDMA是无线通信领域的后起之秀,采用频分编码技术,与基于时分复用的GSM相比具有明显优势。CDMA能够实现从现有通信系统到下一代通信系统的平滑过渡,具有较强的功能伸缩性;可以支持先进的天线技术,通过增加小区覆盖范围减少基站数目;所有带宽信道都能支持高速数据业务;网络频率利用率高,设计施工和扩容较为简便。 内嵌TCP/IP协议的CDMA无线终端通过CDMA网络和Internet达到数据传输的目的,适合于开发基于无线应用的产品,如监控、调度、车载、遥控、远程测量、定位和导航等。这些系统开机就能自动附着到CDMA网络上,与数据中心实时在线进行数据通信、高速传输,可靠性强,具有良好的应用前景。文中提出的CDMA无线通信模块,提供了TCP/
[应用]
嵌入式TCP/IP协议单片机技术在网络通信中的应用
摘要:介绍了嵌入式TCP/IP协议单片机在网络通信中的数据传输技术。将TCP/IP协议嵌入式单片机中,借助网卡芯片CS8900实现了单片机在局域网内和通过局域网在因特网上的数据传输。用户终端以单片机系统板为媒介,通过网络与远程数据终端实现数据通信。 关键词:TCP/IP协议 单片机 因特网 局域网 网卡芯片 在因特网上,TCP/IP协议每时每刻保证了数据的准确传输。在数据采集领域,如何利用TCP/IP协议在网络中进行数据传输成为一个炙手可热的话题。在本系统中,笔者利用TCP/IP协议中的UDP(用户数据报协议)、IP(网络报文协议)、ARP(地址解析协议)及简单的应用层协议成功地实现了单片机的网络互连,既提高了数据传输的速度,又保证
[嵌入式]
基于3G手机的视频监控系统的设计
随着3G 网络技术的快速发展以及3G 手机各项功能的增强, 使得利用3G 手机实现随时随地的视频监控已成为可能。而嵌入式技术作为当今IT 业的热门技术, 各种嵌入式芯片如DSP, A RM, SOC 等被广泛应用于数码、安防、交通信号采集、远程医疗等领域 , 可以预见未来便携式多功能的个人医疗数字服务终端会像手机一样普及 , 用户可以随时随地地将自己重要的生理信息实时、准确、快速地传送到远程医疗中心或家庭护理专家处, 从而得到医生的专业建议和指导, 实现远程医疗监护的应用。文献 中的无线监控系统也用到ARM9 芯片和WinCE 操作系统, 但对软件设计部分论述不清晰, 文献 论述的基于ARM 的无线视频监控系统只介绍了简单的硬件结
[单片机]
基于3G手机的<font color='red'>视频监控系统</font>的设计
利用stm32的lwip TCP/IP协议栈的通信的思路
利用stm32f103vet6作为平台,enc28j60网卡,lwip tcp/ip作为协议栈进行相应的程序编写。 Stm32作为服务器与stm32作为客户端程序编写的基本步骤,思路清理: 1、stm32作为服务器端 当stm32作为服务器端的时候,首先有一点要明确的是端口与ip的确定性,当然,后期需要改变的是,如果服务器地址的变动,就需要相应的做些程序的改变。 程序的步骤如下所示: 1、利用lwip对网卡做相应的初始化工作,例如ip地址,网络掩码,以及网关的操作。 2、对服务器端的相应操作。(包括pcb控制块的获取,结构体的初始化工作。) 3、绑定相应的远程计算机,设置相应的ip地址和端口。 4、监听相应的信
[单片机]
利用stm32的lwip <font color='red'>TCP</font>/IP<font color='red'>协议</font>栈的通信的思路
基于S3C2440A和Win CE的嵌入式导航系统设计
如今,随着人们现代化生活节奏的加快和当今城市化速度的不断膨胀,迫使越来越多的人必须在紧凑的时间及地点进行工作,不仅导致交通网络日益复杂,也使人们必要的移动性越来越呈频繁趋势,这使得每个人对空间信息有了更多的依赖,迫切要求导航系统走人每个人的生活。基于S3C2440A微处理器和Win CE 5.0嵌入式操作系统,设计了一套可靠且实用的嵌入式导航系统,所提供的功能可以满足人们现阶段日常生活的需要。 1 嵌入式导航系统主要组成 嵌入式导航系统由硬件层、软件层和中间层组成。硬件层主要由一片嵌入式处理器核心控制模块,再加上外围的功能模块组成;软件层主要由系统软件和应用软件组成,其中系统软件主要指嵌入式操作系统,应用软件实现对被控对象
[单片机]
基于<font color='red'>S3C2440A</font>和Win CE的嵌入式导航系统设计
基于S3C2440A T-DMB的手机电视软硬件设计
  引言   目前,世界上已经提出了多个地面数字电视标准:如欧洲的DVB-T、美国的ATSC、日本的ISDB-T,并且都达到实用阶段,许多国家和地区都在选择自己的数字电视地面广播(DTTB:Digital Television Terrestrial Broadcasting)系统。而用于手持移动终端的标准有:T-DMB(韩国)、DVB-H(欧洲)、MediaFLO(美国)、StiMi(中国待定)其中,已商用的是韩国的T-DMB。在我国,北京广播电台在2006年9月初正式开通了名为DAB的手机电视系统,通过电视塔覆盖了北京六环以内,提供12套数字广播节目,同时对2套电视节目进行测试播出。因此,如何快速设计一款可以接收手机电视信号
[单片机]
基于<font color='red'>S3C2440A</font> T-DMB的手机电视软硬件设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved