登录站点

用户名

密码

移动视频电话设计实例

1已有 1540 次阅读  2009-09-28 11:47   标签视频电话  实例  设计 

移动视频电话设计实例

本章向读者介绍一个利用TMS320C6701开发板搭建的移动视频电话平台。其中,首先介绍移动视频的发展;然后介绍移动视频技术和奉系统的结构;第三节介绍本系统的硬件设计方案;第四节是源代码分析;最后是开发注意事项和结果分析。

1  移动视频电话

从1876年贝尔发明电话以来,经历了长达一个多世纪的发展,电话通信服务已走进了千家万户,成为国家经济建设、社会生活和人们交流信息所不可缺少的重要工具。在最近20年来,电话技术和业务发生了巨大变化,通信的地点由固定方式转向移动方式。从固定电话到移动手机、短信、彩信等,通信技术的发展正在改变着我们的生活方式。

移动通信的迅猛发展,使现代生活节奏越来越快,移动通信产品的更新换代和市场争夺战也愈演愈烈。在过去20年里,在用户需求的推动下,视频技术获得了突飞猛进的发展,从模拟视频产品的普及,逐步过渡到基于数字视频技术的应用。特别由于3G网络有望提供吏大的带宽、压缩技术迅速发展,相信不久的将来移动视频电话将成为移动通信产品的主流。    移动视频电话不仅仪像手机一样携带方便,而且突破了只能传送声音、信息、图片的限制,还能够传送视频图像。无论用户是身处戈壁沙漠、深山老林,还是置身茫茫大海、冰雪高原,只要有移动视频电话,在简单的拨号后就能轻松地完成视频通话,对方的通话神情在手机屏幕上一目了然,使用户仿佛又重新同到了亲朋好友的身边。

In-Stat/MDR最近对终端用户的调查发现,13.2%的美国无线用户对于为其手机购买视频服务特别或者非常感兴趣。In-Stat/MDR还指出,到2009年,2230万美国人将成为移动视频内容的观众,3110万人将利用视频短信服务。移动视频服务的年营业收入预计将达到54亿美元。将大约占总体无线数据营业收入的14.9%如图10-1所示。


世界各地现在实行着各种不同的移动电话标准。消费者如果没有支持不同标准的移动电话,就无法实现跨国通话。幸好,现在业界出现了一种新的通信标准。它不仅能够实现全球漫游,向且可以提供较大的数据/语音传输通路,加速因特网移动设备的发展。这项新标准正在不断发展完善,很快就会投入使用。它就是众所周知的第三代移动通信标准=3G。

移动网络带宽是移动视频业务发展和产生经济效益的前提条件。运营商在2.5G网络上开始启动移动视频市场,但是大量的移动视频业务要求在3G网络上才能实现。网络带宽成为移动视频业务发展的关键因素之一。而且,只有宽带移动网络才能保证移动视频业务的质量和实时性,降低业务成本,产生经济效益。而且现在移动终端设备还不满足移动视频市场的要求。目前,市场上推出了一些具有一定视频功能的新型手机终端,但是在尺寸和电池寿命方面还无法与传统的手机终端相比。电池使用寿命和显示屏的视频特性是急需解决的重要问题。2003年市场上推出了一定数量的彩屏手机支持移动视频业务的发展。但足,移动终端市场还需要一段时间才能推出具有高质量视频特性、价格符合用户承受能力的新型手机终端。

随着世界电信市场的复苏、第三代移动通信标准的成熟以及3G终端的日益丰富,第三代移动通信技术正迅速在全球范围投入商用。目前世界上已投入商用的3G网络包括Hi3G意大利、Hi3G 英国、Hi3G澳大利亚、日本NTT DoCoMo、日本J-Phone、日本KDDI等。其中,DoCoMo WCDMA用户总数在2004年4月已达到300万,距离突破200万用户的时间仪隔了两个月。中国也正在谋求推出一个新的移动视频标准,通过这个标准,未来用户可以通过移动视频电话点播视频,并可以进行双向的视频电话和进行视频远程教育等服务。相信移动视频电话将从少数人型企业、政府机关才可以享用的“奢侈品”,逐步走向中小企业、普通家庭、个人均可使用的通信“消费品”。

小章介绍的移动视频电话系统是在TT公司的TMS320C6701开发板的基础上搭建的,主要完成3个功能:

·实时捕捉视频和音频数据。

    ·能够对视频和音频数据进行解码和储存。
·  能够通过(3PRS通信口传输音/视频压缩数据。

2移动视频电话的技术及其结构

与移动视频电话相关的技术包括视频信息编解码技术、移动通信技术、终端技术等。

    1.视频编解码技术

为实现压缩后的视频信息的通信,在视频通信中通常使用标准化的编解码。视频编码标准要由国际电联ITU-T和国际标准化组织(ISO)制定。其中由ITU-T制定的标准有:用于视频会议系统的建议H.26l、H.262、H.263、H.264等,主要是用于ISDN、ATM、PSTN以及IP等电信网络上视频信息的传输。由ISO的MPEG制定的标准有:MPEG1、MPEG2、MPEG4、MPEG7等,主要用于数字电视、视频点播(VOD)等交互式视频通信业务。其中,ITU-T建议H.262与ISO的MPEG2两者是相互兼容的。
目前ITU-T建议H.264和ISO的MPEG4标准是2003年最新完成的,有些内容仍处于发展之中,具体的实施软件也处在研制阶段,其目标为适合于IP及移动通信网络上视频信息可变比特速率传输的视频信息编码。

与视频编码标准一同使用的音频编码标准包括ITU-T建议G.711、G.721、G.722、G.728、G.729以及MPEGx中的音频编码标准。在实际使用这些标准时,经过编码后的音频信息需要与相应的视频信息保持同步,与此相关的同步技术也处于发展过程中。

2.移动通信技术

移动通信业务的迅猛发展及其所具有的方便性,使人们不满足于利用移动通信网络仅提供或获得话音服务,移动数据业务的开展也使人们开始考虑在移动刚络上提供视频通信业务,但移动通信网络的传输带宽和服务质量还不能很好地满足要求,因此,改善现有移动通信网络并发展3G/超3G网络以提供包括视频业务在内的多媒体业务,是目前业界的研究热点之一。

3.移动视频电话相关的终端技术为移动电话

移动视频电话是否能够得到充分的发展也取决于这些技术的成熟性。

图10-2为整个移动视频通信流程的结构图。一段视频录像或者图片,经过编码和加密,再通过专用设备发送出去给移动终端。接受设备在经过解压缩等操作将相应的视频录像或图片显示出来。或者移动终端采集一段视频录像或者图片,经过编码和加密发射出去,专用设备接受到数据后经过解压缩等操作将相应的视频录像或图片再显示出来。而移动视频电话就属于移动终端。


现在市而上的视频电话很多是基于PC机和局域网的方案,例如微软公刮的又可分为Netmeeting和White Pine软件公司的CU-SeeMe。它们都是通过PC机采集音视频信号,然后通过局域网传送出去的。因为internet的带宽有限,所以这种方案往往通过提高压缩比来提高视频效果。而本章所介绍的视频电话是利用DSP和GPRS来实现视频信号的传输。它的结构如图10-3所示,它由以下几个部分构成。

(1)视频采集和编码。它负责采集视频图像或图片,将它转换成数字信号,然后按照一定规则编码后传给CPU部分。

(2)CPU部分。CPU部分主要完成两个工作,一是对整个系统功能的总体控制,二是对采集的音/视频信号进行压缩处理并通过通信部分传送给网络。

(3)音频部分。责采集音频信号并传递给CPU部分。

(4)通信部分。负责实现CPU与GPRS网络的通信。

(5)电源部分。负责整个系统的电源管理。

 


3硬件设计方案

在确定系统的硬件设计方案之前,从开发的方便性出发,选用TI公司的TMS320C6701EVM 开发板作为硬件开发的核心。再在此基础上扩展系统所需要的视频采集、音频采集、通信等各项功能。

3.1  TMS320C6701 EVM开发板

    图10-4是TMS320C6701 EVM开发板的结构框图。TMS320C6701 EVM开发板包含以
下几个部件。

(1)DSP  TMS320C6701 EVM开发板包含TMS320C6701DSP。TMS320C6701DSP在167MHz时钟频率下最高执行效率可达1GFLOPS。

(2)DSP clocks TMS320C6701 EVM开发板里面有OSCA、OSCB两个时钟源和两种时钟模式(×1和×4),这样DSP就可以在OSCA、OSCA×4、OSCB、OSCB×4四种时钟方式下工作。

(3)External memory TMS320C6701 EVM开发板内带一个64K×32、133MHz SBSRAM和两个1M×32 100MHzSDRAM。用户还可以通过内存接口外接RAM。

(4)Expansion interfaces TMS320C6701 EVM开发板有一个插座作为扩展内存接口和外没接口。

(5)PCI接口TMS320C6701 EVM开发板包含一个PCI总线接口。

(6)JTAG emulation TMS320C6701 EVM开发板包含一个JTAG仿真口。

(7)可编程逻辑TMS320C6701 EVM开发板内部包含一个CPLD来完成相应的逻辑操作。


(8)音频接口TMS320C6701 EVM开发板提供一个CD-quality、16位的音频接口。包含立休声麦克风、线形输入口和线形输出口。这个音频接口内带放火器,支持5.5~48kHz的采样率。

(9)电源供应TMS320C6701 EVM开发板内部提供好几组电源,其中1.8V、3.3V是提供给DSP内核的;3.3v提供给DSP的IO脚、CPLD、内存等;5V提供给音频组件和PCI总线。12V提供给PCI总线和5V的输入。

(10)电源探测和RESET控制TMS320C6701 EVM开发板内有一个电源探测芯片来探测系统电源和产生RESET信号。CPLD还有相应的逻辑来接受来自手动的RESET信号。

(11)User options用户可通过TMS320C6701 EVM开发板上的一个SWITCH来选择开发板的工作模式,包括BOOT模式、时钟模式、时钟数、JTAG选择等。

(12)LED指示TMS320C6701 EVM开发板上有3个LED指示灯,绿灯表示5V电压是否正常加到PCB板上,两个红色的LED灯可以根据用户的要求显示。

综上所述,TMS320C6701 EVM丌发板已经包含了系统所要求功能的很多部件。开发板内带2片SDRAM,完全可以满足本系统对音/视频数据和通信的要求,虽然开发板留出EMIF的插座给用户扩展,但本系统已不需要再外接RAM。开发板还可以提供5、3.3、+12、-12V的电源。其中,5、3.3V电源最多可以提供lA的电流;+12V最多可以460mA的电流;-12V最多可以提供lOOmA的电流。系统所需要的电源完全可通过开发板所提供的电源实现,不需要再外接电源。

TMS320C6701 EVM开发板上插座留出了EMIF接口给用户扩展,其中包括20个外部地址线(XA[21:2]),32个外部数据线(XD[31:0]),存储空间使能信号(/XCEl)和4个异步控制信号线(/XWE、/XRE、/XOE、XRDY)。系统将这些线通过CPLD与视频部分连接。因为TMS320C6701 EVM开发板自己要使用CEl区域的一部分内存,留给系统的只有低位3M的内存。

TMS320C6701本身带两个多通道缓冲串口(McBsP)。系统利用它来实现与音频部分和通信部分的接口。McBSP可以实现全双工通信,双缓冲寄存器,可以实现持续的数据流操作:发射和接受数据是和CLOCK都是相百独立的;可以直接和industry-standardcodecs,analog interface chips(AICs)接口;最多可以实现128通道的发射和接受;可以选择8、12、16、20、24、32位等多种数据大小;μ-Law和A-Law两种压缩方式;通信时高低位在前可选择;同步和时钟方式可编程;内部同步和时钟可编程。

与McBSP相关的总共有7种信号,分别用来提供数据、同步和时钟信号。它们分别是DR(Data Receive)、DX(Data Transmit)、FSR(Receive Synchronisation)、FSX(Transmit Synchronisation)、CLKR(Receive Clock)、CLKX(Transmit Clock)and CLKS(External Clock Source)信号。在接受数据的操作过程中、DR管脚上的数据会移位到ReceiveShift Register(RSR),然后RSR将被拷贝到Receive Buffer Register(RBR)。如果压缩方式被选择,那么数据在拷贝到DataReceive Register(DRR)之间的,数据将被以一定的压缩方式压缩。在数据发射的操作过程中,数据将被写到Data Transmit Register(DXR),如果压缩方式被选择,则数据将被以一种压缩方式压缩。然后被拷贝到Transmit Shift Register(XSR),最后数据将被转换成串行格式通过DX管脚发射出去。

McBSP可以产生自己的时钟,它要么通过TMS320C6701的CPU时钟来完成,要么通过外部时钟来完成。McBSP硬件专门有一部分是采样率发生器(如图10-5所示),用户可以通过构造采样率发生器寄存器来控制它。采样率发生器由3个分频部分构成,用来产生同步时钟(CLKG)和帧信号(FSG)的信号。这两个信号是McBSP的内部信号,用来支持CLKX、CLKR、FSX和FSR信号。其中3个分频部分分别是:

 


●CLKGDV。

●FPER。

●FWID。

McBSP的发射和接受flame同步信号FSR和FSX都是以FSG信号为基础的。FSR和FSX信号表示数据传送中flame的开始。McBSP在数据转换中有许多不同的方式,包括两相(每次收/发的两段)和帧同步信号出现后收/发数据第一位的延迟时间。所有这些方式的用户都可以通过访问McBSP内部寄存器来设置。

McBSP内部寄存器包括采样率产生器寄存器(SRGR)、串行端口控制寄存器(SPCR)、管脚控制寄存器(PCR)和收发控制寄存器(RCR and XCR,respectively)。SRGR寄存器用来控制采样率产生器的不同属性,包括同步信号极性、输入时钟源和时钟分频。SPCR寄存器是用来设置McBSP的通道。PCR寄存器用来控制不同引脚的功能和极性。RCR and XCR寄存器用来控制数据流的发射和接受以及数据的格式等。

McBSP还有一个独特的特点是可以将数据压缩成很小的尺未寸。由于篇幅所限,木章将不再叙述,读者可以上TI公司的相关网站查阅。

TMS320C6701由两个32位的通用定时器,而且每个定时器的I/O引脚TINP、TOUTTMS320C6701开发板的插座上都留下了相应的引脚。通过内部时钟和外部信号,定时器可以在一定时钟后或者外部信号到来时触发CPU。TMS320C6701内部有3个寄存器来控制定时器的操作:定时器摔制寄存器、定时器周期寄存器、定时器计数寄存器。

定时器能够通过TSTAT信号驱动TINT信号给CPU或DMA,从而产生CPU中断或DMA事件。它提供了一种方法,让外部事件能够触发CPU中断或DMA事件而不需要轮询输入角。这个在视频电路的设汁中特别有用。

中断在所有电路设计中都是重要的一环。它使系统能够从轮询的状态中脱离出来。    C6000系列DSP series(包括TMS320C6701)提供了32个中断源。CPU随时可以使用12个中断源,而且用户可以通过中断选择器选择使用哪12个中断源。TMS320C6701的中断源包括定时器的TINT信号、McBSP中断,DMA中断和外部中断源(由EXT_INT4EXT_INT7提供)。有两个信号与各种中断有关,分别是IACK和INUM信号。IACK是InterruptAcknowledge signal,无论什么时候中断产生,它都将被设置。而INUM信号则是区分哪个中断被触发了,每一个中断都对应着相应的INUM信号。TMS320C6701开发板上的插座将EXT_INT7、IACK、INUM信弓都留出来给用户使用。

TMS320C6701内的DMA可以实现内部RAM、内部peripherals、外部设备之间数据的移动。TMS320C6701内的DMA控制器有4个通道,还有一个通道必须给HPI使用。图10-6是DMA控制器通道的结构示意图。

从图中可以看出,每个DMA通道可以独立从下向各个部件将数据移进或移出。

●EMIF。

●host port interface。

●Internal data memo~。

●Internal program memory。

●Internal peripheral bus。


3.2  视频部分设计

在本系统中视频部分的主要任务是采集摄像头等的视频数据,然后转化系统可用的格式给系统主控部分。以S-VIDIO格式摄像头为例,系统采集图像后再经视频编码器转换成4:2:2的格式,最后再通过CPLD传输给TMS320C6701。本系统可以接3种视频信号输入:s-video,PAL和component video。系统使用了TVP5040芯片作为系统的视频编码芯片;MACH4A5-19206CPLD作为TVP5040与TMS320C6701的接口芯片,完成两者之间的时序转换。

在本系统兼容的3种视频信号中,S-Video是应用最普遍的视频接口。它的具体英文全称叫Separate Video,也称二分量视频接口。Separate Video的意义就是将Video信号分开传送,也就是在AV接口的基础上将色度信号C和亮度信号Y进行分离,再分别以不同的通道进行传输,它出现并发展于20世纪90年代后期,通常采用标准的4芯(不含音效)或者扩展的7芯(含音效)。由于它不再进行Y/C混合传输,因此也就无需再进行亮色分离和解码工作,而且使用各自独立的传输通道在很大程度上避免了视频设备内信号串扰而产生的图像失真,极大地提高了图像的清晰度,但S-Video仍要将两路色差信号(CrCb)混合为一路色度信号C,进行传输然后再在显示设备内解码为Cb和Cr进行处理,这样多少仍会带来一定信号损失而产生失真(这种失真很小但在严格的广播级视频设备下进行测试时仍能发现),而且由于Cr、Cb的混合导致色度信号的带宽也有一定的限制。PAL制式全称Phase AltemateLine,即正交平衡调幅逐行倒相制式,PAL彩色视频首先有一个基本的黑白视频信号,然后在每个水平同步脉冲之后,加入一个颜色脉冲和一个亮度信号。因为彩色信号是由多种数据“叠加”起来的,故称之为“复合视频”。PAL制式分为PAL-B、PAL-I、PAL-M、PAL-N、PAL-D等,主要使用国家包括中国、德国、英国、是标准的电视信号。分量视频信号(ComponentVideo)是指将画面按3个颜色通道(RGB)分成红、绿和蓝(附加亮度信号)3个单独信号通道。它产生的画面质量较高,一般在广播级视频设备中被采用。

本系统使用TI公司的TVP5040芯片作为视频编码器,崩来将S-video和PAL输入信号转换成component digital video信号。TVP5040不仅可以转换S-video和PAL信号,而且可以将NTSC(National Television System Committee)转换成10位的数字component video信号。TVP5040有好几种输出格式,包括20位4:2:2(Y,U,V)、16位4:2:2、10位4:2:2和8位4:2:2。

TVP5040内部有很多特色功能,包括complementary 3-line adaptive comb filters,可以有效降低crossluminance和cross-chrominance噪声;自动增益控制可以有效降低内部ADC(analog to digital converters)的clipping and saturation。TVP5040内部采样率为27 MHz,符合ITU-R.BT.601标准。TVP5040为3.3V供电,但也兼容5V信号。因为本系统很多部件是5V供电,所以此功能就显得尤为重要。TVP5040提供多种接口,包括IIC总线,3个ParallelHost Interface modes和一个Video Interface Port(VIP)mode。用户只要在Reset的时候初始化好芯片的管脚和内部寄存器就可以选择不同的接口方式了。

TVP5040的IO管脚大致可分为几类:synchronisation signals、interface port signals、videodata I/O signals和power signals。video data I/O signals又由one S-video input and supportinghardware、the Y and UV parallel composite data、output lines、和the clock input signal构成。视频输入的S-video input在进入TVP5040之间要经过一个0.1μF的电容和7592的电阻耦合。0.1uF的电容用来隔离和滤波,75Ω的电阻用来降低反射和匹配。TVP5040的10位输出总线Y[9:0]and UV[9:0]则被直接连接到CPLD上,而不需要任何的pull-up或pull-down logic。为了使能这些输出,TVP5040的OEB引脚被拉低到地。如果使用VIP作为host port interfaceprotocol,总线上的pull-up或pull-down逻辑将决定VIP subsystem device ID。但本系统没有使用这项功能。

TVP5040的14.31818 MHz晶振输入有两种选项,一种是使用TTL level clock,一种是crystal oscillator和resistor-capacitor network。本系统使用的是TTL level clock(如图10-7所示),不仅因为这种设计简单,而且冈为第二种方法受电阻和电容的影响比较大。系统选择的晶振是Epson公司的14.31818 MHz TTL-level surface mount crystal oscillator。frequencystability为±50 ppm。最大current drain为23mA。


TVP5040需要模拟和数字两组3.3V电源。为了保证移好的视频效果,系统除了在排版的时候将模拟和数字电源的接地分开外,而且模拟和数字3.3V也使用不同的电源,模拟3.3V由5V稳压得到,数字3.3V由TMS320C6701开发板直接提供。系统另外还增加了很多47μF、O.1μF、0.OlμF的电容来降低干扰和噪声。其中,47μF使用的是坦电容,0.1μF、O.OlμF使用的是瓷片电容。在排板时,滤波电容都尽量靠近芯片的电源和地脚。TVP5040的ADC(Analogto digital converters)和PLL(Phase Locked Loop)还需要特别的电源设计。其中REFP和REFM引脚和地之间加4.7μF和1μF的电容来滤波。另外,在BG和通道1和2的模拟地之间也需要加lμF的电容。
TV5040与CPLD接口有许多同步信号,包括PCLK、PREF、GLCO、GPCL、AVID、FID、HSYN、VSYN和PALI,用米完成数据的传输。PCLK信号是像素点传输的时钟信号。它的频率为13.5MHz,是SCLK频率的一半。为了使能PCLK信号,在RESET的时候,必须将PREF信号拉高。PCLK和SCLK也可以设置成输出脚。GPCL(General Purpose Control Logic)可以通过软件设置成不同的方式,它既可以设置成general purpose output,又可以设置成vertical blanking indicator output和sync lock control input。本系统选择的是vertical blankingoutput。
GLCO信号是用来输出PLL信号给slave设备的,但是它最重要的作用是在RESET的时候,它和FID、PALI引脚的高低决定了TVP5040与CPU的接口方式。在本系统中,GLCO andPALI下拉,FID通过10KΩ电阻上拉,系统被设置成IIC interface mode。
   IIc总线支持多设备,TV5040也支持两片TV5040同时挂在IIC总线上,只要将VC3管脚置好就可以了,但是本系统只有一片TV5040在IIC总线上,所以VC3上拉电阻剑高。图10-8是TV5040的IIC电路图。

 


系统选用Lattice公司的CPLD MACH4A5-192/96作为与TV5040和TMS320C6701开发板的接口芯片。MACH4A5与TVP5040接口的信号为Y和UV 10-bit buses和synchronisationsignals。MACH4A5与TMS320C6701开发板EMlF接口的信号为bidirectional data signalsXD[3l:0]和address signals(XA[21:2])以及asynchronous control signals。另外,MACH4A5还与timer signals(TOUT and TINP)、DMA controller signals(DMAC[3:0])、interrupt signals(INUM[3:0],EXT_INT7)和XCTRL signals(XCTRL[1:0])相连。CPLD在系统中要完成的具体功能是操纵TVP5040的数据和同步信号、产生TMS320C6701的DMA中断等操作,让TVP5040的数据顺利地被TMS320C6701的EMIF接口读走。整个CPLD结构体可分为3个部分:the interrupt generating synchronisation module、the data latches和the address decoding。

具体情况请读者参见10.4.2节。

3.3音频部分设计
 
音频部分设计选用了TLV320AC36芯片。TLV320AC36芯片是TI公司出品的voice-bandaudio processor(VBAP)。它既包含D/A转换(receive decoding),又包含A/D转换(transmitencoding)。TLV320AC36的整个系统包括3个部分:digital audio、telecommunications和dataacquisition。TLV320AC36芯片本身有两种工作模式companded和inear,用户可通过TLV320AC36芯片的管脚选择哪种工作模式。在不同的工作模式下,芯片的数据格式各不相同。在companded模式中,芯片接受和发射8位数据。在inear模式中,芯片接受和发射16位数据(13 bits of data,and either three bits of gain-setting control data,or three zero bits ofpadding)。本系统选择的是companded模式(Companding code on the‘TLV320AC36 isμ-law,)。

TLV320AC36与microphone的接口有5个引脚:VMID、MICBIAS、M1CGS、MICIN和MICMUTE[7]。其中VMID给内部放大器提供参考电平,这个引脚应该通过两个电容(470pF和lμF陶瓷电容)接地。MICBIAS是内部提供的偏置信号。它通过一个2KΩ的电阻输入,然后通过2个电阻和一个电容与和MICIN管脚相连。Microphone的输入增益是由输入电阻和电容决定的。TLV320AC36也支持microphone muting功能,但因为本系统没有使用这项功能。所以直接将/MICMUTE连接到模拟电源。图10-9是TLV320AC36与microphone接口的标准引线图。


图10-10是TLV320AC36输出部分的结构示意图。TLV320AC36最多可驱动600Ω的负载。TLV320AC36从DIN脚接受数字信号,将它转换成模拟信号输出,在转换过程中TLV320AC36会提供滤波操作,在输出信号时,外部电阻还可以产生增谥控制。TLV320AC36的输出信号脚包括EARA、EARB and EARGS。其中EARA、EARB是低阻抗补偿输出。如图10-11所示,在EARA接点的电压分别为VO+,在EARB接点的电压分别为VO-VOD=VO+-VO-(total differential response)。外部电阻R1、R2提供增益控制网络。其中RI+R2的值应该大于10kΩ小于100kΩ。因为RI+R2与RL的并联决定了系统的整体负载,而EARGS处的电容分别与R1、R2的并联又决定了时间常数,如果这个值过大,将会导致系统的不稳定。

VA代表最大的有效数字输出响应(VA=1.001 Vrms)。

VOD=A×VA

WhereA=1+(R1/R2)/4+(R1/R2)

TLV320AC36的电压供应范围为2.7~3.3V,所以它可以实现与TMS320C6701的McBSP的无缝连接。表10-1是TLV320AC36与TMS320C6701的引脚对应图。

在本系统的设计中,TLV320AC36使用fixed data rate模式。fixed data rate模式表示无论在发射或者接受过程中,系统都使用同样的时钟频率。在本系统中,2.048 MHz的外部晶振分别连接到McBSP的CLKS脚和TLV320C6701的CLK脚。TMS320C6701的McBSP通过设置CLKGDV=0来使用外部晶振产生接受和发射时钟。外部晶振使用的是5V的nsekiProgrammable Crystal Oscillator,这个晶振允许硬件设定频率输出。为了产生2.048MHz的频率输出,将晶振的5、6脚拉高,7脚接地。另外需要注意的是,这个晶振需要5V的电源。
3.4 通信部分的设计
本系统设计了一个串行口与GPRS通信工具进行通信,这个串行口是通过TMS320C6701的一个McBSP 口实现的。McBSP产生UART信号给SN75LV4737A芯片,SN75LV4737A将UART信号转换成RS232信号后传送给GPRS通信工具。本系统支持33.6kb/s的GPRS通信工具。
McBSP本身为同步串行口,UART为异步串行口。所以要实现McBSP与SN75LV4737A的无缝连接,McBSP必须产生与UART信号一致的信号。如图10-12所示,通过使用McBSP的sample rate generator来产生时钟信号,the McBSP 可以设置成接受和发射UART信号作为16位数据的每一位,从而产生UART信号。




表10-2是McBSP与SN75LV4737A的引脚对应图。从表中可以看出,两个芯片只有两个引脚需要相连,而且因为SN75LV4737A本身内部有上拉,所以外部也不需要加任何的上拉电阻,硬件设计非常简单。

4软件设计

本系统移动视频电话设计的软件分为两个部分,一是TMS320C6701的软件设计,另一个是CPLD的设计。另外,读者在开始TMS320C6701软件设计之前,必须先了解TMS320C6701本身软件库所能实现的功能。

4.1  TMS320C6701软件支持库

TMS320C6701软件支持库包含以下几个头文件:

●regs.h

●mcbsp.h

●dma.h

●timer.h

●cache.h

●emif.h

●hpi.h

●intr.h

TMS320C6701软件支持库是由以下几个C文件编译而成的:

●dma.C

●emif.c

●mcbsp.C

●timer.c

●intr.asm

其中,dma.C包含的是与DMA操作相关的函数;emif.c包含的是与EMIF控制器操作相关的函数;mcbsp.C包含的是与McBSP操作相关的函数;timer.c包含的是与定时器操作相关的函数;intr_.asm包含的是与中断相关操作的函数。而本系统中主要使用的是与DMA、McBSP相关操作的函数。

TMS320C6701软件支持库中所有与DMA控制器有关的宏定义和函数操作都在dma.h和dma.c文件当中。其中,dma.c包含所有DMA相关的函数,dma.h包含所有DMA相关的宏定义。



dma.h还包含了一组与DMA有关的宏定义,这些宏定义主要是获得给定通道的DMA寄存器的内存地址的。

除了这些宏定义以外,dma.h还提供了与寄存器相关的各个位的宏定义和各个常数值的宏定义。由于篇幅所限,本书不再赘述,读者可查阅TI公司的相关文档。

mcbsp.h和mcbsp.c文件包含对TMS320C6701 McBSP寄存器操作的宏和函数。按其功能区分,可将这些宏和函数分为四组。第一组的功能为enables和disables ality on thepoa:第二组的功能为reset indicated potions ofthe McBSP:第二三组的功能为在数据传送期间开始、停止、接受indicated pott的状态,第四组的功能为返回给定端口的McBSP特殊寄存器的地址。

  第一组的宏定义包括:



mcbsp.h还提供了与寄存器相关的各个位的宏定义和各个常数值的宏定义,由于篇幅所限,本书不再赘述,读者可查阅TI公司的相关文档。

4.2  TMS320C6701软件设计

  TMS320C6701整个软件源程序包括3个文件:MVPdma.h、MVPdma.c、MVPmain.c。其中,MVPdma.h是头文件,MVPdma.c包含与DMA相关的一些函数,MVPmain.c是主函数。因为在软件设计中都用到了TMS320C6701软件支持库,所以每个文件都调用了TMS320C6701软件支持库的头文件。其中MVPdma.h、MVPdma.c调用了DMA的头文件:


















send_audio函数主要是将数据通过UART口发送出去的。

如果读者仔细阅读程序中的代码,就会发现所有函数大量调用了TMS320C6701软件支持库的内容,所以10.4.1的内容对木节至关重要。

4.3 CPLD软件设计

在开始设计CPLD的源代码之前,首先必须确定CPLD所要完成的功能框图,如图10-13所示。在10.3.2节中介绍了将整个CPLD结构体可分为3部分:the interrupt generatingsynchronisation module、the data latches和the address decoding。对应的,在功能框图中也由3个相互独立的模块构成:synchronisation module、memeory module、register module。由这3个模块构成CPLD所要完成的所有功能系统。对应这3个模块是3个VHDL文件:synctime.vhd、decoder.vhd、reg.vhd。另外,因为功能模块的需要,源程序中还包括了一些触发器和计数器程序:Count Module(mycount.vhd)、T Flip Flop Module(TFF.vhd)、D FliD FlopModule(dff.vhd)、Octal D Flip Flop Module(DFFEGHT.vhd)。

 






5  本章小结

    本章介绍了一种利用TI公司的C6000系列DSP来完成移动视频电话的设计思路。由于开发时间和成本的因素,本项目是在TMS320C6701 开发板的基础上另做PCB板完成的。所以整个项目还是处于研究的层面上,还没有实际用在商业开发中。读者可以在此基础上继续开发,希望可以做出一个实用性很强的产品来。

上一篇: 具有DAC和电源优化功能的MP3解码器 下一篇: TI

分享 举报

发表评论 评论 (1 个评论)

涂鸦板