全高清实时视频显示嵌入式系统设计与调试

时间:2019-05-12 06:55:50下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《全高清实时视频显示嵌入式系统设计与调试》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《全高清实时视频显示嵌入式系统设计与调试》。

第一篇:全高清实时视频显示嵌入式系统设计与调试

实验名称

全高清实时视频显示

嵌入式系统设计与调试

课程名称

姓名学号

年级专业

嵌入式系统设计

彭嘉乔

3130104084

大三

电子信息工程

所在学院

电气工程学院 全高清实时视频显示嵌入式系统设计与调试报告

3130104084 彭嘉乔

心得体会:

我想了想,还是决定把心得体会放在这里。毕竟基础实验大家做的都是一样的内容,何况我们做的水平也就那样,Phase5还没有做完。但我的感想是独一无二的,不如把最有价值的部分排版到最前面。

如果让我直观总结下这22天小学期的感受,我会毫不犹豫地说:“累”。如果要具体点的话,“真的很累”。这种累,不仅是身体上的累,更是心累,大部分时候是一种深深的绝望。

我对这门课是有心理准备的。上课前我就看过往届学生写的报告,无一例外充斥着“大学最累的课”“大学生涯难度最高的课”“累得昏天黑地”这种话,然而我还是有着迷之自信。其实如果我不是有着迷之自信的话我压根就不会选这门课,毕竟我之前没有上过数字系统设计,没有任何与FPGA板开发有关的经验,对这门课的内容完全是两眼一抹黑。

这门课一开始是早上八点开始,到下午五点结束,后来才改成了早上八点半开始。最初我根本不适应这样的强度,而且由于这样改变了我睡午觉的习惯,导致我第一周每天回寝室后都先补觉睡到九点,再起来继续白天的进度到凌晨三点再睡觉,作息严重混乱。后面稍微调整过来了,回寝不需要补觉了,只是昏昏沉沉一晚上而已。

从Phase2第一次要求自己写代码开始我就感觉到了巨大的压力。因为没有上过数字系统设计,我压根就不会Verilog语言,得拿着数设的书从零开始自学,以致于连写个激励源文件都要折腾一天时间。这门课的玄学之处也从写这第一个testbench开始出现,我照着书上的例子一模一样的形式写的都运行不了。

当然这只算小儿科的,Phase2.3把之前的几个文件综合起来,本来分别检验都符合要求,综合起来后出现了严重的bug,仿真显示scl的输出有一半是高阻态,sda的输出始终为高阻态。即使将其强制赋值为1再输出仍然不行。我在i2c文件里通过注释掉其余语句逐句检验也发现不了问题。偶然间我发现,当注释掉与sda有关的一切,删掉sda的输出引脚后仿真显示scl正常,注释掉scl后sda仍然全为高阻态。我开始猜测是不是sda引脚出现了干扰,甚至去检查约束文件。为了这个bug我整整耽误了两天,最终在万念俱灰走投无路的情况下我干脆重建了工程把代码原样复制了进去,结果仿真就正常了„„

有趣的是重建工程前还可以生成bitstream文件,重建后就不行了。明明是一样的代码啊„„再花半天终于生成了bitstream文件,我也不知道怎么弄好的,然后烧录上去果然不能用,即使仿真波形和老师给的标准波形一模一样。干脆全部推倒重写吧。

这样的玄学在之后的实验中会一而再再而三地发生。同样的代码,重建工程复制进去就是截然不同的结果。同一个工程没有任何改动,重启下电脑就不能用了。同样的bitstream文件每次烧录显示都不同。一模一样的操作步骤在别人的电脑上行得通在自己电脑上就报错。不仅是我,其他同学也都发现了,人人都知道了重建大法好,出bug第一反应不再是去找原因而是先重建试试。想想以后我用的电子产品可能就是这样一群人用这样的方式做出来的,简直慌得要死。

除了玄学,很多时候一点小问题也会耽误我们一整天的时间。或者是数百行代码里的一句话,或者是软件的一个设置。在此不得不吐槽一下vivado和SDK都实在是太复杂太用户不友好了,如果老师不多教教软件的使用,告诉我们软件各个部分各种功能都是做什么的,只靠我们自己摸索实在是太难了。其实除了玄学问题我们真的没办法以外,大部分问题我们最终发现都是很简单的小问题,如果经验丰富的话很快就能解决,可让我们这些新手来自己解决的话往往无从下手,像无头苍蝇一样浪费非常多的时间。

整个小学期,我们可能只有5%的时间真正在写代码,70%以上的时间双眼空洞地盯着电脑屏幕,仰天长叹乞求上苍告诉自己究竟错在了哪里。当然上天不会回应,助教也不会。当我发现无论我问什么助教都会回答:“讲义上有自己好好看看吧”而我确定一定以及肯定我把讲义上的每一个字都看过了而且确实没有答案的时候,助教在我心中就已经不存在了。

虽然我可以理解老师和助教希望我们自己解决问题以提升能力积累经验的苦心,但是我质疑这样是否有效率。让高中生提前接触微积分他或许会感受到数学的美和神奇进而爱上数学,而换成个小学生只会感到枯燥厌烦。适当拔高确实可以考验打磨学生,拔得太高拔苗助长只是种折磨。如果在好几个关键时刻有过来人抬我们一手,稍微指点一下,我们的进度起码可以快一周,Phase5可能就做出来了,攀登到高峰看到最美的风景,创新实验也能做得更好。可实际上我们在很多没有意义的细节上浪费时间,向着看不见的敌人挥拳,收不到任何正反馈,仿佛身体被掏空一般难受。

我并不怕苦怕累,毕竟能考进浙江大学,吃不得苦高考就被淘汰掉了。可大多数时候我知道自己吃苦能换来什么,知道自己忙得有意义能忙出成果,但在这门课里大多数时候是“穷忙”,结果每天在电脑前忙个不停,却可能一整天都找不出bug原地踏步,没有任何充实的感觉,反而觉得异常空虚。

或许是作学生太久了变得娇惯了吧,觉得世间万事都该让着自己。幸好在我最烦躁最愤怒的时候被老师浇了一盆冷水,现在还记得特别深刻:“以后工作的时候,没人会问你遇到了什么问题,只会问你做出来了没有。”

这么一想大概也就释怀了吧。这个世界就是这么残酷啊,我确实可以找一万个理由来解释我为什么做得这么差,可还是掩盖不掉一个现实就是别人做出来了可我没有。没做出来就是没做出来,还是老实承认自己太菜吧。其实世间所有的不如意,都是自己不给力。

毕竟学渣是原罪。

以下是具体的实验过程。

Phase1、基于 Xilinx Vivado 的嵌入式系统设计入门实验。

Phase1是整个实验的入门,与其他实验相比,实验很简单,不过因为没有指导,需要自己摸索,所以,也是花了我们半天的时间。这次实验是对vivado软件的初步认识,如建立project,IP,sdk等等。

Phase2、设计 HDMI 控制器。

Phase2首先进行的是HDMI控制器的硬件设计,根据时序图得到hsync,vsync等信号和clk信号的关系,实验需要进行720p和1080p的设计,程序编写并不困难,但是由于对verilog语言的陌生,我和队友在testbench的编写上花费了较多的时间,后来经过上网找例子教程才明白,弄懂之后发现并不难,主要包括复位信号,时钟信号和输入信号,这些语句在不同的程序里大同小异,一次编写成功后,基本就掌握了testbench的编写。

下一节进行的是I2C总线控制器设计,以前曾经学习过I2C,所以我先是找了以前的I2C协议的程序,然后参考程序写出I2C协议,先是将频率转化为CLK_100K_A和CLK_100K_B,再利用二者的 | 或者&得到CLK_100K_SDA和CLK_100K_SCL,在这两个时钟下进行i2c_scl和i2c_sda的计算,最后经过仿真观察波形确定程序的正确性。

第三节是在前两节的基础上进行HDMI 显示测试图硬件电路设计。首先接触到的是yuv422编码方式,在理解这种编码方式上花费了一些时间,尽管如此,在之后还是出现了反色的问题。反色问题的原因是因为技术行数据写入了偶数行,使得yuyv的排列变成了yvyu,解决方案是地址整体加1或者减1。实验还是分为720p和1080p两部分,但是其实两部分差不多,所以我们为了节省时间,只做了和后面实验有关系的1080p部分。显示彩条和彩色砖块都是对地址进行划分。之后的显示小飞机需要从rom中读取数据,这一部分的步骤按照实验讲义进行,在rom的读取语句中有些困惑,经过询问同学,知道输入输出对应rom里用到的引脚便可。

在显示小飞机的实验中,图片出现了左右偏移的情况,最左侧一列为绿色,按照我们的想法,将loc_x地址加2进行调整,如果不够,再加2,然而加到8后最右侧一列已经出现明显偏移,而最左侧一列仍然是绿色,这让我们意识到,最左侧一列可能根本没有显示信号。进过检查代码,enable信号响应需要时间,由于在读取像素点信息时引入了enable信号,当扫到第一列的时候enable仍为0,导致第一列没有获得像素点信息。进行相应的更改,显示器上得以在每一处均有显示。最后经过合适的调整,使得显示不偏不倚。

Phase3、AXI-Lite 接口的设计。

Phase3 是从软件给出的AXI-Lite协议修改得到自己要用的AXI-Lite协议,封装成IP核添加到Block design中,利用cpu提供的150Mclk执行。这是我第一次接触到AXI协议,为了弄懂AXI-Lite协议,我阅读了讲义上提供的英文参考资料,因为对AXI协议没有基础,所以在阅读过程中比较吃力。在通读一遍后,对AXI协议有了简单的了解。从phase4.1中得到了zju_ip的AXI_Lite协议,尝试着去理解这个协议。AXI_Lite协议包括端口定义,各种信号和对register或者rom的调用。我们主要做的内容就是讲zju_ip中的register调用改为rom调用。在调用之前的I2C程序时,需要注意输入输出的匹配。

IP封装时,选择package current resource,完成封装后,就可以在Block design中直接调用创建的IP,选择自动连接,然后将输入输出引脚引出。Block design完成后,有时会发现IP核中的错误,需要对IP进行修改,可以直接找到IP的程序文件用记事本或其他阅读软件打开修改保存,然后在upgrade IP,然后generate outputs得到更新后的IP。直接在已创建好的IP上进行修改更新,比重新封装一个新的IP要简单快捷。

搭建好block design后,生成比特流文件并打开sdk,在sdk中编写软件,用cpu通过axi协议访问rom,对rom进行读写的操作。

Phase4、AXI-Full 接口的设计。

Phase3中用到的是axi slave,在phase4中用到的是axi master,master的程序代码与slave相比更加繁杂。在4.1提供了一份波形图供参考,我们通过波形图分析各个信号之间的关系。在信号的关系中,txn_request信号和axi总线的关系最为复杂,也最为重要。txn_request信号

sdk写完后进行烧录,出现了绿屏的现象,这是因为没有在sdk中写入elf文件,写入elf文件后在显示器上显示花屏,这是因为airbus.h文件没有正确的放入sdk中。在修改了一些错误后,终于在显示器上有了显示。

示器上显示出的大飞机图片出现了左右偏移的情况,且偏移的幅度很大。我们又开始进行漫长的debug过程。先是修改了地址位,结果大飞机却出现了雪花,急忙将地址为修改回来。后来,听从同学的意见,我们将fpga板子重启,重新烧录,在显示器上得到了正确的显示。

全高清数码相框的实验中,短学期已经将要结束,我们直接应用了老师提供的bmp.c和main.c代码,不过直接用这写代码在编译时不通过,问题出现在“f_mount(0,&fs);”一句,报错的原因是因为参数不够,打开“ff.h”文件查看f_mount的用法,并进行修改,编译得以通过。向sd卡里复制bmp图片,然后查到板子上,烧录后在显示器上没有显示图片,而在sdk中显示“airbus1 open success”和“It is not a bmp file”,出现这个问题的原因是因为main.c中的“sprintf(filename,“0:/bmp1080p/airbus%d.bmp”,j);”语句与sd卡中的bmp文件名airbus_1不匹配所导致,修改语句为

“sprintf(filename,“0:/bmp1080p/airbus_%d.bmp”,j);”bmp文件能够在显示屏上正常显示。这是出现的又一个问题只能显示前airbus_1.bmp至airbus_9.bmp这9张图片,这是因为文件名不能超过8个字符,我的解决办法是直接删掉airbus_9之后的图片并修改main.c中的for循环语句的循环次数,使得能够在显示器上循环显示9张图片。

Phase5 全高清摄像头视频采集

在完成phase4之后,已经到了短学期的末尾,所以整个phase5我们只是进行了GPIO口的实验部分。GPIO口在block design中添加,与scl和sda总线进行连接。GPIO引出的引脚可以自己设定如FPGA板子上的开关按钮,只要在xdc中进行标注,在sdk中说明即可。这样就可以实现硬件和软件的综合。

第二篇:嵌入式远程视频采集系统的设计与实现(基于S3C2410)

嵌入式远程视频采集系统的设计与实现(基于S3C2410)

发 布 时 间 : 2008-11-19 来 源 : 中电网 作 者 : 张永强,赵永勇,李崇德 浏 览 :

984

多媒体通信技术的发展为信息的获取和传输提供了丰富的手段,视频采集是其中不可缺少的重要组成部分,该系统基于S3C2410的ARM9芯片和嵌入式Linux操作系统,采用USB摄像头捕捉视频,经MPEG-4算法压缩编码,系统直接与网络相连,用户使用标准的网络浏览器和流媒体播放程序即可查看远程视频影像。硬件系统

系统硬件平台选用基于ARM9架构嵌入式芯片S3C2410,稳定工作在202MHz主频,板载64MB SDRAM 64MB FLASH,主板资源包括:主USB口、从USB口、10M/100M以太网口,触摸屏、彩色LCD、键盘、8个用户自定义LED数码管,A/D,RTC电路,2个串口、1个JTAG通用接口,音频模块,支持MPEG4,MP3编解码,3个168PIN的扩展插座,32位的数据总线,保留充分扩展空间。

其中标配模块包括:IC卡+PS2模块、IDE硬盘+CF卡模块、PCMCIA+SD/MMC模块。另外可选配模块有:GPS模块,GPRS模块,FPGA模块,CAN+AD+DA模块、红外模块、蓝牙模块、摄像头模块。软件系统

2.1 内核配置与USB摄像头驱动

假定已经搭建好嵌入式Linux的开发环境,下面第一步工作就是USB摄像头的安装与驱动。首先检查Linux Kernel中是否已经添加了USB模块的支持,并且加入Video4Linux支持。

Multimedia devices→Video For Linux

Video For Linux→[*]V4L information in proc filesystem

在主菜单的USB Support下还有各种摄像头的驱动,选中将要使用的摄像头芯片类型。

<>USB IBM(Xirlink)C-it Camera support<*>USB OV511 Camera support<>USB Philips Cameras <>USB SE401 Camera support<>USB STV680(Pencam)Camera support<>USB 3com HomeConnect(akavicam)support 在USB摄像头选购时,优先考虑Linux内核公开支持的摄像头芯片,不然要额外编写相应的USB摄像头驱动程序,然后进行编译、安装。在此选用网眼公司的V3000产品,他采用了OV511的芯片。

确定USB摄像头被正常驱动后,下一步就是使用Video4Linux提供的API函数集来编写视频采集程序。

2.2 基于V4L设计的视频采集模块

在Linux下,所有外设都被看成是一种特殊的文件,称为设备文件。系统调用是内核和应用程序之间的接口,而设备驱动程序则是内核和外设之间的接口。他完成设备的初始化和释放、对设备文件的各种操作和中断处理等功能,为应用程序屏蔽了外设硬件的细节,使得应用程序可以像普通文件一样对外设进行操作。

Linux系统中的视频子系统Video4Linux为视频应用程序提供了一套统一的API,视频应用程序通过标准的系统调用即可操作各种不同的视频捕获设备。Video4Linux向虚拟文件系统注册视频设备文件,应用程序通过操作视频设备文件实现对视频设备的访问。

Linux下与Video4Linux相关设备及用途如表1所示。

这里主要针对设备文件/dev/video进行视频捕捉方面的程序设计。

Linux下视频采集流程如图2所示。

其中用到的主要函数有:

Camera_open():用来开启视频设备文件,使用前需要首先声明一个video_device类型的设备文件。

Camera_get_capability():通过调用ioctl()函数取得设备文件的相关信息,并存放到video_capability结构里。

Camera_get_picture():通过调用ioctl()函数取得图像的相关信息,并且存放到video_picture结构里。

Camera_close():用来关闭设备文件。Camera_grab_image():用来抓取图像,采用mmap方式,直接将设备文件/dev/video0映射到内存,加速文件I/O操作,还可以使多个线程共享数据。

剩下的还有设备初始化、参数设备等相关函数,不再详述。

2.3 视频压缩编码模块

获取图像数据后,可以直接输出到FrameBuffer进行显示,由于本系统要将采集到的视频影响通过网络传输出去,所以在传输之前要对原始的图像数据进行压缩编码,在此选用MPEG-4视频编解码方案。和其他标准相比,MPEG-4压缩比更高,节省存储空间,图像质量更好,特别适合在低带宽条件下传输视频,并能保持图像的质量。

MPEG-4中基于对象的视频编码过程可以分为3步进行:

(1)从原始视频流中分割视频对象。

(2)对视频对象进行编码,对不同视频对象的运动信息、形状信息、纹理信息分配不同的码字。对输入的任意形状的VOP序列,用基于块的混合编码技术编码,处理顺序是先IVOP后PVOP,BVOP。在对VOP的形状信息编码后,取得任意形状VOP的采样,每个VOP划分为不相交的宏块,每个宏块含有4个8×8象素块进行运动补偿以及纹理编码,已编码的VOP帧保存在帧存中,在当前VOP帧和已编码VOP帧之间的计算运动矢量;对将编码的块和宏块,计算他们的运动补偿预测误差;运动补偿预测后的IVOP及误差用8×8块DCT变换,并进行DCT系数的量化,然后是游程编码和熵编码。

(3)对各个视频对象的码流进行复合,每个视频对象的形状、运动纹理信息复合成VOL比特流,各视频对象视频流复合成统一的码流输出。对视频流进行压缩编码以后,接下来就要实现网络传输部分的功能。

2.4 JRTPLIB网络传输模块

流媒体指的是在网络中使用流技术传输的连续时基媒体,RTP是目前解决流媒体实时传输问题的好办法,JRTPLIB是一个面向对象的RTP库,他完全遵循RFC1889设计,下面讲述如何在Linux平台上运用RTP协议进行实时流媒体编程。

2.4.1 初始化 在使用JRTPLIB进行实时流媒体数据传输之前,首先应该生成RTPSession类的一个实例来表示此次RTP会话,然后调用Create()方法来对其进行初始化操作。RTPSession类的Create()方法只有一个参数,用来指明此次RTP会话所采用的端口号。

2.4.2 数据发送

当RTP会话成功建立起来之后,接下来就可以开始进行流媒体数据的实时传输了。首先需要设置好数据发送的目标地址,RTP协议允许同一会话存在多个目标地址,这可以通过调用RTPSession类的AddDestination()、DeleteDestination()和ClearDestinations()方法来完成。目标地址全部指定之后,接着就可以调用RTPSession类的SendPacket()方法,向所有的目标地址发送流媒体数据。

2.4.3 数据接收

对于流媒体数据的接收端,首先需要调用PollData()方法来接收发送过来的RTP或者RTCP数据报。由于同一个RTP会话中允许有多个参与者(源),因此既可以通过调用GotoFirstSource()和GotoNextSource()方法来遍历所有的源,也可以通过调用GotoFisstSourceWithDat()和GotoNextSourceWithData()方法来遍历那些携带有数据的源。在从RTP会话中检测出有效的数据源之后,接下去就可以调用RTPSession类的GetNextPacket()方法从中抽取RTP数据报,当接收到的RTP数据报处理完之后,要及时释放。

JRTPLIB为RTP数据报定义了3种接收模块,通过调用RTPSession类的SetReceiveMode()方法可以设置下列这些接收模式:

RECEIVEMODE_ALL:缺省的接收模式,所有到达的RTP数据报都将被接受;RECEIVEMODE_IGNORESOME:除了某些特定的发送者之外,所有到达的RTP数据报都将被接受,而被拒绝的发送者列表可以通过调用AddToIgnoreList(),DeleteFromIgnoreList()和ClearIgnoreList()方法来进行设置;RECEIVEMODE_ACCEPTSOME:除了某些特定的发送者之外,所有到达的RTP数据报都将被拒绝,而被接受的发送者列表可以通过调用AddToAcceptList(),DeleteFromAcceptList和ClearAcceptList()方法来进行设置。

2.4.4 控制信息 JRTPLIB是一个高度封装后的RTP库,只要PollData()或者SendPacket()方法被成功调用,JRTPLIB就能够自动对达到的RTCP数据报进行处理,并且还会需在要的时候发送RTCP数据报,从而能够确保整个RTP会话过程的正确性。

在本系统中,使用RTPSession JRTPLIB类库提供的方法来实现底层的RTP/RTCP操作,并且把他封装在CrtpTransmitter类中,该类从Media Sink类继承而来,接收到相应的媒体帧数据,使用RTPSession类库的操作把数据发送到网络上。结语

本系统基于S3C2410平台和Linux操作系统,利用Video4Linux设计采集程序,使用MPEG-4压缩编码算法,通过实时流媒体传输技术实现了网络传输,整个系统具有稳定可靠、安装简便、成本低廉等特点,可扩展应用在工业控制、视频会议系统、可视电话、远程监控系统等诸多领域。

第三篇:嵌入式系统设计与应用

第一章:

嵌入式系统定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统。(一切非PC计算机系统)嵌入式系统特点:“专用”计算机系统,运行环境差异很大,比通用PC系统资源少,功耗低,体积小,集成度高,成本低,具有完整的系统测试和可靠性评估体系,具有较长的生命周期,需要专用开发工具和方法进行设计,包含专用调试电路,多学科知识集成系统。嵌入式系统应用范围:汽车,工业控制,通信设备,消费电子,商业终端,航空航天,军事需求。

嵌入式系统的基本开发流程:系统定义与需求分析阶段,方案设计阶段,详细设计阶段,软、硬件集成测试阶段,系统功能性测试及可靠性测试阶段。

系统定义与需求分析阶段:对系统需求进行分析,制定系统的设计依据。方案设计阶段:确定系统初步设计方案并形成设计描述文档。详细设计阶段:完善初步方案,对方案实施详细设计。

软硬件集成测试阶段:对系统软硬件进行综合测试,验证系统设计功能。

系统功能性能测试及可靠性测试测试:对系统功能,性能,可靠性进行综合测评。

对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含4个层面:板级支持包层,实时操作系统(RTOS)层,应用程序接口(API)层,应用程序层。有些资料将应用程序接口API归属于OS层,按3层划分的应用程序控制系统的运作和行为;操作系统与硬件无关,不同的嵌入式操作系统其组成结构也不尽相同 嵌入式操作系统种类繁多,大体分为两种:商用型和免费型

商用型:VxWorks,Windows CE,pSoS,Palm OS,OS-9,LynxOS,QNX和LYNX 免费型:Linux和uC/OS—II uC/OS—II具有执行效率高,占用空间小,可移植性及扩展性强,实施性能优良,稳定性和可靠性良好等特点。其内核采用微内核结构,将基本功能(如进程管理,存储管理,中断处理)放在内核中,留给用户一个标准API函数,并根据各个任务的优先级分配CPU时间。交叉开发环境:交叉开发是指一个通用计算机上进行软件的编辑编译,然后下载到嵌入式设备中进行调试的开发方式,它通常采用宿主机/目标机模式。

第二章:

RISC是精简指令集

精简指令集体系结构的优点:硬连线的指令译码逻辑,便于流水线执行,大多数RISC指令为单周期执行。

精简指令集处理器的优点:处理器关心面积小,开发时间缩短,开发成本降低,容易实现高性能,低成本的处理器。

精简指令集体系结构缺点:与CISC相比,通常RISC的代码密度低;RISC不能执行x86代码;RISC给优化编译程序带来了困难

ARM设计采用的RISC技术特征主要有:Load/Store体系结构,固定的32位指令,3地址指令格式。

ARM7TDM名称具体含义:ARM7:32位ARM体系结构4T版本;T:Thumb16位压缩指令集;D:支持片上Debug,使处理器能够停止以响应调试请求;M:增强型Multiplier,与前代相比具有较高的性能且产生64位的结果。I:EmbeddedICE硬件以支持片上断点和观察点。ARM7 3级流水线:(取指级,译码级,执行级)ARM9TDMI 流水线操作:(取指,译码,执行,缓冲/数据,回写)5级 ARM处理器核可工作两种状态:ARM状态和Thumb状态

从ARM进入Thumb状态,当操作数寄存器Rm的状态位bit[0]为1时,执行“BX Rm”指令进入Thumb状态

从Thumb进入ARM状态,当操作数寄存器Rm的状态位bit[0]为0时,执行“BX Rm”指令进入ARM状态

ARM处理器工作模式(共7种):除用户模式外的其他六种模式称为特权模式。特权模式:主要处理异常和监控调用(有时也称为软件中断),他们可以自由地访问系统资源和切换模式

ARM处理器总共有37个寄存器,均为32位 ARM状态下的通用寄存器分为3类: 未分组寄存器:R0~~R7(为公用寄存器)

分组寄存器:R8~~R14

R13通常用于堆栈指针SP

R14用做子程序链接寄存器

程序计数器:R15(PC)

用做程序计数器

ARM程序状态寄存器中

条件码标志(N Z C V)

N——在结果是带符号的二进制补码的情况下,结果为负,N=1 否则为0 Z——结果为0 Z=1 否则为0 C——针对加法:产生进位

C=1 否则为0

针对减法:产生借位

C=0 否则为1

针对有移位操作的非加减法指令

C为移位操作中最后移出位的值

对于其他指令

C通常不变

V——对于加减法指令

操作数和结果为带符号的整数时,产生溢出

V=1 否则为0

对于其他指令

V通常不发生变化 ARM的异常中断响应过程: 一:将CPSR的内容保存到将要执行的异常中断对应的SPSR中,以实现对处理器当前状态,中断屏蔽字以及各条件标志位的保存。二:设置当前状态寄存CPSR中的相应位:

设置CPSR模式控制位CPSR[4:0],使处理器进入相应的执行模式

当进入Reset或FIQ模式时,还要设置中断标志位(CPSR[6]=1)禁止FIQ中断,否则其值不变

设置中断标志位(CPSR[7]=1),禁止IRQ中断

三:将寄存器LR-设置成异常返回地址 return link(对于某些异常中断,保存在LR-的值可能与实际返回的地址有一个常数的偏移量),使异常处理程序执行完后能正确返回原程序

四:给程序计数器PC强制赋值,使程序从相应的向量地址开始执行中断处理程序。

非向量中断和中断向量的区别和联系

异常中断的优先级:复位(最高),数据异常中断,FIQ,IRQ,取值指异常中止,SWI未定义指令

ARM支持的数据类型(6种):8位有符号和无符号字节

16位有符号和无符号半字,以2字节的边界定位

32位有符号和无符号半字,以4字节的边界定位

ARM存储器组织:以字节为单位寻址的存储器中有“小端”和“大端”两种方式存储字 小端格式:较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址

大端格式:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址

ARM处理器能方便地配置为其中任何一种存储器方式,但他们的缺省设置为小端格式(71页有题)

ARM7TDM内核的重要特性:53页最上面

第三章:

指令分类中基本指令格式

S

可选后缀,若指定S,则根据指令执行结果更新CPSR中的条件码 ARM寻址方式

立即寻址有选择题

寄存器间接寻址:ARM的数据传送指令都是基于寄存器间接寻址,即通过Load/Store完成对数据的传送操作

103页举例

可能为考题

伪操作

是ARM汇编语言程序里的一些特殊指令助记符,它的作用主要是为完成汇编程序做各种准备,在源程序进行汇编时由汇编程序处理,而不是在计算机运行期间由机器执行 ARM嵌入式系统程序设计可以分为ARM汇编语言程序设计、嵌入式C语言程序设计以及C语言与汇编语言的混合编程。

ARM汇编程序中

AREA指示符定义本程序段位代码段

即申请一个定义段 161页程序

可能考

嵌入式C语言程序设计中修饰符:interrupt、near、far、huge Interrupt在函数修饰为中断函数,没有输入和输出参数 第三章课后习题见李向妮笔记

第四章

DMA

I2C

I2S 基于S3C44B0X的最小系统设计:

嵌入式最小系统是指保证嵌入式微处理器可靠工作所必需的基本电路组成的系统,通常包括处理器单元、时钟单元、复位单元、、存储器单元、供电电源和调试接口。

基于ARM的嵌入式最小系统基本组成包括:基于ARM核的微处理器、电源电路、复位电路、时钟电路、存储器电路(FLASH和SDRAM)、UART接口电路和JTAG调试接口

第五章:

uC/OS—II采用的抢占式内核是一个真正的实时操作系统

uC/OS—II基本特点:源码开放;可移植性;可裁剪;抢占式内核;可扩展的多任务;可确定的执行时间;中断管理;稳定性和可靠性

uC/OS—II的文件结构(与内核功能相关的文件):任务管理;同步通信;内存管理;时间管理

uC/OS—II任务及其运行状态:

任务是一个简单的程序,对应于实际应用中的一个逻辑功能。对uC/OS—II来说,任务是系统运行的基本单元,系统以任务为单元分配内存资源和处理时间,每个任务都有自己独立的寄存器和栈空间。

任务看起来就像一个无限循环永不返回的函数,但是不同于函数的是,它有一套自己的内存空间,运行时完全占用处理器资源,在任意确定的时刻都处于休眠、就绪、运行、挂起以及中断服务这五种状态之一 图见书上337

第六章

uCLinux与标准Linux的最大区别就在于内存管理。标准Linux是针对有MMU的处理器设计的

uCLinux不使用虚拟内存管理技术,采用的是实存储器管理策略,也就是说uCLinux系统对内存的访问是直接的

uCLinux与标准Linux系统在进程的创建

进程的执行

进程的终止

上有着显著不同 基于uCLinux操作系统的应用开发环境一般是由目标系统硬件开发板和宿主PC机所构成。目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、电子词典应用程序的开发和调试则需要通过宿主PC机来完成。目标板用来进行内核编译

PC机用来进行调试

移植就是使一个实时操作系统能够在某个微处理器平台上或者微控制器上运行。uCLinux移植包括3个层次的移植: 处理器结构层次移植、芯片层次移植、板级移植。

移植思路:开发环境确定以后,首先,要为uCLinux设计一个BootLoader,通过BootLoader来初始化硬件,引导uCLinux运行。BootLoader的设计可以在ads中或者Linux中实现。其次,针对硬件环境和设计的BootLoader修改uClinux内核。最后,在交叉编译环境下配置、编译、链接uClinux,下载编译得到的印象文件到FLASH,通过BootLoader来启动uCLinux。如果参数默认或者无参数,则先执行BootLoader,否则BootLoader第二位,参数执行为第一位。

第四篇:ARM9嵌入式系统设计基于S3C2410与Linux

ARM9嵌入式系统设计:基于S3C2410与Linux》针对在嵌入式市场上颇具竞争力的ARM9处理器——S3C2410和开放源码的Linux操作系统,讲述嵌入式系统的概念、软硬件的开发和调试手段、嵌入式Linux驱动程序和应用程序的开发以及图形用户界面MiniGUI的移植和应用。《ARM9嵌入式系统设计:基于S3C2410与Linux》的特点是集嵌入式系统开发的理论知识和实验教学于一体,并结合北京精仪达盛科技有限公司的开发板,给出了大量实例。

编辑推荐

《ARM9嵌入式系统设计:基于S3C2410与Linux》可作为高等院校嵌入式系统课程的教材,也可作为对嵌入式系统开发感兴趣的读者的入门教材,同时还可以作为从事ARM嵌入式系统应用开发工程师的参考书。

当前,嵌入式技术的应用越来越广泛,从航天科技到民用产品,嵌入式产品的身影无处不在,而这些嵌入式产品的核心——处理器决定了产品的市场和性能。在32位嵌入式处理器市场中,ARM处理器占有很大的份额。ARM不仅是一个公司、一种技术,也是一种经营理念,即由ARM公司提供核心技术,只出售芯片中的IP授权,采取了别具一格的“Chipless模式”(无芯片的芯片企业),不参与生产,而是由合作厂商去生产具体的芯片和产品。

现在由于存储空间等原因,在嵌入式芯片上编程有较大的困难,选取合适的平台就显得很重要。Linux自出现以来,得到了迅猛的发展。Linux是开放源码的操作系统,吸引着全世界的程序员参与到发展和完善的工作中来,所以Linux保持了稳定而且卓越的性能。Linux在服务器领域已经占有很大的份额,在图形界面方面也不输于Windows。由于源码可以修改、移植,Linux在嵌入式领域中的应用也越来越广。选用Linux作为平台,可以根据具体需要自由地裁减源码,打造适合目标平台的环境,编写最有效率的应用程序。查看所有商品描述

第五篇:嵌入式视频采集系统的设计与实现_韩相军

嵌入式视频采集系统的设计与实现

首都师范大学% 韩相军关永王万森王雪立

Han,Xiangjun Guan,Yong Wang,Wansen Wang,Xueli 摘要!较为理想的嵌入式视频采集系统是基于!“# 的视频采集系统 & 本文重点阐述了嵌入式视频采集系统的硬 ’

软件设计

环节以及开发中的一些关键技术问题(首先以

$%”&’()%*+’

构建视频采集的硬件系统 & 详细介绍了 $,#-.-(’“//0.’.以

及所设计的视频采集系统原理 & 该系统在 12’3&((控制下能实时将视频像进行采集 ’

编码和传输)最后提出嵌入式系统的开

发流程并分析嵌入式系统开发中的一些问题 * 关键词!视频采集)嵌入式系统)”#$%&’(#)*& 中图分类号 +“,%-./* 文献标识码!0 01234563!45678 69:65565;<56= 27>?@A6 3B3?69 <3 ?C6;<56= 27>?@A6 3B3?69 :7365 =D!”EF ?C6 >7>6A ?@A6 C7A5I7A6 7D5 3=H?I7A6 3B3?69 7D5 3=96 J6B ?62CD=8=GB K@63?<=D3L /? H?@A6 C7A5I7A6 3B3?69 <3 :@<8? @3?@A6 3B3?69 >A86 7A6 ?@A6F 6D2=56 7D5 ?A7D39<2?@A6 A678M?<96 @D56A ?C6 12’3&((N 3 2=D?A=8896D? >A=265@A6 =H ?C6 69:65565 3B3!?69 7D5 3=96 K@63?<=D3 =H ?C6 3B3?69 <3 >@? H=AI7A5 H<8;65?3@48)AB18<<8<;?8453>CD 29238B)“E$%&’(E)*& 文章编号

+.’’FG’HI’J&’’)K’.G&G’’&)G’% 引言

视频采集系统是数字图像获取的最基本手段 & 是

进行数字图像处理 + 多媒体和网络传输的前提 & 它可

为各种图像处理算法提供待处理的原始数字图像和 算法验证平台 & 随着人们对视频图像需求的激增和各 种图像和视频新的压缩标准相继提出 & 如

QP’*&’QP

’*+’REST’’REST+ 和

UEST’(((等 & 对高性能视频

采集系统的研究将成为一个热点 * 按系统的处理器不 同嵌入式视频采集系统大致可分为三类 VW.X 基于专用

视频图像芯片的视频采集系统)W’X 基于 EY 的视频采 集系统)W&X 基于)”E 的视频采集系统 * 基于专用视频图像芯片的视频采集系统其核心 处理单元为专用图像芯片 & 该图像芯片决定系统的功 能 & 其应用主要针对某一类产品 $ 如数码摄像机 %& 所

以具有一定的局限性 * 而基于 EY 机的视频采集系统

最为普遍的就是基于视频采集卡获取数字化视频信 息 & 通过运行相应的 EY 程序实现视频的采集 ’ 显示与 存储 & 但是目前基于 EY 的算法程序通常处理时间较 长 & 很难实现实时的图像处理应用 * 相比基于专用视频图像芯片和基于 EY 的视频采 集系统而言 & 嵌入式视频采集系统可完成视频的实时 采集 ’

传输以及各种视频压缩算法和图像处理算法的 实现 & 根据不同的应用 & 可以编制不同的图像处理程 序 & 所以具有更大的灵活性 & 并且设计与实现简单 & 硬

件设计一般采用基于)“E 的视频采集系统 F 即 ,YY)Z 视频信号处理芯片 ZYE[)]E^/SE_)Z)”E-的模式 实现 * 其中 & 视频信号处理芯片进行信号的 /)转换 & YE_)或 SE_)或 ]E^/ 用于视频采样控制 &)“E 对采

集的数据进行处理 * 嵌入式视频图像采集系统主要包 括硬件设计 ’

软件设计和操作系统 & 个部分 *.嵌

入式视频采集系统的硬件设计.P.视频采集系统的基本构成 基于)”E 的视频采集系统要求对视频信号具备 采集 ’

实时显示 & 对图像的处理和分析功能 * 因此 & 一

个视频采集系统通常可由如下五部分构成 V 视频图像 的采集 ’

视频图像的显示输出 ’

各种同步逻辑控制 ’ 视

频图像的分析和处理 ’

视频数据的存储 * 因此 & 对于视

频采集系统的基本构成可用图.所示框图描述 * 图.视频采集系统的基本框图

韩相军 # 硕士研究生

北京市自然科学基金资助项目 $*’)&’’-%)北京市教委

科技发展计划面上项目 $7E&’’).’’&F’.%%)北京市高 等学校 &’’H

教育教学改革立项项目 $&’’H’IH% 嵌入式系统应用 中文核心期刊!微计算机信息 “(嵌入式与 SOC)2006 年第 22 卷第 1-2 期 360元 / 年邮局订阅号 # 82-946!!”# 格式输出 $ 数据输出格式是通过 $%& 总线编程来 选择的 $’()*+,-的内部寄存器初始化也通过 $.& 串

行接口来完成 % 对于不同的输入制式 & 不同的采集要

求和不同的处理要求 $ 其帧缓存要求是不相同的 $ 如 对于)/012 制

$’314 5’67-+ 视频输入 $ 采样后按 89.9.格式输出 $ 一帧数据为

:.-!*:7!.“-6;<=>?@A$ 若

缓存三帧图像 $ 则需要 <=>?@A 空间的采集帧缓存 $ 若 按 89+9+ 格式输出 $ 则只需.=>?@A 的帧缓存 % 系统可选 择

;=!<.1>B@ 的 C24/= 在系统中即作为采集帧缓存 和处理后的数据帧缓存 $ 也可作下载程序的存储器使 用 % 系统提供串行接口 $ 可与外部设备进行通信和传 输图像数据 % 其中

DBEBFG DH.I<--J)K/ 实现以下四 点功能 # L+M 完成系统中视频采集和输出部分的同步信号 和消隐信号的控制 $ 其中主要包括 ’(),+,-和

C//:+%+ 的行同步信号 & 场同步信号 & 消隐信号 ’ L%N 将部分逻辑单元设计为 J$JO 作数据缓存 $ 完 成外接 J$JO 的同步读写控制 $ 承担 ’#),+,-与 2C)的数据传送工作 ’ P

’=C<.-2=78.与计

算机的数据通信工作以及从计算机加载各种图像处 理算法 ’ L8N 对

’#)*+*-输出的数字图像进行预处理 $ 其中

主要包括图像数据的色度空间转换如!3# 到 4K5 的 转换 $ 数据格式转换如将 89.9.转换为 89.9-’ L*N 作数据总线接口 $ 实现数据的驱动传输等功能 % ’=C<.-2=78.在系统中是各类算法实现的核心 器件 $ 根据不同的应用场合 $ 可以编制不同的算法处 理程序 $ 使得该系统具有了很强的灵活性与通用性 % 值得强调的一点是为了便于操作系统中的其它外设 $ 在该系统中 $’=C<.-2=78.的外部存储器接口控制

寄存器必须配置为优先使用外部存储器模式 %!嵌

入式视频图像采集系统的软件 设计

一个完整的嵌入式系统由图 < 所示的 8 部分来 组成 % 图 < 嵌入式系统组成 图 < 中的底层是硬件系统 $ 核心是嵌入式处理器(嵌入芯片)$ 通常这样构成的系统又被称为是 CO& LC?I@AQ RF &SBTN 系统 % 在硬件系统的上面是 5C)L 板级 支持包 N$ 包括各种必要的对底层硬件系统的屏蔽 $ 引

导上层操作系统在硬件系统上的正确运行 % 操作系统

正确运行之后还需要开发各种设备驱动程序 $ 目的是

给用户的应用程序开发提供对底层设备的屏蔽 $ 提供

一个统一的用户开发接口 L/)$N% 5C)是指系统内核在特定的硬件系统上面运行所 需要的初始化代码和各种设备驱动程序 % 它主要包 括 # 系统初始化 $ 初始化 &)3 寄存器和测试 &)3 的型 号版本等 $ 它和

5RR@ERUVAW 中的初始化部分共同完成 所有的系统准备工作 $ 使得系统处于预期的稳定工作 状态 ’

内存管理 $ 在没有 ==”L 内存管理单元 N 的系统

里面主要是数据 HUHSA 和程序 HUHSA 的管理 $ 在具有 ==“ 单元的系统中还要包括 ==” 的各种表的管理 $ 它主要用来实现内存的映射 ’

中断控制器管理 $ 对于 一个 4’OC 来说 $ 中断是不可缺少的部分 % 嵌入式操作系统相关技术已经成熟 $ 由于 0BFXG 具有源码开放 & 开发工具丰富 & 技术支持广泛等特点 $ 视频图像采集系统选用嵌入式 0BFXG 操作系统 LYQ# >AVVAV 0BFXG OTAWU@BRF C?I@AQN% 0BFXG 中的中断管理

包括中断号的申请和释放 & 中断屏蔽和中断服务 & 中

断向量分配等 $ 时钟和设备驱动程序 % 驱动程序是利用操作系统提供的接口 $ 完成对底 层硬件的操作 % 驱动程序的开发 $ 是在操作系统提供 的接口基础上编写对底层硬件的操作和控制程序 $ 然

后加入到操作系统的内核 % 用户对某一个设备的访 问 $ 首先是将用户的各种操作传递给操作系统 $ 然后

由操作系统调用设备的驱动程序 $ 完成对硬件的各种 数据传输 $ 所以驱动程序必须要告诉操作系统该硬件 的各种操作程序的入口地址 % 特别对于 0BFXG 下的驱 动程序开发 $ 经过调试通过的驱动程序可以编译为一

个模块动态地装载入操作系统内核或者从操作系统 内核中删除 Z 因此驱动程序在 0BFXG 中是可以作为内 核的一部分来编写 % 对于用户程序开发 $ 与通用)& 上面开发应用程 序类似 % 但是在嵌入式应用中 $ 应用程序一般是作为

文件系统的一部分加入到操作系统的内核 $ 然后重新 编译内核 $ 最后生成一个可以执行的二进制压缩映像 文件加载到系统的存储空间 % 加载的加入了用户应用

程序的操作系统一般还必须固化 $ 烧到系统的 JEUIS 中 % 在系统运行时 $ 根据操作系统的 $*$’

函数转到用 户程序执行 % “结 论 基于 2C)的视频采集系统 $ 由于可以灵活的修改 其图像处理算法 $ 它的应用主要面向用户的特定需求 和对实时性有较高要求的场合 % 随着技术的 L 见 +8;页 N

BSP

嵌入式系统应用!现场总线技术应用 200 例.;”!“# 基于 $%& 的视频采集系统 图 # 给出了基于 ’(%)#*$(+,# 与

’-&.!./ 构

成的视频采集系统 ”’(%)#/$(+,# 可以直接和视频 编解码器接口 “ 该系统可同时完成四路视频图像的实 时采集 # 传输以及各种视频压缩算法和图像处理算法 的实现 ” 根据不同的应用 “ 可以编制不同的图像处理 程序

$ ’(%)#/$(+,#

有自己的图像处理库函数 ” 可以 实现各类图像处理算法 $ 因此 “ 该系统具有更大的灵 活性与通用性 $ 图 # 基于 ’-&.!./ 与 $%& 的视频采集系统!”#“!’(%)#/$(+,# 简介

’(%)#/$(+,# 是 ’0 推出的一款面向数字多媒体 应用的 $%&” 它在 ’0 的

1+,2 $%& 内核基础上进一步 集成了完备的视频 3 音频输入 3 输出接口 % 以太网接口 # &104++ 总线等片上外设 “ 不仅能使用户很方便地对音 频 5 视频等各种复杂的运算进行高速处理 ” 还能为方 便 # 无缝地接口视频 3 音频编解码器件和以太网 3&10 总

线等数据传输接口 & 因此 “ 它非常适用于-60&% 数字视 频服务器 % 多通道数字视频录像机 7$-89% 多通道数字 视频监控等应用 & $(+,# 的程序 3 数据空间以字节为单位进行统一 编址 ” 整个寻址空间为 ,:8& 其片上存储器 % 片上外 设 % 及外部存储器接口 7;(0<9 均映射到此 ,:8 的空间 中 & $(+,# 通过外部存贮器接口 7;(0<9 访问片外存储 器

7<=>?@%%$AB(%CBA’%B’B9“ 如图 # 所示 ”$(+,# 共有三个视频口 “ 分别为-&/%-&!和

-&#&-&/ 与-&!则与

(D8%&%(DB%& 复用引脚的 ” 其功能选择由 $(+,# 上的外设配置寄存器 7&;A1<:9 进行配置的 & $(+,# 支持多种外部接口!&10 接口 %E&0 接口和以太 网(B1 接口 “ 这些接口信号复用相同的引脚 ” 它们的

功能选择和配置是在上电复位时通过检测 $(+,# 上 的特殊引脚

7&10F;G%(B1F;G%E$.%&10F;;B09 的状

态来实现的 &!H#“# 视频 B3$ 采样电路!’-&.!./ 在图 # 系统中 ”’-&.!./ 是由 ’0 公司推出的一款 高性能视频解码器 “ 可将

G’%1%&BI 视频信号转换成 数字色差信号 7JC-,K#K#9” 支持两个复合视频或一个 % 端子输入 & 输出格式为 0’C 4A 8’L+.+“ 并支持

(>DM6NO?O6P ’(复制保护以及高级的-80 功能 & 不仅如 此 ”’-&.!./ 还具备了封装小 7)# 脚的

’Q<&9% 功耗小 的特点 7R!./ST9& 因此 “ 它非常适用于便携 % 批量大 % 高质量和高性能的视频产品 & ’-&.!./ 可接受 # 路复

合视频信号 71-8%9 输入和!路超级视频信号 7%U-OVW6 即

%XYWMU-OVW6”J319 输入 & 该芯片包含一个扩展端口 ’ZU 端口(用于数字视频 ’

双向半双工(“ 它可直接连接 倒(&;: 或视频电话进行编解码 $ ’-&.!./ 的图像端 口 ’0U 端口(支持 [ 位或!+ 位的输出数据并带辅助参 考数据可直接与-:B 控制器接口 $ ’-&.!./ 提供 0 # 1 总线接口 ” 其最高传输速率为 ,//]O^?_?“ 通过它可以

完成芯片的初始化以及设置修改等操作 $ ’-&.!./ 作 为 0 # 1 总线的从设备 ” 最多可配置为 # 个不同的从设 备地址 “ 一条 0 # 1 总线只能同时访问 # 个

’-&.!./ 配 置口 ” 所以 $(+,# 可以连接 , 个

’-&.!./“ 进行 , 路

视频输入 $!H#H)视频 $_B 电路!%BB‘!#!图 # 系统中视频 $_B 由视频编码器 %BB‘!#!完 成

$ %BB‘!#!支持 &BI 与 G’%1

格式的视频编码 ” 其

输入支持 8’H+.+

格式的数字视频 $ %BB‘!#!有!路

复合视频 71-8%9 输出和!路超级视频

7%U-OVW6“J_19 输 出 ” 其系统像素时钟频率为!)H.(Ea“ 它可以直接接收(&;: 解码数据和采用 ,K#K# 格式每行 ‘#/ 有效像素 的 110A 兼容 JC-数据 ” 其内部包含同步 _ 时钟产生

器和数模转换器两部分电路 $ %BB‘!#!

同样需要通过 0 # 1 总线进行初始化和设置修改等操作 $ 从图 # 中可看出 “-&/ 既要做视频输入口 ” 也要支

持视频输出口 “ 即-&/ 可以工作在 1>Y^XMW 与

$O?Y=>b 两种作模式 $ 但这两种工作模式不能同时使用作模式 不能同时使用 $ 当-&/ 作为 [U 位的 8’H+.+ 视频采集 口时 ” 仅需视频数据流串行时钟和采集使能控制信 号 “ 串行数据流串行时钟由 ’-&.!./ 的 %1Ic” 采集使

能控制信号则由 ’-&.!./ 的

0G’A;Q_:&1I_-8Ic 引

脚配置为通用输出引脚来控制 “ 此时 %BB‘!#!E 不起 作用 $ 当-&/ 作为 [U 位的 8’H+.+ 显示口时 ”%BB‘!#!需要 E%JG17 行同步信号 9%-%JG17 场同步信号 9%II1 7#‘(Ea 的行锁存号 9 控制 $!H#H, 系统原理 图 # 系统其主要功能是完成视频图像的采集 % 处 理 % 存储和传输 $ 系统的视频输入可以是 G’%1%&BI 和 %;1B(制式的任何一种 “ 或者采用 % 端子输入 $ ’-&.!./ 完成视频信号的 B_$ 转换 ” 为后续处理提供 数字视频数据 “ 同时它还分离出行 % 场同步信号并输 出系统时钟供视频 $_B 芯片和 <0

EMAC/MDIO TVP5150 EMIF64

HPI16/HPI32 TMS320DM642

(600MHz 4800MIPS)

EDMA 64 Channels

L1P Cache 16KB L1D Cache 16KB L2 Cache 256KB Parallel executive Units 32 bit Timers 66MHZ PCI32 20/10b VP0 20/10b VP1 20/10b VP2A TVP5150 TVP5150 TVP5150 20/10b VP2B Xilinx XC2S300 FPGA SAA7121

嵌入式系统应用)变频器与软启动器应用 200 例 * #‘中文核心期刊!微计算机信息 ”(嵌入式与 SOC)2006 年第 22 卷第 1-2 期 360元 / 年邮局订阅号 # 82-946!!模糊量 $ 可归纳一系列控制规则 $ 例如规则!“ #$ %&!’(!)* +,-.&/!’ +!0* 1234 5!’ 6!7 %!8)909%%9:* : 为规则数 $+!)&+;0&% 及 6!为语言变量 $ 则由第;条规则构成的模糊关系为 # 6!* >.+!0 > 6!* 而对于一定 &? 和 &/?$ 相应的输出为 # 5!8@&?>.+!= >6!*A > @&/?>.+!B > 6!*A 则

#585!.!8)$0$%$:* 图 C 模糊控制框图 根据控制经验 $ 将其中将语言变量分成七级 # 正 大.D6*$ 正中.DE*$ 正小.DFG$ 零.H*$ 负小.,F*$ 负中.,E*$ 负大.,6*’

在实际控制中 $ 由于被控对象只能接受一个 确定的控制信号 $ 而模糊推理是一个模糊集合 $ 因此 $ 必须建立精确量和模糊量之间的转换关系 9 即从输出 的模糊集合中 $ 判决出一个精确量(在此采用固定量 化因子 & 比例因子及隶属度最大原则 $ 进行离散推理 $ 求出各相应的控制表 $ 并将数据存入-FD 内存 $ 以便 在线使用 $ 实施实时控制(图 I 1J 中断采样子程序 软件采用定时器 1J 中断方式 9 中断服务子程序如 图 I 所示(系统每隔一个时间段进行一次中断 9 启动!K ” 转换 9 同时完成数据采集 & 数字 #$“ 控制 & 控制量输 出 & 温度显示及数据保存等功能(定时器 1)中断 $ 为-FD 处理器和计算机通讯 $ 发送数据 $ 便于计算机绘制 温度跟踪曲线 $ 键盘中断 $ 完成键盘扫描和获取键值(此外 9 为了减小系统在平衡位置的振荡 9 在软件上采取 了数据滤波 & 设定死区等措施(!结 语 基于-FD0LJM 模糊 N 数字 D;O 差热天平采用计算 机控制技术 $ 能够实现温度发控制 $ 并在液晶屏和计

算机上实时显示温度及温度跟踪曲线(实验中对控制

算法进行多次实验和调整 9 取得了很好的控制效果 $ 达

到了预期的设计目的(参考文献 @)A 安颖 9 刘丽娜 P 基于-FD 的高速信号采集与处理系统的设计)Q*% 微计 算机信息

$0JJC9)RCMNCS @0A 孙增圻 $ 等 P 智能控制理论与技术 @EAP 北京 # 清华大学出版社 $)SSMP @TA 于海生 $ 等 P 微型计算机控制技术 @EAP 北京 # 清华大学出版社 $)SSSP @LA 张念淮 $ 等 P 5F6 总线接口开发指南 @EAP 北京 # 国防工业出版社 $0JJ)作者简介 # 李智强 $ 男

$)SMI&$ 河南工业大学电气工程 学院 $ 硕士(籍贯 # 山东 + 郭广灵 $ 女 $)SM)&$ 河南工业

大学电气工程学院 $ 高级实验师(,!”###$ 河南郑州河南工业大学电气工程学院韩相军

关永王万森王雪立 %<166’7’ 12 F(21-G)/+1(H(7+(’’-+(78 <)I+/)6 J1-!G)6 *(+,’-.+/08K’+L+(78D###E$= &)(8M+)(7L;(@;)(8 N1(7 O)(78O)(.’(O)(78M;’6+ U 投稿日期 R0JJCPIP)IG U 修稿日期 R0JJCPIP0VG

e α

dt d ec

E EC

e c α

U

u D/A

y D/A u α

T0

A/D

ADC

FIFO

《 #’(技术应用)** 例》

DSP 开发与应用)LV

下载全高清实时视频显示嵌入式系统设计与调试word格式文档
下载全高清实时视频显示嵌入式系统设计与调试.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    基于A8的嵌入式Linux远程视频监控系统的设计与实现(5篇)

    基于A8的嵌入式Linux远程视频监控系统的设计与实现 摘 要:将网络技术和嵌入式技术相结合的远程视频监控系统是视频采集技术的发展趋势,文中提出了一种基于对等网络模型的嵌入......

    实时双向交互式远程教学系统的设计与实现论文

    摘要:远程教学是网络教育的重要组成部分,实时双向交互式远程教学系统能为远程教育提供一个符合信息化教育规律的真正高效的现代化教学手段。文章阐述了系统设计的理论依据,对该......

    基于ARM的视频采集系统的设计与实现

    基于ARM的视频采集系统的设计与实现 摘要 本文根据家庭视频采集系统的要求,提出一种基于ARM的网络视频采集方案。方案要求视频的实时传输、实时监控。本系统以Intel Xscale......

    开题报告-船舶吃水量采集与显示系统的设计

    开题报告电气工程及自动化船舶吃水量采集与显示系统的设计一、综述本课题国内外研究动态,说明选题的依据和意义:现在的技术和科技手段限制,对船舶实际吃水量信息的采集还是主要......

    嵌入式系统设计与实现试验教学大纲专业方向课

    《微型计算机系统与接口技术》实验教学大纲 计算机科学与技术专业(专业基础课)第七学期 一、嵌入式系统教学实验平台配置 1.平台的硬件配置 MICETEK EV44B0II是一个适用于手持......

    视频监控系统的设计原则与解决方案(精选五篇)

    视频监控系统的设计原则与解决方案 河姆渡分享,项目介绍该中学校园现有46个教学班,2200名学生,200名教职工,40名留学生,学校校园面积90000m2。有数字实验室、生态博物馆、多媒体......

    大型港口视频监控系统设计与应用分析

    大型港口视频监控系统设计与应用分析 第1页:港口视频监控系统需求分析 前言 随着全球一体化进程的加快和国际经济活动的日趋频繁以及供应链管理思想的兴起,现代港口特别是大......

    覆盖全业务流程财务信息管理系统设计与实现

    覆盖全业务流程财务信息管理系统设计与实现 摘 要财务管理业务包括预算管理、成本管理、资金管理、资产管理、总账管理和决策支持。随着西部管道公司的业务扩展和人员增加,出......