![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 872238
|
![](http://images.eccn.com/silabs/silicon_chip_980x60_202203.jpg)
NAND FLASH采用K9F2G08,该存储芯片容量大,高达256 MB,改写速度非常快,易于使用,具有可靠的耐用性,适合用于大量数据存储,该FLASH以512 B为块进行读写操作,通过输入输出接口传送地址和命令,传递专门的数据接口与CPU相连,数据总线为8 b,写入操作必须在空白区域进行,所以在改写数据时要先进行擦除,然后再写入。
NAND FLAsH在本系统中用来存放bootloader引导代码,Linux内核代码以及Yaffs文件系统。SDRAM为同步动态随机存储器,类似于PC机的内存,在系统启动时,先将内核代码从FLASH复制到SDRAM中,用来程序的读取,存储,执行,从而提高CPU读取和写入数据的速度。本采用2片32 MB的HY57V作为系统内存,把他们并联起来形成32位的数据总线,提高CPU的访问速度,增加运行Linux系统的流畅性。由于SDRAM掉电不能保存数据,所以要不断的进行动态刷新来保存数据,使用之前要进行初始化。
目前最流行的以太网控制器是DAVICOM公司的DM9000网卡芯片,该芯片自适应10 Mb/s和100 Mb/s的网络,处理器通过GPIO与网卡相连,支持3.3 V接口电压,32位接口存储器可以方便直接与S3C2440相连,在连接RJ-45接口,即可实现以太网物理层和数据链路层的连接。设备驱动程序在Linux操作系统下可以方便的移植,故选择此网卡芯片作为以太网控制器。摄像头采用市场普通USB摄像头,即插即用,处理器通过USB控制器控制摄像头。
3 系统软件设计
本系统软件可分为Bootloader,Linux内核,Yaffs文件系统和MJPG-streamer视频服务器,系统框图如图3所示。
“Bootloader是在操作系统运行之前运行的一段小程序,来完成硬件设备的初始化,从而将系统软硬件环境带到合适状态,为最终调用操作系统做好准备”。Bootloader可以从SAMSUNG公司官方网站下载,经过交叉编译生成Bin文件,下载到板子上。
Linux内核采用Linux 2.6.32版本,运行make menuconfig配置万能驱动USB摄像头,在Device Drivers下,选择Multimedia device,选择Video Capture adapters,选择V4L USB devices,选择GSPA based webcams,即可选择万能驱动USB摄像头。
系统采用Yaffs文件系统,Yaffs是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。它减少了一些功能,速度更快,挂载时间很短,对内存的占用较小,所以系统采用Yaffs文件系统。
MJPG-streamer是一款免费基于IP地址的视频流服务器,它的输入插件从摄像头读取视频数据,这个输入插件产生视频数据并将视频数据复制到内存中,它有多个输出插件将这些视频数据经过处理,其中最重要的输出插件是网站服务器插件,它将视频数据传送到用户浏览器中,MJPG-streamer的工作就是将其中的一个输入插件和多个输出插件绑定在一起,所有的工作都是通过它的各个插件完成的。MJPG-stream er源码包可从SourceForge网站下载使用。各个文件如下:
(1)input_testpicture.so。这是一个图像测试插件,它将预设好的图像编译成一个头文件,可以在没有摄像头的情况下传输图像,从而方便调试程序。
(2)input_uvc.so。此文件调用USB摄像头驱动程序V4L2,从摄像头读取视频数据。
(3)input_control.so。这个文件实现对摄像头转动的控制接口。
(4)output_http.so。这是一个功能齐全的网站服务器,它不仅可以从单一文件夹中处理文件,还可以执行一定的命令,它可以从输入插件中处理一幅图像,也可以将输入插件的视频文件根据现有M-JPEG标准以HTTP视频数据服务流形式输出。 |
|