开源一个USB外置显卡,基本功能已调通
本帖最后由 hell-prototypes 于 2013-1-13 17:50 编辑一、显示的功本功能已实现:
分辨率:800x600
刷新率:60Hz
色 彩:R(5Bit),G(5Bit),B(4Bit)
每秒帧数:约15fps(Max)
二、未实现:
图像数据压缩传输,提高每秒帧数到20fps以上
图像数据刷新处理改成线程处理
在高分辨率显示器中显示800x600图像
显卡驱动增加软加速支持,支持视频播放
支持需要硬件加速的图像处理,如:游戏等
三、整个USB显卡包括4个软件模块、2个硬件模块
1. 软件:
(1). 显卡驱动(PC)
(2). 图像传输桥(PC)
(3). USB接口芯片固件(CY7C68013A)
(4). FPGA固件 (XC3S50AN)
2. 硬件:
(1). CY7C68013A + FPGA(XC3S50AN)板
(2). R-2R DAC转换板
四、源码:
源码放在代码分享平台GitCD上,我的主页:http://gitcd.com/user.htm?name=hell-prototypes
(1). 显卡驱动: HLS_UVC_Win_Driver_OS,需要WDK 7.x
(2). USB固件: CY7C68013A_FW 的HLS_UVC分支(Branch),需要C51编译
(3). FPGA固件: HLS_UVC_FPGA_FW_OS,需要Xilinx ISE
(4). 图像传输桥程序: HLS_UVC_Bridge_OS,需要Qt 4.7以上版本
五、硬件:
(1). CY7C68013A + FPGA(XC3S50AN)板由论坛的开源逻辑分析仪修改而来,原理图在这里
(2). R-2R DAC转换板原理图在这里
六:系统框图:
七、R-2RDAC转换板 - 调试板
八、运行效果图:
好东西哦 好东西啊。可以用来扩展。 霸气~~~收藏了!{:lol:}{:lol:} VGA是模拟信号,楼主那样飞线的抗干扰能力不强,怕对色彩效果有影响啊。 好东东,支持!!
来自:amoBBS 阿莫电子论坛 Windows Phone 7 客户端 NB,要是能做出模块并出售,那坛子里的兄弟们就有福了,可以一起玩玩了 收藏!!!! 好东西,用来扩充显示屏方便了 好东西啊,mark 好东西,支持lz 厉害。。。有个疑问?实时写硬盘?不是成了给硬盘做老化测试了?系统性能也大受影响 收藏了再研究 {:smile:}{:smile:} 楼主的动手能力赞 很强悍,支持。!!! 可以支持linux吗? 这个强悍! 霸气四射!果断收藏!!! 牛人,我看不懂{:smile:} 顶一下
MARK,相当的给力~~~ {:biggrin:},这都能搞?牛逼啊 这个牛逼,可惜玩不了,顶一下 电源模块 发表于 2013-1-13 22:07 static/image/common/back.gif
厉害。。。有个疑问?实时写硬盘?不是成了给硬盘做老化测试了?系统性能也大受影响 ...
显卡驱动里用 EngMapFile() 创建文件,图像传输桥程序里用Qt的 QFile::map() 来读共享文件, 所有操作都在内存中完成, 不会实时读写硬盘(只有在内存不够的情况下才可能发生)。
在硬盘上创建文件只是为了得到一个文件在内存中的文件句柄。
详见驱动原作者的解释:
http://www.codeproject.com/Articles/12878/Driver-Development-Part-6-Introduction-to-Display?msg=1497246#xx1497246xx LCRPN 发表于 2013-1-13 20:14 static/image/common/back.gif
VGA是模拟信号,楼主那样飞线的抗干扰能力不强,怕对色彩效果有影响啊。
调试板,能出图像就行,不要求太高。 snowy 发表于 2013-1-14 08:09 static/image/common/back.gif
可以支持linux吗?
可以的,不过需要研究一下Linux下的驱动。 bbs2009 发表于 2013-1-14 09:42 static/image/common/back.gif
请教LZ :
我用过商品USB 显卡 安装后通常 多了一个显卡直接用就是了 貌似没有图像传输桥。
你的 ...
我没买过,但下载安装过 DisplayLink 的程序,安装后也是会有后台程序以服务形式运行的。
现在市面上的很多外置USB显卡用的都是DisplayLink的方案芯片。
原理差不多。
Displaylink 的 Technology Overview: http://www.displaylink.com/technology/technology_overview.php 成本到多少? 高级货,收藏,类似的,也能用在 同步LED显示。 或 LCD拼接屏系统。 bbs2009 发表于 2013-1-14 10:10 static/image/common/back.gif
那你的 图像传输桥就是后台服务程序 对吗?
嗯,是的 这需要多么大带宽丫,我还有块68013A的开发版,上面貌似还有块CPLD,不知道够用不{:loveliness:} 学习,支持楼主 霸气 2013正能量 不错啊,楼主很给力哦,提升一下速度就无敌了 好东西啊,mark 楼主威武,求硬件 还能提高分辨率吗?如果要提高分辨率,哪里是瓶颈呢?fpga还是CY7C68013A? 楼主可以参考一下数字电视原理 中的信源编码部分,MPEG-2信源编码, 可以减小带宽。 比如前后帧之间有很多的冗余信息,如果只传递前后帧之间的变化量,可以大大减小传输带宽。 hunningtu 发表于 2013-1-15 18:19 static/image/common/back.gif
还能提高分辨率吗?如果要提高分辨率,哪里是瓶颈呢?fpga还是CY7C68013A?
分辨率可以提高,但图像大小只能到800*600(1MB RAM),图像大小受内存限制. 这个比较生猛~~~~~~~~~~~~~~~~ 学习,支持楼主 bbs2009 发表于 2013-1-15 11:34 static/image/common/back.gif
不错。
LZUSB 显卡 搞定了, 是否接下来搞 网络 显卡
再搞个USB声卡,应该可行 {:lol:} 强悍,支持!! 出个成品模块板子吧 不懂,如能挂上监控摄像头变成uvc免驱摄像头那应该挺好玩。 强悍,我先顶一下 强大啊强大啊,强大啊 ca,顶LZ,我正愁着用VNC抓屏输出到FPGA上刷新速度不行呢。回头把驱动好好改改,使用内存虚拟一块缓冲区缓存图像,最大支持到1080P(到显示器估计就只有10fps了,不带压缩最高5fps)。PS:手中有一块1080P的屏,目前在用VNC的驱动。 sco518 发表于 2013-1-15 18:59 static/image/common/back.gif
楼主可以参考一下数字电视原理 中的信源编码部分,MPEG-2信源编码, 可以减小带宽。 比如前后帧之间有很 ...
FPGA是没法做解压的,否则太复杂。 现在做视频的一般都是用FPGA 的。。主要就是这部分难度相当大,如果能用起来,肯定是非常适合你这个项目的。 搜搜这个吧:NL571AA,HP的 gitcd,用什么工具下载? aworker 发表于 2013-1-17 10:48 static/image/common/back.gif
gitcd,用什么工具下载?
Git: git clone 强大 支持 这个很 NX。
MARK下 bbs2009 发表于 2013-1-15 11:34 static/image/common/back.gif
不错。
LZUSB 显卡 搞定了, 是否接下来搞 网络 显卡
支持搞网络显卡,这个有前途。
最好是带宽10mbps,分辨率1920×768.
呵呵 好东西,先收藏! bbs2009 发表于 2013-1-18 15:47 static/image/common/back.gif
这个已有成品的。
不过自己搞可了解机理, 派生出特殊用途的东西。
那个产品?想买来试试。 {:funk:}霸气侧漏 mark一下 抽空试试 肯 都是牛人闪闪啊 这个很强,,如果分辨率再大点就更爽了 mark ! 谢谢楼主分享经验! 好东西,多谢楼主开源 好吧,太霸气了 如果改成PCI总线不知道效果会不会更好 学FPGA的都是牛人啊!我是搞嵌入式软件的,现在开始学习FPGA,为童年的梦想而奋斗!{:lol:} 好动西啊 还可以这样玩啊,有意思! 赞一个! hell-prototypes 发表于 2013-1-16 09:53 static/image/common/back.gif
再搞个USB声卡,应该可行
USB声卡和USB网卡,貌似满大街都是,二手市场很多 曾经用ARM9做过一个。 大概也是15fps, usb
受限了 谢谢LZ分享~ 好东西哦 收藏了! 要不要把楼主的创意去打个样呢 太羡慕了!!!! 牛人啊,补丁字数 没有xinlinx的扳子,不知道能改成altera实现? avr-arm 发表于 2013-11-27 12:56
收藏了!
+1 太强了马上收藏。 楼主提供的资料不错! 记号{:smile:}{:smile:}{:smile:} 好东西,收藏了 我靠! 楼主太牛逼了! 好东西,收藏了 好东西,赞一个 大牛,厉害 都是高手啊,佩服。。。 这个显示驱动是不是在windows的设备管理器上直接识别为一个即插即用的通用监视器 ? 楼主强大!谢谢分享
页:
[1]
2