当前位置:首页 > 及基
  • 车载导航监控终端功能需求及基于SOPC技术设计方案

    1 引 言 车载导航监控终端可广泛用于交警巡逻车、消防用车、公安用车、运钞车、长途客车及一些特殊车辆上, 监控中心通过无线通信网络与车载导航监控终端进行信息交流, 从而实现监控中心对车辆的集中、高效、可视化管理以及车辆之间的相互协作。 本设计系统分析了车载导航监控终端的各种功能需求, 借助 ltera StratixTM 系列FPGA EP1S10丰富的逻辑资源, 应用SOPC Builder开发工具实现了车载导航监控终端硬件结构的高度集成。同时,利用N ios嵌入式处理器强大的处理能力, 配合使用 C /OS- II实时操作系统, 实现了终端对多种传感信息的实时、高效处理。 2 功能描述 车载导航监控终端主要实现对各种传感信息的检测、处理、显示及数据的无线发送和接收。具体包括: 无线数据通信模块——实现监控中心与车载导航监控终端之间指令的交换和数据的传输; 文本信息合成模块 将文字信息转换为语音信息, 方便终端获取监控中心的各种命令和指示;GPS定位模块—— 获取终端所在处的经度和纬度信息, 监控中心可以在电子地图上准确了解终端的地理位置;视频图像采集模块——获取车内和车外的具体情况, 可以通过无线网络把图像信息传输到监控中心;人机交互模块——在本地显示电子地图、各种状态信息、协同作业的对方状态信息以及接收按键输入信息;信息存储模块——用于保存状态和设置信息;状态检测和控制模块——实现对车载其它设备状态的检测以及根据控制中心的命令对相关设备进行控制;电源管理模块——实现电源的充电以及备用电源的切换。 3 Nios软核及外围模块接口设计 Altera公司推出的高性能、大容量StratixTM FPGA以及Nios嵌入式软核处理器, 实现了处理器和外围接口的灵活配置, 大大推进了SOPC (可编程片上系统) 设计的进程。同时A ltera 公司提供的SOPCBuilder可视化开发工具, 能够根据客户需求, 实现对硬件系统的高效配置。基于N ios嵌入式软核处理器, 应用SOPC 技术设计车载导航监控终端, 将能够大大简化硬件设计的复杂度, 实现终端系统的高度集成, 满足对各种接口的适配要求。基于EP1S10的多功能车载终端系统框图如图1所示。 图1 多功能车载终端系统框图 在本终端系统设计中, 采用了模块化的设计理念, 通过对车载终端功能的分析, 确定了该系统所需的关键功能模块, 并对功能模块与EP1S10之间的接口进行了规范。系统框图中, CDMA 无线通信模块、GPS定位模块通过串口和EP1S10相连接;WTS701文本合成模块通过SPI- master 总线和EP1S10相连接; FRAM信息存储模块通过I2C 总线和EP1S10相连接, 这些接口在SOPC Bu ilder的通信工具目录下以免费IP核的形式提供。另外, 人机接口模块涉及显示和键盘, 需要通过I /O 定义时序控制总线来处理; 视频图像采集模块需要更复杂的逻辑控制接口来实现, 下面对该模块设计进行介绍。 视频图像采集模块由SAA7111 和ZR36060组成, StratixTMFPGA通过相应的接口来控制SAA7111的工作状态, 并获取经过ZR36060压缩后的数字视频数据。SAA7111是功能强大的可编程视频输入处理芯片, 它可将摄像机输出的PAL、NTSC 等不同制式的模拟复合全电视信号解码成亮度、色度信号。 输出的数字视频信号格式有411YUV ( 16)、422YUV( 12位)、422YUV或CCIR- 656( 8位)、565RGB( 16位)、888RGB( 24位)等可供选择。此外还提供了象素、时钟信号、行场等多种同步信号。其所有的可编程功能是通过I2C 总线对内部的32个寄存器相应的控制位置相应的数值来完成的, 而StratixTM FPGA的I2C 接口可以很方便地对其进行编程和控制。 ZR36060主要完成对数字视频图像的压缩, 输出标准JPEG格式的文件。压缩数据可以主方式从压缩数据端口或以从方式从控制端口输出, 两种方式都有握手功能以便进行数据流控制, 它可以和SAA7113实现无缝结合。StratixTM FPGA 与视频图像采集模块之间的接口如图2所示。 图2 StratixTM FPGA 与视频图像采集模块之间的接口。 视频图像压缩模块ZR36060工作于16b it代码宽度的从模式, Stra tixTM FPGA 通过使用不同的片选线和启动转换线, 可以控制四路视频图像压缩模块的工作。两路I2C总线和SAA7113的IICSA管角配合, 可以设置四路图像采集模块的工作状态。通过S trat ixTM FPGA 要实现对图像采集和压缩模块的正常操作, 就是要根据ZR36060的接口时序图, 应用SOPC Bu ilder设计合理的接口控制逻辑, ZR36060的接口时序如图3所示。 在SOPC 开发工具中, 调用并行输入输出模块( PIO ), 就可以构造操作该图像压缩模块的逻辑接口, N ios嵌入式软核利用该逻辑接口, 就可以将压缩后的图像数据保存在SDRAM 中, 同时可以实现对SAA7113和ZR36060模块工作状态的正确设置。 ZR36060被动模式的接口时序 图3 ZR36060被动模式的接口时序 4 软件系统设计 完成系统设计后, 可以使用SOPC Bu ilder的System Generation页或使用命令行生成系统。SOPCBuilder软件自动生成所有必要逻辑, 用以将处理器、外围设备、内存、总线、仲裁器、IP内核及到达系统外逻辑和存储器的接口集成在一起, 并建立将组件捆绑在一起的HDL源代码。 SOPC Builder 还可以建立软件开发工具包( SDK )软件组件, 该组件包括INC、LIB、SRC 三个目录, 这些目录包含了标题文件、一般外围设备驱动程序、自定义软件库和实时操作系统( RTOS内核) , 以便在生成系统时提供完整的设计环境。 有了SDK软件开发工具包, 就可以根据需要调用外围设备的驱动程序, 开发系统软件。系统软件的编辑可以采用目前的多种编辑工具, 编辑完成后,启动N ios SDK She l,l 在[ SOPC Bu ilder]$ 命令字符后输入nios- bu ild命令和相应的源文件名, 就可以进行编译, 如有错误, 可以重新修改后再编译。对于多个源文件, 可以使用makefile命令编译, 这时候需要建立一个专门的包含整个项目源文件( . c、. h、. s)的目录, 并要修改makefile文件的有关选项。 车载导航监控终端软件包含多个功能模块, 这些模块以任务的形式与嵌入式实时操作系统相联系, 具体功能模块如下图4所示。 图4 车载导航监控终端软件功能模块 各模块在使用到底层驱动程序时, 先要设置一些变量以及安装相应的中断函数。如使用串口1来控制CDMA 模块时, 初始化过程包括: 串口1的中断函数实现方法: 5 结束语 基于StratixTM FPGA 丰富的逻辑资源, 采用Nios嵌入式软核, 应用SOPC设计技术开发车载导航监控终端, 大大提高了设计的灵活性, 优化了系统结构。

    时间:2012-08-21 关键词: 方案 iOS sopc 车载导 及基 端功能

  • iPhone App的特点及基本设计方法

    iPhoneApp的特点   iPhone有自己的特点和气质,因此他的App不同于其他键盘手机甚至Android这种触屏手机。   首先iPhone只有一个物理按键Home,而这个按钮主要是在系统级操作上起到一些作用,在一个应用中,绝大多数情况都是退出功能。在480x320这个对手机而言很大的屏幕上要包括以下3个模块,才能对一个App进行操作。   1、虚拟键盘   iPhone虽然与Android同为触屏,但没有物理键盘(而Android有可能有物理键盘),所有的输入操作都需要屏幕中的虚拟键盘来实现,同时需要考虑虚拟键盘的遮挡问题。   2、目录导航   没有物理按键做为目录菜单的呼出功能,完全不同于Symbian和Android系统,包括导航也需要屏幕中的虚拟按钮来实现。   3、功能操作   需要把所有的功能集成在App中,比如我们可以用Tabbar来做功能的分类,工具栏来做具体视图的功能操作集合。   我们再来看看用户对iPhone的使用习惯   显然支持单手操作并不是iPhone应用的特性,当然也有一些游戏需要双手进行(沉浸式应用),但因为iPhone有一块非常灵敏支持手指多点触控的电容屏,所以手指直接在屏幕上的操作更加直观和更具操控感,不需要任何中间设备(按键或是鼠标)来控制。        1、自上而下的操作:   用户多数情况下会如上图的姿态,一手握机,大拇指做为主要操作和点击手指,我们可以看到不管是iPhone系统应用还是很多其他的优秀应用,大多使用很多的列表,因为拇指在滑动列表时会非常顺畅和方便,而且操作速度非常快,所以很长的列表不会成为iPhone应用的障碍,这与其他手机平台上的特性不同,更何况在表格的情况下,单击顶部的状态栏可以快速回到顶部。   2、减少输入   这与《移动设备交互设计》书中的一些观点一致,即对于手持设备我们要尽量的减少用户输入,特别对于iPhone这种虚拟键盘而言,即便电容屏再灵敏,对于每次都准确的触动面积很小的虚拟键盘也并不是一件轻松的事情,我们要尽量使用选择器,或是输入提示suggestion来减少成本。   3、足够大的按钮面积   对于iPhone这块电容屏来讲,虽然很灵敏,但接受的感触面积并不小,且用户又是直接用手指操作,所以我们要对应用中的所有按钮要适合指尖来操作,跟据官方给出的设计指导,44*44pix是一个较理想的面积。   4、多点触控手势   相对于设备的软硬件来说,手指总是保持可用,它是人体的一部分,可以灵活的做各种动作,而且直接触控屏幕非常直观,且用户也非常愿意使用这些看上去很酷手势动作,比如可以对图片用两个手指拉开来放大,合并来缩小,直接拖动来调换顺序,摇晃来进行刷新等。当然我们要考虑这些手势在不同应用的不同使用场景,不要滥用。   总之,iPhone应用的是线性的,连贯的,直观的依赖滑动操作,手指点击,以及各种手势给人很酷的感觉。   iPhone App的基本设计方法   1、iPhone应用的分类   1)高效型   这类应用可以帮助用户快速完成一个任务,注重内容的组织逻辑功能和信息架构的展现,以方便用户快速高效的使用,最终完成任务。此类应用一般包含大量的列表及每个列表中的任务功能。最典型的就是系统自带的“Mail”应用,这是一个非常典型的高效型应用。    [!--empirenews.page--] 此类应用给用户的感觉是层层进入,内容逐步具体化,直到可以完成用户的任务。   另外一个非系统应用且典型的就是QQ,可以看一下是不是也遵循这个特点。   2)实用工具型应用   此类应用一般交互操作非常少,也没有很深的层次结构,往往都是直接了当的展示信息,一般会在“背面”(通常会有一个翻转的效果)展示设置功能。最常见的就是“天气”和“股票”两个系统自带的应用。   3)浸入式应用   大多指游戏类应用,但也有一些实用工具,比如电子罗盘,所谓浸入式应用一般是全屏模式,专注一个任务或是娱乐的深入体验,没有过多的文字,而将用户的注意力放在如何使用它。   2、设计iPhone应用   1)iPhone应用的基本结构   状态栏:这是ios系统的一部分,除了浸入式应用外,其他应用一般都会保留这个bar。   导航栏:这里包括当前的title,当前的主要操作的控件和返回的导航功能   工具栏:对当前内容区可执行的功能动作。   标签栏:可以理解为全局导航,方便快速切换功能或是导航。工具栏和标签栏在一个视图中只能存在一个。        2)移植你的应用     大多数情况下我们都是把web端的应用移植到手机上,而在web端的应用,如果我们列出一个功能结构图,可能会包含100项以上的功能点,你可以做如下工作:   ①考虑这个web端的产品,核心功能是什么。任何一个产品都会有核心功能,以及附加功能,比如QQ,核心功能就是IM,即时通信,可能截屏是一个附加功能,尽管用的人非常多。确定核心功能后,以及围绕核心功能尽可能少的扩展功能和逻辑。   ②对确认的功能结构考虑在iPhone上的信息架构模型。上文说过,iPhone应用是线性的连贯操作,一层一层进入直到完成最后的任务,所以你要按这个思路去整理信息架构,一般来说,操作的深度不要超过3层,如果超过3层就要对产品形态进行扁平化处理,即由深度改为广度,因为随着深度的增加,每一级别都会有不同的功能,甚至有承载上一级的功能或逻辑,深度越多,这些功能就会越复杂,而在手机如此小的空间上就很难进行合理组织。   ③合理利用iPhone应用的结构及标准控件。   标签栏,可以理解为web应用中的全局导航或是主要子功能的切换,这个bar可以贯穿于主要视图的底部,方便用户快速跳转,比如下图这个标签栏。        导航栏,可以理解为web应用中的局部导航,子导航或是面包屑,显示当前位置,同时还承载了1个或两个主要功能操作。可以方便用户返回,或是对当前视图进行1-2个最重要的操作。如下面这个导航栏。

    时间:2012-06-16 关键词: iPhone Android app 方法 及基

  • iPhone App的特点及基本设计方法

    iPhoneApp的特点   iPhone有自己的特点和气质,因此他的App不同于其他键盘手机甚至Android这种触屏手机。   首先iPhone只有一个物理按键Home,而这个按钮主要是在系统级操作上起到一些作用,在一个应用中,绝大多数情况都是退出功能。在480x320这个对手机而言很大的屏幕上要包括以下3个模块,才能对一个App进行操作。   1、虚拟键盘   iPhone虽然与Android同为触屏,但没有物理键盘(而Android有可能有物理键盘),所有的输入操作都需要屏幕中的虚拟键盘来实现,同时需要考虑虚拟键盘的遮挡问题。   2、目录导航   没有物理按键做为目录菜单的呼出功能,完全不同于Symbian和Android系统,包括导航也需要屏幕中的虚拟按钮来实现。   3、功能操作   需要把所有的功能集成在App中,比如我们可以用Tabbar来做功能的分类,工具栏来做具体视图的功能操作集合。   我们再来看看用户对iPhone的使用习惯   显然支持单手操作并不是iPhone应用的特性,当然也有一些游戏需要双手进行(沉浸式应用),但因为iPhone有一块非常灵敏支持手指多点触控的电容屏,所以手指直接在屏幕上的操作更加直观和更具操控感,不需要任何中间设备(按键或是鼠标)来控制。        1、自上而下的操作:   用户多数情况下会如上图的姿态,一手握机,大拇指做为主要操作和点击手指,我们可以看到不管是iPhone系统应用还是很多其他的优秀应用,大多使用很多的列表,因为拇指在滑动列表时会非常顺畅和方便,而且操作速度非常快,所以很长的列表不会成为iPhone应用的障碍,这与其他手机平台上的特性不同,更何况在表格的情况下,单击顶部的状态栏可以快速回到顶部。   2、减少输入   这与《移动设备交互设计》书中的一些观点一致,即对于手持设备我们要尽量的减少用户输入,特别对于iPhone这种虚拟键盘而言,即便电容屏再灵敏,对于每次都准确的触动面积很小的虚拟键盘也并不是一件轻松的事情,我们要尽量使用选择器,或是输入提示suggestion来减少成本。   3、足够大的按钮面积   对于iPhone这块电容屏来讲,虽然很灵敏,但接受的感触面积并不小,且用户又是直接用手指操作,所以我们要对应用中的所有按钮要适合指尖来操作,跟据官方给出的设计指导,44*44pix是一个较理想的面积。   4、多点触控手势   相对于设备的软硬件来说,手指总是保持可用,它是人体的一部分,可以灵活的做各种动作,而且直接触控屏幕非常直观,且用户也非常愿意使用这些看上去很酷手势动作,比如可以对图片用两个手指拉开来放大,合并来缩小,直接拖动来调换顺序,摇晃来进行刷新等。当然我们要考虑这些手势在不同应用的不同使用场景,不要滥用。   总之,iPhone应用的是线性的,连贯的,直观的依赖滑动操作,手指点击,以及各种手势给人很酷的感觉。   iPhone App的基本设计方法   1、iPhone应用的分类   1)高效型   这类应用可以帮助用户快速完成一个任务,注重内容的组织逻辑功能和信息架构的展现,以方便用户快速高效的使用,最终完成任务。此类应用一般包含大量的列表及每个列表中的任务功能。最典型的就是系统自带的“Mail”应用,这是一个非常典型的高效型应用。    [!--empirenews.page--] 此类应用给用户的感觉是层层进入,内容逐步具体化,直到可以完成用户的任务。   另外一个非系统应用且典型的就是QQ,可以看一下是不是也遵循这个特点。   2)实用工具型应用   此类应用一般交互操作非常少,也没有很深的层次结构,往往都是直接了当的展示信息,一般会在“背面”(通常会有一个翻转的效果)展示设置功能。最常见的就是“天气”和“股票”两个系统自带的应用。   3)浸入式应用   大多指游戏类应用,但也有一些实用工具,比如电子罗盘,所谓浸入式应用一般是全屏模式,专注一个任务或是娱乐的深入体验,没有过多的文字,而将用户的注意力放在如何使用它。   2、设计iPhone应用   1)iPhone应用的基本结构   状态栏:这是ios系统的一部分,除了浸入式应用外,其他应用一般都会保留这个bar。   导航栏:这里包括当前的title,当前的主要操作的控件和返回的导航功能   工具栏:对当前内容区可执行的功能动作。   标签栏:可以理解为全局导航,方便快速切换功能或是导航。工具栏和标签栏在一个视图中只能存在一个。        2)移植你的应用     大多数情况下我们都是把web端的应用移植到手机上,而在web端的应用,如果我们列出一个功能结构图,可能会包含100项以上的功能点,你可以做如下工作:   ①考虑这个web端的产品,核心功能是什么。任何一个产品都会有核心功能,以及附加功能,比如QQ,核心功能就是IM,即时通信,可能截屏是一个附加功能,尽管用的人非常多。确定核心功能后,以及围绕核心功能尽可能少的扩展功能和逻辑。   ②对确认的功能结构考虑在iPhone上的信息架构模型。上文说过,iPhone应用是线性的连贯操作,一层一层进入直到完成最后的任务,所以你要按这个思路去整理信息架构,一般来说,操作的深度不要超过3层,如果超过3层就要对产品形态进行扁平化处理,即由深度改为广度,因为随着深度的增加,每一级别都会有不同的功能,甚至有承载上一级的功能或逻辑,深度越多,这些功能就会越复杂,而在手机如此小的空间上就很难进行合理组织。   ③合理利用iPhone应用的结构及标准控件。   标签栏,可以理解为web应用中的全局导航或是主要子功能的切换,这个bar可以贯穿于主要视图的底部,方便用户快速跳转,比如下图这个标签栏。        导航栏,可以理解为web应用中的局部导航,子导航或是面包屑,显示当前位置,同时还承载了1个或两个主要功能操作。可以方便用户返回,或是对当前视图进行1-2个最重要的操作。如下面这个导航栏。

    时间:2012-06-16 关键词: iPhone app 方法 iOS 及基

  • iPhone App的特点及基本设计方法

    iPhoneApp的特点   iPhone有自己的特点和气质,因此他的App不同于其他键盘手机甚至Android这种触屏手机。   首先iPhone只有一个物理按键Home,而这个按钮主要是在系统级操作上起到一些作用,在一个应用中,绝大多数情况都是退出功能。在480x320这个对手机而言很大的屏幕上要包括以下3个模块,才能对一个App进行操作。   1、虚拟键盘   iPhone虽然与Android同为触屏,但没有物理键盘(而Android有可能有物理键盘),所有的输入操作都需要屏幕中的虚拟键盘来实现,同时需要考虑虚拟键盘的遮挡问题。   2、目录导航   没有物理按键做为目录菜单的呼出功能,完全不同于Symbian和Android系统,包括导航也需要屏幕中的虚拟按钮来实现。   3、功能操作   需要把所有的功能集成在App中,比如我们可以用Tabbar来做功能的分类,工具栏来做具体视图的功能操作集合。   我们再来看看用户对iPhone的使用习惯   显然支持单手操作并不是iPhone应用的特性,当然也有一些游戏需要双手进行(沉浸式应用),但因为iPhone有一块非常灵敏支持手指多点触控的电容屏,所以手指直接在屏幕上的操作更加直观和更具操控感,不需要任何中间设备(按键或是鼠标)来控制。        1、自上而下的操作:   用户多数情况下会如上图的姿态,一手握机,大拇指做为主要操作和点击手指,我们可以看到不管是iPhone系统应用还是很多其他的优秀应用,大多使用很多的列表,因为拇指在滑动列表时会非常顺畅和方便,而且操作速度非常快,所以很长的列表不会成为iPhone应用的障碍,这与其他手机平台上的特性不同,更何况在表格的情况下,单击顶部的状态栏可以快速回到顶部。   2、减少输入   这与《移动设备交互设计》书中的一些观点一致,即对于手持设备我们要尽量的减少用户输入,特别对于iPhone这种虚拟键盘而言,即便电容屏再灵敏,对于每次都准确的触动面积很小的虚拟键盘也并不是一件轻松的事情,我们要尽量使用选择器,或是输入提示suggestion来减少成本。   3、足够大的按钮面积   对于iPhone这块电容屏来讲,虽然很灵敏,但接受的感触面积并不小,且用户又是直接用手指操作,所以我们要对应用中的所有按钮要适合指尖来操作,跟据官方给出的设计指导,44*44pix是一个较理想的面积。   4、多点触控手势   相对于设备的软硬件来说,手指总是保持可用,它是人体的一部分,可以灵活的做各种动作,而且直接触控屏幕非常直观,且用户也非常愿意使用这些看上去很酷手势动作,比如可以对图片用两个手指拉开来放大,合并来缩小,直接拖动来调换顺序,摇晃来进行刷新等。当然我们要考虑这些手势在不同应用的不同使用场景,不要滥用。   总之,iPhone应用的是线性的,连贯的,直观的依赖滑动操作,手指点击,以及各种手势给人很酷的感觉。   iPhone App的基本设计方法   1、iPhone应用的分类   1)高效型   这类应用可以帮助用户快速完成一个任务,注重内容的组织逻辑功能和信息架构的展现,以方便用户快速高效的使用,最终完成任务。此类应用一般包含大量的列表及每个列表中的任务功能。最典型的就是系统自带的“Mail”应用,这是一个非常典型的高效型应用。    [!--empirenews.page--] 此类应用给用户的感觉是层层进入,内容逐步具体化,直到可以完成用户的任务。   另外一个非系统应用且典型的就是QQ,可以看一下是不是也遵循这个特点。   2)实用工具型应用   此类应用一般交互操作非常少,也没有很深的层次结构,往往都是直接了当的展示信息,一般会在“背面”(通常会有一个翻转的效果)展示设置功能。最常见的就是“天气”和“股票”两个系统自带的应用。   3)浸入式应用   大多指游戏类应用,但也有一些实用工具,比如电子罗盘,所谓浸入式应用一般是全屏模式,专注一个任务或是娱乐的深入体验,没有过多的文字,而将用户的注意力放在如何使用它。   2、设计iPhone应用   1)iPhone应用的基本结构   状态栏:这是ios系统的一部分,除了浸入式应用外,其他应用一般都会保留这个bar。   导航栏:这里包括当前的title,当前的主要操作的控件和返回的导航功能   工具栏:对当前内容区可执行的功能动作。   标签栏:可以理解为全局导航,方便快速切换功能或是导航。工具栏和标签栏在一个视图中只能存在一个。        2)移植你的应用     大多数情况下我们都是把web端的应用移植到手机上,而在web端的应用,如果我们列出一个功能结构图,可能会包含100项以上的功能点,你可以做如下工作:   ①考虑这个web端的产品,核心功能是什么。任何一个产品都会有核心功能,以及附加功能,比如QQ,核心功能就是IM,即时通信,可能截屏是一个附加功能,尽管用的人非常多。确定核心功能后,以及围绕核心功能尽可能少的扩展功能和逻辑。   ②对确认的功能结构考虑在iPhone上的信息架构模型。上文说过,iPhone应用是线性的连贯操作,一层一层进入直到完成最后的任务,所以你要按这个思路去整理信息架构,一般来说,操作的深度不要超过3层,如果超过3层就要对产品形态进行扁平化处理,即由深度改为广度,因为随着深度的增加,每一级别都会有不同的功能,甚至有承载上一级的功能或逻辑,深度越多,这些功能就会越复杂,而在手机如此小的空间上就很难进行合理组织。   ③合理利用iPhone应用的结构及标准控件。   标签栏,可以理解为web应用中的全局导航或是主要子功能的切换,这个bar可以贯穿于主要视图的底部,方便用户快速跳转,比如下图这个标签栏。        导航栏,可以理解为web应用中的局部导航,子导航或是面包屑,显示当前位置,同时还承载了1个或两个主要功能操作。可以方便用户返回,或是对当前视图进行1-2个最重要的操作。如下面这个导航栏。

    时间:2012-06-16 关键词: Symbian iPhone app 方法 及基

  • 宽频带数字锁相环的设计及基于FPGA的实现

    数字锁相环(DPLL)技术在数字通信、无线电电子学等众多领域得到了极为广泛的应用。与传统的模拟电路实现的PLL相比,DPLL具有精度高、不受温度和电压影响、环路带宽和中心频率编程可调、易于构建高阶锁相环等优点。随着集成电路技术的发展,不仅能够制成频率较高的单片集成锁相环路,而且可以把整个系统集成到一个芯片上去。在基于FPGA的通信电路中,可以把全数字锁相环路作为一个功能模块嵌入FPGA中,构成片内锁相环。一般同步串行口通信方式的同步串行口之间的数据传输除了数据线外还必须有专门的同步时钟线,这种连接方式不但需要增加一条线路,同步性能受环境的影响还较大。利用数字锁相环可以从串行位流数据中恢复出接收位同步时钟。这样,串行口之间只用一根数据线就可以接收同步串行数据,简化了串行口的接口关系。本文介绍基于FPGA数字锁相环恢复串行数据位同步时钟的设计与实现及提高数字锁相环性能的措施。   DPLL结构及工作原理   全数字锁相环路(DPLL)的基本结构如图1所示。主要由鉴相器DPD、数字环路滤波器DLF、脉冲加减电路(数控振荡器 DCO)和分频器(可控变模N)四部分构成。脉冲加减电路的时钟分别为2Nfc,fc为环路中心频率。DPLL是一种相位反馈控制系统。它根据输入信号fin与本地恢复时钟fout之间的相位误差(超前还是滞后)信号送入数字环路滤波器DLF 中对相位误差信号进行平滑滤波,并生成控制DCO 动作的控制信号DCS,DCO 根据控制信号给出的指令,调节内部高速振荡器的震荡频率,通过连续不断的反馈调节,使其输出时钟fout的相位跟踪输入数据fin的相位。 图1 全数字锁相环基本结构   环路模块具体功能及其电路实现   数字鉴相器的设计   常用的鉴相器有两种,异或门(XOR)鉴相器和边沿控制鉴相器(ECPD)。与一般DPLL的DPD设计不同,位同步DPLL的DPD需要排除位流数据输入连续几位码值保持不变的不利影响。本文采用改进型异或门鉴相器,它输出一个表示本地恢复时钟超前或滞后于输入信号的相位误差。如果本地恢复时钟超前于输入信号,则超前/滞后脉冲UD输出为高电平,反之UD输出为低电平,如图2所示。 图2  改进型异或门鉴相器的原理图及工作波形图   可见,在输出信号Fout为超前、滞后和同步于Fin时,PE脉冲的前沿距离Fin的上升沿相位是不等的。   数字环路滤波器的设计   数字环路滤波器(DLF)作用是消除鉴相器输出的相位差信号PE中的高频成分,保证环路的性能稳定,实际上可用一变模可逆计数器(设模数为K)来实现。K变模可逆计数器根据相差信号PE来进行加减运算。当PE为高电平时,计数器进行加运算,如果相加的结果达到预设的模值,则输出一个进位脉冲信号DP给脉冲加减电路;当PE为低电平时,计数器进行减运算,如果结果为零,则输出一个借位脉冲信号DP给脉冲加减电路。当Fout同步于Fin或只有随机干扰脉冲时,计数器加减的数目基本相等,计数结果在初始值处上下徘徊,不会产生进位和借位脉冲,滤除因随机噪声引起的相位抖动。计数器根据输出结果生成控制DCO 动作的控制指令。   K变模可逆计数器模值K对DPLL的性能指标有着很大的影响。计数器模值K的取值可根据输入信号的相位抖动而定,加大模值K,有利于提高DPLL 的抗噪能力,但是会导致较大的捕捉时间和较窄的捕捉带宽。减小模值K 可以缩短捕捉时间,扩展捕捉带宽,但是降低了DPLL 的抗噪能力。本设计中选择K=4。在初始时刻,计数器被置初值为K/2=2,这样可以DPLL捕捉速度很快。   数控振荡器的设计   数控振荡器( DCO)在数字锁相环路中所处的地位相当于模拟锁相环路中的电压控制振荡器。在本数字锁相环设计中使用数控振荡器是可变模式分频器。它的输出是调整可变分频器的模值N。该值的大小会随着每个Fin周期内(Fin=1时)鉴相输出PE进行调整。当UD为高电平时,将可变分频模值N增大,以调整分频输出使之相位滞后;当UD输出为低电平时,将可变分频模值N减小,已调整分频输出使之输出相位提前。如果数字环路滤波器没有控制脉冲信号DP输出,那么,分频模值N将保持不变,经除N分频后的输出本地恢复信号相位和输入信号相位处于同步状态。     本地高速时钟信号CLK由片外高速振荡器提供。时钟信号周期大小决定了DPLL 在锁定状态下相位跟踪的精度,同时,它还影响DPLL 的捕捉时间和捕捉带宽。为提高相位跟踪的精度以降低数据接收的误码率,时钟信号CLK的取值应尽量高。本设计中取高速时钟信号CLK的振荡频率为64MHz。数控振荡器可由一个可逆计数器实现。[!--empirenews.page--]   N分频器的设计   N分频器则是一个简单的除N计数器。N分频器对脉冲加减电路的输出脉冲再进行N分频,得到整个环路的输出信号Fout。同时,因为Fout=CLK/2N=fc,因此通过改变分频值N可以得到不同的环路中心频率fc。另外,模值N的大小决定了DPLL的鉴相灵敏度为π/N。   环路实现   本设计在Altera公司QUARTUSII5.0 开发软件平台上,利用VHDL语言运用自顶向下的系统设计方法, 在Altera最新CPLD芯片MAXII240上设计全数字锁相环。将锁相环路设计完毕后,并通过QUARTUSII5.0集成环境进行仿真、综合、验证,DPLL设计结果如图3。 图3  改进型异或门鉴相器DPLL原理图   其中,可逆计数器counter2为环路滤波器DLF,预设初值为12,加法进位模值为4,减法进位模值为12。可逆计数器lmp_counter2为数控振荡器,其预置值为time[3..0],其输出即为锁相环路分频器的模值N,输出值大小随着控制脉冲信号DP的数目有关。在本设计中,fclk=64MHz,fin=2Mb/s,则time[3..0]=0100b=8。加法计数器lmp_counter2为模值N受控的锁相环路分频器。值得注意的是锁相环路分频器lmp_counter2的进位输出Cout不可直接作为分频输出,因为在仿真过程中发现随着fclk频率的升高,Cout容易产生冒险毛刺,影响锁相环的稳定性。因此外加一4输入或非门作为分频器输出判决。   在图4仿真结果中,fclk=64MHz,fin=2Mb/s。 仿真输入信号Fin为一任意的二进制码流信号。可见,对于多位连1或连0的码流信号,该锁相环的输出Fout都能准确恢复出同步所需的时钟。在第二个输入码位到来时本地恢复时钟Fout就已经进入同步状态,捕捉速度很快。相位锁定误差最大为π/2N=π/16。 图4  改进型异或门鉴相器DPLL仿真结果 [!--empirenews.page--]   捕获带宽的扩展   上述设计的数字锁相环虽然可以快速锁定,锁相精度也较高,但其捕捉范围较窄。该数字锁相环的最大相移调整能力为±π,一旦输入信号Fin的相位抖动超过这个范围或Fin的频率发生改变,锁相环无法自动完成捕捉锁定。因此,对该设计需进行扩展设计,以实现宽频带捕捉功能。 为实现宽频带捕捉,设置一专门电路,测定输入信号Fin每个比特的周期(或频率),并判定是否发生变化,若测得比特周期发生变化,就会去控制调整DCO的输出振荡频率,使其快速跟踪Fin的频率,再配合前述数字锁相环的相位跟踪,就可完成宽范围频率锁定。电路原理如图5。 图5  宽频带DPLL频率捕获电路原理图   将图5电路和图3上面的一个电路合并,即为完整的宽频带DPLL电路。测得输入信号Fin的周期信号time[3..0]被送往图3锁相环路分频器lmp_counter2,去控制DCO的输出振荡频率。该宽频带DPLL电路的捕获范围最高频率fcmax=fclk/4,最低频率fcmax=fclk/4M,M为N分频器的最大取值。本设计中,fclk =64MHz,M=16。所以锁相环的频率捕获范围理论值为16MHz-1MHz。对应于输入码流的速率为32MHz-2MHz。当Fin=16MHz和Fin=1.6MHz时的仿真结果如图6(1)(2)。 图6  (1)Fin=16MHz时的仿真波形 图6  (2) Fin=1.6MHz时的仿真波形   根据仿真结果,可实现稳定锁相的最低频率为1.2MHz,略高于理论值1MHz;可实现的最高锁相频率为16MHz。捕获时间1个Fin周期。   结语   在一般的数字锁相环设计中,“捕获时间”和“捕获带宽”这两项关键的性能指标是相互矛盾的,其中任何一项指标的提高都会牺牲另一项指标为代价。本文所介绍的宽频带范围数字锁相环采用较为简单的完成实现了捕获时间小而捕获带宽又相当宽的全数字锁相环,解决了“捕获时间”和“捕获带宽”指标相互矛盾的问题。其中“捕获带宽”指标可以通过提高工作时钟fclk的频率以及锁相环中的计数器的计数容量来进一步扩展。由于该数字锁相环可直接用于同步串行通信中二进制码流的同步时钟的恢复,可自动跟踪接收码流速率的变换,同时该设计是基于FPGA的模块化设计,便于其他数字系统设计的移植和集成,在其他数字应用系统特别是在基于FPGA的通信电路中有着重要的意义。  

    时间:2011-01-11 关键词: FPGA 及基 设计教程

发布文章

技术子站

更多

项目外包