<?xml version="1.0" encoding="UTF-8" ?>















<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<channel>
<title><![CDATA[xwaixwz'职业博客]]> </title>
<description>
<![CDATA[]]>
</description>
<link>http://xwaixwz.blog.bokee.net/</link>
<language>zh-cn</language>
<creator>xwaixwz</creator>
<pubDate>Mon, 03 Mar 2008 10:40:52 GMT+08:00 </pubDate>
<generatorAgent rdf:resource="http://www.bokee.net"/>
<ttl>5</ttl>

<item>
<title>NEC推出超薄电池</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1985970.html</link>
<description>
<![CDATA[<p>NEC近日推出超薄的可折叠电池，据说其充电时间仅需30秒，可嵌入到智能卡中。这种电池（NEC称之为organic radical battery（ORB）：有机高效电池）使用了一种有机自由聚合体塑料作为其阴极。该有机自由聚合体是此类产品具有高记忆力的主要原因。 <br /><br />该电池具有的性能： <br />（1）该电池的结构只有300微米厚，可嵌入到诸如智能卡及智能纸张这种未来应用中； <br />（2）该电池的具有非常柔韧的结构，使用了有机自由聚合体塑料作为其阴极； <br />（3）该电池充电时间只有30秒； <br />（4）该电池具有1mWh/cm的高能量密度，因此可以被应用在RFID等类似于纸的设备上； <br />（5）该电池能适应各种环境，不包含任何有害材料。 <br /><br />NEC称，该新的ORB独特电池将在未来被广泛应用于各种微型终端设备上。 <br /><br />NEC表示计划进一步提高这种电池的性能，延长每次充电的使用时间，缩短充电时间。研究结果将在东京于<a href="http://www.qooic.com/detail-2005.html" target="_blank">2005</a>年12月7～9日召开的iEXPO <a href="http://www.qooic.com/detail-2005.html" target="_blank">2005</a>上展出。 </p>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1985970.html</guid>
<subject>电池</subject>
<author>xwaixwz</author>
<category>电池</category>
<pubDate>Wed, 16 Jul 2008 09:11:40 GMT+08:00 </pubDate>
</item>

<item>
<title>从Elpida外包产能事件看其未来经营事业的挑战</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1985715.html</link>
<description>
<![CDATA[<div>一,新闻简述 <br />美国半导体新闻网站EBN报导指出,日本DRAM厂Elpida证实已与台湾某家半导体厂洽谈未来委外代工事宜,不过,Elpida未说明与哪家厂商进行合作商谈. <br />何以Elpida开始寻求外包产能,是为了因应Infineon的联盟举动以及<br />Micron与Hynix的合并案吗 或是Elpida本身遇到了什麼瓶颈 <br />二,为何需要外包产能 </div>
<div>(一)成本过高与市占率下降 <br />原本在1990年时,NEC及Hitachi的营收排名都仍在前三名,然而从那之後,两家的半导体部门的营收便一路下滑,後来两家公司决定将DRAM部门合并成立Elpida,从营收来看,Elpida的市场占有率也从一开始NEC以及Hitachi的两家约13%左右,至<a target="_blank" href="http://www.qooic.com/detail-2000.html">2000</a>年时止剩下10%左右,到了<a target="_blank" href="http://www.qooic.com/detail-2001.html">2001</a>年只剩8.4%,预估<a target="_blank" href="http://www.qooic.com/detail-2002.html">2002</a>年更加不乐观,市占率可能会降至5%以下. </div>
<div>市占率下滑背後主要的原因是因为,一直以来日系厂商的生产成本都略高於其他DRAM颗粒供应商,在DDR DRAM的制程方面,NEC与Hitachi目前的制程都仍是在0.18微米制程,而其他DRAM厂商的制程水准多在0.15微米制程,相对而言较不具优势;而良率方面,日系厂商一直是相对较低的状态,这两件事使得日系厂商的生产成本比起其他厂商来的高. <br />(二)资金问题与12吋厂的延迟 <br />因为成本高以及经历去年DRAM产业的严重衰退,使得NEC及Hitachi自有晶片业务处亏损状态,NEC预测<a target="_blank" href="http://www.qooic.com/detail-2001.html">2001</a>年度集团亏损有53%来自晶片生产业务;同期Hitachi集团则是预估亏损有28%来自晶片业务.虽然母公司仍在持续支持Elpida,然而在资金的筹措方面似乎是有点困难,而DRAM市场的萎缩以及现货价的不稳定,也使得投资人对要不要买入Elpida的债券也是有所迟疑,因此使得Elpida自己的12吋厂生产线因为资金问题,至今仍旧迟迟尚未进入试产. <br />另一方面,因为本身的DRAM颗粒较不具成本优势,所以NEC及<br />Hitachi一直逐步的在减少<a name="0"></a>投片量,目前Elpida的产能主要是来自日本的Hiroshima厂,大陆上海华虹NEC及新加坡Hitachi日铁半导体厂;目前,上海华虹NEC目前正逐步的在削减其DRAM产出所占的比例,而新加坡方面Hitachi也证实有在减少投片的<a name="2"></a>数目. <br />(三)寻求外包产能 <br />Elpida的12吋厂预计今年10月才可能进入第一次的试产,而在进入正式量产之前的这一段时间,Elpida在0.13微米制程方面的产能几乎没有,这将使得Elpida在DDR DRAM市场中竞争力及市占率不断的下降,虽说目前Elpida是打算将重心先放在SDRAM以及高阶产品使用的DRAM方面,然而这些利基市场的规模仍是无法与主流128MB及256MB的市场相比,因此主流市场的产品仍是必须出货,於是,在综合考量成本问题以及获取在12吋厂正式量产之前内部逐渐减少的产能之後,Elpida开始向外寻求外包产能. </div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1985715.html</guid>
<subject></subject>
<author>xwaixwz</author>
<category></category>
<pubDate>Wed, 16 Jul 2008 00:38:31 GMT+08:00 </pubDate>
</item>

<item>
<title>TI低功耗可编程DSP显著延长电池寿命，单价5.75美元</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1983126.html</link>
<description>
<![CDATA[<p>　　日前，德州仪器(TI)宣布，其超低功耗可编程DSP产品系列又添新成员TMS320C5506DSP。这款业界最低功耗可编程DSP将进一步推动低功耗音频/语音应用领域的创新。全新TMS320C5506DSP在待机模式下的功耗仅为0.12mW，另外，其还具备众多其它低功耗特性，堪称同类产品中功耗最低的处理器。 </p>
<p>&nbsp;</p>
　　全面的128KB片上存储器可显著简化编程工作，而全速USB2.0接口则提供了低成本的有线连接方案。C5506DSP实现了低功耗、存储与连接功能，以及低成本等众多特性，这使各种高销量应用都能从中受益，其中包括触摸屏控制器、USB耳机、无绳电话以及免提车载电话套件等。
<p>&nbsp;</p>
　　Forward Concepts公司在近期发布的题为《DSP战略：嵌入式芯片发展趋势》的报告中指出：调查结果显示，开发工具与功耗是DSP设计人员在为设计(如：便携式设备)选择最佳DSP芯片时首要考虑的两大问题。ForwardConcepts的总裁WillStrauss指出：&ldquo;TI高度关注客户需求，全新C5506DSP实现了业界最低待机功耗，从而充分反映了这种关注。&rdquo;他进而指出：&ldquo;TI目前提供全面的电源管理工具，以帮助开发人员进一步降低功耗，在竞争中立于不败之地。&rdquo;
<p>&nbsp;</p>
　　TI全新C5506DSP是特性丰富的超低功耗多媒体处理器系列中新的一员。该系列产品包含TMS320C5509A、C5507以及C5503DSP。随着C5506DSP的推出，系统开发人员有了更低成本的低电压选择方案，可进一步降低功耗，尽可能节省电池耗电，以延长两次充电间的工作时间。C5506提供以下特性，以便将功耗降至最低：
<p>&nbsp;</p>
&middot;业界最低待机功耗(108MHz与1.2V情况下仅为0.120mW)<br />&middot;超低内核与存储器工作功耗(108MHz下仅为58mW)<br />&middot;动态频率与电压缩放<br />&middot;多种待机模式可分别关闭独立外设与内部功能<br />&middot;128KB的SRAM可满足高效代码需求，尽可能减少片外存储器存取<br />&middot;电源优化工具有助于实现低功耗设计
<p>&nbsp;</p>
　　该产品还提供有助于简化设计并降低系统成本的其他集成特性，如与PC连接的USB2.0全速端口、3个MCBSP端口、3个计时器、I2C总线、6通道DMA、16位<a href="http://www.qooic.com/detail-EMIF.html" target="_blank">EMIF</a>与36GPIO。大量I/O端口有助于实现外设连接。这为那些准备从TMS320C54x DSP系列产品进行升级的客户提供了良好的低功耗、低成本策略，以满足他们对USB连接、更高性能或SDRAM存储器连接的需求。C5000DSP平台的成功意味着TMS320C5506 DSP设计人员可以一次获得数百种现成算法，从而节省了宝贵的时间，加速了产品上市进程。
<p>&nbsp;</p>
<strong>小型多媒体系统的新市场</strong>
<p>&nbsp;</p>
　　C5506DSP是面向大众市场应用的出色解决方案，能够以低功耗满足实时信号处理的高性能需求。触摸屏控制器为了实现更高精度、更低功耗以及更强大的功能转而采用DSP控制技术。连接至PC的USB耳机需要完成大量处理工作，以降低噪声、抵消回声并实现音频流的处理。车载免提电话套件与用于无线LAN的无绳手持终端、VoIP电话、室内电话(deckphone)以及其它便携式应用等都需要低待机功耗的调制解调器信号处理器，以延长超低功耗的空闲工作模式时间。在各种情况下，C5506DSP都能实现多种优势的完美结合以满足应用需求，其中包括低功耗、MIPS、存储器、连接性、小体积以及低价格等。C5506DSP的诸多优势使便携式系统的开发人员能够推出可靠性更强的低成本产品，以增强对消费者的吸引力。
<p>&nbsp;</p>
　　采用C5506DSP的开发人员可以完全放心地利用TMS320C55x?电源优化DSP入门套件(DSK)开展设计工作，这套全面的工具能够缩短查找设计功耗瓶颈的时间。利用DSK，开发人员能够准确地设计、分析、管理并优化实时功耗。DSK的诸多特性包括：
<p>&nbsp;</p>
&middot;电源计划工具，帮助开发人员方便快捷地创建试验性配置，以确定不同存储器与外设组合的功耗。<br />&middot;DSP/BIOS内核中的电源管理器，该软件模块可帮助开发人员自动实施操作系统级的节电策略。<br />&middot;功率调整库，根据应用模式与性能要求支持运行时内核频率与电压的动态控制。<br />&middot;美国国家仪器公司提供的基于LabView?的电源测量工具，实现可视检量与分析功能，使开发人员能根据应用实际运转状态准确描述功耗情况。
<p>&nbsp;</p>
　　TMS320C5506DSP现已投入量产，可通过TI及其授权分销商进行订购。该器件采用12毫米&times;12毫米microBGA封装，批量为10,000片时，建议单价为5.75美元。TI还提供能够与C5506DSP配合工作的完整系列的电源管理产品。]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1983126.html</guid>
<subject>电池</subject>
<author>xwaixwz</author>
<category>电池</category>
<pubDate>Tue, 15 Jul 2008 06:53:29 GMT+08:00 </pubDate>
</item>

<item>
<title>嵌入式实时操作系统与网络构件的设计</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1980065.html</link>
<description>
<![CDATA[1、引言
<p><font face="Verdana">　　近年来，嵌入式实时操作系统接入网络后将使远程监测、远程控制、远程诊断和远程维护变得越来越容易。从根本上讲，嵌入式设备接入网络，当前基本上所采用的网络协议是基于TCP/IP通信协议。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 由于嵌入式系统是以计算机技术为基础、软硬件可裁减并对成本、体积、功耗有严格要求的专用系统，它对TCP/IP通信协议的支持有其自身的特点，这些特点也决定嵌入式实时操作系统与网络构件的体系结构。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本方案以LPC2210为核心元件研究了嵌入式实时操作系统与网络构件的硬件电路，同时在&mu;C/OS-Ⅱ平台上编写了应用软件程序。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong> 2、嵌入式实时操作系统与网络构件的系统整体结构</strong></font></p>
<p><font face="Verdana">　　系统采用PHILIPS公司LPC2210微处理器，外扩一片FLASH SST <a href="http://www.qooic.com/detail-39VF160.html" target="_blank">39VF160</a>，并接入<a href="http://www.qooic.com/detail-RTL8019AS.html" target="_blank">RTL8019AS</a>以太网芯片(Webchip)，再与接口连接器HR901170A相连。并将开放源代码的TCP/IP协议栈 LwIP移植到&mu;C/OS-Ⅱ系统上。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.qooic.com/detail-RTL8019AS.html" target="_blank">RTL8019AS</a>以太网芯片(Webchip)是独立于各种微控制器的专用网络接口芯片，它通过标准的输入、输出口与MCU相连。具有16位的数据总线 和24为的地址总线，并且内部集成了DMA控制器、ISA总线控制器和集成16k SRAM、网络PHY收发器，兼容NE2k标准。用户可以通过DMA方式把需要发送的数据写入片内SRAM中，让芯片自动将数据发送出去；而芯片接收到数 据后，用户可以通过DMA方式将其读出。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HR901170A是中山市汉仁电子有限公司生产的RJ45接口连接器(带网络变压器/滤波器)，该连接器满足IEEE802.3和IEEE902.3ab标准，能够较好的抑制电磁干扰。通过HR901170A系统就可以连接到以太网上了。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该方案设计相对简单，硬件电路中采用的LPC2210是PHILIPS公司推出的微处理器，带有16k RAM，76个通用I/O口，12个独立外部中断引脚，集成有8通道的10位A/D，能够基于芯片设计复杂的系统。虽然LPC2210具有较快的访问速 度，但片内没有集成FLASH，所以这里扩展一片16Mbit FLASH SST <a href="http://www.qooic.com/detail-39VF160.html" target="_blank">39VF160</a>保存用户程序。其架构满足了&mu;C/OS-Ⅱ正常运行的基本要求。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong> 3、嵌入式实时操作系统与网络构件的软件设计</strong></font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为使嵌入式实时操作系统与网络构件具有交好的实时性和稳定性，在实时多任务操作系统&mu;C/OS-Ⅱ平台上设计系统软件。系统中各个任务在宏观上按照一定的 关系并行工作，CPU资源得到充分利用，系统可靠性得到很大的保证，方便组织开发任务。在&mu;C/OS-Ⅱ平台上，软件设计工作主要包括三个方面的内容： &mu;C/OS-Ⅱ在LPC2210上的移植和LwIP协议在&mu;C/OS-Ⅱ上的实现以及系统应用软件的编写。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该系统采用源码公开的嵌入式实时操作系统&mu;C/OS-Ⅱ，版本号为V2.52。其特点是源码公开、可读性强、移植性好、可配置、可裁剪。它采用优先级抢占 式调度方案，优先级最高的任务一旦准备就绪，则拥有CPU的所有权并开始投入运行。&mu;C/OS-Ⅱ的软硬件体系结构图如图3所示。应用程序建立在操作系统 之上，处于系统的顶层，每个任务在宏观上是并行运行。与CPU类型无关的代码提供了系统服务，即内核、任务管理、内存管理等。&mu;C/OS-Ⅱ的移植部分用 于完成与不同处理器的接口工作。&mu;C/OS-Ⅱ的移植必须要求处理器及其编译器满足一定的条件。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &mu;C/OS-Ⅱ的移植工作主要集中在下面几个文中：OS_CPU.H,OS_CPU_A.ASM,OS_CPU_C.C。另外，在INCLUDES.H中 必须包括LPC2210文件LPC2210.H;OS_CFG.H用于系统应用&mu;C/OS-Ⅱ中的初始化配置。OS_CPU.H主要包括了一些与处理器和 编译器相关的常量和类型定义等，而且要注意的是LPC2210的堆栈方向是由高到低,用OS_STK_GROWTH来设置堆栈的增长方向。因此将 OS_STK_GROWTH设为1。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OS_CPU_A.ASM中需要编写4个汇编语言函数：OS_TASK_SW(),OS_IntCtxSw(),OSStartHighRdy()和OSTickISR()。<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OSStartHighRdy()代码如下：<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDR&nbsp; r4, addr_OSTCBCur&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;获得当前任务TCB地址<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDR&nbsp; r5, addr_OSTCBHighRdy <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;获得优先级最高任务TCB地址<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &hellip;&hellip;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;恢复CPU工作模式<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDMFD&nbsp; sp!, {r4}<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MSR&nbsp;&nbsp; SPSR_cxsf, r4<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDMFD&nbsp; sp!, {r4}<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MSR&nbsp;&nbsp; CPSR_cxsf, r4<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDMFD&nbsp; sp!， {r0-r12, lr, pc}<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OS_TASK_SW( )函数汇编代码如下：<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STMFD&nbsp; sp!,&nbsp; {lr}&nbsp; ;保存pc<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STMFD&nbsp; sp!,&nbsp; {lr}&nbsp; ;保存lr<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STMFD&nbsp; sp!,&nbsp; {r0～r12} <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;保存寄存器和返回地址<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &hellip;&hellip;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;得到当前任务TCB地址<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDR&nbsp; r4, addr_OSTCBCur<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDR&nbsp; r5, [r4]<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STR&nbsp; sp, [r5]&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;保存sp在被占先任务的TCB<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;得到最高优先级任务的TCB地址<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDR&nbsp; r6, addr_OSTCBHighRdy<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDR&nbsp; r6, [r6]<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDR&nbsp; sp, [r6]&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;得到新任务堆栈指针<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;OSTCBCur ＝ OSTCBHighRdy<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STR&nbsp; r6, [r4]&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;设置新的当前任务的TCB地址<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &hellip;&hellip;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OSIntCtxSw()函数汇编代码如下：<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDR&nbsp; sp，＝IRQ_STACK&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SUB&nbsp; r7, sp, #4&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;将处理器切换到管理模式<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MRS&nbsp; r1, SPSR<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ORR&nbsp; r1, r1, #0xC0<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MSR&nbsp; CPSR_cxsf, r1&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;完成模式切换<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &hellip;&hellip;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STMFD&nbsp; sp!, {r4}&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;保存程序状态寄存器<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &hellip;&hellip;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OS_CPU_C.C需要用C语言编写6个与操作系统相关的函数：OSTaskStkInt()，OStaskCreateHooK()， OStaskDelHook()，OStaskSwHook()，OStaskStatHook()，&nbsp; OSTimeTickHook()。必须编写的是OSTaskStkInt()，其余5个函数必须声明但可以不编写代码。<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void *OSTaskStkInit(void(*task)(void *pd),void *pdata, OS_STK *ptos, INT16U opt) <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { OS_STK *stk;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; opt = opt<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //防止编译错误<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stk = ptos;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //装载堆栈指针<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &hellip;&hellip;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *--stk = (USER_USING_MODE|0x00); <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //spsr,允许IRQ,FIQ中断<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *--stk = ();&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //关中断计数器OsEnterSum<br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (stk);<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下来要做的就是LwIP在&mu;C/OS-Ⅱ上的移植，即就是把与硬件、OS、编译器相关的部分独立出来放在/src/arch目录下。LwIP在&mu;C/OS -Ⅱ上的实现就是修改这个目录下的文件，其它文件一般不做修改。首先要修改与CPU或编译器相关的文件，如数据长度，字的高低位顺序等要和用户实现 &mu;C/OS-Ⅱ移植时定义的数据长度参数是一致的；然后要修改与操作系统相关的函数与数据结构；最后是库函数的实现，如u16_t htons();u16_t ntohs(); u32_t htonl();u32_t ntohl();int strlen(); int strncmp(); void bcopy(); void bzero();&nbsp; </font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前4个函数由用户自己实现，而ADS编译器中库里面已经有了后四个函数。用户在其它CPU上实现时应根据自己的编译器来决定。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LwIP在&mu;C/OS-Ⅱ上的移植结束后，剩下的工作就是编写应用程序。将系统划分成若干个任务，每个任务对应一个独立的无限循环的主程序，完成一个特定 的功能。系统任务优先级的划分是根据任务的重要性而定的，当然还要考虑到系统的安全性因素。为简化设计，应用程序采用静态优先级，即应用程序在执行的过程 中各个任务优先级保持不变。系统的软件架构搭建好了以后，用C编写各个任务就容易多了。主程序中关键代码如下：<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #define&nbsp; TASK_STK_SIZE&nbsp;&nbsp;&nbsp; 64&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;声明任务堆栈<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OS_STK&nbsp; TaskStartStk[TASK_STK_SIZE]&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;开始任务堆栈<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OS_STK&nbsp; TaskWatchStk[TASK_STK_SIZE]&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;监视任务堆栈<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &hellip;&hellip;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void TaskWatch(void *data)&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;声明监视任务的函数原型<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &hellip;&hellip;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void main(void)<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { OSInit()&nbsp; <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*初始化&mu;C/OS-Ⅱ*/<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OSTaskCreate(TaskStart,(void*)0,&amp; TaskStartStk[TASK_STK_SIZE-1],0);<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OSStart(); <br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*开始多任务*/<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void TaskStart(void *data)<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { data=data;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*防止编译器错误*/<br />&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &hellip;&hellip;}</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将主程序和&mu;C/OS-Ⅱ中的系统文件放在同一工程下，进行编译即可。为了提高执行效率，可以根据实际应用修改&mu;C/OS-Ⅱ的部分常用代码，甚至剪切掉某些不必要的代码。</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong> 4、结束语</strong></font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 基于嵌入式实时操作系统与网络构件的设计方案在硬件上简洁可靠；软件可维护性好，可扩展性好，有利于系统的后续开发，降低了系统设计的复杂性。随着嵌入式 产品研究的深入，网络接口芯片的研究也会快速发展，是智能化产品的设计更趋向简单、标准、成熟。可以看出，嵌入式实时操作系统与网络将会得到更大的发展和 更广阔的应用。</font></p>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1980065.html</guid>
<subject>嵌入式</subject>
<author>xwaixwz</author>
<category>嵌入式</category>
<pubDate>Mon, 14 Jul 2008 06:41:24 GMT+08:00 </pubDate>
</item>

<item>
<title>TS201S型DSP引导程序加载方法研究</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1980021.html</link>
<description>
<![CDATA[<p><strong>摘要：</strong>介绍ADI公司TigerSHARC系列DSp的引导程序加载原理与应用。给出TigerSHARC系列DSP程序加载的几种模式,主要以TS20lS型DSP为例说明单DSP系统程序加载的过程和方法。该设计在TigerSHARC系列DSP中具有通用性。可以方便地应用于其他DSP引导程序加载的设计。</p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><strong>关键词：</strong></span>DSP；TigerSHARC；引导程序；加载；接口；TS201S</p>
<p style="TEXT-INDENT: 30px">随着DSP技术的发展，DSP的功能越来越强，类型也越来越多。由于DSP内部结构的特点,DSP的算法程序一般都存储在外部的非易失性存储器中，在系统上电后，要将算法程序从外部存储器加载到DSP中，再进行相应的数据算法处理。</p>
<p style="TEXT-INDENT: 30px">TS20lS是ADI公司TigerSHARC系列中集成了定点和浮点计算功能的高速DSP。处理器工作在600MHz，单周期能执行4条指令，每秒能进行3．4亿次乘累加和2．8亿次浮点操作，是面向通信和视频领域的高端DSP。TS201S包括24Mbit的片内DRAM；1个14通道的DMA控制器：4个链路口可用于和其他DSP进行无缝联接。以组成一个多DSP处理器系统，每个链路口的数据率可达1GB／s；集成SDRAM控制器最大支持256M x 32bit的内存容量,方便和外部SDRAM连接。TS20lS非常适合对大数据量数据处理实时性要求高的应用领域。<br /><br /><font size="3"></font><span class="main1">TigerSHARC系列的DSP接口丰富，其引导程序的加载方法也非常灵活，可根据实际系统设计的需要灵活选用。</span><font size="3"></font><span class="main1">如系统中的外部存储器要被特殊初始化(如SDRAM)，则这个存储器必须由内核来配置及初始化。加载核要被修改和重新编译，最后的加载核代码不能超过256个字，是由：DSP的特点所决定的。</span></p>
<p style="TEXT-INDENT: 0px"><strong>1 TigerSHARC系列DSP的引导模式</strong></p>
<p style="TEXT-INDENT: 30px">DSP的引导就是在DSP系统复位的情况下从DSP外部存储器装载算法程序代码的过程。TS201S支持二种引导模式：主引导（master boot）模式和从引导(slave boot)模式。</p>
<p style="TEXT-INDENT: 30px">在主引导模式下，TS201S作为主动方，用外部口输出地址、读、引导方式选择(BMS)等控制信号，从EPROM或Flash中加载代码。在从引导模式下，TS201S作为被动方，不向外部输出控制信号，外部主机或其他设备向TS201S的主机、链路口传送要加载的代码，TS201S仅启动若干DMA通道，并执行第一个DMA所接收的加载核。</p>
<p style="TEXT-INDENT: 30px">另外，TS201S还可以选择一种&ldquo;非引导&rdquo;模式，或利用TS20lS的(仿真器)EZ&mdash;ICE加载程序，这种方式可直接将程序加载进TS201S内部的RAM或外部的RAM中，DSP直接从RAM中运行程序，常用于DSP的调试过程。</p>
<p style="TEXT-INDENT: 30px">通过对TS20lS的BMS引脚的设置，可将DSP的引导过程设置成主引导模式或从引导模式。在DSP复位期间，如果BMS低电平，则选择主引导模式，DSP从外部EPROM或Flash中加载程序；若BMS引脚为高电平，则进入从引导模式，DSP为空闲状态，等待主机或链路口加载程序。2种引导模式都有相同的加载过程。具体步骤如下：</p>
<p style="TEXT-INDENT: 30px">(1)TS201S自动启动一个DMA．自动把256个字(32位)传送到内部存储器的地址0x00-0xFF。</p>
<p style="TEXT-INDENT: 30px">(2)TS201S执行上述256个字的指令(加载核)，加载核启动其他DMA，把后续指令和数据加载到内部和／或外部存储器中。</p>
<p style="TEXT-INDENT: 30px">(3)加载核自我覆盖，执行DSP算法程序。<strong><br /><br />2 单TS201S的程序加载接口设计</strong></p>
<p style="TEXT-INDENT: 30px">TigerSHARC系列中的TS20lS作为单个DSP使用时，主要有3种引导方式。</p>
<p style="TEXT-INDENT: 30px">2.1外部EPROM引导</p>
<p style="TEXT-INDENT: 30px">外部EPROM引导为主引导模式，是最常用的引导模式。在该模式下，BMS引脚和RD引脚作为EPROM的片选和输出使能引脚。EPROM的8位数据线接TS201S的DATA0-DATA7。TS20lS最大支持16M的EPROM地址空间，其低位地址引脚与EPROM的地址引脚相连。对于多处理器共享总线的系统，可用一个EPROM对所有TS201S加载。图1所示为ST公司的Flash（DSM2150）与TS201S程序加载接口设计实例。</p>
<p style="TEXT-INDENT: 30px">复位后，DMA通道0被自动配置好，DMA相应的2个TCB寄存器(Transfer <a target="_blank" href="http://www.qooic.com/detail-CONTROL.html">CONTROL</a> Block)被初始化，然后从8位的外部EPROM地址0开始，把一个256字的加载核传送到内部存储器地址0x00-0xFFo。DMA通道0的中断矢量初始化为内部存储器地址0x00。当DMA通道0传送完成时，产生中断，TS20lS开始从0x00执行加载核。然后，加载核通过一串单字DMA传送将后续应用代码和数据加载。最后，加载核启动一个256字的DMA，使其自身被用户应用程序代码覆盖。当该DMA过程完成时，DMA通道0的中断矢量人口地址为内部存储器地址0，用户的应用代码从地址0开始执行。TS20lS的外部接口是32位数据宽度，所以TS201S在通过DMA通道加载程序时，自动使用8到32位的专用打包方式，低位在前，完成从EPR()M的DMA读。只有DMA通道0支持该专用打包方式，所以引导程序必须用DMA0。</p>
<p style="TEXT-INDENT: 30px">另外，在算法应用程序运行阶段，内核不能用指令使能BMS的方式直接对EPROM进行访问，但可通过DMA通道方式访问。这是因为EPROM是字节寻址空间，它不属于TS201S的存储器空间。外部EPROM所占的最大存储空间为16M字节，由于E-PROM是慢速外设，对EPROM的每一个读访问，TS201S都要等待16个周期。TS201S对外部E-PROM的读时序如图2所示。</p>
<p style="TEXT-INDENT: 30px">2.2主机引导</p>
<p style="TEXT-INDENT: 30px">采用主机(HOST)引导模式时，32位或64位主机通过外部的数据和地址总线完成对TS201S的引导。在主机引导方式下TS201S可用任何一个Auto DMA通道进行代码传送。其余过程与外部E-PROM引导相同。主机通过DSM状态寄存器(DSSTAT)监视Auto DMA的状态。在一默认的情况下TS201S的外部总线宽度被设置成32位，所以主机必须使用流水线协议与TS201S进行通信。</p>
<p style="TEXT-INDENT: 30px">2.3链路口引导</p>
<p style="TEXT-INDENT: 30px">TS201S有4个链路口(Link <a target="_blank" href="http://www.qooic.com/detail-&lt;a target=">PORT</a>.html&quot;&gt;<a target="_blank" href="http://www.qooic.com/detail-PORT.html">PORT</a>)，每个链路口都可用于引导程序的加载。其加载过程和主机引导模式相似。<strong><br /><br />3 多TS201S的程序加载接口设计</strong></p>
<p style="TEXT-INDENT: 30px">在实际的系统设计中，在处理高数据流和大数据量的条件下经常用到多个DSP级联。对多个DSP进行程序加载，用EPROM、HOST、LINK PORI、加载模式都可实现。</p>
<p style="TEXT-INDENT: 30px">在EPROM引导模式下，将各DSP的丽BMS引脚接到一起，连接到EPROM的片选信号上，外部地址、数据也都分别连到EPROM的数据、地址总线上，各DSP按总线优先权依次访问EPROM。EPROM引导多DSP的另一种方法是在主DSP(ID2-0=000)加载完成后，通过多DSF的存储器空间向其他DSP的AutoDMA通道0写入加载码，完成其他DSP的程序加载。这种方法只有主DSP的RD引脚和EPROM片选相连，其他。DSP的RD信号通过外部上拉电阻器上拉。</p>
<p style="TEXT-INDENT: 30px">在HOST加载模式下，主机按照流水协议，用HBR和HBG信号引导其他DSP。</p>
<p style="TEXT-INDENT: 30px">在多DSP系统中LINK <a target="_blank" href="http://www.qooic.com/detail-PORT.html">PORT</a>加载方式是最为灵活的一种程序加载方式，可将前面二种加载模式结合使用，当第一个DSP用EPROM。或HOST加载成功后，可按菊花链形式由第一个依次加载其他的DSP。</p>
<p style="TEXT-INDENT: 0px"><strong>4 引导程序设计</strong></p>
<p style="TEXT-INDENT: 30px">下面以EPROM引导模式为例说明TS20lS引导程序的设计方法。ADI公司的visual DSP++工具提供的程序加载应用程序(elfloader.exe)可将DSP算法程序和加载核程序合并生成：EPROM的加载输出文件(*.ldr)。该加载输出文件用来定义加载过程中TS201S的内部和外部存储器如何被初始化，其格式如图3所示。其中数据标识块中标签字的格式定义如图4所示。</p>
<p style="TEXT-INDENT: 30px">DSF程序加载过程中的比较复杂的过程是加载核的自我覆盖。当数据标识块中标签字的高3位的数据为O时(见图4，TYPE=0)，加载核执行&ldquo;结束加载&rdquo;的过程，用DSt算法代码覆盖加载核的256个字的程序。这是加载过程的最后一个DMA，将DSP从IDLE状态唤醒，完成加载核的自我覆盖，但是，简单的自我覆盖会使DSP算法程序从DMA0中断级开始执行，这是所不希望的。为了解决这一问题，通过以下算法来实现。</p>
<p style="TEXT-INDENT: 30px">(1)DSP算法代码的第一个4字被存储在xRll：8中。</p>
<p style="TEXT-INDENT: 30px">(2)将以下代码写入Ox00000000一Ox00000003 RETI=0；；NOP；；RTI(NP)；；QD31+=0]=xRl 1：8；；</p>
<p style="TEXT-INDENT: 30px">(3)DMA中断矢量设置为地址0。</p>
<p style="TEXT-INDENT: 30px">(4)设置地址缓冲区无效(BTBINV)以清除缓冲区内的任何分支地址。</p>
<p style="TEXT-INDENT: 30px">(5)把256个用户代码放到0x00000004-0x000000FF。</p>
<p style="TEXT-INDENT: 30px">(6)对TCB编程，启动DMlA，处理器进入IDLE状态。</p>
<p style="TEXT-INDENT: 30px">(7)DMA完成后，响应DMA中断，程序控制器跳到地址0x00000000，开始执行以下代码：RTI(NPl；；Q[j3 l+=0]=xRll：8；；。</p>
<p style="TEXT-INDENT: 30px">这些指令使中断降级，用户DSP算法程序放到0x00000000-Ox00000003，指令计数器指针指到地址0x00000000()，用户的算法程序从0x00000000开始执行，此时算法程序不处于中断级。这里的NP选项是必须的，以使：RTI指令不缓冲到：BTB中。<br /><br /></p>
<p style="TEXT-INDENT: 0px"><strong>5 结束语</strong></p>
<p style="TEXT-INDENT: 30px">ADI公司的高性能Tiger SHARK系列TS201S型DSF已在对实时处理要求高的场合得到广泛应用，如通信基站、机载雷达预警、阵列信号处理等。文中着重论述了其程序加载接口，介绍了DSF加载的几种常用模式，并给出了一种实用的接口方案。在软件方面，对DSP加载过程中的难点做了说明。文中提到的几种DSP程序加载方法也适用于其他类型的DSP，读者可将其灵活运用于实际的DSP系统设计中。</p>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1980021.html</guid>
<subject>单片机</subject>
<author>xwaixwz</author>
<category>单片机</category>
<pubDate>Mon, 14 Jul 2008 02:04:49 GMT+08:00 </pubDate>
</item>

<item>
<title>Atmel推出无缝迁移至无线网络的ZigBee解决方案</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1976233.html</link>
<description>
<![CDATA[　　Atmel Corporation近日宣布，面向汽车、工业控制应用中的30000多种基于AVR的设计，该公司推出提供无缝迁移至无线网络的802.15.4/ZigBee解决方案。AVR Z-Link解决方案包括Atmel的超低功率、高灵敏性2.4GHz AT86RF230 802.15.4无线电设备、超低功率ATmega1281或ATmega <a href="http://www.qooic.com/detail-2561.html" target="_blank">2561</a> AVR微控制器、以及为AVR架构优化的小型完全相容的媒体访问控制(MAC)软体。在可比运作条件下，与现今市场上任何其他802.15.4解决方案相比，该晶片组合消耗较少的功率、拥有更高的链路预算以及更广的运作范围。Atmel的专业第三方厂商网络提供网络和应用层软体。这些厂商提供符合IEEE(R) 802.15.4标准以及ZigBee协议的优化解决方案。103dB链路预算减少系统成本Atmel的Z-Link无线电设备拥有100dB的接收灵敏度和3dB的传输功率，据称这使其成为当今市场上所有802.15.4无线电设备的最高链路预算。
<p><font face="Verdana"><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>AT86RF230的视距范围是竞争对手的2.8倍，减少了网络中所需的节点总数量并降低802.15.4系统成本多达60%。无线电设备的103dB链路预算是在没有外部功率放大器的情况下实现的，这减少了原料成本。该无线电设备仅需6个外部组件，这是业内最少的组件数量。最低功率无线电设备/控制器组合延长终端节点的电池寿命802.15.4/ZigBee终端节点通常是电池供电的，要求多年的电池寿命。 </font></p>
<p><font face="Verdana"><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>Atmel的Z-Link无线电设备在传输时电流消耗为17mA，在接收模式时为15mA，而在睡眠模式时为0.7uA，其操作功率为1.8V，为市面上所有802.15.4无线电设备中功率消耗最低的设备。在每分钟传输一次的现实应用中，Atmel晶片集使用两节AA 2700 mA小时电池，平均每小时消耗显着少于0.01mA，从而使得电池寿命能够延长至五年以上。Atmel终端节点的电池寿命预计会受到其他非无线电设备/MCU系统组件(如感测器或执行器)或者电池保存限期的限制。 </font></p>
<p><font face="Verdana"><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>AVR微控制器提供灵活性该解决方案受到Atmel拥有32KB到256KB闪存密度的8位元RISC微控制器AVR系列的支援。 </font></p>
<p><font face="Verdana"><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>现有AVR应用透过把原有代码(legacy code)植入到拥有更大闪存的AVR可转化到802.15.4功能，从而协调MAC和安全层。RZ502配件套件(Accessory Kit)Atmel的Z-Link无线电设备作为STK 500/501 AVR启动套件的附加装置而销售。RZ502配件套装使现有STK500用户能够轻松地升级到无线连接选择。 </font></p>
<p><font face="Verdana"><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>RZ200演示套件(Demonstration Kit)演示套件包含五个无线电控制器板、Atmel的Z-Link 2.4GHz 802.15.4无线电设备和ATmega1281微控制器、以及AVR ISP编程硬体钥匙(dongle)、所有必须的电缆、电池和天线，从而使用户得以建造一个用于应用评估的简单五节点网络。 </font></p>
<p><font face="Verdana"><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>定价销售和封装Atmel的AT86RF230 Z-Link无线电设备现以5x5mm QFN封装销售。ATmega1281和ATmega <a href="http://www.qooic.com/detail-2561.html" target="_blank">2561</a>微控制器现以9x9mm QFN封装销售。Atmel的AVR 802.15.4晶片集目前以以下捆绑方式销售，10000片以上的单价为：ATmega64RZA捆绑ATmega644和AT86RF230：4.93美元；ATmega128RZA捆绑 ATmega1281和AT86RF230：6.78美元；ATmega256RZA捆绑ATmega<a href="http://www.qooic.com/detail-2561.html" target="_blank">2561</a>和AT86RF230：7.63美元；RZ502 AVR Z-Link配件套件定价为99.00美元；RZ200 AVR Z-Link演示套件定价位元499.00美元。所有套件均包含一个功能齐全的免费802.15.4媒体访问控制软体栈。 </font></p>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1976233.html</guid>
<subject>通信</subject>
<author>xwaixwz</author>
<category>通信</category>
<pubDate>Sat, 12 Jul 2008 06:41:49 GMT+08:00 </pubDate>
</item>

<item>
<title>单相正弦脉宽调制逆变器的设计</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1976165.html</link>
<description>
<![CDATA[<p><strong>摘要：</strong>论述了单相正弦波逆变器的工作原理，介绍了<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>的功能及产生SPWM波的方法，对逆变器的控制及保护电路作了详细的介绍，给出了输出电压波形的实验结果。 </p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><strong>关键词：</strong>逆变器；正弦波脉宽调制；场效应管</span></p>
<p style="TEXT-INDENT: 0px"><strong>引言</strong></p>
<p style="TEXT-INDENT: 30px">当铁路、冶金等行业的一些大功率非线性用电设备运行时，将给电网注入大量的谐波，导致电网电压波形畸变。根据我们的实验观察，在发生严重畸变时，电压会出现正负半波不对称，频率也会发生变化。这样的供电电压波形，即使是一般的电力用户，也难以接受，更无法用其作为检修、测试的电源。同时，在这种情况下，一般的稳压电源也难以达到满意的稳压效果。为此，我们设计了该逆变电源。其控制电路采用了2片集成脉宽调制电路芯片<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>，一片用来产生PWM波，另一片与正弦函数发生芯片<a target="_blank" href="http://www.qooic.com/detail-ICL8038.html">ICL8038</a>做适当的连接来产生SPWM波。集成芯片比分立元器件控制电路具有更简单、更可靠的特点和易于调试的优点。<br /><br /><strong>图1 系统主电路和控制电路框图</strong><br /><br /><strong>1 系统结构及框图</strong></p>
<p style="TEXT-INDENT: 30px">图1示出了系统主电路和控制电路框图。交流输入电压经过共模抑制环节后，再经工频变压器降压，然后整流得到一个直流电压，此电压经过Boost电路进行升压，在直流环上得到一个符合要求的直流电压350V（50Hz/220V交流输出时）。DC/AC变换采用全桥变换电路。为保证系统可靠运行,防止主电路对控制电路的干扰，采用主、控电路完全隔离的方法，即驱动信号用光耦隔离，反馈信号用变压器隔离，辅助电源用变压器隔离。过流保护电路采用电流互感器作为电流检测元件，其具有足够快的响应速度，能够在MOS管允许的过流时间内将其关断。<br /><strong></strong><br /><strong>2 控制及保护电路</strong></p>
<p style="TEXT-INDENT: 30px">为了降低成本，使用两块集成PWM脉冲产生芯片<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>和一块函数芯片<a target="_blank" href="http://www.qooic.com/detail-ICL8038.html">ICL8038</a>，使得控制电路简洁，易于调试。</p>
<p style="TEXT-INDENT: 30px">2.1 <a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>的功能及引脚</p>
<p style="TEXT-INDENT: 30px">图2所示为<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>的结构框图和引脚图。</p>
<p style="TEXT-INDENT: 30px"><a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>工作过程是这样的：</p>
<p style="TEXT-INDENT: 30px">直流电源Vs从脚15接入后分两路，一路加到或非门；另一路送到基准电压稳压器的输入端，产生稳定的＋5V基准电压。＋5V再送到内部（或外部）电路的其他元器件作为电源。<br /><br /><font size="3"></font><span class="main1">振荡器脚7须外接电容CT，脚6须外接电阻RT。振荡器频率f由外接电阻RT和电容CT决定，f=1.18/RTCT。本设计将Boost电路的开关频率定为10kHz，取CT=0.22<font face="Arial">&mu;F</font>，RT=5k<font face="Arial">&Omega;</font>；逆变桥开关频率定为5kHz，取CT=0.22<font face="Arial">&mu;F</font>，RT=10k<font face="Arial">&Omega;</font>。振荡器的输出分为两路，一路以时钟脉冲形式送至双稳态触发器及两个或非门；另一路以锯齿波形式送至比较器的同相端，比较器的反向端接误差放大器的输出。</span><font size="3"></font><span class="main1">2.2 利用<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>生成SPWM信号</span><font size="3"></font><span class="main1">3）电阻R5和稳压管VZ2，VZ3用以保护MOS管栅极不被过高的正、反向电压所损坏；</span><font size="3"></font><span class="main1"><strong>3 逆变器的实验结果</strong></span></p>
<p style="TEXT-INDENT: 30px">误差放大器实际上是个差分放大器，脚1为其反向输入端；脚2为其同相输入端。通常，一个输入端连到脚16的基准电压的分压电阻上（应取得2.5V的电压），另一个输入端接控制反馈信号电压。本系统电路图中，在DC/DC变换部分，<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>1芯片的脚1接控制反馈信号电压，脚2接在基准电压的分压电阻上。误差放大器的输出与锯齿波电压在比较器中进行比较，从而在比较器的输出端出现一个随误差放大器输出电压高低而改变宽度的方波脉冲，再将此方波脉冲送到或非门的一个输入端。或非门的另两个输入端分别为双稳态触发器和振荡器锯齿波。双稳态触发器的两个输出端互补，交替输出高低电平，其作用是将PWM脉冲交替送至两个三极管V1及V2的基极，锯齿波的作用是加入了死区时间，保证V1及V2两个三极管不可能同时导通。最后，晶体管V1及V2分别输出脉冲宽度调制波，两者相位相差180&deg;。当V1及V2并联应用时，其输出脉冲的占空比为0％～90％；当V1及V2分开使用时，输出脉冲的占空比为0％～45％，脉冲频率为振荡器频率的1/2，在本系统电路图（图1）中，两块<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>都为并联使用。当脚10加高电平时，可实现对输出脉冲的封锁，进行过流保护。<br /><br /></p>
<p style="TEXT-INDENT: 30px">按照上述<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>的工作原理，要得到SPWM波，必须得有一个幅值在1～3.5V，按正弦规律变化的馒头波，将它加到<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>2内部，并与锯齿波比较，就可得到正弦脉宽调制波。我们设计的控制电路框图，以及实际电路各点的波形，如图3所示。正弦波电压ua由函数发生器<a target="_blank" href="http://www.qooic.com/detail-ICL8038.html">ICL8038</a>产生。<a target="_blank" href="http://www.qooic.com/detail-ICL8038.html">ICL8038</a>引脚和具体的接法如图4所示。正弦波的频率由R1，R2和C来决定，f=，为了调试方便，我们将R1及R2都用可调电阻，R2和R是用来调整正弦波失真度用的。在实验中我们测得当f=50Hz时，R1＋R2=9.7k&Omega;，其中C=0.22&mu;F。正弦波信号产生后，一路经过精密全波整流，得到馒头波uc，另一路经过比较器得到与正弦波同频率，同相位的方波ub。uc与1V基准经过加法器后得到ud，ud输入到<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>2的脚1，脚2与脚9相连，这样ud和锯齿波将在<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>2内部的比较器进行比较产生SPWM波ue。分相电路用一块二输入与门<a target="_blank" href="http://www.qooic.com/detail-74LS08.html">74LS08</a>和一块单输入非门<a target="_blank" href="http://www.qooic.com/detail-74LS05.html">74LS05</a>所组成。ub和ue加到分相电路后就可以得到驱动信号uf和ug，再将uf和ug加到MOS管驱动电路的光耦原边，就可以实现正弦脉宽调制。</p>
<p style="TEXT-INDENT: 30px">2.3 驱动电路设计</p>
<p style="TEXT-INDENT: 30px">设计的驱动电路如图5所示，它由驱动脉冲放大和5V基准两部分组成。脉冲放大包括光耦Vo1，R1和R2，中间级的VT1，推挽输出电路VT2和VT3，对高频干扰信号进行滤波的C1；5V基准部分包括R4，VZ1和C2，它既为MOS管提供－5V的偏置电压，又为输入光耦提供副边电源。其工作原理是：</p>
<p style="TEXT-INDENT: 30px">1）当光耦原边有控制电路的驱动脉冲电流流过时，光耦导通，使VT1基极电位迅速下降，VT1截止，导致VT2导通，VT3截止，电源通过VT2，栅极电阻R5，使MOS管导通；</p>
<p style="TEXT-INDENT: 30px">2）当光耦原边无控制电路的驱动脉冲电流流过时，光耦不导通，使VT1基极电位上升，VT1导通，导致VT3导通，VT2截止，MOS管栅极电荷通过VT3，栅极电阻R5迅速放电，－5V偏置电压使之可靠地关断；<br /><br /></p>
<p style="TEXT-INDENT: 30px">4）光耦Vo1采用组合光敏管型光耦<a target="_blank" href="http://www.qooic.com/detail-6N136.html">6N136</a>，具有光敏二极管响应速度快，线性特性好，电流传输大的优点，能满足实验的要求。</p>
<p style="TEXT-INDENT: 30px">2.4 过流保护电路</p>
<p style="TEXT-INDENT: 30px">过流保护是利用<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>的脚10加高电平封锁脉冲输出的功能。当脚10为高电平时，<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>的脚11及脚14上输出的脉宽调制脉冲就会立即消失而成为零。过流信号取自电流互感器（对<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>1芯片串接在工频变压器的副边，对<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>2芯片串接在滤波电路前），经整流后得到电流信号加至如图6所示过流保护电路上。过流信号加至电压比较器<a target="_blank" href="http://www.qooic.com/detail-LM339.html">LM339</a>的同相端。当过流信号使同相端电平比反相端参考电平高时，比较器将输出高电平，则二极管D2将从原来的反向偏置状态转变为正向导通，并把同相端电位提升为高电平，这一变化将使得电压比较器一直稳定输出高电平封锁脉冲，则Boost电路停止工作，在正常状态下，比较器输出零电平，不影响Boost电路工作。</p>
<p style="TEXT-INDENT: 30px">2.5 反馈调压电路<strong></strong></p>
<p style="TEXT-INDENT: 30px">反馈调压电路图如图7所示。当逆变器正常工作时，逆变器的输出信号接反馈变压器，其二次电压经整流，滤波，分压得到反馈电压uo，显然，uo的大小正比于逆变器的输出电压。调节W1可调节负反馈电压的大小，从而调节逆变器输出电压的幅值。uo控制信号被送到<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>1芯片的误差放大器的反相端脚1。误差放大器的同相端脚2接参考电平。这样，<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>的输出脉冲的占空比就受到反馈信号的控制。调节过程是这样的，当逆变器输出因突加负载而降低时，它会使加在<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>1的脚1的输入反馈电压下降，这会导致<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>1输出脉冲占空比增加，从而使得Boost电路输出电压升高，逆变桥的直流电压升高，逆变器输出交流电压升高。反之亦然。可见，正是通过<a target="_blank" href="http://www.qooic.com/detail-SG3524.html">SG3524</a>1的脉宽调制组件的控制作用，实现了整个逆变器的输出自动稳压调节功能。<strong><br /><br /></strong></p>
<p style="TEXT-INDENT: 30px">按本设计的SPWM逆变器方案试制了样机，其额定输出功率为300W，滤波器参数取L=0.7mH，C=5&mu;F，滤波效果较好，样机的输出电压如图8所示。从直观看，电压波形正弦度较好（因条件所限，尚未测试THD）。用此样机带负载运行，效果较好。实验表明，本文提出的系统方案是切实可行的，可以用在铁路、冶金等大功率非线性用电设备附近，作为对电网输入电压要求较高的一类负载（如检修、测试设备）的电源。另外，为了满足客户的要求，本电路还可以提供60Hz/110V的正弦电源。 </p>
<p>&nbsp;</p>
<div></div>
<br /><br />]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1976165.html</guid>
<subject></subject>
<author>xwaixwz</author>
<category></category>
<pubDate>Sat, 12 Jul 2008 00:58:56 GMT+08:00 </pubDate>
</item>

<item>
<title>高端路由器设计需要考虑的数据缓冲器问题</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1973671.html</link>
<description>
<![CDATA[<p><span style="COLOR: #000000">迅速增加的数据、语音和视频流量进入城域网(MAN)后，服务于这些应用的路由器必须能将多路的1 Gbps数据流汇聚成高达40 Gbps带宽的数据流.为了保持线速性能，系统必须在出口端提供等于或高于进入传输速率的信息包处理能力，或者对信息包进行备份，这时缓冲就变得至关重要。<br /><br />这些数据缓存的性能和效率对路由器和网络的性能至关重要。网络性能的主要威胁来自数据的重发。因此，城域边缘的路由器必须能够汇聚多个较低速率的接入线路，并将其转发至高速核心连接而不致欠载。路由器也必须保证从更高速的核心网到边缘网的数据分发操作不会超时。在任何情况下超过了数据缓存的最大能力，发送到 MAN 的任何额外数据都必须重传。<br /><br />因此，最大限度地降低系统延迟和确保系统最大吞吐量的关键是为具体应用选择合适的数据缓存。如果缓存过大，就会大幅度增加系统成本。如果过小，网络就会溢出缓存并重发数据，导致性能下降。<br /><br />这种考虑涉及三个主要因素：输入数据的速率(入口线路)、输出数据的速率(出口线路)及内部处理时间需求。只要来自网络的入口数据速率与回到网络的出口数据速率相等，而且具有最小的处理需求，数据缓存即可保持相对较小。因为内部处理只增加很小的延迟，流量也比较稳定，所以几乎不需要存储数据。不过，随着系统执行更高级别的处理，就必须增大缓存来消除处理功能带来的延迟。突发流量对数据缓存的设计也有显著的影响。如果入口数据速率随着时间显著变化并偶尔超过信息包处理器的能力，就必须适当地改变入口缓冲器的尺寸，以解决与这些处理功能相关的延迟问题。</span></p>
<p><span style="COLOR: #000000">可编程逻辑器件的优势<br /><br />在为这些应用构建缓冲子系统时，工程师倾向于首先考虑采用FPGA，而不是现成的分立存储器件。由于工程教育机构日益依赖于 FPGA 来教授电路设计的基础知识。因此，大部分工程师都熟悉这种技术。FPGA 有助于设计师随时对他们的设计进行重新配置，提供高度灵活性，并在短期内完成硬件的测试。此外，由于这些工具常常是人们熟悉的，可以迅速转变成最终解决方案。 <br /><br />现在，FPGA 可提供数百万的逻辑门和兆比特级的片上存储器，设计师可将多个 FIFO集成到一个芯片上(见图 1)。然而，在数据缓存需求比较高的城域边缘网领域，设计师必须仔细评估他们所有的设计选择。在某些情况下，设计师会发现可编程逻辑器件在给定性能或成本方面存在固有的局限性，而分立器件可提供更具吸引力的解决方案。</span></p>
<p><span style="COLOR: #000000">例如，许多工程师没有意识到，基于 FPGA 的解决方案的性能会随着满足应用需求的数据缓存大小的改变而变化。虽然现在的FPGA 可以更高的时钟速率运行，当设计师把越来越多的 FIFO 映射到 FPGA 时，他们面临重大的性能局限性。设计师会使用来自 FPGA 供应商的工具，自动地将多个 FIFO 映射到单个物理存储器块中，并创建在不同的FIFO之间时域复用所需的逻辑。然而，采用这种复用方法，会使每个FIFO端口的工作频率与映射到设计中的 FIFO 数量成反比。这是因为当每个 FIFO 独立运行时，整个存储带宽是共享的。当 FIFO 器件的读写操作开始时，时序电路会在快速的 TDM 时钟域中访问物理存储器。为了完成每次存储器的存取，时序器必须将信息传回到FIFO端口的时钟域。随着 FPGA 中FIFO 数量的增加，时序电路的速度和时钟域传输的数量将会严重限制 FIFO 的性能。因此，一些FPGA供应商建议设计师把器件采用的 FIFO 的数量控制在10个之内。　<br /><br />高性能城域边缘网路由器设计的存储器密度也会影响 FPGA 的性能。为了充分发挥性能，设计师很自然地优先选择内嵌的数据缓冲器。所以，许多设计师选择采用更高密度的 FPGA 来满足大型数据缓冲器的存储需求。<br /><br />然而，采用这种策略也会产生一些问题。当设计师在 FPGA 中使用大量存储器时，一些存储器将会进一步远离I/O和逻辑门。这种存储资源在芯片内的分散将导致内部写脉冲随线长而变化，并延长建立时间。在一些应用中，FPGA 中大型存储阵列的使用可降低高达40%的芯片内部速度。<br /><br />解决该问题的一种方法是选择更小和成本更低的 FPGA实现控制逻辑，并采用外部分立存储器来支持。设计师会采用外部SRAM来增强 FPGA 的存储能力。FPGA供应商可提供预定义模块，设计师可将其集成到 FPGA 中，用以进行外部存储器管理。这种方法有助于设计师使用更小和更便宜的 FPGA。<br /><br />但是，由于FPGA架构固有的 I/O 局限性，这种方法为设计带来了延时。在采用 FPGA 和外部存储器的设计中，数据通过 FPGA 中比较慢的可编程门进入缓冲器，然后子系统必须为控制器分配一个地址，并将数据转移到外部存储器。接下来，系统必须分配一个地址并把数据拖到外部存储器中。这两个操作必须通过 FPGA 中比较慢的可编程 I/O门进行。最后，数据必须从 FPGA 发送到系统中，并再次经过 FPGA 可编程门。假设在 FPGA 和外部存储器中进行大量的存取，该子系统需要 8 个时钟周期来处理每个数据字节。 </span></p>
<p><span style="COLOR: #000000">理想的选择<br /><br />在这些应用中，一种更为可行的方法是采用现成的分立 FIFO 来设计数据缓冲器(见图 2)。目前，供应商可提供密度高达 18 Mb、运行速度高达 250 MHz 的FIFO器件。这些器件的输入和输出端口可进行独立配置，同时以单倍数据速率(SDR)和双倍数据速率(DDR)运行，并可支持高达 20 Gbps的数据速率。</span></p>
<p><span style="COLOR: #000000"></span></p>
<p><span style="COLOR: #000000">如果需要更高密度的缓冲器，一些 FIFO 可以进行级联，在多芯片配置模式下实现更高的密度。不同的时钟运行模式有助于设计者在级联配置中优化缓冲器设计。在标准模式中，写入一个空 FIFO 中的第一个字被存储在内部存储器中，除非进行特定的读操作，该字不会在数据输出线上出现。第二种(首字直接通过)模式是通过将一个 FIFO 的数据输出连接到下一个 FIFO 的数据输入来支持深度扩展。这使缓冲器可自动地将进入缓冲器的第一个字以流水线方式送到第一个 FIFO 中，并利用第二个FIFO实现反压。<br /><br />分立缓冲器件制造商可以提供多达128个队列以全线速区分并对数据进行优先级排序的FIFO。这些器件可提供高达 10 Mb的存储密度，并利用高达 166 MHz 的 DDR 支持超过 10 Gbps的运行速度。这些产品配置了 x40 位数据总线，可提供13.3 Gbps的高数据吞吐量，并可支持下一代高吞吐量平台的服务质量(QoS)需求。<br /><br />比较FPGA 和其他替代解决方案，简单对比数据手册已经不能得到满意的答案。FPGA 的易于编程特性有助于模块化数据手册,每段的数据通道部分都需要进行确认、评估和添加，以确定合成电路的时序。为了实现这一点，FPGA 制造商可为 FPGA 的设计和编程提供软件。这种设计软件可鉴别设计并评估电路，提供性能时序参数。供应商丰富的经验和他们各自的软件包可提供非常精确的模型。在评估这些解决方案的过程中，工程师可使用 Xilinx ISE 和 Altera Quartus II 设计软件。他们可以使用这些软件工具对 FPGA 进行配置，以执行 FIFO 存储功能，并利用设计软件提供的合成模型来模拟实际电路。使用 Xilinx 的 LogicCore 和 Altera 的 MegaWizard 可产生 FIFO 单元。这些工具可提供优化性能的设计实现。该实验可在各种尺寸的器件和存储器配置上进行。性能测试结果基于后布局和走线时序。<br /><br />在决定采用现成的 FIFO 或可编程逻辑器件建立一个数据缓冲器子系统之前，工程师应该考虑到该决定对其设计复杂性的影响。低密度的情况下,把 FIFO 和控制逻辑集成到一个 IC中，可提供一种更为简单的电路板设计。随着缓冲器尺寸超过256K的密度，而且成本促使其采用外部SRAM来补充 FPGA，标准的 FIFO 可提供更为简单的方法。随着设计者对系统的升级转向更高的存储密度，这种方法也具有优势。例如，大多数 FIFO 都是引脚兼容的产品，密度范围在 0.5 Mb~18 Mb 之间。使设计师简单更换一个元件，即可迅速而容易地增强其系统能力。在基于 FPGA 的配置中，设计师通常需要花费时间和精力重新编译器件，或对一个新的、更高密度的 FPGA 进行设计和编程。<br /><br />异步设计中的时钟同步也是一个应该考虑的问题。在大多数路由器环境中，进入系统的传输线路与主系统时钟会在不同的时钟域中运行。设计师必须连接不同宽度的总线。路由器设计师面临的一个常见的挑战就是如何使用数据缓冲器使这些全异时钟同步，并复用16 位和 32 位或 32 位和 64 位之间的数据，以确保整个系统中数据的完整性。<br /><br />设计师使用基于FPGA的方法调整他们的逻辑以实现上述目标。然而在一般情况下，该工作需要丰富的电路设计专业知识以及模拟和测试这些电路的时间。相比之下，许多高性能 FIFO 提供的嵌入式总线匹配能力可自动解决这个问题。这些器件可提供多总线宽度和端口可选的总线宽度匹配，有助于出口线路和入口线路之间的无缝连接。这些器件也具备独立的读写时钟，可使设计者实现不同时钟域之间的频率匹配。 <br /><br />面积和成本<br /><br />在设计缓冲器时，器件成本和板卡空间也是要考虑的因素。通过分析FIFO和FPGA 中存储器相关的单位比特成本，可以看出两种技术中的存储器成本在达到256K之前保持在非常相似的水平(见图3)。然而，FIFO 中的单位比特成本是随着密度的增加而稳定下降的，但是 FPGA 中存储器成本的增速很快。密度为 1 Mb 以上的 FPGA 存储器就变得过于昂贵了。 </span></p>
<p>&nbsp;</p>
<p><span style="COLOR: #000000">这种成本差异是非常令人吃惊的。当设计师被迫在 FPGA 设计中添加更多数量的存储器时，他们必须支付额外的存储器和嵌入到更高密度器件中的额外逻辑的成本。采用分立的 FIFO则可以稳定地增加密度。<br /><br />封装面积和引脚也是需要考虑的重要内容。在低密度情况下,把缓冲器集成到单个 FPGA中可以实现更紧凑的引脚布局。然而，随着 FPGA密度和引脚数量的增加，这种折衷的效果并不明显。用大型的 8 M 门 FPGA 实现数据缓冲器需要设计师在电路板上焊接一个 </span><a href="http://www.chinaicmart.com/series-115/1152.html" target="_blank"><span style="COLOR: #000000">1152</span></a><span style="COLOR: #000000">引脚 的 BGA，另一方面，不论存储器密度如何，采用比较简单的 256 引脚 BGA封装的FIFO即可达到相同的效果。 <br /><br />结语<br /><br />随着数据速率的持续上升，数据缓冲器设计将在优化网络性能方面扮演重要的角色。通过分析所有的设计选择，并利用现成的分立器件和可编程逻辑器件的独特性能，设计师可以用尽可能低的成本构建高性能的解决方案。<br /></span></p>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1973671.html</guid>
<subject></subject>
<author>xwaixwz</author>
<category></category>
<pubDate>Fri, 11 Jul 2008 09:12:40 GMT+08:00 </pubDate>
</item>

<item>
<title>4G通信系统关键技术初探</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1973558.html</link>
<description>
<![CDATA[<div id="Content">
<p>　　随着近年来3GPP各版本标准的逐一制定完成，特别是R99版本已相对成熟，3G网络的建设呈现出一触即发的势头，而3G牌照的发放将极有可能成为我国3G建设的触发点。然而，由于3G系统本身所具有的局限性已经引起人们的注意，因此世界通信业界的专家们已将目光更远的放向了&ldquo;后3G技术&rdquo; (IMT-2OOOBeyond)，也可以称为4G甚至是5G技术。</p>
<p>　　3G的局限性主要体现在以下的几个方面：</p>
<p>　　(1)难以达到较高的通信速率。3G采用的是CDMA技术，CDMA本身是一个自扰系统，所有的移动用户都占用相同的带宽和频率，因此在系统容量有限的情况下，用户数越多，越难达到较高的通信速率，不能够满足用户对高速多媒体业务的要求；</p>
<p>　　(2)难以提供动态范围多速率业务。由于3G空中接口标准对核心网有所限制，因此3G将难以提供具有多种QoS及性能的各种速率的业务；</p>
<p>　　(3)难以实现不同频段的不同业务环境间的无缝漫游。由于采用不同频段的不同业务环境，需要移动终端配置有相应不同的软、硬件模块，而3G移动终端目前尚不能够实现多业务环境的不同配置。</p>
<p>　　基于以上3G系统的一些局限性，人 们希望能够通过&ldquo;后3G技术&rdquo;来解决它们，并在未来能够真正实现&ldquo;任何人在任何地点以任何形式接入网络&rdquo;的梦想。</p>
<p>　　本文主要对4G的相关技术进行介绍，并对3G与4G的关系，以及因4G技术的发展而可能对我国3G网络建设带来的影响阐述个人的观点。</p>
<p><strong>　　2 4G的产生及概念</strong></p>
<p>　　自移动通信诞生之日起，其主流业务一直是人与人之间的语音业务。随着Internet及多媒体技术的快速发展，用户越来越不满足仅仅通过语音进行沟通的单一通信方式，以及人与人的单一通信对象。人们希望移动通信系统能够提供更广泛的业务种类，例如因特网接入、图像传送、视频点播、数据互传、甚至实时的观看电视节目等数据或多媒体业务。同时也希望能够从目前的人与人之间的通信发展到人与机器、甚至机器与机器之间的通信。此外，对于运营商来说，则更希望下一代的通信系统能够更易于加载各类新业务及融合新技术，而无需频繁的进行系统变动。这些需求将会使得移动通信模式发生较大的变化。</p>
<p>　　移动通信系统从2G到3G的发展实现了从单纯的语音通信向数据通信的跨越，但因为前面所述的种种原因，3G对无线多媒体业务的提供能力及质量将注定不够理想，并且网络的智能化仍有待提高，再加之信息时代的迅猛发展，这一切无疑推动了业界对下一代通信系统的研发工作。<a href="http://www.qooic.com/detail-2000.html" target="_blank">2000</a>年10月6日国际电信联盟(ITU)在加拿大蒙特利尔市成立了&ldquo;IMT<a href="http://www.qooic.com/detail-2000.html" target="_blank">2000</a>andBeyond&rdquo;工作组，欧洲、日本、韩国对4G的研究也陆续展开，我国在<a href="http://www.qooic.com/detail-2002.html" target="_blank">2002</a>年3月也正式宣布启动对4G通信系统的研究工作。在<a href="http://www.qooic.com/detail-2002.html" target="_blank">2002</a>年5月ITU召开的&ldquo;IMT <a href="http://www.qooic.com/detail-2000.html" target="_blank">2000</a> and Systems Beyond&rdquo;研讨会上，mITF系统子委员会主席Watanabe先生将未来的通信系统描述为具备以下特征的系统。</p>
<p>　　(1)用户可以在任何地点、任何时间以任何方式不受限的接入网络中来；</p>
<p>　　(2)移动终端可以是任何类型的；</p>
<p>　　(3)用户可以自由的选择业务、应用和网络；</p>
<p>　　(4)可以实现非常先进的移动电子商务；</p>
<p>　　 (5)新的技术可以非常容易的被引入到系统和业务中来。</p>
<p>　　根据他的描述，未来的4G系统则至少具备以下5个基本条件：</p>
<p>　　(1)具有很高的传输速率和传输质量。未来的移动通信系统应该能够承载大量的多媒体信息，因此要具备50-100Mbit/s的最大传输速率、非对称的上下行链路速率、地区的连续覆盖、QoS机制、很低的比特开销等功能；</p>
<p>　　(2)灵活多样的业务功能。未来的移动通信网络应能使各类媒体、通信主机及网络之间进行&ldquo;无缝&rdquo;连接，使得用户能够自由的在各种网络环境间无缝漫游，并觉察不到业务质量上的变化，因此新的通信系统要具备媒体转换、网间移动管理及鉴权、Adhoc网络(自组网)、代理等功能；</p>
<p>　　(3)开放的平台。未来的移动通信系统应在移动终端、业务节点及移动网络机制上具有&ldquo;开放性&rdquo;，使得用户能够自由的选择协议、应用和网络。让应用业务提供商(ASP)及内容提供商能够提供独立于操作的业务及内容。使定位信息和计费信息能够在各个网络和各类应用之间共享。改良的安全机制能够作用于广泛的功能范围；</p>
<p>　　(4)高度智能化的网络。未来的移动通信网将是一个高度自治、自适应的网络，具有很好的重构性、可变性、自组织性等，以便于满足不同用户在不同环境下的通信需求；</p>
<p>　　 (5)高度可靠的鉴权及安全机制。未来的移动通信网将是一个基于分组数据网络，如何保证数据的安全可靠性将直接影响到整个网络的生存力，也会影响到用户对整个网络的信任程度。</p>
</div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1973558.html</guid>
<subject>通信</subject>
<author>xwaixwz</author>
<category>通信</category>
<pubDate>Fri, 11 Jul 2008 08:27:56 GMT+08:00 </pubDate>
</item>

<item>
<title>12b双通道高速A/D转换器AD9238的原理及应用</title>
<link>http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1971123.html</link>
<description>
<![CDATA[<p>AD9238是美国模拟器件公司（ADI）在<a target="_blank" href="http://www.qooic.com/detail-2002.html">2002</a>年8月推出的业界最快的12 b双通道模数转换器。AD9238与ADI公司的驱动运算放大器配合可以给医疗成像、多通道通信等高端应用提供完整的解决方案。 </p>
<p>　　AD9238分3种型号，采样率最高分别可达20 MS/s，40 MS/s和65 MS/s。他可以提供与单通道A/D转换器同样优异的动态性能，但是比使用2个单通道A/D转换器具有更好的抗串扰性能。 </p>
<p>　　AD9238三种型号的功耗分别为180 mW，330 mW和600 mW，只有同类A/D转换器的1/2。他采用64脚LQFP封装（尺寸只有9 mm&times;9 mm），非常适合在对尺寸要求严格的场合中使用。 </p>
<p>　<strong>　1 AD9238的主要特点： </strong></p>
<p>　　集成了2个12 b的单通道A/D转换器AD9235（20/40/65 MS/s）；采用单一3 V供电（2．7～3．6 V）；RSN＝70 dBc（最高采样频率时,AD9238-65,此值为典型值）;RSFD＝85 dBc（最高采样频</p>
<div id="Adimg"></div>
率时,AD9238-65,此值为典型值）；ENOB＝11.3 b（有效位数，典型值）；差分输入时有500 MHz的3 dB带宽；有片上的参考电压和SHA；1～2Vp-p 的模拟输入范围；输出数据格式为偏移二进制码或者是二进制补码;AD9238-65还带有片上时钟占空比调整电路；通道间串扰为－80 dBc＠fIN＝10 MHz。
<p><strong>2　芯片内部结构及原理说明 </strong></p>
<p>　　如图1所示，AD9238由2个基于AD9235转换器核的高性能A/D转换器组成。这2个ADC通道除了共用内部的电压参考源 VREF，其他基本是独立的。每个ADC通道都包含有1个前端采样保持放大器（SHA）和1个流水线ADC。该流水线ADC分为三级，第一级是1个4 b的闪速（Flash）ADC，第二级是8个1．5 b的闪速ADC，第三级是1个4 b的闪速ADC。每一级都提供有充分的位数重叠来纠正前一级的错误，每级的量化输出再加上数字误差校正可以保证最后得到12 b的有效位数。流水线的结构允许前一级在完成某一采样工作后进行新的采样，而后一级仍在进行先前的采样工作。 </p>
<p>　　流水线的每一级（除了最后一级）都有一个低位数的DAC和一个乘法器来驱动下一级。乘法器用闪速ADC的输出来控制开关电容DAC。DAC的输出减去输入信号再经放大后送入下一级流水线，乘法器这一级也叫做乘法DAC（MDAC）。每一级有1 b用来对前一级的错误进行数字校正。最后一级只包括一个闪速ADC。冲器。输出缓冲器单独供电，这样可以方便地对输出电压进行调节。AD9238有64个管脚，管脚分布如图2所示。 </p>
<p align="center"><img style="WIDTH: 299px; HEIGHT: 279px" height="279" alt="AD9238原理结构图" hspace="" width="299" border="0" src="http://www.icembed.com/UploadFiles/200612710355734.JPG" /></p>
<p align="center"><img style="WIDTH: 319px; HEIGHT: 303px" height="303" alt="AD9238的管脚定义" hspace="" width="319" border="0" src="http://www.icembed.com/UploadFiles/200612710356580.JPG" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>3 AD9238应用系统设计 </strong></p>
<p>　　A/D转换器的应用属于数字模拟混合电路设计，以下对AD9238应用系统设计时需要重点考虑的几个问题进行详细论述。 </p>
<p><strong>3.1 模拟输入 </strong></p>
<p>&nbsp;</p>
<p>AD9238的模拟输入端（管脚2，3，14，15）是一个差分开关电容电路（SHA），他可以接收1-2Vp-p范围的单端或者差分模拟输入信号。 </p>
<p>　　SHA电路根据时钟信号选择处于采样模式或者是保持模式。在SHA电路的每个输入端串接一个小的电阻可以减小从输出级驱动源产生的瞬时峰值电流，并接一个电容可以提供动态负载电流。这个无源网络组成了一个输入低通滤波器。　　 </p>
<p>REFT和REFB分别提供了内部正负差分电压参考。 他们定义了ADC内核的电压范围，有关的关系如下： </p>
<p align="center"><img style="WIDTH: 282px; HEIGHT: 67px" height="67" alt="REFT和REFB分别提供内部正负差分电压参考" hspace="" width="282" border="0" src="http://www.icembed.com/UploadFiles/200612710356621.gif" /> </p>
<p>　　内部电压参考（VREF）的范围是0．5～1．0 V，按照上述关系，外部电压输入范围为1．0～2．0 V。当AD9238工作在最大的输入范围时(2Vp-p模式时），可以获得最大的RSN（信噪比）性能，当工作在1Vp-p模式时，RSN会下降3 dB。 </p>
<p>　　如前所述，AD9238可以采用单端或者差分模拟输入。当工作在差分输入模式时，会有比较好的性能。这时建议采用AD公司的差分运放AD8138作为ADC的驱动芯片。当AD9238工作在单端输入模式时，ADC的性能会有所下降（如SFDR和S</p>
<div id="main" style="MARGIN-LEFT: auto; MARGIN-RIGHT: auto">
<div id="main">
<div id="main_content">
<div id="main_list">
<div id="main_list_content">
<div id="detail">
<div id="Content">NR指标），但是比较适合低成本的应用，这时还是可以保证比较好的性能。
<p><strong>3．2时钟信号 </strong></p>
<p>&nbsp;</p>
<p>　　高速的ADC对时钟的占空比很敏感，一般来说需要有50％（&plusmn;5％）的占空比。AD9238给每个通道单独提供时钟（管脚CLK＿A和CLK＿B），当2个通道的采样时钟同频同相时会有比较好的性能，当2个通道不同步时性能会有所下降。 </p>
<p>AD9238-65内部有2个时钟占空比调节器，可以将占空比调整到50％（当使能DCS管脚时）。另外两种型号没有这种功能。 </p>
<p>　　时钟信号的电源驱动应该和输出数字信号驱动分开，以避免混入数字噪声。时钟信号的孔径抖动对ADC的性能影响较大，所以最好采用抖动比较小的晶振作为时钟源。 </p>
<p>　　AD9238三种信号的最高时钟频率分别为20 MS/s，40 MS/s和65 MS/s，最低的时钟频率都为1 MS/s，当时钟频率低于1 MS/s时动态性能会下降。 </p>
<p><strong>3．3电源与接 </strong>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>　　AD9238供电电压范围为2．7～3．6 V，分为模拟电源（AVDD，共4个管脚）和数字电源（DRVDD，共3个管脚）。每个通道可以独立地工作在休眠模式（通过使能PWDN＿A或者PWDN＿B）。在这种模式下器件功耗很低。 </p>
<p>　　AD9238的数字输出驱动可以根据DRVDD的值设置成2．5 V或者3．3 V输出。这样可以适应不同系列的器件。 </p>
<p>　　AD9238具有2种接地管脚：AGND（第1，4，13，16管脚）和DRGND（第28，40，53管脚）。模拟地（AGND）用作模拟信号的参考地，整个系统的模拟地应该尽量靠近这些管脚。数字地（DRGND）用做芯片数字部分对地电流的回路。在模拟电源和模拟地之间应该用4组旁路电路隔离开（每组有2个0．001&mu;F和0．1&mu;F的电容），在数字电源和数字地之间用3组旁路电路隔离开（每组有22个0．001&mu;F和0．1&mu;F的电容）。 </p>
<p><strong>3．4工作时序 </strong></p>
<p>&nbsp;</p>
<p>　　AD9238的数据输出会有7个时钟周期的流水线延迟，如图3所示。开始采样后前7个数据是无用的，应该在后端数字信号处理时舍弃掉。 </p>
<p align="center"><img style="WIDTH: 382px; HEIGHT: 123px" height="123" alt="AD9238时序图" hspace="" width="382" border="0" src="http://www.icembed.com/UploadFiles/200612710357360.JPG" /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>　　AD9238两个通道的12 b数字信号输出（D0＿A－D11＿A和D0＿B－D11＿B）是独立的。一般情况下，他们各自独立的输出转换结果。当把AD9238两个通道的时钟输入 CLK＿A，CLK＿B和管脚MUX＿SELECT连接在一起时，系统处于单通道输出工作状态。此时当时钟上升沿到来时，转换数据分别送给各自对应的通道；当时钟下降沿到来时，转换数据分别送给相反的通道。这样在一个时钟周期内，数据结果可以从一个通道输出，另外一个不用的输出通道可以通过管脚 OEB＿A（或OEB＿B）关闭掉。可以看到，这时数据率是采样率的2倍。 </p>
<p><strong>3．5　数字输出数据格式 </strong></p>
<p>&nbsp;</p>
<p>AD8138输出数据为TTL/CMOS兼容电平（可以设置成2.5V或者3.3V），通过设置DFS可以使AD8138输出数据格式为偏移二进制码（DFS接AGND）或者是二进制补码（DFS接AVDD）。 </p>
<p>　　另外，管脚OTR＿A和OTR＿B为溢出标志位，当某个通道的输入模拟信号幅度超出范围，对应通道的溢出标志位会输出高电平。 </p>
<p><strong>3．6　电压参考 </strong></p>
<p>&nbsp;</p>
<p>　　AD8238内部有一个稳定精确的0．5 V电压参考。调整AD9238的参考电压可以改变输入信号范围，调整的方法有2种：内部参考和外部参考。输入范围根据参考电压的改变做线性变化。当把 SENSE（第9脚）接地时，VREF 被设置成1 V，此时器件采用内部参考，输入信号范围为2Vp-p。有关管脚的接法如图4所示。 </p>
<p align="center"><img style="WIDTH: 332px; HEIGHT: 275px" height="275" alt="AD8238内部电压参考配置" hspace="" width="332" border="0" src="http://www.icembed.com/UploadFiles/200612710357371.JPG" /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>　　当把SENSE（第9脚）直接与VREF管脚连接时，输入信号范围为1Vp-p当在SENSE管脚、VREF管脚和模拟地三者之间串接2个电阻R1和R2时，输入信号范围为可改变的，即VREF＝0．5&times;（1＋R2/R1）。上述两种情况都属于内部电压参考。 </p>
<p>　　当把SENSE管脚接到AVDD时，内部参考无效，采用外部电压参考。这种情况使用不多，不再做详细介绍。 </p>
<p>　　在设置电压参考时，主要是改变SENSE管脚的接法，REFT和REFB管脚的接法如图4所示。值得注意的是，AD8238对每个通道都提供了电压参考，如果采用共享电压参考模式可以取得较好的性能。此时需要把 SHARED＿REF管脚（第62脚）接高电平，2个通道的REFT和REFB管脚互相连接（即REFT＿A接REFT＿B，REFB＿A接 REFB＿B），他们各自的去耦和隔离电容接法仍同图4所示。 </p>
<p align="center"><img style="WIDTH: 366px; HEIGHT: 188px" height="188" alt="基于AD9238的数据采集电路" hspace="" width="366" border="0" src="http://www.icembed.com/UploadFiles/200612710357797.JPG" /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>4　AD9238设计实例 </strong></p>
<p>　　AD9238在通信接收机的射频采样中有很好的应用，现介绍一个在通信I/Q两路数据采集中的具体设计实例。 </p>
<p>　　如图5所示，该数据采集电路由时钟电路、运放驱动电路、A/D转换电路、FPGA电路组成。FPGA主要完成和DSP芯片之间数据的缓冲、转换及传递，利用握手信号实现异步通信。该电路工作在2Vp-p差分工作模式，采用内部电压参考，最高采样频率可达40 MS/s。下面主要对运放驱动电路和A/D转换电路做详细的介绍。 </p>
<p><strong>4．1　运放驱动电路 </strong></p>
<p>&nbsp;</p>
<p>　　AD9238两个通</p>
<div id="Adimg"></div>
<p>道分别采用一个AD8138做为运放驱动芯片。I/Q两路中频模拟信号分别经过2个AD8138变为差分信号送给A/D转换器（第2，3，14，15管脚）。图6给出了其中一路的具体电路图，另一路与此基本相同。 </p>
<p><strong>4．2　A/D转换电路 </strong></p>
<p>&nbsp;</p>
<p>　　该部分电路是整个数据采集电路的核心，下面仅就原理图设计的有关重要管脚进行说明，PCB设计不做详细讨论。 </p>
<p><strong>4．2．1　输入信号 </strong></p>
<p>　　包括模拟输入（管脚2，3，14，15）和时钟输入（管脚18，63），其中时钟输入由外部供给可调的时钟，经过反 相器后送给A/D转换器。 </p>
<p>　　另外还有2个通道的输出使能（管脚22，59），由FPGA提供，低电平有效，可以根据通信系统需要控制A/D转换器实时的开始或者停止采样。 </p>
<p align="center"><img style="WIDTH: 398px; HEIGHT: 266px" height="266" alt="AD9238的运放驱动电路" hspace="" width="398" border="0" src="http://www.icembed.com/UploadFiles/200612710357112.JPG" /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>4．2．2　电压参考 </strong></p>
<p>　　包括的主要管脚是第6，7，8，9，10，11，62个管脚，在3．6中已经对这些管脚的接法做了详细的讨论。该数据采集电路板采用2 VP－P差分工作模式，使用内部电压参考，两通道工作在共享电压参考模式。 </p>
<p><strong>4．2．3　电源和地 </strong></p>
<p>　　AD9238有4组模拟电源和模拟地管脚（第5，12，17，64为AVDD，第1，4，13，16为AGND）、3组数字电源和数字地管脚（第29，49，52为DRVDD，第28，40，53为DRGND），他们的具体接法见3．3说明。值得注意的是，在进行PCB设计时，电路的模拟部分（模拟电源、模拟地等）和数字部分（数字电源、数字地等）应该分开布局，然后把模拟地和数字地单点连接。 </p>
<p><strong>4．2．4　输出信号 </strong></p>
<p>　　转换后得到12位I/Q两路的数字信号（D0＿A－D11＿A和D0＿B－D11＿B）分为2个通道输出给FPGA。溢出标志（OTR＿A和OTR＿B）为高电平有效，可外接一发光二级管做为电路溢出指示灯。 </p>
<p><strong>4．3　电路测试方法 </strong></p>
<p>&nbsp;</p>
<p>　　在电路板设计制作完成后要对其进行测试，图7为该数据采集板的测试连接图。 </p>
<p>　　采用任意波形发生器产生时钟信号和模拟信号（2个通道共用）提供给试验板，这样可以方便地对不同频率和幅度的信号进行调试；稳压电源分别给电路板提供模拟电源和数字电源；逻辑分析仪在读时钟驱动下读取采集到的两路12 b数字信号，导出后可在电脑上进行分析计算。 </p>
<p><strong>4．4　测试结果 </strong></p>
<p>&nbsp;</p>
<p>　　衡量A/D转换器最重要的指标是有效位数和采样频率。 </p>
<p>　　测试有效位数的方法是：由逻辑分析仪采集到每个通道的8192点12 b二进制补码数据，导入计算机中；运用Matlab软件分析其频谱，计算出信噪比和信纳比。然后根据信纳比（SINAD）计算出有效位数，有效位数： </p>
<p>　　SNOB＝（SINAD－1．74）dB/6．02。　　 </p>
<p>　　其中：SINAD＝信号功率/其他频谱成分功率和（包括谐波，不包括直流）。 </p>
<p>　　根据上述方法，对基于AD9238-40 的数据采集电路板进行了测试，在采样频率为40 MS/s和10 MS/s时仅就单个通道进行了测试，得出的结果如图8所示。 </p>
<p>　　从图8的2个频谱图可以看到，在上述两种采样频率下,AD9238-40的信噪比可以达到70 dB以上，有效位数可以达到11 b以上，达到了设计要求。 </p>
<p align="center"><img style="WIDTH: 351px; HEIGHT: 146px" height="146" alt="AD9238电路测试连接图" hspace="" width="351" border="0" src="http://www.icembed.com/UploadFiles/200612710358784.JPG" /> </p>
<p align="center"><img style="WIDTH: 277px; HEIGHT: 231px" height="231" alt="40M时钟采样10M正旋波" hspace="" width="277" border="0" src="http://www.icembed.com/UploadFiles/200612710358833.JPG" /> </p>
<p align="center"><img style="WIDTH: 277px; HEIGHT: 228px" height="228" alt="10M时钟采样2.5M正旋波" hspace="" width="277" border="0" src="http://www.icembed.com/UploadFiles/200612710358738.JPG" /> </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center">图8　两种采样频率下的2个频谱图 </p>
<p>　　限于篇幅，仅给出了单个通道的测试结果，有关双通道之间幅相一致性测试、串扰测试等对系统整体影响不大，所以不做详细讨论。 </p>
<p>　<strong> 5 结语　　</strong> </p>
<p>本文对双通道高速A／D转换器AD9238的原理和应用做了介绍。可以看到，在双通道或多通道数据采集电路应用中，AD9238是非常有用的。相对于采用单通道A／D转换器的电路来说，AD9238具有功耗低、尺寸小、双通道幅相一致性好等独特的优点，而且AD9238还具有同样优异的SNR和SFDR性能。 </p>
</p>
<div id="Adimg"></div>
地 </div>
</div>
</div>
</div>
</div>
</div>
</div>]]>
</description>
<guid isPermaLink="false">http://www.bokee.net/blogmodule/weblogcomment_viewEntry/1971123.html</guid>
<subject></subject>
<author>xwaixwz</author>
<category></category>
<pubDate>Thu, 10 Jul 2008 09:43:06 GMT+08:00 </pubDate>
</item>

</channel>
</rss>