黄精有什么作用| 脚板疼是什么原因| 麻薯粉是什么粉| 蕞是什么意思| 长脸型适合什么样的发型女| 都有什么快递| 昌字五行属什么| 查高血压挂什么科| 阴囊湿疹是什么原因造成的| 摇曳是什么意思| 胆囊肌腺症是什么病| lhrh是什么激素| 铁子是什么意思| 烽烟是什么意思| 蕙质兰心什么意思| 嫉妒是什么意思| 什么扑鼻| 什么血型好| 通告是什么意思| 什么是包皮过长图片| 多喝酸奶有什么好处| 什么布剪不断| 钢琴10级是什么水平| 社会科学院是干什么的| 肌酐下降是什么原因| 八月有什么节日| 美国总统叫什么名字| 坐车头疼是什么原因| 女人喜欢什么类型男人| 92是什么| 胆结石吃什么水果好| 海东青是什么| 什么叫胰岛素抵抗| 0604是什么日子| 6月6日是什么星座| 肾气不足吃什么药好| 顶天立地什么意思| 风什么意思| 名字五行属什么| 来大姨妈血块多是什么原因| 手脱皮用什么药膏最好| 可尔必思是什么饮料| 毛新宇什么级别| 螃蟹一般吃什么| 羊水破了是什么感觉| 1998属什么| 令瓦念什么| 青海是什么省| 茧是什么意思| 女生适合做什么工作| 天热出汗多是什么原因| 8月1日是什么日子| 项羽为什么叫西楚霸王| 激素高是什么原因| balance什么意思| 眉头有痣代表什么| 有伤口吃什么消炎药| 血糖高吃什么食物最好最佳| 绀是什么意思| 对联又称什么| 吃飞醋是什么意思| 跑步对身体有什么好处| 七月份怀孕预产期是什么时候| 五更泻吃什么药| 背部疼痛是什么原因引起的| 排山倒海是什么意思| b超涂的液体是什么| 沙棘有什么作用| 香港车牌号是什么样子| 吃什么皮肤会变白| 黄盖代表什么生肖| 闭关什么意思| 无济于事的济是什么意思| 指什么| 吃什么降血压| 产后恶露吃什么排干净| 肺部ct能查出什么病| 舌头发麻是什么原因引起的| 激动是什么意思| 六月十五号是什么星座| 舌头什么颜色正常| 莫逆之交什么意思| 安享晚年是什么意思| 辰字属于五行属什么| 为什么牙齿会发黑| dhc是什么牌子| 什么的笑| 胃胀是什么症状| 咸鱼翻身是什么意思| 男人射精是什么感觉| 脸颊红是什么原因| 鸽子红鼻头喂什么药| 梦见自己理发是什么意思| 客家人什么意思| 硝是什么东西| 薰衣草什么时候开花| 武昌鱼是什么鱼| 男人做梦梦到蛇是什么意思| 25分贝相当于什么声音| 8月3号是什么星座| 萎缩性胃炎可以吃什么水果| a7是什么意思| 身先士卒是什么意思| 州字五行属什么| 头晕出冷汗是什么原因| 发量多的女生适合什么发型| 米线是什么材料做的| 结婚证需要什么资料| 痔疮和肛周脓肿有什么区别| 中央政法委书记什么级别| 提上日程是什么意思| 手麻挂什么科室| 胸外扩是什么样子| 耐药性是什么意思| 天珺手表什么档次| 为什么会一直拉肚子| 什么中华| 染色体由什么组成| 小酌怡情下一句是什么| 用什么方法止咳| 脂肪肝不能吃什么| 生殖科检查什么| 眉宇是什么意思| 食道不舒服挂什么科| 招风耳适合什么发型| 熬药用什么锅熬最好| 12月2号什么星座| 除体内湿热最好的中成药是什么| 咳嗽能吃什么水果| 动物蛋白是什么| 什么样的笑脸| 985和211有什么区别| 取环挂什么科室| 最是什么意思| epa和dha是什么| 白癜风是什么病| 煞北是什么意思| 朋友圈提到了我是什么意思| 无花果和什么不能一起吃| simon是什么意思| 空调长时间不用再开注意什么| 流产后吃什么水果最佳| 1977年属什么生肖| 哥哥的孩子叫什么| 看病人送什么花合适| 声音沙哑是什么原因| 5月20日是什么日子| 2028是什么年| 胸口堵是什么原因| 假菌丝是什么意思| 梦魇是什么原因造成的| 牙结石是什么| 双子男喜欢什么样的女生| 内向的人适合做什么工作| 8月7号是什么星座| 1109是什么星座| 额头高代表什么| 低密度脂蛋白高的原因是什么| 眼睛发炎用什么药效果好| 转机是什么意思| 盗汗遗精是什么意思| 狗为什么不吃饭| 多字五行属什么| 今年43岁属什么生肖| 脑梗吃什么东西好| 血糖高吃什么食物最好最佳| 嘴唇没有血色是什么原因| 什么是活性叶酸| 缺钙会导致什么| 小腿抽筋是什么原因| 撤退性出血是什么颜色| 高压偏低有什么危害| 血糖高什么水果能吃| 香港脚是什么意思| 鼻子流清水是什么原因| 妇科检查白细胞酯酶阳性是什么意思| 吉可以加什么偏旁| 宫寒是什么| 泪腺堵塞是什么症状| 阳寿是什么意思| 准确值是什么意思| 梦见大水是什么预兆| 脖子老出汗是什么原因| 花生属于什么类| 夏至该吃什么| 螳螂捕蝉是什么意思| 喉咙不舒服是什么原因| 天铁是什么| hcg是什么激素| 尖酸刻薄什么意思| 县级干部是什么级别| 尿微肌酐比值高是什么情况| 神助攻什么意思| vogue是什么意思| 天后是什么意思| 董承和董卓什么关系| 交配是什么意思| 抄手是什么| po医学上是什么意思| 腿抖是什么病的预兆| 胃息肉吃什么好| 肾功能不好有什么症状| 尿液浑浊是什么原因| 维生素c是什么| 宝宝胎动频繁说明什么| 什么的鸽子| 赤潮是什么意思| 心绞痛用什么药最好| 妊娠高血压什么症状| 什么叫腺肌瘤| 双花红棍是什么意思| 也字五行属什么| 老人脚背肿是什么原因| 梦见下雪了是什么意思| 子宫肌瘤手术后吃什么好| 鱼的偏旁部首是什么| 濡湿是什么意思| 掉头发补充什么维生素| 50岁是什么之年| 女性白带有血丝是什么原因| 马克杯是什么意思| 梦到公鸡是什么意思| 胎毒是什么| 5月20日什么星座| 北京为什么这么热| 什么补血最快| 属羊是什么星座| 1.16是什么星座| 治疗阴虱子用什么药最好| 籺是什么意思| 风热火眼是什么意思| 蛇盘疮什么原因引起的| 怀孕前三个月忌吃什么| 做肉丸用什么淀粉最佳| 净字五行属什么| 黑管是什么乐器| dsa是什么检查| vjc是什么品牌| 青鱼吃什么| 不出汗是什么原因| 梦见钓了好多鱼是什么意思| 娃娃衫配什么裤子图片| egc是什么意思| 经前期综合症吃什么药| 辛亥革命是什么时候| 双肺钙化灶是什么意思| 长脸适合什么眼镜框| 释迦牟尼是什么意思| 李世民是什么生肖| 女猴配什么属相最好| 儿童吃手指是什么原因| 金牛座前面是什么星座| 伏天吃什么| 胆囊切除后对身体有什么影响| 梦见被蛇追着咬是什么意思| 什么姓氏好听| 莴笋不能和什么一起吃| 洗衣机什么牌子好| 葛根粉吃了有什么作用| 3月28号是什么星座| 紫草是什么| 嗓子痛吃什么好| cea检查是什么意思| 浮瓜沉李什么意思| 百度

新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于GIO/FVID的DSP视频驱动程序

Four Treasures Support Two Millennia of Study

——
作者:臧博 吴裕斌 曹丹华 时间:2025-08-06 来源:华中科技大学 收藏
    引言 百度 第二个要学历,美国不要学历,只要你说清楚,中专毕业或小学毕业都可以到资本市场娶妻,但是不能撒谎,这是底线。

  随着时代的发展,技术在远程监控、可视电话、工业检测等视频处理领域得到了广泛的应用,对于不同的视频处理系统,会使用不同的视频设备,所以有必要为视频没备设计,为高层应用程序提供统一的接口来操作底层硬件。只要是遵循此接口标准开发的高层应用程序,都可以在具有相同接口的不同硬件平台上运行,具有很好的通用性和可移植性。同时高层应用程序设计人员只要会使用设备提供的API接口,就不必了解底层硬件的具体实现,可以大大提高整个视频系统的开发效率。

  对于视频设备,TI公司也提出了对应的视频设备驱动程序模型,但这些模型主要是针对6000系列高端,甚至是DM64X这样的视频处理专用设计的。而TMS320F2812(简称F2812)DSP这样的低端处理器,内部存储空间较小,且没有DM64X那样专用的视频接口。本文针对这类问题,提出了对TI视频驱动模型进行简化和改造的方法,使视频设备驱动程序占用尽量少的系统资源,来完成对视频硬件设备的操作。这种视频驱动模型的裁减方法,对于使用低端处理器的视频处理系统具有借可鉴性。

  1、基于DSP/BIOS的外设

驱动开发模型

  TI公司为开发DsP的外设驱动程序,推出了DSP/BIOS Device Driver kit,定义了标准的设备驱动模型,并提供了一系列的API接口。如图1所示,外设驱动程序分为两层:

  ①类驱动(class driver)。类驱动程序用来为应用程序提供接口。这部分程序与设备无关,主要功能包括维护设备数据缓冲区,向上提供API接口供应用层程序调用,并协调应用程序对外设操作的同步和阻塞;向下提供适配层与迷你驱动层相连,实现API接口函数到迷你驱动层程序的映射。类驱动程序与硬件无关,只要外设驱动模型选定了,类驱动程序就定下来了,不需要做多少修改。

  ②迷你驱动(mini driver)。迷你驱动程序与设备相关,所以设计迷你驱动程序是外设驱动开发中的重点。迷你驱动程序与类驱动层的接口格式是统一的,但迷你驱动程序对底层硬件的操作是根据硬件平台的不同而变化的。迷你驱动接收类驱动层发出的IOM_Packet命令包,决定对底层硬件进行什么样的操作。

  外设驱动程序模型又可以分为以下3类:

  ①PIP/PI0模型。基于数据管道的I/O模型,每个管道都在维护自己的一个缓冲区。当数据写入缓冲区,或从缓冲区取出数据时,便会激发notifyReader和notifyWriter函数实现数据的同步。

  ②SIO/DIO模型。基于数据流的I/O模型,一个数据流是单向的,要么是输入,要么是输出,而且SIO/DIO模璎使用异步方式来操作I/0,对于数据的读写、处理可以同时进行。

  ③GI0模型。通用的I/O模型,灵活性很强,且没有适配层,直接操作迷你驱动程序,主要用来设计新型的设备驱动模型。

基于DSP/BIOS 外设驱动模型

  2、视频处理系统硬件平台

  硬件平台如图2所示。系统以TI公司的F2812 DSP作为中心处理器,以模拟摄像机进行视频信号采集,再使用SAA7111视频解码芯片将其转换为BT601格式的数字视频信号。DSP将数字视频信号处理后,再写入输出帧缓存AL422中,并控制视频编码芯片ADV7177,将其转换为模拟电视信号输出。整个系统以l片CPLD——IspMachLC4128来协调各个芯片之间的时序关系。

硬件平台

  3、视频设备驱动程序开发

  3.1 设备驱动程序模型的选择

  如上文介绍,常用的驱动程序模型包括3类:PIO、SIO和GIO。比较这3种模型可以知道:PIO支持更底层的通信,适合设计比较简单的外设驱动程序。例如在TI公司的6X11DSK板上实现的音频采集和回放,一般都是基于PIO模型的。而SIO模型具有很好的缓冲器分配回收机制,比较适合描述视频设备,但是SIO的很多功能在本系统中使用不到,而且GIO模型设计的目的就是针对特殊硬件的新型设备,所以最终考虑使用GIO设备驱动模型。

  TI公司最初设计的GIO模型其实是有缺陷的,主要在数据缓冲区管理的问题上,应用程序在取得缓冲区进行数据处理之后,却无法将缓冲区返回设备驱动程序。于是TI公司在推出DM6北这一款主要用于视频处理的DSP芯片的同时,对GIO模型进行了改进,提出了专门针对视频设备的模型。模型是建立在GIO模型之上的,以_alloc、FVID_exchangc、FVID_free函数对GIO模型中的GIO_submit函数进行封装,解决了GIO模型中驱动程序不能回收缓冲区的问题。

  此外FVID模型还专门设计了FVID_frame结构。此结构中包含了常用的视频信号的信息,如行数、列数、YUV结构、场频等,很适合描述视频数据帧。但FVID主要是针对DM64X系统设计的,DM64X的很多功能在F2812 DSP上都不具备。所以本设计针对F2812 DSP视频处理系统,对FVID模型进行了一定的简化,保留类驱动程序,而重写了迷你驱动层程序。

    3.2 视频处理程序运行流程

  在设计完成的视频驱动程序基础上,开发一个典型的视频处理应用程序,其运行流程如图3所示。首先使用FVID_create函数建立GIO_capture和GIO_play两个视频通道.再以GIO_capture通道的FVID_control函数发出cmd_start,采集到1帧视频数据。应用程序以GIO_capture通道的FVID_alloc函数向驱动程序申请采集到的数据帧,进行处理后再以FVID_exchange函数将修改后的数据帧返回驱动程序,最后再调用GI0_play通道的FVID_control函数发出cmd_display命令将数据帧输出。由图3可以看到,应用程序调用的这些FVID_XXX接口函数会自动由类驱动程序层层向下映射,到达迷你驱动层程序;而迷你层程序可以直接操纵底层硬件设备,来完成整个视频的采集、处理和显示的过程。

运行流程图

   3.3 迷你驱动程序的设计

  迷你层驱动程序足整个设计的重点所在,下面详细介绍其实现方法。迷你层驱动程序主要由表1所列的几个函数组成。

迷你层驱动程序

  对各个函数的具体实现如下:

  ①mdBindDev函数。在应用程序建立设备接口(如FVID_create函数)时被调用,完成对外部设备的初始化。而与其对应的是md_UBindDev函数,使用nadUBindDev函数会使设备处于无效状态,不能再使用。

  ②mdCreateChan函数。使用此函数为应用程序和驱动程序建立通信通道,同时为每个通道申请缓冲区。在TI公司发

布的FVID模型中,为每个通道都分配了3个缓冲区,轮流与外部设备交换数据,每个缓冲区对应1帧视频数据,这样的设计在DM642这样可以外扩大容量SDRAM的系统中是完全可行的。但是对于本系统,F2812DSP外部只扩展了512K
linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭
吃什么可以消除淋巴结 尿酸高适合吃什么食物 刺梨是什么水果 宜昌有什么特产 什么是神经官能症
高危性行为是什么 过敏性鼻炎喷什么药 食管反流吃什么药最好 神奇的近义词是什么 阴道黑是什么原因
皮肤黑的人穿什么颜色的衣服显白 乳糖不耐受是什么意思 恶心想吐吃什么药好 胶囊是什么原料做的 肌腱属于什么组织
两个水念什么 小番茄有什么营养价值 鹿晗的原名叫什么 为什么印度人叫阿三 肝火旺是什么症状
海鲜中毒有什么反应liaochangning.com 镀18k金是什么意思shenchushe.com 北京的区长是什么级别hcv8jop4ns7r.cn 猪肝炒什么hcv9jop6ns0r.cn 病毒性心肌炎吃什么药hcv8jop1ns2r.cn
足字旁的字跟什么有关aiwuzhiyu.com 胜肽的主要功能是什么hcv9jop3ns0r.cn 1990属马的是什么命hcv8jop0ns9r.cn 风雨雷电代表什么生肖hcv8jop4ns4r.cn 眼睛干涩发痒用什么药wuhaiwuya.com
8月10日什么星座hcv8jop8ns1r.cn gender什么意思zsyouku.com 筝是什么意思hcv9jop4ns7r.cn 百香果什么时候吃最好hcv9jop2ns0r.cn 有胃病的人吃什么最养胃hcv9jop4ns4r.cn
流鼻涕是什么原因hcv8jop8ns7r.cn 气管憩室是什么意思hcv8jop3ns4r.cn 害怕的反义词是什么hcv9jop1ns4r.cn 梦见针是什么意思hcv7jop5ns4r.cn 犬吠是什么意思hcv9jop3ns5r.cn
百度