S3C2440的camera接口特性及WinCE 下的驱动

发布:2011-06-02 | 作者: | 来源: luhaifei | 查看:1022次 | 用户关注:

摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTA—C)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为1~26 MHz,阻带抑制率大于35 dB,带内波纹小于0.5 dB,采用1.8 V电源,TSMC 0.18μm CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte

摘要:分析S3C2440的camera接口特性,介绍当摄像设备为CCD摄像头时,在WinCE 5.0/6.O操作系统环境下开发camera驱动的方法。该方法弥补了目前国内在WinCE 5.0/6.0操作系统环境下CCD摄像头无法连接到S3C2440的camera接口的缺陷。
关键词:camera接口;WinCE;驱动

S3C2440是应用十分广泛且适用于嵌入式系统的一款嵌入式处理器。winCE 5.0/6.O是微软公司开发的一款专用于嵌入式系统的实时操作系统。其模块化设计使开发人员可以根据需求定制设备。目前,国内大部分OEM商都提供了对S3C2440的camera接口在WinCE5.O/6.0下的驱动支持。遗憾的是,目前国内OEM商提供的驱动仅限于对几款微型摄像头(如ov9650等)的驱动支持。当用户采用CCD摄像头作为图像采集的前端设备时,原来的驱动已经不能使用了,而CCD摄像头因其优越的性能,在监控领域扮演着主力军角色。本文从分析S3C2440的camera接口特性出发,详细介绍当摄像设备为CCD摄像头时,在WinCE 5.O/6.0操作系统环境下开发camera驱动的形式、方法和主要的驱动代码。

1 camera接口特性
    S3C2440处理器有一个专用的camera接口(CAMIF),该接口支持ITU-R BT.601/656 YCbCr 8位数据格式视频数据输入,最大输入视频图像大小为4 096×4 096像素。视频输入后分两个通道逐帧保存图像数据,一个为预览通道(即P通道),另一个为编解码通道(即C通道)。两个通道均通过DMA方式将一帧图像保存到系统内存SDRAM中,在系统内存中共开辟了4组帧图像缓冲,从而保证了用户应用程序在读取帧图像数据时不影响另一帧图像数据写入。其特性如下:
    ◆支持ITU-R BT.601/656 YCbCr 8位数据格式视频数据输入,并可调整Y、Cb、Cr三个信号的顺序,以适应不同的视频信号源;
    ◆具有DZI功能,相当于数码变焦;
    ◆C通道输出图像最大为4 096×4 096像素;
    ◆P通道输出图像最大为640×480像素;
    ◆P通道输出图像格式可配置为RGBl6或GRB24;
    ◆C通道输出图像格式可配置为YCbCr 4:2:2或YCbCr 4:2:0:
    ◆输出图像可X方向镜像翻转、Y方向镜像翻转,或180°旋转;
    ◆DMA数据传输,4组帧图像缓冲,2个对应的中断处理,保证视频实时采集;
    ◆2个通道不同图像数据格式输出,便于用户程序开发。
    CAMIF对外接口信号定义如下:
    CAMPCLK输入的视频像素同步时钟。
    CAMVSYNC输入的视频帧同步时钟。
    CAMHREF输入的视频行同步时钟。
    CAMDATA[7:0] 输入的视频8位数据。
    CAMCLKOUT输出的时钟,用于外接的没有独立时钟的camera芯片的主时钟。当外接的camera芯片有独立的时钟时,该信号可不用。
    CAMRESET输出的软件复位信号,可对外接的camera芯片进行复位。
    信号的时序图如图1所示。

使用CAMIF时,必须对CAMIF相关寄存器进行正确配置,下面介绍主要寄存器的配置原理。
    CAMRCFMT 选择输入视频信号源格式寄存器
    ①选择输入视频信号源为ITU-R BT.601 YCbCr 8位数据格式,或ITU-R BT.656 YCbCr 8位数据格式。
    ②选择输入视频信号源水平像素大小和垂直像素大小,一定要和外接的camera设备分辨率一致。
    ③选择输入视频信号Ycbcr信号顺序,一定要和外接camera信号的实际顺序一致。
    CIWDOFST 从输入信号中截取中心部分的图像寄存器
    原理是:从输入信号中截取中心部分的图像输出到大小不变的输出图像缓冲中,从而实现对图像的放大或缩小。
    ①配置该寄存器允许缩放或不允许缩放。
    ②X方向图像放大或缩小控制,原理是截切掉左部和右部的图像像素数。
    ③Y方向图像放大或缩小控制,原理是截切掉上部和下部的图像像素数。
    CIGCTRL 全局控制寄存器
    通过该寄存器对外接的camera进行复位,即控制CAMRESET信号的电平高低。
    CICOTRGFMT C通道输出图像格式及大小配置寄存器
    ①可将C通道输出图像格式配置为YCbCr 4:2:2或YCbCr 4:2:0格式。
    ②可设置C通道输出图像X方向像素数。
    ③可设置C通道输出图像Y方向像素数。
    ④可设置C通道输出图像X方向镜像。
    ⑤可设置C通道输出图像Y方向镜像。
    ⑥可设置C通道输出图像180°旋转。
    CIPRTRGFMT P通道输出图像大小配置寄存器
    ①可设置P通道输出图像X方向像素数。
    ②可设置P通道输出图像Y方向像素数。
    ③可设置P通道输出图像X方向镜像。
    ④可设置P通道输出图像Y方向镜像。
    ⑤可设置P通道输出图像180°旋转。
    CICOSTATUS和CIPRSTATUS 状态寄存器
    CICOSTATUS反映C通道数据的写入状态,即4组缓冲的哪一组;CIPRSTATUS反映P通道数据的写入状态,即4组缓冲的哪一组。用户程序采集图像数据时,应根据状态寄存器当前状态,决定从哪一组读出数据。
    此外,CICOYSAl~CICOYSA4分别为C通道第1~4帧Y信号数据缓冲起始地址寄存器;CICOCBSAl~CICOCBSA4分别为C通道第1~4帧Cb信号数据缓冲起始地址寄存器;CICOCRSAl~CICOCRSA4分别为C通道第1~4帧Cr信号数据缓冲起始地址寄存器;CIPRCLRSAl~CIPRCLRSA4分别为P通道第1~4帧RGB信号数据缓冲起始地址寄存器。

S3C2440的camera接口特性及WinCE 下的驱动相关推荐

  1. 【WinCE】SD card技术了解并WINCE下SDHC驱动开发(updated)

    SD Card Driver on ADS Summary 了解SD card. 1 WinCE 5.0下SD Stack. 6 Bus Driver 7 Host Controller Driver ...

  2. PXA270处理器PCMCIA/CF接口设计及WinCE 5.0驱动实现 ----eetchina.com

    PXA270处理器PCMCIA/CF接口设计及WinCE 5.0驱动实现 ----eetchina.com 2008年09月19日 星期五 21:20 本文以Intel PXA270开发平台Mains ...

  3. Wince下usb驱动详细总结(史无前例的详细)

    0,前言: 1, 本篇文章只讲wince下的usb host驱动,并深入解析HID驱动.本博客的目的并不是只是为了讲怎么写驱动, 更重要的是: 1,了解wince驱动的架构. 2,学习微软的写作方法, ...

  4. WINCE下SOS驱动开发

    ********************************LoongEmbedded************************ 作者:LoongEmbedded(kandi) 时间:201 ...

  5. WINCE下实现基于USB的camera

    我们是做基于WINCE的GPS产品,客户需要camera功能,我们产品集成了两种方案的camera功能:USB摄像头和基于TVP5150视频编解码(camera sensor)的camera,在这里只 ...

  6. WINCE下实现USB转RS232

    WINCE下可以通过一个USB TO RS232转换器来实现USB转RS232,也即WINCE设备的USB host接USB TO RS232转换器的USB端,而USB TO RS232转换器的RS2 ...

  7. WK2124下linux驱动分析与移植

    WK系列 SPI拓展4串口驱动移植参考文档 V2.4 1.概述 本文档主要适用于SPI拓展UART 驱动移植的参考.本文档基于V2.4版本的驱动来进行说明的,其它版本的驱动也可以参考. 1.1 WK系 ...

  8. wince下sources\sources.cmn\Makefile.def的相关作用

    1:首先是Makefile.def: ---------------------------------------- 在所有驱动的makefile中有!INCLUDE $(_MAKEENVROOT) ...

  9. linux 扫描i2c端口,s3c2440用I2C接口访问EEPROM

    在前面阅读理解了I2C的官方协议文档后,就拿s3c2440和EEPROM来验证一下. 本来是想用s3c2440的SDA和SCL管脚复用为GPIO来模拟的,但在没有示波器的情况下搞了一周,怎么都出不来, ...

最新文章

  1. bash 判断 os 版本_专家:鸿蒙OS初登手机令人惊艳,但全面商用至少还要2年
  2. html5 数字滚动选择器,Odometer使用JavaScript和CSS制作数字滑动效果
  3. Spring中BeanPostProcessor 执行过程
  4. java 将光标移至行首_Java:将条件移至消息文件
  5. db服务器作用,数据库服务器
  6. 电脑开两个微信_电脑怎么登录两个微信
  7. ReplaceAll()和Replace的实战用法
  8. 如何安装64位Windows7
  9. 解决 vim 报错:the imp module is deprecated in favour of importlib
  10. 强化学习——Q学习算法
  11. 太阳光是平行光吗_百思 | 太阳光是不是平行光?
  12. 累次积分怎么计算_【高等数学】二重积分化累次积分方法
  13. 六面阿里天猫,已拿offer,我的面经复盘总结,原来进大厂没那么难了
  14. case when then else end 语句遇上sum或count等统计函数的注意事项(列转行)
  15. CPU位数、操作系统位数和编译器位数关系
  16. 庄子 “唯至人乃能游于世不避,顺人而不失己。”
  17. 敞开心扉,来聊聊跨域方式吧!
  18. 祛除装修异味的方法 总有一种适合你!
  19. HDFS Router-based Federation
  20. P6770 [USACO05MAR]Checking an Alibi 不在场的证明(spfa)

热门文章

  1. miniPCIe接口CAN卡及其使用特点
  2. 深度学习解决方案架构师(Research)
  3. 中国版我的世界服务器签到系统指令,我的世界签到插件
  4. HR灵魂拷问:你真的会用excel吗?
  5. sql server错误代码大全
  6. map容器对象插入数据的4种方式
  7. 单片机原理及应用 实验五 电子秒表显示器
  8. 2021第六届数维杯大学生数学建模竞赛赛题_C 运动会优化比赛模式探索
  9. 支持Linux系统的蓝牙发射器,Linux 无法识别蓝牙适配器解决办法
  10. RTT外设驱动使用2--ADC串口添加