首页
游戏
影视
直播
广播
听书
音乐
图片
更多
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的云盘
我的搜索
我的记录
我的图片
我的图书
我的笔记
我的音乐
我的影视
我的邮件
我的游戏
Search
1
virtuoso和empyrean alps模拟仿真和混仿教程
360 阅读
2
在IC617中进行xa+vcs数模混仿
301 阅读
3
文档内容搜索哪家强? 15款文件搜索软件横向评测
264 阅读
4
科普:Memory Compiler生成的Register file和SRAM有何区别?
258 阅读
5
通俗易懂的AI知识体系图及其产业链全景图
198 阅读
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
登录
Search
标签搜索
AI
python
Docker
vcs
PyQT
STM32
cadence
linux
systemverilog
EDA
Alist
vscode
uos
package
MCU
C
QT
CXL
sed
sv
bennyhe
累计撰写
387
篇文章
累计收到
33
条评论
首页
栏目
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
页面
游戏
影视
直播
广播
听书
音乐
图片
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的云盘
我的搜索
我的记录
我的图片
我的图书
我的笔记
我的音乐
我的影视
我的邮件
我的游戏
搜索到
387
篇与
的结果
2025-07-14
如何修改修改网卡号 (2008-06-19 13:53:57)
首先必须关闭网卡设备,否则会报告系统忙,无法更改。一、简单的修改方法 其实不论 98 还是 2000,自身都已经提供了更改网卡地址的功能,只是平时大家都没上这方面想,因此没有注意到而以,很简单的哦 ..... 现在我们先来看看 WIN2000。在桌面上的网上邻居图标上单击右键,选择“属性”,在弹出的“网络和拨号连接”窗口中一般有两个图标,一个是“新建连接”图标,一个是“我的连接”图标。当然了,如果你的机器上有两个网卡的话,那就有三个图标了。现在假设你只有一个网卡,那就在“我的连接”图标上单击右键,选择“属性”,这时会弹出一个“我的连接属性”的窗口。在窗口下面有一个“配置”按钮,点击该按钮后就进入了网卡的属性对话框了,这个对话框中有五个属性页,点击第二项“高级”页,在“属性”标识下有两项或多项,现在你应该能看到一个叫“ Network Address”的属性项了吧,点击该项,在对话框右边的“值”标识下有两个单选项,默认是“不存在” ,现在你只要选中上面一个单选项,然后在右边的框中输入你想改的网卡 MAC地址(注意要连续输入,不要带“-”),如“ 00E0404000A0 ”,点“确定”, OK!你已经大功告成了! 在 98 下面的修改和 WIN2000下差不多。在“网上邻居”图标上单击右键,选择“属性”,弹出一个“网络”对话框,在“配置”框中,双击你要修改的网卡,出来一个网卡属性对话框。在“高级”选项中,也是点击“属性”标识下的“ Network Address”项,在右边的两个单选项中选择上面一个,再在框中输入你要修改的网卡 MAC地址,点“确定”后,系统会提示你重新启动。接下来就不用我说了吧!:)(重启后你可以用“ winipcfg ”看看修改的结果) 如果你想把网卡的 MAC 地址恢复原样,只要选择“ Network Address”项右边的“没有显示”再重新启动即可。在 WIN2000下面是选择“不存在”,当然也不用重新启动了。 二、注册表修改的方法 由于驱动或网卡的关系,有的机器中没有“ Network Address”项,那我们只有通过修改注册表来进行修改了。 ◆ Windows2000 的修改 1 、在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002BE10318}\0000 、 0001 、 0002 等主键下,查找 DriverDesc,内容为你要修改的网卡的描述,如“ Realtek RTL8029(AS)-based PCI EthernetAdapter ”。 2 、在其下,添加一个字符串,命名为 NetworkAddress ,其值设为你要的 MAC地址(注意地址还是连续写)。如: 00E0DDE0E0E0 。 3 、然后到其下 Ndi\params 中添加一项名为 NetworkAddress的主键,在该主键下添加名为 default 的字符串,其值是你要设的 MAC地址,要连续写,如: 000000000000。(实际上这只是设置在后面提到的高级属性中的“初始值”,实际使用的 MAC地址还是取决于在第 2 点中提到的 NetworkAddress参数,这个参数一旦设置后,以后高级属性中的值就是 NetworkAddress 给出的值而非default 给出的了。) 4 、在 NetworkAddress 的主键下继续添加名为 ParamDesc 的字符串,其作用为指定NetworkAddress 主键的描述,其值可自己命名,如“ Network Address”,这样在网卡的高级属性中就会出现 Network Address选项,就是你刚在注册表中加的新项 NetworkAddress ,以后只要在此修改 MAC地址就可以了。继续添加名为 Optional 的字符串,其值设为“ 1”,则以后当你在网卡的高级属性中选择 Network Address项时,右边会出现“不存在”选项。 5 、重新启动你的计算机,打开网络邻居的属性,双击相应网卡项会发现有一个Network Address 的高级设置项,可以用来直接修改 MAC 地址或恢复原来的地址二、 Linux下的MAC地址更改1.首先必须关闭网卡设备,否则会报告系统忙,无法更改。命令是:“/sbin/ifconfig eth0 down”2.修改MAC地址,这一步较Windows中的修改要简单。命令是:“/sbin/ifconfig eth0 hw ether 00AABBCCDDEE”3.重新启用网卡“/sbin/ifconfig eth0 up”网卡的MAC地址更改就完成了。三、补充说明1.在Win 2000下,已经没有“winipcfg”命令,但是你仍然可以通过“ipconfig”命令来获取网卡的MAC地址信息,方法是首先在运行中输入“cmd”,回车,进入命令行方式,然后输入“ipconfig -all”(此命令在Win 98和Win ME中也可使用),你就可以找到网卡的各项信息,如图(^29041103b^)2。2.为什么修改MAC地址?可能有很多人迷惑不解,为什么用这么大的篇幅来介绍修改MAC地址,到底有什么实际意义呢?简单的说,MAC地址相当于你的网络标识,在局域网里,管理人员常常将网络端口与客户机的MAC地址绑定,方便管理,万一你的网卡坏掉了,换一张网卡必须向管理人员申请更改绑定的MAC地址,比较麻烦,这时候,我们直接在操作系统里更改一下MAC,就可以跳过重新申请这一步,减少了很多麻烦。另外,当你使用黑客软件对别人的机器进行攻击时,别人的防火墙获取到你的IP地址,就可以通过“Nbtstat -A ip地址”命令获取你的MAC,如果你改一下,呵呵,查到的MAC就不是你的了。(可别说我教你学坏啊!)
2025年07月14日
18 阅读
0 评论
0 点赞
2025-07-14
数字摄像头 (2008-06-11 12:49:33)
数字摄像头可以直接捕捉影像,然后通过串、并口或者USB接口传到计算机里。现在电脑市场上的摄像头基本以数字摄像头为主,而数字摄像头中又以使用新型数据传输接口的USB数字摄像头为主,目前市场上可见的大部分都是这种产品。除此之外还有一种与视频采集卡配合使用的产品,但目前还不是主流。由于个人电脑的迅速普及,模拟摄像头的整体成本较高等原因, USB接口的传输速度远远高于串口、并口的速度,因此现在市场热点主要是USB接口的数字摄像头。数字摄像头一、数字摄像头的工作原理摄像头的工作原理大致为:景物通过镜头(LENS)生成的光学图像投射到图像传感器表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过USB接口传输到电脑中处理,通过显示器就可以看到图像了。注1:图像传感器(SENSOR)是一种半导体芯片,其表面包含有几十万到几百万的光电二极管。光电二极管受到光照射时,就会产生电荷。注2:数字信号处理芯片DSP(DIGITAL SIGNAL PROCESSING)功能:主要是通过一系列复杂的数学算法运算,对数字图像信号参数进行优化处理,并把处理后的信号通过USB等接口传到PC等设备。DSP结构框架:ISP(image signal processor)(镜像信号处理器)JPEG encoder(JPEG图像解码器)USB device controller(USB设备控制器)二、摄像头的主要结构和组件从摄像头的工作原理就可以列出摄像头的主要结构和组件:1、 镜头(LENS)透镜结构,由几片透镜组成,有塑胶透镜(plastic)或玻璃透镜(glass)。2、 图像传感器(SENSOR)可以分为两类:CCD(charge couple device) :电荷耦合器件CMOS(complementary metal oxide semiconductor):互补金属氧化物半导体3、 数字信号处理芯片(DSP)DSP生产厂商较多,市面上较为流行的有:SONIX(松瀚)602A、VIMICRO(中星微)301P、ST(罗技LOGITECH的DSP提供商)、SUNPLUS(SUN+重点发展单芯片的CIF和VGA,但图像质量一般)、OVT(OVT511、OVT519前两年较流行,现有少数产品在市场上)。4、电源摄像头内部需要两种工作电压:3.3V和2.5V,因此好的摄像头内部电源也是保证摄像头稳定工作的一个因素。三、摄像头的一些技术指标1、 图像解析度/分辨率(Resolution): ● SXGA(1280 x1024)又称130万像素 ● XGA(1024 x768)又称80万像素 ● SVGA(800 x600)又称50万像素 ● VGA(640x480)又称30万像素(35万是指648X488) ● CIF(352x288) 又称10万像素 ● SIF/QVGA(320x240) ● QCIF(176x144) ● QSIF/QQVGA(160x120) 2、图像格式(image Format/ Color space)RGB24,I420是目前最常用的两种图像格式。● RGB24:表示R、G、B三种颜色各8bit,最多可表现256级浓淡,从而可以再现256256256种颜色。 ● I420:YUV格式之一。 ● 其它格式有: RGB565,RGB444,YUV4:2:2等。 3、自动白平衡调整(AWB)定义:要求在不同色温环境下,照白色的物体,屏幕中的图像应也是白色的。色温表示光谱成份,光的颜色。色温低表示长波光成分多。当色温改变时,光源中三基色(红、绿、蓝)的比例会发生变化,需要调节三基色的比例来达到彩色的平衡,这就是白平衡调节的实际。4、图像压缩方式JPEG:(joint photographic expert group)静态图像压缩方式。一种有损图像的压缩方式。压缩比越大,图像质量也就越差。当图像精度要求不高存储空间有限时,可以选择这种格式。目前大部分数码相机都使用JPEG格式。5、彩色深度(色彩位数)反映对色彩的识别能力和成像的色彩表现能力实际就是A/D转换器的量化精度,是指将信号分成多少个等级。常用色彩位数(bit)表示。彩色深度越高,获得的影像色彩就越艳丽动人。6、图像噪音指的是图像中的杂点干挠。表现为图像中有固定的彩色杂点。7、视角与人的眼睛成像是相成原理,简单说就是成像范围。8、输出/输入接口串行接口(RS232/422):传输速率慢,为115kbit/s并行接口(PP):速率可以达到1Mbit/s红外接口(IrDA):速率也是115kbit/s,一般笔记本电脑有此接口通用串行总线USB:即插即用的接口标准,支持热插拔。USB1.1速率可达12Mbit/s,USB2.0可达480bit/sIEEE1394(火线)接口(亦称ilink):其传输速率可达100M~400Mbit/s
2025年07月14日
11 阅读
0 评论
0 点赞
2025-07-14
模拟摄像头 (2008-06-11 12:40:27)
模拟摄像头输出标准的视频信号,不过电脑并不能直接识别到这些视频信号,我们常用的数字摄像头,就是在普通模拟摄像头的基础上增加了模数转换电路,并通过USB或者串行接口将数字图像传送到电脑中。目前的电视录像卡和模拟视频采集卡所作的工作正是模数转换。模拟摄像头加上电视录像卡完全等同于数字摄像头,可完成数字摄像头的所有工作,包括录像、视频聊天以及视频会议等。而监控小子正是利用了这一点,只不过增加了监控功能,使其具有更广泛的应用范围。而且目前模拟摄像头体积都十分小巧,造价远远低于数字摄像头。模拟摄像头其中那个红色的接口是用来连接电源的,剩下的两个接口中的任意一个都可以。模拟摄像头从摄像头的组成来看决定一个摄像头的品质从硬件上来说主要是:镜头、主控芯片与感光芯片。1、镜头(LENS)五层“全玻”,也算目前顶级的摄像头镜头了。镜头的组成是透镜结构,由几片透镜组成,一般有塑胶透镜(plastic)或玻璃透镜(glass)。通常摄像头用的镜头构造有:1P、2P、1G1P、1G2P、2G2P、4G等。透镜越多,成本越高;玻璃透镜比塑胶贵。因此一个品质好的摄像头应该是采用玻璃镜头,成像效果就相对塑胶镜头会好。现在市场上的大多摄像头产品为了降低成本,一般会采用塑胶镜头或半塑胶半玻璃镜头(即:1P、2P、1G1P、1G2P等)。2、感光芯片(SENSOR)是组成数码摄像头的重要组成部分,根据元件不同分为CCD(Charge Coupled Device,电荷耦合元件)应用在摄影摄像方面的高端技术元件。CMOS(Complementary Metal-Oxide Semiconductor,金属氧化物半导体元件)应用于较低影像品质的产品中。目前CCD元件的尺寸多为1/3英寸或者1/4英寸,在相同的分辨率下,宜选择元件尺寸较大的为好。CCD的优点是灵敏度高,噪音小,信噪比大。但是生产工艺复杂、成本高、功耗高。CMOS的优点是集成度高、功耗低(不到CCD的1/3)、成本低。但是噪音比较大、灵敏度较低、对光源要求高。在相同像素下CCD的成像往往通透性、明锐度都很好,色彩还原、曝光可以保证基本准确。而CMOS的产品往往通透性一般,对实物的色彩还原能力偏弱,曝光也都不太好。所以我们在使用摄像头,尤其是采用CMOS芯片的产品时就更应该注重技巧:首先不要在逆光环境下使用(这点CCD同),尤其不要直接指向太阳,否则“放大镜烧蚂蚁”的惨剧就会发生在您的摄像头上。其次环境光线不要太弱,否则直接影响成像质量。克服这种困难有两种办法,一是加强周围亮度,二是选择要求最小照明度小的产品,现在有些摄像头已经可以达到5lux。最后要注意的是合理使用镜头变焦,不要小瞧这点,通过正确的调整,摄像头也同样可以拥有拍摄芯片的功能。目前,市场销售的数码摄像头中,基本是CCD和CMOS平分秋色。在采用CMOS为感光元器件的产品中,通过采用影像光源自动增益补强技术,自动亮度、白平衡控制技术,色饱和度、对比度、边缘增强以及伽马矫正等先进的影像控制技术,完全可以达到与CCD摄像头相媲美的效果。受市场情况及市场发展等情况的限制,摄像头采用CCD图像传感器的厂商为数不多,主要原因是采用CCD图像传感器成本高的影响。3、主控芯片(DSP)中星微(VIMICRO)301Plus主控芯片,是目前摄像头中最好的核心IC之一在DSP的选择上,是根据摄像头成本、市场接受程度来进行确定。现在DSP厂商在设计、生产DSP的技术已经逐渐成熟,在各项技术指标上相差不是很大,只是有些DSP在细微的环节及驱动程序要进行进一步改进。4、图像解析度/分辨率(Resolution)即传感器像素,也就是我们常说的多少像素的摄像头,是衡量摄像头的一个重要指标之一,一些产品都会在包装盒标着30万像素或35万像素。在实际应用中,摄像头的像素越高,拍摄出来的图像品质就越好,但另一方面也并不是像素越高越好,对于同一画面,像素越高的产品它的解析图像的能力也越强,但相对它记录的数据量也会大得多,所以对存储设备的要求也就高得多,因而在选择时宜采用当前的主流产品。由于受到摄像头价格、电脑硬件、成像效果等因素的影响,现在市面上的摄像头基本在30万像素这个档次上进行销售。还有就是由于CMOS成像效果在高像素上并不理想,因此统治高像素摄像头的市场仍然是CCD摄像头。值得注意的一点:有些分辨率的标识是指这些产品利用软件所能达到的插值分辨率,虽然说也能适当提高所得图像的精度,但和硬件分辨率相比还是有着一定的差距的。5、视频捕获速度视频捕获能力是用户最为关心的功能之一,很多厂家都声称最大30帧/秒的视频捕获能力,但实际使用时并不能尽如人意。目前摄像头的视频捕获都是通过软件来实现的,因而对电脑的要求非常高,即CPU的处理能力要足够的快,其次对画面要求的不同,捕获能力也不尽相同。现在摄像头捕获画面的最大分辨率为640×480,在这种分辨下没有任何数字摄像头能达到30帧/秒的捕获效果,因而画面会产生跳动现象。比较现实的是在320×240分辨率下依靠硬件与软件的结合有可能达到标准速率的捕获指标,所以对于完全的视频捕获速度,只是一种理论指标。用户应根据自己的切实需要,选择合适的产品以达到预期的效果。
2025年07月14日
13 阅读
0 评论
0 点赞
2025-07-14
一种用CPLD实现视频信号运动检测的方法 此博文包含图片 (2008-06-11 12:31:19)
一种用CPLD实现视频信号运动检测的方法 来源:《电子技术应用》 作者:姚聪 汪敏 潘志浩 张之江 摘 要: 介绍了一种采用CPLD外加SRAM存储芯片,对ITU601格式数字视频信号进行运动检测的方法。在此基础上,给出了一个实现这种检测方法的例子。在这个例子中,用Philips公司的视频处理芯片SAA7113的输出信号作为数字视频源,用Lattice公司的CPLD芯片LC4128V对视频信号进行运动检测。关键词: 运动检测 CPLD 数字视频信号在数字录像、数字监控等领域内,人们通常只对场景内存在的物体运动感兴趣。在这种情况下,需要对输入的视频信号进行预处理,识别场景中是否存在物体运动,也就是进行运动检测,然后再决定是否做进一步的处理,例如录像、报警等。对于录像系统,通过运动检测,能够避免不必要的数字录像,有效地减少系统所需存储空间;同时可以加快检索速度,提高资料有效性。对于监控系统,运动检测是一种监视场景信息的有效手段。很多数字视频信号处理系统通常会选用DSP芯片作为主处理芯片。由于DSP对数字信号的处理是通过编程实现各种算法的,只通过软件就可以方便地加入某些功能,因此没有必要添加额外的硬件来完成运动检测。但是有很多系统,由于各种原因需要选用其它芯片来完成视频信号的处理,例如华邦的W9968x系列芯片,由硬件完成信号的处理,其算法已经被固化在芯片的内部电路中,不能随意更改。这一类芯片功能比较单一,但速度快、价格便宜,通常可以作为某些系统的专用芯片。对于这种情况,就需要考虑用另外的方法来实现运动检测。本文介绍的用CPLD进行运动检测的方法就是针对这一类情况的。该方法是通过附加一片CPLD芯片和一片SRAM芯片构成一个低成本的运动检测模块的。1、运动检测原理运动检测的实现方法有硬件实现的也有软件实现的,但基本思想大同小异,都是对相隔一定时间的两帧视频数据进行抽样,并对抽样数据进行比较,如果比较结果显示这两帧数据存在比较大的差异,那么就认为数据输入场景中存在物体的运动,反之就认为没有运动存在。 http://www.hocooling.com/060626135717511.gif 本文介绍的用CPLD实现运动检测的方法也是基于这种思想,但和一般的实现方法有所不同,其实现方法有一定的特色。通常情况下,在实现上述思想的过程中,需要两个缓存区分别存放两帧抽样数据,然后对这两帧数据进行比较并对比较结果进行统计,最后得出比较结果。这样做需要较大的SRAM作为缓存,而且往往需要单片机或者DSP对CPLD进行控制,并将其作为两帧数据的比较器。这样,运动检测模块的独立性会受到限制,而且CPLD的功能只是一个抽样控制器。本文提出的方法只对一帧抽样数据进行缓存,在对第二帧数据进行抽样时读取第一帧中与此刻抽样的数据相对应的缓存数据,并将两者进行比较,用一个计数器记录比较结果,如果差值超过阈值,计数器加一,否则不加。当这个计数值超过某一个规定数值的时候,就认为输入视频数据中存在着物体运动。这样做的好处是需要的缓存区较小,而且CPLD可以单独对数据进行处理,提高运动检测模块的独立性,运动检测模块可以单独调试。2、用CPLD实现运动检测下面通过实例说明用CPLD实现运动检测的过程,并给出部分VHDL程序。在这个实例中,模拟视频信号从CCD摄像头输入,经过SAA7113芯片预处理后,输出数字视频信号。该信号分作两路:一路输入到CPLD进行运动检测,另一路则输入到芯片W99682,对信号进行JPEG压缩等进一步处理。示例中用到的CPLD是Lattice公司的LC4128V-75T100C,它具有128个宏单元、7.5ns的延时。SRAM芯片是ISSI公司的63LV1024,其容量为128K×8bit,具有10ns的延时。CPLD检测到运动后,通过中断,要求W99682对信号做进一步处理。其系统结构图如图1(省略了部分与运动检测无关的元件)所示。2.1 SAA7113的输出信号SAA7113是Philips公司推出的一款功能强大的视频信号预处理芯片,最基本的功能是模/数转换,输出的数字视频信号符合ITU601标准。ITU601是长宽比为43和169的数字电视信号标准,它对数字电视信号的各项参数进行了详细的描述和规范。在我国,通常采用的都是422采样格式、PAL制式、长宽比为43的数字电视信号。SAA7113的输出信号就是指这一格式的信号。这种格式信号的主要特征是:(1)有三个正交分量:亮度分量Y、色度分量Cb和Cr。(2)25帧/秒的帧率,每帧两场,每帧扫描625行。(3)对于亮度分量Y,每行抽样864次,对于色度分量Cr和Cb,每行抽样432次。(4)8bit或者10bit的PCM编码。(5)量化:0和255用于同步;1到254表示抽样结果的PCM码;对于亮度分量Y,16表示黑色,235表示白色;对于色度分量Cb或者Cr,128表示没有色度。(6)有三个信号用于同步输出数据:行同步信号SHS(15.6kHz)、场同步信号SVS(50Hz)和象素数据同步信号SPCLK(27MHz)。包括消隐期在内,每帧数据扫描625行,每行抽样864个象素,因此总的分辨率是864×625。一帧数据分作奇偶两场,从上一帧的624行到本帧的310行是奇场,其中上帧624行到本帧22行是奇场消隐期,从23行到310行是奇场有效行;从本帧311行到623行是偶场,其中311到335行是偶场消隐期,336到623行为偶场有效行。图2是一帧的示意图。对于帧内的每一行,共有864个象素,其中从第0个到第719个为有效象素,共计720个,从720个到863个为消隐期象素。每个象素都抽取Y分量,每两个象素则抽取一个Cr和一个Cb分量。图3是帧内一行以及象素抽样数据排列格式的示意图。表格第一行是亮度分量Y,第二行是色度分量Cr,第三行是色度分量Cb。2.2 抽样从SAA7113视频输出数据格式的介绍可以看到,保存完整的一帧数据(包括消隐期数据在内)需要864×625×2=1.08×106Byte的SRAM,需要1M以上的存储空间,这显然是不可取的,必须对帧数据进行抽样。本文介绍的方法的抽样规则如下:(1)抽取一帧数据的奇场或者偶场。做比较的两场抽样数据必须取自相同的场次,或者同为奇场或者同为偶场,否则就没有可比性。 (2)对连续的8帧抽取第2帧和第8帧进行比较。被抽样的两帧之间必须有一定的时间间隔,间隔太短或者太长都会影响检测的灵敏度。(3)对一场数据抽取有效行中的奇数行,从场同步信号有效边沿开始对行同步信号计数,直到下一个场同步信号为止。从23行到310行是有效行,共144个奇数行。(4)对被抽取的行,取其亮度分量Y。根据图3中象素数据的排列顺序,从象素数据有效开始,偶数的象素数据脉冲同步的是亮度分量Y。 http://www.hocooling.com/060626135717512.gif 对于以上的抽样规则,有必要说明一下。最终的抽样数据并非全部都是有效数据,其中还包括了一部分消隐期的数据。这样做是可以理解的,因为运动检测的结果是根据两帧被抽样数据的差值来判定的,虽然消隐期的数据是无效的,但是每次消隐期的数据是相同的,两次抽样数据相减结果是零,并不会影响结果的判定。之所以对一场的行进行抽样,主要是为了减小抽样数据量,使数据总量不超过128K SRAM的容量。如果要保证抽样数据全部都是有效数据,那么必须利用输入的象素数据同步脉冲SPCLK、场同步信号SVS和行同步信号SHS对抽样时刻做严格的同步。这需要消耗额外的CPLD资源,而效果却不一定好。根据以上规则,实际抽样的数据量为:864×144=124416Byte,需要的SRAM容量为128K。2.3 程序下面给出实现以上过程的一部分VHDL程序。sram_write_controlprocessstore_fieldvalidspclk2line_counter beginwriting<=valid and spclk2 and spclk and store_field and line_counter0 end processsram_read_controlprocesscompare_fieldvalidspclk2line_counter beginreading<=valid and compare_field and spclk2 and line_counter0 end process这两个进程用于控制SRAM的读写信号,reading和writing正好和SRAM的读写信号反相。Valid变量指示当前输入的行是否为需要采样的有效行,spclk是象素数据同步脉冲,spclk2是它的二分频,用于指示当前输入数据是否为亮度分量Y。line_counter0 =1表示奇数行。store_field和compare_field分别指示本场数据是否需要保存或者需要比较。update_data_busprocessstore_fieldvalidccd_data beginifstore_field=‘1'and valid=‘1' thendata_sram<=ccd_dataelsedata_sram<=“ZZZZZZZZ”end ifend process在抽样第一帧数据的时候,直接把数字视频信号输入到SRAM的数据总线上,写操作信号由writing控制。其它时候,数据总线上输出高阻。update_data_regprocessspclkccd_dataspclk2compare_fieldvaliddata_sram beginifspclk'event and spclk=‘0' thenifcompare_field=‘1'and valid=‘1'and spclk2=‘1' thendata_sram_reg<=data_sramifccd_data<=threshold thendata_reg1<=“00000000”data_reg2<=ccd_data+thresholdelsifccd_data>=255-threshold thendata_reg1<=ccd_data-thresholddata_reg2<=“11111111”elsedata_reg1<=ccd_data-thresholddata_reg2<=ccd_data+thresholdend ifend ifend ifend processSAA7113的象素同步脉冲的下跳边沿是象素数据的有效边沿,进程在compare_field=1时,一方面把抽样数据读入,用寄存器保存用于比较的数据的上限和下限;另一方面从SRAM读入对应数据存入寄存器data_sram_reg,这两个操作为比较数据做好准备。threshold是一个阈值,这里取16,当前后两次抽样差值超过threshold时就认为这两个抽样数据是不等的。在输入数据接近0或者255的时候,需要做特殊处理,避免整型数溢出,影响比较结果。compare_dataprocessspclk2validcompare_field beginifspclk2'event and spclk2=‘0' thenifcompare_field=‘0' thenpixels<=“0000000000”elsifvalid='1' thenifdata_sram_reg<=data_reg1 or data_sram_reg>=data_reg2 thenpixels<=pixels+1end ifend ifend ifend processcompare_data进程在抽样的间隔(输入为色度分量Cr或者Cb时)对前后两次抽样的数据进行比较,如果比较结果超过允许值,计数器pixels加1,否则不加。motion_detectprocesspixels beginifpixels>max_pixels thenint0<=‘1'elseint0<=‘0'end ifend processmax_pixels是一个阈值,表示一帧数据中允许出现的不相等抽样数据的最大数目,当计数器pixels超过max_pixels时,就认为检测到了物体运动,CPLD将int0输出管脚置高,向处理器请求中断。这里max_pixels取600,它可以根据需要设置适当的值。当CCD摄像头前有物体晃动时,CPLD的int0管脚会连续产生高电平脉冲,这说明运动检测模块已经正常工作起来,同时另一路视频信号经过W99682处理后输送到电视屏幕上,以便观察运动的场景。如果晃动摄像头本身,只要微小的晃动就可以看到类似的效果,因此用这种CPLD实现运动检测是可行的。事实上,还可以利用同样的原理对CMOS摄像头的输入信号进行运动检测。当然这种检测方法本身也有不足之处,最主要的一点是实际检测到的只是摄像头前光线亮度的变化,不能智能地判断引起这种变化的原因,也不能判别运动物体的形状。另一方面,从实验结果来看,有时候会出现误判;当运动物体离摄像头比较远时,检测的灵敏度也会降低,出现漏判。误判和漏判是一对矛盾,在实际应用中需要根据实际情况反复调试,选出最佳的阈值,减少这两种情况的发生。
2025年07月14日
16 阅读
0 评论
0 点赞
2025-07-14
嵌入式系统数字图像采集接口电路设计 此博文包含图片 (2008-06-11 12:26:42)
摘要:本文介绍了两种用于嵌入式系统的数字图像采集接口方法,I/O接口和内存直接写入。在对采集速度要求不高的应用中,I/O接口方法可以简化接口电路设计,减少系统资源。对于要求实时进行图像处理的系统,直接写入内存法可以在不需要处理器干预的情况下,直接将图像数据写入系统存储区内,实现高速图像采集。关键词:嵌入式系统,图像采集,电路设计Abstract: In this paper, we present two different interfaces between digital a image sensors and a processor for embed systems, I/O mode and DMW (Direct Memory Write) mode. In I/O mode, processor can read image data through I/O port, and the interface is simple. In DMW mode, image data can be write into RAM directly while a processor is suspended.Key words: Embed System, Image Capture, Electronic Circuit一、引言随着半导体技术的飞速发展,具有图像功能的嵌入式应用愈来愈多。从数码相机、可视电话、多功能移动电话等消费产品到门禁、数字视频监视等工业控制及安防产品,图像采集和处理已成为重要的组成部分之一。图像采集需要进行同步信号的处理,比通常的A/D数据采集过程复杂,电路的设计也较为困难。传统PC上的图像采集卡都是在Philips、Brooktree等半导体公司提供的接口芯片基础上,由专业公司开发生产。在嵌入式系统中不同的处理器和图像传感器的信号定义及接口方式不同,没有通用的接口芯片。另外,利用系统中的现有资源设计图像采集电路,可以减少器件数量、缩小产品体积和降低系统成本。所以,通常嵌入式系统中要求自行设计图像采集接口电路。本文针对不同采集速度的要求,提出了两种图像采集接口电路的设计方法。目前市场上主流的图像传感器有CCD、CMOS两种器件,其中CMOS器件上世纪90年代产生,近年来得到了迅速发展。传感器的输出有模拟和数字两种。由于CMOS器件功耗小、使用方便,具有直接数字图像输出功能,作者在设计时选用了CMOS数字输出图像传感器件。其他方式器件的接口设计与此类似,将在讨论中说明。本文内容做如下安排:第二部分简述图像信号的特点;第三、四部分分别介绍I/O和内存直接写入两种接口设计方法;最后部分是讨论。http://www.eetchina.com/ARTICLES/2004AUG/4/2004AUG27_EMS_ID_DSP_TAONLINE121_F1.GIF二、图像信号介绍图1给出了采样时钟(PCLK)和输出数据(D)之间的时序关系。在读取图像数据时用PCLK锁存输出数据。除采样时钟(PCLK)和数据输出(D)外,还有水平方向的行同步信号(HSYNC))和垂直方向的场同步信号(VSYNC)。对于隔行扫描器件,还有帧同步信号(FRAME)。如图2,一帧包括两场。图2中窄的矩形条是同步脉冲,同步脉冲期间数据端口输出的数据无效。PLCK存在时,图像数据端口连续不断地输出数据。由于行之间以及场之间输出数据无效,在采集图像数据必须考虑同步信号,读取有效数据才能保证图像的完整性。http://www.eetchina.com/ARTICLES/2004AUG/4/2004AUG27_EMS_ID_DSP_TAONLINE121_F2.GIF三、I/O接口设计对于MCU、DSP处理器,I/O是最方便的访问方式之一。以I/O方式读取图像数据不仅可以简化电路设计,而且程序也很简单。但由于读取每一个像素都要检测状态,在处理器速度低的情况下,读取图像慢。在处理器速度快或图像采集速度要求不高的应用中,I/O接口方式是一个较好的选择。1、电路原理和结构在图像传感器和处理器之间,利用两个锁存器分别锁存状态和图像数据,处理器通过两个I/O端口分别读取。图3中,在采样时钟的上升沿数据锁存器保存传感器输出的图像数据,当处理器通过I/O口读取图像时,数据锁存器输出数据。其它情况下,锁存器输出处于高阻状态。处理器通过状态锁存器读取同步信号和图像就绪(Ready)指示信号。在数据锁存器保存图像数据的同时,状态锁存器产生Ready信号(从‘0’到‘1’)。处理器读取图像数据时,Ready信号自动清除(从‘1’到‘0’)。处理器读取状态时锁存器驱动总线,其他情况下输出处于高阻状态。http://www.eetchina.com/ARTICLES/2004AUG/4/2004AUG27_EMS_ID_DSP_TAONLINE121_F3.GIF2、图像读取流程要保证图像的完整性就必须从一场图像的第一行开始读取,对于隔行扫描输出的图像则必须从一帧的第一行开始读取。读取每行图像数据时,则从该行的第一个像素开始。因此,在读取图像数据前应先判断场和行的起始位置。图4是通过I/O接口方式读取图像数据的流程。读取每个像素数据前先查询数据状态,如果数据已准备好则读取数据。3、同步信号检测为了简化电路设计,用处理器直接读取同步信号,然后找出场和行的起始位置。http://www.eetchina.com/ARTICLES/2004AUG/4/2004AUG27_EMS_ID_DSP_TAONLINE121_F4.GIF从图2可以看出,处理器读取同步信号时,信号可能处在同步脉冲状态(‘1’)或正常状态(‘0‘)。对于那些同步信号反向的器件,则分别为‘0’和‘1’。如果信号处于同步脉冲状态,第一次检测到的正常状态就起始位置。如果信号处于正常状态,则首先检测到脉冲状态,然后用同样的方法确定起始位置。通过上述方法可以检测出场的起始位置和行起始位置。4、用VHDL设计锁存器在应用中,以上两个锁存器的功能和其他逻辑集中在一起,用可编程逻辑器件实现。下面分别为它们的VHDL表示。设DO(0-7)是锁存器输出端,DI(0-7)是锁存器输入端,DM(0-7)是中间状态,Data_R是数据读信号(低电平时有效),则数据锁存器的VHDL描述为:Process (reset, PCLK) -- 锁存图像数据BeginIf reset='0' thenDM<="00000000"; -- 清除数据Else if PCLK'event and PCLK='1' thenDM<=DI; -- 锁存数据End if;End process;Process (DM, Data_R) -- 读取图像数据BeginIf Data_R='0' thenDO<=DM; -- 输出图像数据ElseDO<="ZZZZZZZZ" -- 输出高阻End if;End process;进一步设数据有效状态为Dstatus, 状态读写信号为Status_R (低点平时有效),则状态锁存器的VHDL描述为:Process (reset, PCLK,Data_R) -- 数据有效状态控制BeginIf reset='0' or Data_R='0' thenDstatus<='0'; -- 清除状态Else if PCLK'enent and PCLK='1' thenDstatus<='1'; -- 设置状态End if;End process;Process (Dstatus, Status_R) --读取状态和同步信号BeginIf Status_R='0' thenDO0<=Dstatus;DO1<=VSYNC;DO2<=HSYNC;DO3<=FRAME;ElseDO<="ZZZZZZZZ"; -- 高阻状态End if;End process;四、内存直接写入接口设计在处理器速度较慢且图像数据输出的频率不能降低的情况下,采用上述I/O接口方法不能得到完整的图像。另外,有些应用中要求能够实时采集图像。为此,我们设计了高速数据图像采集方法―内存直接写入法。由于SRAM访问控制简单,电路设计方便,被大量嵌入式系统采用,本文以SRAM作为存储器。1、电路原理和结构内存直接写入方法通过设计的图像采集控制器(以下简称控制器)不需处理器参与,直接将图像数据写入系统中的内存中,实现高速图像采集。图5是接口结构图,当需要采集图像时,处理器向控制器发出采集请求,请求信号capture_r从高到低。控制器接到请求脉冲后,发出处理器挂起请求信号HOLD,使处理器的外总线处于高阻状态,释放出总线。控制器收到处理器应答HOLDA后管理总线,同时检测图像同步信号。当检测到图像开始位置时,控制器自动产生地址和读写控制信号将图像数据直接写入内存中。图像采集完成后,控制器自动将总线控制权交还处理器,处理器继续运行,控制器中与采集相关的状态复位。控制器可以根据同步信号或设定的采集图像大小确定采集是否完成。http://www.eetchina.com/ARTICLES/2004AUG/4/2004AUG27_EMS_ID_DSP_TAONLINE121_F5.GIF在图5中,控制器包括同步信号检测、地址发生器、SRAM写控制器、总线控制器和处理器握手电路等主要部分。同步信号检测确定每一场(帧)和每一行的起始位置;地址发生器产生写SRAM所需的地址;SRAM写控制器产生写入时序;总线控制器在采集图像时管理总线,采集完成后自动释放;处理器握手电路接受处理器命令、发总线管理请求和应答处理器。2、SRAM写控制时序采集图像过程中,控制器自动将数据写入到硬件设定的内存中。写内存时,控制器产生RAM地址(A)、片选信号(/CS)、读信号(/RD)和写信号(/WD),同时锁存传感器输出的数据并送到数据总线(D)上。每写入一个数据后,地址(A)自动增1。采集时/CS保持有效(‘0’)状态而/RD处于无效状态(‘1’)。地址A的变化必须与/WD和数据锁存器协调好才能保证图像数据的有效性。http://www.eetchina.com/ARTICLES/2004AUG/4/2004AUG27_EMS_ID_DSP_TAONLINE121_F6.JPG图6是控制器产生的SRAM信号时序图。用PCLK作为地址发生器的输入时钟,且在其上升沿更新地址值。同样,在PCLK的上沿锁存数据并输出到总线上。将PCLK反相,作为/WD信号,使得在/WD的上升沿地址和数据稳定,确保写入数据的有效性。3、控制器主要功能的VHDL描述描述控制器中全部功能的VHDL代码较长,而且有些部分是常用的(如计数器等)。图像采集状态产生和同步信号的检测是其中重要的部分。下面介绍这两部分的VHDL描述。图像采集状态 capture_s:处理器的采集请求信号capture_r使capture_s从‘0’到‘1’,场地址发生器(计数器)的溢出位vcount_o,清除capture_s。process (capture_r, reset, vcount_o)beginif reset='0' or vcount_o='1' thencapture_s<='0'; -- 清除else if capture_r'event and capture_r='0' thencapture_s<='1'; -- 置状态位end if;end process;同步信号检测:只有在采集状态capture_s有效时(‘1’)才检测场同步信号,场同步信号下降沿置场有效状态(vsync_s),场地址发生器溢出位vcount_o清除场有效状态。只有在vsync_s有效情况下才检测行同步信号,行同步信号下降沿置行有效状态(hsync_s),行计数器溢出信号hcount_o清除行状态。只有在行状态有效的情况下计数器才工作,且将数据写入RAM。Process (capture_s,reset,vcount_o, vsync)BeginIf reset='0' or vcount_o='1' or capture_s='0' thenVsync_s<='0'; -- 清除Else if vsync'event and vsync='0' thenVsync_s<='1'; -- 置状态位End if;End process;Process (vsync_s, reset, hcount_o, hsync)BeginIf vsync_s='0' or reset='0' or hcount_o='1' thenHsync_s<='0'; -- 清除Else if hsync'event and hsync='0' thenHsync_s<='1'; -- 置状态位End if;End process;五、讨论我们在基于TI公司的TMS320C3X系列DSP开发的嵌入式指纹图像处理模块中分别用上述两种方法成功实现了指纹图像的采集。采用I/O接口方式最关键的是要求处理器的频率远高于图像数据输出的频率。例如,如果处理的指令周期为20ns,读取每个数据需要10个指令周期,则数据的输出频率不能超过5MHz,它低于一般的CMOS图像传感器件最快的数据输出频率。例如国内使用较多的OV7610和OV7620,其正常输出数据频率为13.5MHz。在应用过程中,通常改变传感器中寄存器的设置值,降低其数据输出频率。本文选用的是CMOS数字输出图像传感器。对于模拟视频信号,在设计时应加同步分离和A/D转换电路。图像采集的数字接口和逻辑控制与本文相同。在我们系统中所采集的是单色图像,如果采集彩色图像逻辑设计是相同的所不同的只是数据宽度和后期处理方式。具体应用中可根据需求对上述设计进行修改以满足不同的要求。作者:林金龙北京大学软件学院嵌入式系统系Email:linjl@ss.pku.edu.cn
2025年07月14日
16 阅读
0 评论
0 点赞
1
...
43
44
45
...
78