计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

引言 随着数字信号处理器 DPS 芯片集成度,运算(2)

2013-06-25 01:21
导读:要是实现对SAA7113H 和SAA7121H 的控制,就要先对其进行配置。 对 SAA7113H 进行配置: SA7113H_ConfParams sa7113hPAL[28] = {{0x01,0x08},{0x02,0xC3},{0x03,0x33},{0x04,0x00},{0x05,0

  要是实现对SAA7113H 和SAA7121H 的控制,就要先对其进行配置。
  对 SAA7113H 进行配置:
  SA7113H_ConfParams sa7113hPAL[28] = {{0x01,0x08},{0x02,0xC3},{0x03,0x33},{0x04,0x00},{0x05,0x00},{0x06,0xE9},{0x07,0x0D},{0x08,0x00},{0x09,0x01},{0x0A,0x80},{0x0B,0x47},{0x0C,0x40},{0x0D,0x00},{0x0E,0x01},{0x0F,0x24},{0x10,0x08},{0x11,0x0C},{0x12,0x7E},{0x13,0x02},{0x15,0x17},{0x16,0x35},{0x17,0x02},{0x40,0x02},{0x58,0x00},{0x59,0x54},{0x5A,0x07},{0x5B,0x80},{0x5E,0x00}
  };对SAA7121H 进行配置:
  SA7121H_ConfParams sa7121hPAL[45] = {{0x26,0x00},{0x27,0x00},{0x28,0x21},{0x29,0x1d},{0x3A,0x13},{0x5A,0x0c},{0x5B,0x21},{0x5c,0xAF},{0x5d,0x23},{0x5e,0x35},{0x5f,0x35},{0x60,0x00},{0x61,0x06},{0x62,0x2F},{0x63,0xcb},{0x64,0x8a},{0x65,0x09},{0x66,0x2a},{0x67,0x55},{0x68,0x56},{0x69,0x67},{0x6a,0x58},{0x6b,0x20},{0x6c,0x05},{0x6d,0x20},{0x6e,0xA0},{0x6f,0x14},{0x70,0x80},{0x71,0xe8},{0x72,0x10},{0x73,0x42},{0x74,0x03},{0x75,0x03},{0x76,0x05},{0x77,0x16},{0x78,0x04},{0x79,0x16},{0x7a,0x18},{0x7b,0x38},{0x7c,0x40},{0x7d,0x00},{0x7e,0x00},{0x7F,0x00}  
  };
    
  2.2 多路视频采集的驱动程序设计
  本驱动程序是基于 DDK 驱动模型设计的,通过 DSP/BIOS 配置工具在DSP/BIOS 应用程序中注册并使用一个微型驱动,配置应用程序使用该微型驱动。创建一个新的设备对象后,对其属性主要设置设备号、设备参数指针、设备实例的驱动函数表以及该驱动函数表的类型。
  FVID 模型是建立在GIO 模型之上的,并对GIO 模型进行了改进。典型的有FVID_create()、FVID_control()、FVID_alloc()、FVID_exchange()、FVID_free()函数。FVID 函数会在设备表中查找已注册的微型驱动,并调用微型驱动函数完成对外部设备的操作。然后创建FVID 采集、显示通道,配置 SAA7121, SAA7113,分配相应的缓冲区,对得到的视频帧进行处理等操作。
  本设计是对两路视频信号同时采集,通过三个任务来完成:两个视频采集任务任务、一个视频输出任务。任务间是通过SCOM 模块进行通信的,SCOM 模块管理SCOM 队列对象。 本文来自中国科教评价网
  每一个SCOM 队列内部使用一个队列对象(QUE)和一个旗语对象(SEM)。在SCOM 队列的结构在SCOM 模块中是私有的。应用程序不应该涉及到SCOM 队列的对象。
  视频采集任务的程序:
  void tskVideoCaptureVp1(){FVID_Frame *capFrameBuf;SCOM_Handle fromInput1toDIS,fromDIStoInput1;fromInput1toDIS = SCOM_open("IN1TODIS"); /*打开SCOM 模块*/fromDIStoInput1 = SCOM_open("DISTOIN1");FVID_alloc(capChan, &capFrameBuf); /*申请一个空间*/while(1){SCOM_putMsg(fromInput1toDIS, (FVID_Frame *)capFrameBuf);//向队列中写消息SCOM_getMsg(fromDIStoInput1, SYS_FOREVER); //重队列中读消息FVID_exchange(capChan, &capFrameBuf);}
  }
  这是其中的一路视频采集程序,通过同样的方法可以写出第二路的采集程序。视频输出的任务中完成了两路视频的输出,主要在循环中完成,程序如下:
  while(1){capFrameBuf=(FVID_Frame*)SCOM_getMsg(fromInput1toDIS,SYS_FOREVER);for(i = 0; i < numLines; i ++){DAT_copy(capFrameBuf->frame.iFrm.y1 + i * capLinePitch,disFrameBuf->frame.iFrm.y1 + i * disLinePitch, numPixels);}
  capFrameBuf = (FVID_Frame *)SCOM_getMsg(fromInput1btoDIS, SYS_FOREVER);for(i = 0; i < numLines; i ++){DAT_copy(capFrameBuf->frame.iFrm.y1 + i * capLinePitch,disFrameBuf->frame.iFrm.y1 + i * disLinePitch+352, numPixels);}
上一篇:摘要:攀岩运动是一项锻炼综合素质的运动,不 下一篇:引言 微型机器人的研究与微机械或微机电系统的