微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于ARM处理器S3C2440的无线监控系统设计

基于ARM处理器S3C2440的无线监控系统设计

时间:08-28 来源:电子发烧友 点击:

S3C2440有3个UART通道,利用其中一个通道设计串口,使其与GPRS模块连接,由于S3C2440自带的UART控制器,使得硬件开发和软件设计都比较简单。但RS 232标准所定义的高、低电平信号,与一般的微控制器系统的电路所定义的高、低电平信号完全不同,如S3C2440系统的标准逻辑"1"对应电平2~3 V,标准逻辑"O"对应0~4 V电平。显然,与RS 232标准所述的电平信号完全不同。两者之间要进行通信,必须经过信号电平的转换,目前常使用的电平转换芯片有MAX232,MAX3221和MAX324.3,具体设计电路如图7和图8所示。

  3 操作系统平台的定制

  Windows CE是高度模块化的嵌入式操作系统,正因为如此,用户为了满足特定的要求而对操作系统进行定制,如果为自己的嵌入式设备定制Windows CE操作系统,则须进行创建、构建、运行和发布OS等一系列操作。在无线视频监控系统中,根据功能要求,利用Platform Builder5.0定制系统的流程如下:

  (1)导入BSP开发包。由于用的是三星公司的基于ARM920T核的S3C2440,所以在BSP包中找到SMDK2440文件下的SMDK2440.CEC文件将其导入。打开"Platform Builder5.0",选择"File"菜单下的 "Manage Catalog Features",如图9所示。在弹出的对 话框中单击"Import",浏览到SMDK2440文件下的 smdk2440.cec文件,将其导入。

  (2)创建项目。根据WinCE无线监控系统的要求,在定制系统的过程中选择合适的组件来实现。其中包括的组件有:支持应用程序开发的MFC组件和支持网络的相关组件等。

  (3)编译项目:点击菜单"Build OS"→"Sysgen"开始编译项目。

  (4)下载运行时映像,调试成功后启动。编译成功后会在目WinCES00PBWorkspacestestlRelDirsmdk2 440_ARMV4I_Release下生成nk.bin和nk.nb0等文件,将nk.nb0下载到硬件平台上运行。

  4 驱动程序的开发

  4.1 摄像头驱动的开发

  摄像头驱动开发是设计中的一个难点,也是一个关键部分。由于摄像头采集的视频数据可以当作数据流来处理,所以对于摄像头的驱动将采用流式接口的方法来开发。

  (1)在Platform Builder中打开前面定制的操作系统工程,然后在新建一个WIN32 DLL项目,添加2个C++的源文件,即:camera.cpp和IIc.cpp,其中camer-a.cpp包含驱动的入口函数DLLMain();驱动的前缀为"CIS",IIc.cpp包含通过ICC接口对摄像头相关寄存器进行配置的函数。

  (2)根据前面的硬件电路和OV9650芯片的工作时序,通过编写流接口的CIS_Init函数实现OV9650初始化。主要包括以下3步:调用InterruptInitialize(SYSINTR_CAM,CameraEvent,NULL,0)函数通知系统注册中断;调用CreateEvent()函数创建一个CameraEvent事件;调用CreateThread()函数创建CameraThread线程。在Camera Capture Thread服务函数中调用WaitForSingleObject(CameraEvent,Dis-play Time)函数等待Camera Event事件的发生。此事件由与其关联的SYSINTR_CAM中断来触发。此外还有其它流接口函数(CIS_IOControl等)也可以以类似的方法实现。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top