EDN首页   博客首页

最新日志

发表于:2009/5/12 22:22:41
标签:C语言  条件编译详  

0

C语言 条件编译详解

预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。
在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行响应的转换。预处理过程还会删除程序中的注释和多余的空白字符。
预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令:

        指令             用途
         #           空指令,无任何效果
         #include    包含一个源代码文件
         #define     定义宏
         #undef      取消已定义的宏
         #if         如果给定条件为真,则编译下面代码
         #ifdef      如果宏已经定义,则编译下面代码
         #ifndef     如果宏没有定义,则编译下面代码
         #elif       如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
         #endif      结束一个#if……#else条件编译块
         #error      停止编译并显示错误信息

一、文件包含
    #include预处理指令的作用是在指令处展开被包含的文件。包含可以是多重的,也就是说一个被包含的文件中还可以包含其他文件。标准C编译器至少支持八重嵌套包含。
    预处理过程不检查在转换单元中是否已经包含了某个文件并阻止对它的多次包含。这样就可以在多次包含同一个头文件时,通过给定编译时的条件来达到不同的效果。例如:

        #define AAA
        #include "t.c"
        #undef AAA
        #include "t.c"

    为了避免那些只能包含一次的头文件被多次包含,可以在头文件中用编译时条件来进行控制。例如:
        /*my.h*/
        #ifndef MY_H
        #define MY_H
          ……
        #endif

    在程序中包含头文件有两种格式:
        #include <my.h>
        #include "my.h"
     第一种方法是用尖括号把头文件括起来。这种格式告诉预处理程序在编译器自带的或外部库的头文件中搜索被包含的头文件。第二种方法是用双引号把头文件括起来。这种格式告诉预处理程序在当前被编译的应用程序的源代码文件中搜索被包含的头文件,如果找不到,再搜索编译器自带的头文件。
    采用两种不同包含格式的理由在于,编译器是安装在公共子目录下的,而被编译的应用程序是在它们自己的私有子目录下的。一个应用程序既包含编译器提供的公共头文件,也包含自定义的私有头文件。采用两种不同的包含格式使得编译器能够在很多头文件中区别出一组公共的头文件。

二、宏
    宏定义了一个代表特定内容的标识符。预处理过程会把源代码中出现的宏标识符替换成宏定义时的值。宏最常见的用法是定义代表某个值的全局符号。宏的第二种用法是定义带参数的宏,这样的宏可以象函数一样被调用,但它是在调用语句处展开宏,并用调用时的实际参数来代替定义中的形式参数。
    1.#define指令
        #define预处理指令是用来定义宏的。该指令最简单的格式是:首先神明一个标识符,然后给出这个标识符代表的代码。在后面的源代码中,就用这些代码来替代该标识符。这种宏把程序中要用到的一些全局值提取出来,赋给一些记忆标识符。
            #define MAX_NUM 10
            int array[MAX_NUM];
            for(i=0;i<MAX_NUM;i++)  /*……*/
        
         在这个例子中,对于阅读该程序的人来说,符号MAX_NUM就有特定的含义,它代表的值给出了数组所能容纳的最大元素数目。程序中可以多次使用这个值。作为一种约定,习惯上总是全部用大写字母来定义宏,这样易于把程序红的宏标识符和一般变量标识符区别开来。如果想要改变数组的大小,只需要更改宏定义并重新编译程序即可。
        宏表示的值可以是一个常量表达式,其中允许包括前面已经定义的宏标识符。例如:
            #define ONE 1
            #define TWO 2
            #define THREE (ONE+TWO)
        注意上面的宏定义使用了括号。尽管它们并不是必须的。但出于谨慎考虑,还是应该加上括号的。例如:
            six=THREE*TWO;
        预处理过程把上面的一行代码转换成:
            six=(ONE+TWO)*TWO;
        如果没有那个括号,就转换成six=ONE+TWO*TWO;了。
        宏还可以代表一个字符串常量,例如:
            #define VERSION "Version 1.0 Copyright(c) 2003"
    2.带参数的#define指令
        带参数的宏和函数调用看起来有些相似。看一个例子:
            #define Cube(x) (x)*(x)*(x)
        可以时任何数字表达式甚至函数调用来代替参数x。这里再次提醒大家注意括号的使用。宏展开后完全包含在一对括号中,而且参数也包含在括号中,这样就保证了宏和参数的完整性。看一个用法:
            int num=8+2;
            volume=Cube(num);
        展开后为(8+2)*(8+2)*(8+2);
        如果没有那些括号就变为8+2*8+2*8+2了。
        下面的用法是不安全的:
            volume=Cube(num++);
        如果Cube是一个函数,上面的写法是可以理解的。但是,因为Cube是一个宏,所以会产生副作用。这里的擦书不是简单的表达式,它们将产生意想不到的结果。它们展开后是这样的:
            volume=(num++)*(num++)*(num++);
        很显然,结果是10*11*12,而不是10*10*10;
        那么怎样安全的使用Cube宏呢?必须把可能产生副作用的操作移到宏调用的外面进行:
            int num=8+2;
            volume=Cube(num);
            num++;
    3.#运算符
        出现在宏定义中的#运算符把跟在其后的参数转换成一个字符串。有时把这种用法的#称为字符串化运算符。例如:

            #define PASTE(n) "adhfkj"#n

            main()
            {
               printf("%s\n",PASTE(15));
            }
        宏定义中的#运算符告诉预处理程序,把源代码中任何传递给该宏的参数转换成一个字符串。所以输出应该是adhfkj15。
    4.##运算符
        ##运算符用于把参数连接到一起。预处理程序把出现在##两侧的参数合并成一个符号。看下面的例子:

            #define NUM(a,b,c) a##b##c
            #define STR(a,b,c) a##b##c

            main()
            {
                printf("%d\n",NUM(1,2,3));
                printf("%s\n",STR("aa","bb","cc"));
            }

        最后程序的输出为:
                 123
                 aabbcc
        千万别担心,除非需要或者宏的用法恰好和手头的工作相关,否则很少有程序员会知道##运算符。绝大多数程序员从来没用过它。

三、条件编译指令
    条件编译指令将决定那些代码被编译,而哪些是不被编译的。可以根据表达式的值或者某个特定的宏是否被定义来确定编译条件。
    1.#if指令
        #if指令检测跟在制造另关键字后的常量表达式。如果表达式为真,则编译后面的代码,知道出现#else、#elif或#endif为止;否则就不编译。
    2.#endif指令
        #endif用于终止#if预处理指令。

            #define DEBUG 0
            main()
            {
                #if DEBUG
                    printf("Debugging\n");
                #endif
                    printf("Running\n");
            }

        由于程序定义DEBUG宏代表0,所以#if条件为假,不编译后面的代码直到#endif,所以程序直接输出Running。
        如果去掉#define语句,效果是一样的。
    3.#ifdef和#ifndef
        #define DEBUG

        main()
        {
            #ifdef DEBUG
                printf("yes\n");
            #endif
            #ifndef DEBUG
                printf("no\n");
            #endif
        }
        #if defined等价于#ifdef; #if !defined等价于#ifndef
    4.#else指令
        #else指令用于某个#if指令之后,当前面的#if指令的条件不为真时,就编译#else后面的代码。#endif指令将中指上面的条件块。

        #define DEBUG

        main()
        {
            #ifdef DEBUG
                printf("Debugging\n");
            #else
                printf("Not debugging\n");
            #endif
                printf("Running\n");
       }

    5.#elif指令
        #elif预处理指令综合了#else和#if指令的作用。

        #define TWO

        main()
        {
            #ifdef ONE
                printf("1\n");
            #elif defined TWO
                printf("2\n");
            #else
                printf("3\n");
            #endif
        }
        程序很好理解,最后输出结果是2。

    6.其他一些标准指令
        #error指令将使编译器显示一条错误信息,然后停止编译。
        #line指令可以改变编译器用来指出警告和错误信息的文件号和行号。
        #pragma指令没有正式的定义。编译器可以自定义其用途。典型的用法是禁止或允许某些烦人的警告信息。

系统分类: 嵌入式   |    用户分类:    |    来源: 转贴

该用户于2009/5/12 22:23:06编辑过该文章

评论(0) | 阅读(173)
发表于:2009/4/22 16:31:10
标签:volatile关键字  

0

c语言中volatile关键字

volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改。

用volatile关键字声明的变量i每一次被访问时,执行部件都会从i相应的内存单元中取出i的值。

没有用volatile关键字声明的变量i在被访问的时候可能直接从cpu的寄存器中取值(因为之前i被访问过,也就是说之前就从内存中取出i的值保存到某个寄存器中),之所以直接从寄存器中取值,而不去内存中取值,是因为编译器优化代码的结果(访问cpu寄存器比访问ram快的多)。

以上两种情况的区别在于被编译成汇编代码之后,两者是不一样的。之所以这样做是因为变量i可能会经常变化,保证对特殊地址的稳定访问。

=====以下为转载======

volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改

,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的

代码就不再进行优化,从而可以提供对特殊地址的稳定访问。

使用该关键字的例子如下:
int volatile nVint;
  当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即

使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存。

例如:
volatile int i="10";
int a = i;
...
//其他代码,并未明确告诉编译器,对i进行过操作

int b = i;
  volatile 指出 i是随时可能发生变化的,每次使用它的时候必须从i的地址中读取,因而编

译器生成的汇编代码会重新从i的地址读取数据放在b中。而优化做法是,由于编译器发现两次从

i读数据的代码之间的代码没有对i进行过操作,它会自动把上次读的数据放在b中。而不是重新

从i里面读。这样以来,如果i是一个寄存器变量或者表示一个端口数据就容易出错,所以说vola

tile可以保证对特殊地址的稳定访问。
  注意,在vc6中,一般调试模式没有进行代码优化,所以这个关键字的作用看不出来。下面

通过插入汇编代码,测试有无volatile关键字,对程序最终代码的影响:
  首先,用classwizard建一个win32 console工程,插入一个voltest.cpp文件,输入下面的

代码:
 
#i nclude <stdio.h>
void main()
{
 int i="10";
 int a = i;
 
 printf("i= %d\n",a);
 //下面汇编语句的作用就是改变内存中i的值,但是又不让编译器知道
 __asm {
  mov dword ptr [ebp-4], 20h
 }
 
 int b = i;
 printf("i= %d\n",b);
}     
然后,在调试版本模式运行程序,输出结果如下:
i = 10
i = 32
然后,在release版本模式运行程序,输出结果如下:
i = 10
i = 10
输出的结果明显表明,release模式下,编译器对代码进行了优化,第二次没有输出正确的i值。

下面,我们把 i的声明加上volatile关键字,看看有什么变化:
#i nclude <stdio.h>
void main()
{
 volatile int i="10";
 int a = i;
 
 printf("i= %d\n",a);
 __asm {
  mov dword ptr [ebp-4], 20h
 }
 
 int b = i;
 printf("i= %d\n",b);
}     
分别在调试版本和release版本运行程序,输出都是:
i = 10
i = 32
这说明这个关键字发挥了它的作用!

原文地址 http://blog.chinaunix.net/u/21277/showart_238959.html

 

系统分类: 嵌入式   |    用户分类:    |    来源: 原创

该用户于2009/4/22 16:31:51编辑过该文章

评论(0) | 阅读(204)
发表于:2009/4/10 18:08:23
标签:逆相序,  差动保护  

0

什么是差动保护?

差动保护是输入的两端CT电流矢量差,当达到设定的动作值时启动动作元件。保护范围在输入的两端CT之间的设备(可以是线路,发电机,电动机,变压器等电气设备)

逆相序上面两位已经解释了,有功反向是逆功率而不是逆相序,一般用在发电机保护中。

电流差动保护是继电保护中的一种保护,forclear 说的差动保护和逆相序都是对的。正相序是A超前B,B超前C各是120度。反相序(即是逆相序)是 A 超前C,C超前B各是120度。有功方向变反只是电压和电流的之间的角加上180度,就是反相功率,而不是逆相序。

差动保护是根据“电路中流入节点电流的总和等于零”原理制成的。

差动保护把被保护的电气设备看成是一个接点,那么正常时流进被保护设备的电流和流出的电流相等,差动电流等于零。当设备出现故障时,流进被保护设备的电流和流出的电流不相等,差动电流大于零。当差动电流大于差动保护装置的整定值时,保护动作,将被保护设备的各侧断路器跳开,使故障设备断开电源。

差动保护原理

差动保护是利用基尔霍夫电流定理工作的,当变压器正常工作或区外故障时,将其看作理想变压器,则流入变压器的电流和流出电流(折算后的电流)相等,差动继电器不动作。当变压器内部故障时,两侧(或三侧)向故障点提供短路电流,差动保护感受到的二次电流和的正比于故障点电流,差动继电器动作。

差动保护原理简单、使用电气量单纯、保护范围明确、动作不需延时,一直用于变压器做主保护。另外差动保护还有线路差动保护、母线差动保护等等。

变压器差动保护是防止变压器内部故障的主保护。其接线方式,按回路电流法原理,把变压器两侧电流互感器二次线圈接成环流,变压器正常运行或外部故障,如果忽略不平衡电流,在两个互感器的二次回路臂上没有差电流流入继电器,即:iJ=ibp=iI-iII=0。

如果内部故障,如图ZD点短路,流入继电器的电流等于短路点的总电流。即:iJ=ibp=iI2+iII2。当流入继电器的电流大于动作电流,保护动作断路器跳闸。

http://www.shenmeshi.com/Science/Science_20081113233436.html

系统分类: 模拟技术   |    用户分类:    |    来源: 转贴

该用户于2009/4/10 18:09:08编辑过该文章

评论(0) | 阅读(289)
发表于:2009/3/14 13:09:09
标签:无标签

1

labview安装的技巧

labview安装的技巧
2007-09-14 01:13


下载: Labview8.0
      Labview破解补丁

首先下载labview8.2注册机,现在网上很多,随便提供个链接http://www.cpubbs.com/blog/batch.download.php?aid=75经测试可下

1:载入虚拟镜像后开始安装NI LabWindows CVI 8.2完整专业版

2:用注册机算出注册码(点Generate),再算出一授权文件.lic(点Create License File...),这个地方一共有生成七个lic文件,上面的注册机里一共有七个选项,每一个都要生成,每一个都要保存好,最好存在labview目录下!
3:安装完成后重启系统
4:运行license manager-即NI许可证管理器(位置在:开始->程序->national instruments->NI license manager)。 打开license manager后,在:选项->安装许可证文件->找到你用注册机生成的.lic文件位置即可。这七个都要安装,安装完之后就可以运行软件了!

祝你成功!


另外,也可以使用破解补丁:
LabView 8.2中文20周年版+破解[我自己在用~]


8.2地址:ftp://ftp.ni.com/evaluation/labview/pc/labview_82_chs.exe

破解补丁:http://blog.ewyu.com/dinga/attachments/month_0610/62006101818533.rar

破解说明:
1.用keygen.exe中生成的serial number进行安装,或用 M21X32022;
2.安装完毕运行keygen.exe,点击最下面的Creat license file…生成一个**.lic文件(最好放在LabVIEW的安装目录下)
3.点击开始菜单——National Instruments——NI License Manager——选项》》安装许可证文件,选择刚刚生成的**.lic文件即可。
4.激活完毕

参考破解说明:
因为一直使用NI公司的使用版软件,所以总是有30天的使用限制,这给使用带来很大的不便,因此寻求破解方法是必须的。以前总是在网上寻找破解的Crack,但是也不是所有的都有人破解,于是在寻找之时我想能否从修改系统时间的角度进行“曲线救国”,结果发现可行。
破解的具体方法如下:
安装Labview系列软件的时候,首先将系统时间往后修改几年,例如现在是2007年,你就将系统时间往后改为2010年;
正常安装软件,按照提示重启电脑;
启动Labview软件,初始化程序,关闭程序;
将系统时间修改为当前的真实时间,即2007年;
破解成功,启动程序,你将发现你的使用时间有1000多天了

LabVIEW 8.5破解程序来了
   呵呵~大家小声一点啊,不要让NI的人知道了。LabVIEW 8.5的破解文件来了。LabVIEW 8.5的的新功能、新特性相信各位LabVIEWer早以看过了,了解过了。只可惜因为一直都没有找到破解程序,所以我也没有安装8.5。Ok,其它的就不多说了~

不过破解的时候注意一点:
因为LabVIEW 8.2的那个破解器可以更改破解文件(安装许可证文件)存放路径,而现在8.5这个是不能更改的。所以请各位LabVIEWer破解时注意,按破解器默认设置将生成文件放在默认的“我的文档”下,就可以实现破解了。Good luck to everybody~

点击下载此文件

http://blog.ewyu.com/dinga/attachments/All_Files/k20078279370.rar

LabVIEW 8.2.1中文版下载地址~

ftp://ftp.ni.com/labview_821_chs.exe

LabVIEW 8.5中文版下载地址~

ftp://ftp.ni.com/labview_85_ch.exe

转自:http://hi.baidu.com/%C7%E5%CB%AE%D0%A1%C1%F7/blog/item/9ede5efac42d6d8a9f5146d8.html

系统分类: 虚拟仪器   |    用户分类:    |    来源: 转贴

该用户于2009/3/14 13:09:27编辑过该文章

评论(1) | 阅读(849)
发表于:2009/2/7 22:31:03
标签:LATEX  JPG  

0

LATEX文件中如何JPG插图?

使用一个名字叫ebb的工具。一般widows下装上Ctex都会带这个小工具,Linux下安装Latex后一般也会有,先用ebb生成对应的BoundingBox文件,如输入命令: ebb test.jpg。(run ->cmd->进去图片的FILE->ebb test.jpg)

这样用下面的方法就可以在文档中使用jpg格式图片:

\begin{figure}
\centering
\includegraphics[totalheight=2.5in]{test.jpg}
\caption{这是一个测试图片}
\label{fig:test}
\end{figure}

系统分类: 软件开发   |    用户分类:    |    来源: 整理

该用户于2009/2/7 22:31:11编辑过该文章

评论(0) | 阅读(679)
发表于:2009/2/3 17:24:36
标签:LATEX  表格  入门  

0

LATEX 表格入门

http://www.andy-roberts.net/misc/latex/latextutorial4.html

 

Getting to Grips with Latex - Tables

by Andrew Roberts

In academic writing, tables are a common feature, often for summarising results from research. It is therefore a skill that needs mastering in order to produce good quality papers.

However, if there is one area about Latex that I feel is the least intuitive, then I am afraid that this is it. Basic tables are not too taxing, but you will quickly notice that anything more advanced can take a fair bit of construction. So, we will start slowly and build up from there.

The Tabular environment

To begin, we shall first get familiar with some Latex terminology. An environment in Latex is a special declaration for formatting specific types of text. For example, in tutorial 3 the abstract was introduced, so that the abstract of the paper could be formatted differently that the main body of text. All environments begin and end in the same fashion:

\begin{environment-name}
...
...
\end{environment-name}

The tabular is another such environment, designed for formatting your data into nicely arranged tables. Arguments are required after the environment declaration to describe the alignment of each column. The number of columns does not need to be specified as it is inferred by looking at the number of arguments provided. It is also possible to add vertical lines between the columns here. The following symbols are available to describe the table columns:

l left-justified column
c centered column
r right-justified column
p{width} paragraph column with text vertically aligned at the top
m{width} paragraph column with text vertically aligned in the middle
b{width} paragraph column with text vertically aligned at the bottom
| vertical line
|| double vertical line

Once in the environment,

& column separator
\\ start new row
\hline horizontal line

Note, any white space inserted between these commands is purely down to ones' preferences. I personally add spaces between to make it easier to read.

Very basic table

This example shows how to create a simple table in Latex. It is a three-by-three table, but without any lines.

\begin{tabular}{ l c r }
  1 & 2 & 3 \\
  4 & 5 & 6 \\
  7 & 8 & 9 \\
\end{tabular}
basic table

Expanding upon that by including some vertical lines:

\begin{tabular}{ l | c || r | }
  1 & 2 & 3 \\
  4 & 5 & 6 \\
  7 & 8 & 9 \\
\end{tabular}
basic table with
		vertical lines

To add horizontal lines to the very top and bottom edges of the table:

\begin{tabular}{ l | c || r | }
\hline			
  1 & 2 & 3 \\
  4 & 5 & 6 \\
  7 & 8 & 9 \\
\hline  
\end{tabular}
basic table with
		vertical lines and horizontal lines at the top and bottom.

And finally, to add lines between all rows, as well as centring (notice the use of the center environment - of course, the result of this is not obvious from the preview on this web page, so look at the pdf output):

\begin{center}
  \begin{tabular}{ l | c || r | }
    \hline
    1 & 2 & 3 \\ \hline
    4 & 5 & 6 \\ \hline
    7 & 8 & 9 \\
    \hline
  \end{tabular}
\end{center}
basic table with
		vertical and horizontal lines

Text wrapping in tables

Latex's algorithms for formatting tables have a few shortcomings. One is that it will not automatically wrap text in cells, even if it has overrun the width of the page. For columns that you know will contain a certain amount of text, then it is recommended that you use the p attribute and specify the desired width of the column (although it may take some trail-and-error to get the result you want).

Before we can proceed, we must introduce the Latex system of using measurements. This is quite flexible, as you can choose from a variety of length units.

  • pt - a point is 1/72 inch.
  • mm - millimetre.
  • cm - centimetre.
  • in - inch.
  • ex - roughly the height of an 'x' in the current font.
  • em - roughly the width of an 'M' (note the uppercase) of the current font.

There are also things known as command lengths, which are not fixed values as they depend on the configuration of the current document class and/or preamble. Useful ones include:

  • \parindent - the size of the paragraph indent
  • \baselineskip - vertical distance between lines.
  • \parskip - the extra space between paragraphs.
  • \textwidth - the width of a line of text in the local environment (e.g., the lines are commonly narrower in the abstract than in the normal text).
  • \textheight - the height of the text on the page.

The examples prepared are quite long because I was illustrating what happens when there is a fair bit of text in table cells. So instead of reproducing it within the page, go directly to the example Latex file, wrapped.tex and then view the output.

The Tabular* environment - controlling table width

This is basically a slight extension on the original tabular version, although it requires an extra argument (before the column descriptions) to specify the preferred width of the table.

\begin{tabular*}{0.75\textwidth}{ | c | c | c | r | }
  \hline
  label 1 & label 2 & label 3 & label 4 \\
  \hline 
  item 1  & item 2  & item 3  & item 4  \\
  \hline
\end{tabular*}

However, that doesn't look quite as intended. The columns are still at their natural width (just wide enough to fit their contents whilst the rows are as wide as the table width specified. This looks very ugly. The reason for the mess is that you must also explicitly insert extra column space. Fortunately, Latex has rubber lengths, which unlike others, are not fixed, and Latex can dynamically decide how long they should be. So, the solution the current problem is:

\begin{tabular*}{0.75\textwidth}{@{\extracolsep{\fill}} | c | c | c | r | }
  \hline
  label 1 & label 2 & label 3 & label 4 \\
  \hline 
  item 1  & item 2  & item 3  & item 4  \\
  \hline
\end{tabular*}

You will notice the @{...} construct added at the beginning of the column description. More details of this will be coming shortly. Within it is the \extracolsep command, which requires a width. A fixed width could have been used, however, by using a rubber length, such as \fill, the columns are automatically spaced evenly.

@-expressions

It is probably worth addressing the @ specifier now that it has been introduced, even though there aren't very many obvious applications for it.

It typically takes some text as its argument, and when appended to a column, it will automatically insert that text into each cell in that column before the actual data for that cell. It is worth noting that once used, inter-column space between the affected columns is suppressed. To add space, use @{\hspace{width}}.

Admittedly, this is not that clear, and so will require a few examples to clarify. Sometimes, it is desirable in scientific tables to have the numbers aligned on the decimal point. This can be achieved by doing the following:

\begin{tabular}{r@{.}l}
  3&14159\\
  16&2\\
  123&456\\
\end{tabular}
using tables to align numbers on the
decimal point

Its space suppressing qualities actually make it quite useful for manipulating the horizontal spacing between columns. Given a basic table, and varying the column descriptions:

\begin{tabular}{|l|l|}
\hline
stuff & stuff \\ \hline
stuff & stuff \\
\hline
\end{tabular}

{|l|l|} normal table
{|@{}l|l@{}|} Using specifiers to
			remove cell padding.
{|@{}l@{}|l@{}|} using specifiers to
			removed cell padding
{|@{}l@{}|@{}l@{}|} using specifiers to
			remove cell padding

Spanning

To complete this tutorial, a quick at how to generate slightly more complex tables. Unsurprisingly, the commands necessary have to be embedded within the table data itself.

Rows spanning multiple columns

The the command for this looks like this: \multicolumn{num_cols}{alignment}{contents}. num_cols is the number of subsequent columns to merge; alignment is pretty obvious, either l, c, or r. And contents is simply the actual data you want to be contained within that cell. A simple example:

\begin{tabular}{|l|l|}
\hline
\multicolumn{2}{|c|}{Team sheet} \\
\hline
GK & Paul Robinson \\
LB & Lucus Radebe \\
DC & Michael Duberry \\
DC & Dominic Matteo \\
RB & Didier Domi \\
MC & David Batty \\
MC & Eirik Bakke \\
MC & Jody Morris \\
FW & Jamie McMaster \\
ST & Alan Smith \\
ST & Mark Viduka \\
\hline
\end{tabular}
Using multicolumn for
			making cells that span columns

Columns spanning multiple rows

The first thing you need to do is add \usepackage{multirow} to the preamble. This then provides the command needed for spanning rows: \multirow{num_rows}{width}{contents}. The arguments are pretty simple to deduce. With the width parameter, you can specify a fixed with if you wish, or, if you want the natural width (i.e., just wide enough to fit the contents of the column) then simply input an asterisk (*). This approach was used for the following example:

\begin{tabular}{|l|l|l|}
\hline
\multicolumn{3}{|c|}{Team sheet} \\
\hline
Goalkeeper & GK & Paul Robinson \\ \hline
\multirow{4}{*}{Defenders} & LB & Lucus Radebe \\
 & DC & Michael Duberry \\
 & DC & Dominic Matteo \\
 & RB & Didier Domi \\ \hline
\multirow{3}{*}{Midfielders} & MC & David Batty \\
 & MC & Eirik Bakke \\
 & MC & Jody Morris \\ \hline
Forward & FW & Jamie McMaster \\ \hline
\multirow{2}{*}{Strikers} & ST & Alan Smith \\
 & ST & Mark Viduka \\
\hline
\end{tabular}

using multirow package to span multiple rows

The main thing to note when using \multirow is that for the subsequent rows that are to be spanned, a blank entry for the appropriate cells have to be inserted.

Summary

That's about it for basic tables in my opinion. After you experiment, you do quickly get up to scratch. I must admit, the table syntax in Latex can look rather messy, and so seeing new examples can look confusing. But hopefully, enough has been covered here so that you can create any table you are likely to need for your papers. Unsurprisingly, Latex has plenty more up its sleeve, so expect a follow up tutorial covering more advanced features in the near future.

 

系统分类: 嵌入式   |    用户分类:    |    来源: 无分类

该用户于2009/2/3 17:26:37编辑过该文章

评论(0) | 阅读(845)
发表于:2008/12/8 11:31:39
标签:天线  分类  

0

什么是天线

天线是在无线电收发系统中,向空间辐射或从空间接收电磁波的装置。是无线电通信系统中必不可少的部分。由于各种设备要求采用的波段不同,天线的设计也就不同,不同用途的天线需要设计成各种样式,就是我们通常称的天线程式。如在长、中、短波段,一般用导线构成天线,有T形、倒L形、环形、菱形、鱼骨形、笼形天线等。在微波波段,用金属板或网制成喇叭天线,抛物面天线,金属面上开槽的裂缝天线,金属或介质条排成的透镜天线等。

天线有五个基本参数:方向性系数、天线效率、增益系数、辐射电阻和天线有效高度。这些参数是衡量天线质量好坏的重要指标。

【天线的方向性】是指天线向一定方向辐射电磁波的能力。它的这种能力可采用方向图,方向图主瓣的宽度,方向性系数等参数进行描述。所以方向性是衡量天线优劣的重要因素之一。天线有了方向性,就能在某种程度上相当于提高发射机或接收机的效率,并使之具有一定的保密性和抗干扰性。

【方向性图】方向性图是表示天线方向性的特性曲线,即天线在各个方向上所具有的发射或接收电磁波能力的图形。

实用天线处在三度几何空间中,所以,它的方向性图应该是个立体图。在这个立体图中,由于所取的截面不同而有不同的方向性图。最常用的是水平面内的方向性图(即和大地平行的平面内的方向性图)和垂直面内的方向性图(即垂直于大地的平面内的方向性图)。有的专业书籍上也称赤道面方向性图或子午面方向性图。

【波瓣宽度】有时也称波束宽度。系指方向性图的主瓣宽度。一般是指半功率波瓣宽度。由图(18)可以看出A、Aˊ点至O点间的夹角,称主瓣角宽度。当 L/λ数值不同时,其波瓣宽度也不同。L/λ比值增加时,方向图越尖锐,但当(L/λ)>0.5时,除了与振子轴垂直的方向有最大的主瓣外,还可能出现付瓣。因此,波瓣宽度越小,其方向性越强,保密性也强,干扰邻台的可能性小。所以,对于超短波,微波等所用的天线,登记主瓣宽度这一指标,是十分重要的。 

【方向性系数】方向性系数是用来表示天线向某一个方向集中辐射电磁波程度(即方向性图的尖锐程度)的一个参数。 为了确定定向天线的方向性系数,通常以理想的非定向天线作为比较的标准。

任一定向天线的方向性系数是指在接收点产生相等电场强度的条件下,非定向天线的总辐射功率对该定向天线的总辐射功率之比。

按照上面的定义,由于定向天线在各个方向上的辐射强度不等,故天线的方向性系数也随着观察点的位置而不同,在辐射电场最大的方向,方向性系数也最大。通常如果不特别指出,就以最大辐射方向的方向性系数作为定向天线的方向性系数。

在中波和短波波段,方向性系数约为几到几十;在米波范围内,约为几十到几百;而在厘米波波段,则可高达几千,甚至几万。

【辐射电阻】发射天线的辐射功率与馈电点的有效电流平方之比,称为天线的辐射电阻。

辐射电阻是一个等效电阻,如果用它来代替天线,就能消耗天线实际辐射的功率。因此,采用辐射电阻这个概念,可以简化天线的有关计算。

辐射电阻的大小取决于天线的尺寸、形状以及馈电电流的波长。因为发射天线的任务是辐射电磁波,所以在装置天线时总是适当地选择其尺寸和形状,使辐射电阻尽可能大一些。

【天线有效高度】小于四分之一波长的垂直天线:假定在一根垂直的天线上有均匀分布的电流。此均匀电流等于实际天线上的最大电流,且所产生的辐射场强与实际天线的辐射场强相同,该假设的垂直天线的长度即为实际天线有效高度。

【天线最大增益系数】平时也简称天线最大增益或天线增益。指在最大场强方向上某点产生相等电场强度的条件下,标准天线(无方向)的总输入功率对定向天线总输入功率的比值,称该天线的最大增益系数。它是比天线方向性系数更全面的反映天线对总的射频功率的有效利用程度。并用分贝数表示。可以用数学推证,天线最大增益系数等于天线方向性系数和天线效率的乘积。

【天线效率】它是指天线辐射出去的功率(即有效地转换电磁波部分的功率)和输入到天线的有功功率之比。是恒小于1的数值。

【天线极化波】电磁波在空间传播时,若电场矢量的方向保持固定或按一定规律旋转,这种电磁波便叫极化波,又称天线极化波,或偏振波。通常可分为平面极化(包括水平极化和垂直极化)、圆极化和椭圆极化。

【极化方向】极化电磁波的电场方向称为极化方向。

【极化面】极化电磁波的极化方向与传播方向所构成的平面称为极化面。

【垂直极化】无线电波的极化,常以大地作为标准面。凡是极化面与大地法线面(垂直面)平行的极化波称为垂直极化波。其电场方向与大地垂直。

【水平极化】凡是极化面与大地法线面垂直的极化波称为水平极化波。其电场方向与大地相平行。

【平面极化】如果电磁波的极化方向保持在固定的方向上,称为平面极化,也称线极化。在电场平行于大地的分量(水平分量)和垂直于大地表面的分量,其空间振幅具有任意的相对大小,可以得到平面极化。垂直极化和水平极化都是平面极化的特例。

【圆极化】当无线电波的极化面与大地法线面之间的夹角从0~360°周期的变化,即电场大小不变,方向随时间变化,电场矢量末端的轨迹在垂直于传播方向的平面上投影是一个圆时,称为圆极化。在电场的水平分量和垂直分量振幅相等,相位相差90°或270°时,可以得到圆极化。圆极化,若极化面随时间旋转并与电磁波传播方向成右螺旋关系,称右圆极化;反之,若成左螺旋关系,称左圆极化。

【椭圆极化】若无线电波极化面与大地法线面之间的夹角从0~2π周期地改变,且电场矢量末端的轨迹在垂直于传播方向的平面上投影是一个椭圆时,称为椭圆极化。当电场垂直分量和水平分量的振幅和相位具有任意值时(两分量相等时例外),均可得到椭圆极化。

【长波天线、中波天线】是工作于长波及中波波段的发射天线或接收天线的统称。长、中波是以地波和天波传播的,而天波则连续反射于电离层和大地之间。根据此传播特性,长、中波天线应能产生垂直极化的电波。在长、中波天线中,应用较广的的有垂直型、倒L型、T型、伞型垂直接地天线。长、中波天线应有良好的地网。长、中波天线存在着许多技术上的问题,如有效高度小、辐射电阻小、效率低、通频带窄、方向性系数小等。为了解决这些问题,天线结构往往非常复杂,非常庞大。

【短波天线】工作于短波波段的发射或接收天线,统称为短波天线。短波主要是借助于电离层反射的天波传播的,是现代远距离无线电通信的重要手段之一。短波天线形式很多,其中应用最多的有对称天线、同相水平天线、倍波天线、角型天线、V型天线、菱形天线、鱼骨形天线等。和长波天线比较,短波天线的有效高度大,辐射电阻大,效率高,方向性良好,增益高,通频带宽。

【超短波天线】工作于超短波波段的发射和接收天线称为超短波天线。超短波主要靠空间波传播。这种天线的形式很多,其中应用最多的有八木天线、盘锥形天线、双锥形天线、“蝙蝠翼”电视发射天线等 。

【微波天线】工作于米波、分米波、厘米波、毫米波等波段的发射或接收天线,统称为微波天线。微波主要靠空间波传播,为增大通信距离,天线架设较高。在微波天线中,应用较广的有抛物面天线、喇叭抛物面天线、喇叭天线、透镜天线、开槽天线、介质天线、潜望镜天线等。

【定向天线】定向天线是指在某一个或某几个特定方向上发射及接收电磁波特别强,而在其它的方向上发射及接收电磁波则为零或极小的一种天线。采用定向发射天线的目的是增加辐射功率的有效利用率,增加保密性;采用定向接收天线的主要目的是增加抗干扰能力。

【不定向天线】在各个方向上均匀辐射或接收电磁波的天线,称为不定向天线,如小型通信机用的鞭状天线等。

【宽频带天线】方向性、阻抗和极化特性在一个很宽的波段内几乎保持不变的天线,称为宽频带天线。早期的宽频带天线有菱形天线、V形天线、倍波天线、盘锥形天线等,新的宽频带天线有对数周期天线等。

【调谐天线】仅在一个很窄的频带内才具有预定方向性的天线,称为调谐天线或称调谐的定向天线。通常,调谐天线仅在它的调谐频率附近5%的波段内,其方向性才保持不变,而在其它频率上,方向性变化非常厉害,以致使通信遭到破坏。调谐天线不适于频率多变的短波通信。同相水平天线、折合天线、曲折天线等均属于调谐天线。

【垂直天线】垂直天线是指与地面垂直放置的天线。其结构如图1所示,它有对称与不对称两种形式,而后者应用较广。对称垂直天线常常是中心馈电的。不对称垂直天线则在天线底端与地面之间馈电,其最大辐射方向在高度小于1/2波长的情况下,集中在地面方向,故适应于广播。不对称垂直天线又称垂直接地天线。

【倒L天线】在单根水平导线的一端连接一根垂直引下线而构成的天线。因其形状象英文字母L倒过来,故称倒L形天线。俄文字母的Γ字正好是英文字母L的倒写。故称Γ型天线更方便。它是垂直接地天线的一种形式。为了提高天线的效率,它的水平部分可用几根导线排在同一水平面上组成,这部分产生的辐射可忽略,产生辐射的是垂直部分。倒L天线一般用于长波通信。它的优点是结构简单、架设方便;缺点是占地面积大、耐久性差。

【T形天线】在水平导线的中央,接上一根垂直引下线,形状象英文字母T,故称T形天线。它是最常见的一种垂直接地的天线。它的水平部分辐射可忽略,产生辐射的是垂直部分。为了提高效率,水平部分也可用多根导线组成。T形天线的特点与倒L形天线相同。它一般用于长波和中波通信。

【伞形天线】在单根垂直导线的顶部,向各个方向引下几根倾斜的导体,这样构成的天线形状象张开的雨伞,故称伞形天线。它也是垂直接地天线的一种形式。其特点和用途与倒L形、T形天线相同。

【鞭状天线】鞭状天线是一种可弯曲的垂直杆状天线,其长度一般为1/4或1/2波长。大多数鞭状天线都不用地线而用地网。小型鞭状天线常利用小型电台的金属外壳作地网。有时为了增大鞭状天线的有效高度,可在鞭状天线的顶端加一些不大的辐状叶片或在鞭状天线的中端加电感等。鞭状天线可用于小型通信机、步谈机、汽车收音机等。

【对称天线】两部分长度相等而中心断开并接以馈电的导线,可用作发射和接收天线,这样构成的天线叫做对称天线。因为天线有时也称为振子,所以对称天线又叫对称振子,或偶极天线。总长度为半个波长的对称振子,叫做半波振子,也叫做半波偶极天线。它是最基本的单元天线,用得也最广泛,很多复杂天线是由它组成的。半波振子结构简单,馈电方便,在近距离通信中应用较多。

【笼形天线】是一种宽波段弱定向天线。其结构如图2所示,它是把几根导线围成的空心圆柱体代替对称天线中的单导线辐射体而成的,因其辐射体呈笼形,故称笼形天线。笼形天线的工作波段宽,易于调谐。它适应于近距离的干线通信。

【角形天线】属于对称天线的一类,但它的两臂不排列在一条直线上,而成90°或120°角,故称角形天线。这种天线一般是水平装置的,它的方向性是不显著的。为了得到宽波段特性,角形天线的双臂也可采用笼形结构,称角笼形天线。

【折合天线】将振子弯折成相互平行的对称天线称为折合天线。有双线折合天线、三线折合天线及多线折合天线几种形式,图3中所示的是双线和三线折合天线。弯折时,应使各线上各对应点的电流同相,从远处看,整个天线如同一对称天线。但折合天线与对称天线比较,辐射增强。输入阻抗增大,便于与馈线耦合。折合天线是一种调谐天线,工作频率较窄。它在短波和超短波波段获得广泛应用。

【V形天线】是由彼此成一角度的两条导线组成,形状象英文字母V的一种天线。其结构如图4所示,它的终端可以开路,也可以接有电阻,其电阻的大小等于天线的特性阻抗。V形天线具有单向性,最大发射方向在分角线方向的垂直平面内。它的缺点是效率低、占地面积大。

【菱形天线】是一种宽频带天线。其结构如图5所示,它由一个水平的菱形悬挂在四根支柱上构成,菱形的一只锐角接在馈线上,另一只锐角接一与菱形天线特性阻抗相等的终端电阻。其最大发射方向如图中箭头所示,在指向终端电阻方向的垂直平面内,具有单向性。菱形天线的优点是增益高、方向性强、使用波段宽、易于架设和维护;缺点是占地面积大。菱形天线经过变形之后,又有双菱形天线、回授式菱形天线及折式菱形天线三种形式。菱形天线一般用于大中型短波收信电台。

【盘锥形天线】是一种超短波天线。其结构如图6所示,顶部为一圆盘(即辐射体),由同轴线的心线馈电,下面为一圆锥,接同轴线的外导体。圆锥的作用与无限大的地面相似,改变圆锥的倾斜角度,就能改变天线的最大辐射方向。它有极宽的频带。

【鱼骨形天线】鱼骨形天线又叫边射天线,是一种专用短波接收天线。其结构如图7所示,由在两根集合线上每隔一定距离连接一个对称振子组成,这些对称振子都是经过一很小的电容器接到集合线上的。在集合线的末端,即对着通信方向的一端,接上一个与集合线特性阻抗相等的电阻,另一端则通过馈线接到接收机上。与菱形天线相比较,鱼骨形天线的优点是副瓣小(也就是主瓣方向接收能力强,在其它方向接收较弱),各天线之间相互影响小,占地较小;缺点是效率低,安装和使用均较复杂。

【八木天线】又叫引向天线。它有几根金属棒组成,结构如图8所示,其中一根是辐射器,辐射器后面一根较长的为反射器,前面数根较短的是引向器。辐射器通常用折迭式半波振子。天线最大辐射方向与引向器的指向相同。八木天线的优点是结构简单、轻便坚固、馈电方便;缺点频带窄、抗干扰性差。在超短波通信和雷达中应用。

【扇形天线】它有金属板式和金属导线式两种形式。结构如图9所示,其中,图(a)是扇形金属板式,图(b)是扇形金属导线式。这种天线由于加大了天线断面积,所以加宽了天线频带。线式扇形天线可以用三根、四根或五根金属导线。扇形天线用于超短波接收。

【双锥形天线】双锥形天线由两个锥顶相对的圆锥体组成,在锥顶馈电。其结构如图10所示,圆锥可以用金属面、金属线或金属网构成。正象笼形天线一样,由于天线的断面积增大,天线频带也随之加宽。双锥形天线主要用于超短波接收。

【抛物面天线】抛物面天线是一种定向微波天线,由抛物面反射器和辐射器组成,辐射器装在抛物面反射器的焦点或焦轴上。其结构如图11所示,辐射器发出的电磁波经过抛物面的反射,形成方向性很强的波束。抛物面反射器由导电性很好的金属做成,主要有以下四种方式:旋转抛物面、柱形抛物面、割截旋转抛物面及椭圆形边缘抛物面,最常用的是旋转抛物面和柱形抛物面。辐射器一般采用半波振子、开口波导、开槽波导等。

抛物面天线具有结构简单、方向性强、工作频带较宽等优点。缺点是:由于辐射器位于抛物面反射器的电场中,因而反射器对辐射器的反作用大,天线与馈线很难得到良好匹配;背面辐射较大;防护度较差;制作精度高。在微波中继通信、对流层散射通信、雷达及电视中广泛应用这种天线。

【喇叭抛物面天线】喇叭抛物面天线由喇叭和抛物面两部分组成。其结构如图12所示,抛物面盖在喇叭上,而喇叭的顶点位于抛物面的焦点上。喇叭是辐射器,它向抛物面辐射电磁波,电磁波经过抛物面反射,聚焦成窄波束发射出去。

喇叭抛物面天线的优点是:反射器对辐射器没有反作用,辐射器对反射电波没有遮挡作用,天线与馈电装置匹配较好;背面辐射小;防护度较高;工作频带非常宽;结构简单。喇叭抛物面天线在干线中继通信中用的很广泛。

【喇叭天线】又称号角天线。其结构如图13所示,它是由一段均匀波导和一段截面慢慢增大的喇叭状波导组成。喇叭天线有三种形式:扇形喇叭天线、角锥形喇叭天线及圆锥形喇叭天线。

喇叭天线是最常用的微波天线之一,一般用作辐射器。其优点是工作频带宽;缺点是体积较大,而且就同一口径来说,它的方向性不及抛物面天线尖锐。

【喇叭透镜天线】由喇叭及装在喇叭口径上的透镜组成,故称为喇叭透镜天线。透镜的原理参见透镜天线,这种天线具有相当宽的工作频带,而且比抛物面天线具有更高的防护度,它在波道数较多的微波干线通信中用得很广泛。

【透镜天线】在厘米波段,许多光学原理可以用于天线方面。在光学中,利用透镜能使放在透镜焦点上的点光源辐射出的球面波,经过透镜折射后变为平面波。透镜天线就是利用这一原理制作而成的。它由透镜和放在透镜焦点上的辐射器组成。透镜天线有介质减速透镜天线和金属加速透镜天线两种。

图14的上图是介质减速透镜天线的原理图。透镜是用低损耗高频介质制成,中间厚,四周薄。从辐射源发出的球面波经过介质透镜时受到减速。所以球面波在透镜中间部分受到减速的路径长,在四周部分受到减速的路径短。因此,球面波经过透镜后就变成平面波,也就是说,辐射变成定向的。

图14的下图是金属加速透镜天线的原理图。透镜由许多块长度不同的金属板平行放置而成。金属板垂直于地面,愈靠近中间的金属板愈短。电波在平行金属板中传播时受到加速。从辐射源发出的球面波经过金属透镜时,愈靠近透镜边缘,受到加速的路径愈长,而在中间则受到加速的路径就短。因此,经过金属透镜后的球面波就变成平面波。

透镜天线具有下列优点:1、旁瓣和后瓣小,因而方向图较好;2、制造透镜的精度不高,因而制造比较方便。其缺点是效率低,结构复杂,价格昂贵。透镜天线用于微波中继通信中。

【开槽天线】在一块大的金属板上开一个或几个狭窄的槽,用同轴线或波导馈电,这样构成的天线叫做开槽天线,也称裂缝天线。为了得到单向辐射,金属板的后面制成空腔,开槽直接由波导馈电。开槽天线结构简单,没有凸出部分,因此特别适合在高速飞机上使用。它的缺点是调谐困难。

【介质天线】介质天线是一根用低损耗高频介质材料(一般用聚苯乙烯)作成的圆棒,它的一端用同轴线或波导馈电。图15所示的天线是用同轴线馈电的棒状介质天线。图中1是介质棒;2是同轴线的内导体的延伸部分,形成一个振子,用以激发电磁波;3是同轴线;4是金属套筒。套筒的作用除夹住介质棒外,更主要的是反射电磁波,从而保证由同轴线的内导体激励电磁波,并向介质棒的自由端传播。介质天线的优点是体积小,方向性尖锐;缺点是介质有损耗,因而效率不高。

【潜望镜天线】在微波中继通信中,天线往往安置在很高的支架上,因此,给天线馈电就得用很长的馈线。馈线过长会产生许多困难,如结构复杂,能量损耗大,由于在馈线接头处的能量反射而引起失真等。为了克服这些困难,可采用一种潜望镜天线,结构如图16所示,潜望镜天线由安置在地面上的下镜辐射器和安装在支架上的上镜反射器组成。下镜辐射器一般是抛物面天线,上镜反射器为金属平板。下镜辐射器向上发射电磁波,经过金属平板反射出去。潜望镜天线的优点是能量损耗小、失真小、效率高。主要用于容量不大的微波中继通信中。

【螺旋天线】是一种具有螺旋形状的天线。它由导电性能良好的金属螺旋线组成,通常用同轴线馈电,同轴线的心线和螺旋线的一端相连接,同轴线的外导体则和接地的金属网(或板)相连接。螺旋天线的辐射方向与螺旋线圆周长有关。当螺旋线的圆周长比一个波长小很多时,辐射最强的方向垂直于螺旋轴;当螺旋线圆周长为一个波长的数量级时,最强辐射出现在螺旋旋轴方向上。

【天线调谐器】连接发射机与天线的一种阻抗匹配网络,叫做天线调谐器。天线输入阻抗随频率而发生很大的变化,而发射机输出阻抗是一定的,若发射机与天线直接连接,当发射机频率改变时,发射机与天线之间阻抗不匹配,就会降低辐射功率。使用天线调谐器,就能使发射机与天线之间阻抗匹配,从而使天线在任何频率上有最大的辐射功率。天线调谐器广泛用于地面、车载、舰载及航空短波电台中。

【对数周期天线】是一种宽频带天线,或者说是一种与频率无关的天线。结构如图17所示,其中,图1是一种简单的对数周期天线,它的偶极子长度和间隔符合下列关系:

偶极子由一均匀双线传输线来馈电,如图2所示,传输线在相邻偶极子之间要调换位置。这种天线有一个特点:凡在f频率上具有的特性,在由τ?f给出的一切频率上将重复出现,其中n为整数。这些频率画在对数尺上都是等间隔的,而周期等于τ的对数。对数周期天线之称即由此而来。对数周期天线只是周期地重复辐射图和阻抗特性。但是这样结构的天线,若τ不是远小于1,则它的特性在一个周期内的变化是十分小的,因而基本上是与频率无关的。

对数周期天线种类很多,有对数周期偶极天线和单极天线、对数周期谐振V形天线、对数周期螺旋天线等形式,其中最普遍的是对数周期偶极天线。这些天线广泛地用于短波及短波以上的波段。

【地波】沿地面传播的无线电波叫地波,又叫表面波。电波的波长越短,越容易被地面吸收,因此只有长波和中波能在地面传播。地波不受气候影响,传播比较稳定可靠。但在传播过程中,能量被大地不断吸收,因而传播距离不远。所以地波适宜在较小范围里的通信和广播业务使用。

【天波】经过空中电离层的反射或折射后返回地面的无线电波叫天波。所谓电离层,是地面上空40~800公里高度电离了的气体层,包含有大量的自由电子和离子。这主要是由于大气中的中性气体分子和原子,受到太阳辐射出的紫外线和带电微粒的作用所形成的。电离层能反射电波,也能吸收电波。对频率很高的电波吸收的很少。短波(即高频)是利用电离层反射传播的最佳波段,它可以借助电离层这面“镜子”反射传播;被电离层反射到地面后,地面又把它反射到电离层,然后再被电离层反射到地面,经过几次反射,可以传播很远。

一年四季和昼夜的不同时间,电离层都有变化,影响电波的反射,因此天波传播具有不稳定的特点。白天电离作用强,中波无线电波几乎全部被吸收掉,在收音机里难以收到远地中波电台播音;夜晚电离层对短波吸收的比较少,收听到的广播就比较多,声音也比较清晰。由于电离层总处在变化之中,反射到地面的电波有强有弱,所以用短波收音时会出现忽大忽小的衰落现象。太阳黑子爆发会引起电离层的骚动,增加对电波的吸收,甚至会造成短波通信的暂时中断。由于大地对短波吸收严重,所以短波沿地面只能传播几十公里。

【空间波】从发射点经空间直线传播到接收点的无线电波叫空间波,又叫直射波。空间波传播距离一般限于视距范围,因此又叫视距传播。超短波和微波不能被电离层反射,主要是在空间直接传播。其传播距离很近,易受高山和高大建筑物阻挡,为了加大传输距离,必须架高天线,尽管这样,一般的传输距离也不过50公里左右。

微波接力通信是利用空间波传输的一种通信。由于微波的频率极高,频带很宽,能够传送大量的信息,微波通信已被广泛应用。为了加大传输距离,在传送途中,每隔一定距离都要建一个接力站,象接力赛跑一样,把信息传到远处。

【散射波】在无法建立微波接力的地区,如沙漠、海疆、岛屿之间的通信,可以利用散射波传递信息。电离层和比电离层低的对流层等,都能散射微波和超短波无线电波,并且可以把它们散射到很远的地方去,从而实现超视距通信。散射信号一般很弱,进行散射通信要求使用大功率发射机,高灵敏度接收机和方向性很强的天线。

http://www.shenmeshi.com/Science/Science_20071023145641_7.html

系统分类: RFID   |    用户分类:    |    来源: 转贴

评论(2) | 阅读(666)
发表于:2008/12/7 0:18:16
标签:WCDMA  CDMA  GSM  GPRS  EDGE  

0

WCDMA、CDMA、GSM、GPRS、EDGE基本概念

GSM

GSM(Global System For Mobile Communication)网即全球移动通信系统,又称“全球通”,很多公司参与了标准的制定工作。GSM数字移动通信系统是由欧洲主要电信运营者和制造厂家组成的标准化委员会设计出来的,它是在蜂窝系统的基础上发展而成。我国自1994年底开始,在十多个省市筹建GSM蜂窝移动通信网,其发展势头世人皆叹,到现在GSM数字网已覆盖全国30多个省 (区、市),300多个地区和2000多个县市,并可与40多个国家实现漫游。

GSM采用的是数字调制技术,其关键技术之一是时分多址(每个用户在某一时隙上选用载频且只能在特定时间下收信息),GSM系统有几项重要特点:防盗拷能力佳、网络容量大、号码资源丰富、通话清晰、 稳定性强不易受干扰、信息灵敏、通话死角少、手机耗电量底等。因此其话音清晰,保密容易,能提供的数据传输服务较多。GSM网能支持的用户数量为模拟网的1.8-2倍。 由于GSM发展极快,在其900MHZ频段满以后,又开辟了GSMl.8GHZ频段,手机工作在900MHZ和1.8GHZ频段以及GSM1.9GHz等几个频段。

-------------------------------------------------------------------------------------------

GPRS

GPRS是General Packet Radio Service的英文简称,中文为通用无线分组业务,是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的无线IP连接。相对原来GSM的拨号方式的电路交换数据传送方式,GPRS是分组交换技术,具有“实时在线”、“按量计费”、“快捷登录”、 “高速传输”、“自如切换”的优点。通俗地讲,GPRS是一项高速数据处理的技术,方法是以“分组” 的形式传送资料到用户手上。虽然GPRS是作为现有GSM网络向第三代移动通信过渡的过渡技术,但是它在许多方面都具有显著的优势。

由于使用了“分组”技术,用户上网相对稳定,避免了不必要的短线带来的困扰。使用GPRS技术,下载资料和通话可以同时进行。从技术上来说,声音的传送(即通话)继续使用GSM,而数据的传送便可使用GPRS,这样的话,就把移动电话的应用提升到一个更高的层次。而且发展GPRS技术也十分“经济”,因为只须沿用现有的GSM网络来发展即可。GPRS的用途十分广泛,包括通过手机发送及接收电子邮件,在互联网上浏览等。

-------------------------------------------------------------------------------------------

TDMA

TDMA是Time Division Multiple Access的缩写,这是一种用Time-Division Multiplexing (时分多址)来提供无线数字服务的技术,它代表的是一种移动电话系统的数字信号传输技术。TDMA 把一个射频分成多个时隙,再把这些时隙分给多组通话。这样,一个射频可以同时支持多个数据频道, 目前该技术已成为今天的D-AMPS和GSM系统的基础。

-------------------------------------------------------------------------------------------

GSM数字机和模拟手机话音相比
GSM数字手机的话音是被数字化之后才在无线信道上传送的,它不像模拟移动电话那样容易被干扰, 因此通话时话音清晰、干扰小。但是,因传送的是数字化的话音,也存在话音有些失真的缺点。模拟手机的话音失真度比GSM数字机要好。现在,有关部门正在研究开发更先进的话音数字化编码技术,以降低GSM手机的话音失真度。

-------------------------------------------------------------------------------------------

CDMA

CDMA是码分多址的英文缩写(Code Division Multiple Access),它是在数字技术的分支--扩频通信技术上发展起来的一种崭新而成熟的无线通信技术。它能够满足市场对移动通信容量和品质的高要求,具有频谱利用率高、话音质量好、保密性强、掉话率低、电磁辐射小、容量大、覆盖广等特点,可以大量减少投资和降低运营成本。业内运营者们正努力在他们的系统中增加用户数量,降低每位用户的费用,创造更大的利润并积极加强市场渗透。码分多址技术就是解决这一问题的数字通信技术之一。其优势为:
              * 高效的频带利用率和更大的网络容量 
              * 简化网络规化 
              * 提高通话质量 
              * 增强保密性 
              * 提高覆盖特性 
              * 延长用户通话时间 
              * 软音量和“软”切换 
              * 上网速度更快

-------------------------------------------------------------------------------------------

CDMA手机与GSM手机相比

CDMA手机具有以下优点:CDMA手机采用了先进的切换技术:软切换技术 (即切换是先接续好后再中断),使得CDMA手机的通话可以与固定电话媲美;使用CDMA网络,运营商的投资相对减少,这就为CDMA手机资费的下调预留了空间;因采用以扩频通信为基础的一种调制和多址通信方式,其容量比模拟技术高10倍,超过GSM网络约4倍;基于宽带技术的CDMA使得移动通信中视频应用成为可能,从而使手机从只能打电话和发送短信息等狭窄的服务中走向宽带多媒体应用。

-------------------------------------------------------------------------------------------

GSM1X

GSM1X就是指支持两种制式网络的双模手机,主要有GSM/PHS与GSM/CDMA两种双模手机,比GSM/GPRS大大提高了上网的速度,其中GSM/PHS手机目前仅有Sanyo的PDG-G1000(即台湾大众电信销售的J100)与UT的UT818,GSM/CDMA双模手机则主要是国内上市的三星、LG与摩托罗拉三款型号。

GSM1x可以作为一种技术方案,使中国联通在保留已有的GSM业务层和SIM卡用户特征的基础上,让其现有的GSM用户享受到增强的CDMA 1X业务的好处。GSM1x集中了CDMA 1X 和GSM-MAP的优势,是使用任何频率的GSM运营商均可采用提供CDMA 1X业务的解决方案。

GSM1x可以最大限度地利用运营商在现有GSM-MAP网络上的投资,并保留系统中能够提供的所有主要功能和业务。GSM1x能够提高运营商的话音和数据容量,同时支持在一个GSM网上叠加CDMA 1X网络,使用基于SIM卡的GSM/CDMA双模手机,以及推动跨GSM和CDMA双网的全球漫游。

-------------------------------------------------------------------------------------------

3G

3G是第三代移动通信技术,是下一代移动通信系统的通称。标准主要有GSM/GPRS/WCDMA /EDGE/ TD-SCDMA。3G系统致力于为用户提供更好的语音、文本和数据服务。与现有的技术相比较而言,3G技术的主要优点是能极大地增加系统容量、提高通信质量和数据传输速率。此外利用在不同网络间的无缝漫游技术,可将无线通信系统和Internet连接起来,从而可对移动终端用户提供更多更高级的服务。国际电信联盟(ITU)早在2000年5月即确定了W-CDMA、CDMA2000和TD-SCDMA三个主流 3G标准。

--------------------------------------------------------------------------------------------

WCDMA

WCDMA全名是(Wideband Code Division Multiple Access ),中文译名为“宽带分码多工存取”, WCDMA源于欧洲和日本几种技术的融合。它采用MC FDD(频分双工-多载波)模式,与GSM网络有良好的兼容性和互操作性。作为一项新技术,它在技术成熟性方面不及CDMA2000,但其优势在于GSM的广泛采用能为其升级带来方便。因此,近段时间也倍受各大厂商的青睐。WCDMA采用最新的异步传输模式(ATM)微信元传输协议,能够允许在一条线路上传送更多的语音呼叫,呼叫数由现在的30个提高到 300个,在人口密集的地区线路将不在容易堵塞。WCDMA采用直扩(MC)模式,载波带宽为5MHz,它可支持384Kbps到2Mbps不等的数据传输速率,在高速移动的状态,可提供384Kbps的传输速率,在低速或是室内环境下,则可提供高达2Mbps的传输速率。而GSM系统目前只能传送9.6Kbps,固定线路Modem也只是56Kbps的速率,由此可见WCDMA是无线的宽带通讯。

此外,在同一传输通道中,它还可以提供电路交换和分包交换的服务,因此,消费者可以同时利用交换方式接听电话,然后以分包交换方式访问因特网,这样的技术可以提高移动电话的使用效率,使得我们可以超越在同一时间只能做语音或数据传输的服务的限制。 在费用方面,WCDMA因为是借助分包交换的技术,所以,网络使用的费用不是以接入的时间计算, 而是以消费者的数据传输量来定。

--------------------------------------------------------------------------------------------

EDGE

EDGE的英文全称为Enhanced Datarate for GSM Evolution,中文含义为“改进数据率GSM服务”, 它是一种基于GSM/GPRS网络的数据增强型移动通信市场的亮点,先后有美国的CingularWireless和 AT&TWireless、智利的TelefonicaMoviles、我国香港特区的CSL和泰国的AIS开通了基于EDGE的服务。与此同时,一些欧洲的移动运营商对EDGE也开始表现出兴趣,其中TIM和TeliaSonera 都明确表示将采用EDGE技术。该技术主要在于能够使用宽带服务,能够让使用800、900、1800、 1900MHz频段的网络提供第三代移动通信网络的部分功能,并且能大大改进目前在GSM和TDMA/136上提供的标准化服务。该技术可以提供384kbps的广域数据通信服务和大约2Mbps的局域数据通信服务,这样可以充分满足未来无线多媒体应用的带宽需求。

EDGE的概念是Ericsson公司于1997年第一次向ETSI提出的,同年,ETSI批准了EDGE的可行性研究,这对以后EDGE的发展铺平了道路。尽管EDGE仍然使用了GSM载波带宽和时隙结构,但它也能够用于其他的蜂窝通信系统。EDGE可以被视为一个提供高比特率、并且因此促进蜂窝移动系统向第三代功能演进的、有效的通用无线接口技术。在此基础上,统一无线通信论坛(UWCC)评估了用于TDMA/136的EDGE技术,并且于1998年1月批准了该技术。

EDGE提供了一个从GPRS到第三代移动通信的过渡性方案,从而使现有的网络运营商可以最大限度地利用现有的无线网络设备,在第三代移动网络商业化之前提前为用户提供个人多媒体通信业务。由于EDGE是一种介于现有的第二代移动网络与第三代移动网络之间的过渡技术,因此也有人称它为 “二代半”技术。EDGE同样充分利用了现有的GSM资源,保护了对GSM作出的投资,目前已有的大部分设备都可以继续在EDGE中使用。EDGE能提供三组业务:EGPRS业务:最大速率≥384kbps48kbps/BP;T-ECSD业务:透明增强型电路交换业务,最高速率≥32kpbs/Bp;NT-ECSD:非透明增强型电路交换业务,最高速率≥28.8kbps。从技术角度具体而言,EDGE的技术不同于GSM的优势在于: 
              * 8 PSK 空中接口模式 
              * 增强型的AMR编码方式 
              * MCS1~9九种信道编码方式 
              * 链路自适应 
              * 递增冗余传输 
              * RLC窗口大小自动调整

--------------------------------------------------------------------------------------------

TD-SCDMA

TD-SCDMA全名是Time Division-Synchronous Code Division Multiple Access(时分同步的码分多址技术)是ITU正式发布的第三代移动通信空间接口技术规范之一,它得到了CWTS及3GPP的全面支持,是中国电信百年来第一个完整的通信技术标准,是可替代UTRA-FDD的方案,是集CDMA、TDMA、FDMA技术优势于一体、系统容量大、频谱利用率高、抗干扰能力强的移动通信技术, 它采用了智能天线、联合检测、接力切换、同步CDMA、软件无线电、低码片速率、多时隙、可变扩频系统、自适应功率调整等技术。TD-SCDMA传输方向的时域自适应资源分配可取得独立于对称业务负载关系的频谱分配的最佳利用率。因此,TD-SCDMA通过最佳自适应资源的分配和最佳频谱效率,可支持速率从8kbps到2Mbps的语音、互联网等所有的3G业务。在最终的版本里,计划让TD―SCDMA 无线网络与INTERNET直接相连。

--------------------------------------------------------------------------------------------

小灵通

小灵通又名无线市话PAS(Personal Access Phone System),是一种新型的个人无线接入系统,它采用先进的PHS微蜂窝技术,将市话传输交换与无线接入技术有机结合在一起,利用市话的交换传输资源,以无线方式提供给一定范围内具备移动漫游性能的个人通信终端.简言之,“小灵通”就是通过一定的技术手段,将原来只能固定使用的电话改变成为随身携带和移动使用的无线电话。

--------------------------------------------------------------------------------------------

手机制式的发展

1G(first generation)表示第一代移动通讯技术。代表为现已淘汰的模拟移动网。
2G(second generation)表示第二代移动通讯技术。代表为GSM。以数字语音传输技术为核心。
2.5G是基于2G与3G之间的过渡类型。比2G在速度、带宽上有所提高。可使现有GSM网络轻易地实现与高速数据分组的简便接入。

目前已经进行商业应用的2.5G(Generation)移动通信技术是从2G迈向3G的衔接性技术,突破了2G电路交换技术对数据传输速率的制约,引入了分组交换技术,从而使数据传输速率有了质的突破,是一种介于2G与3G之间的过度技术。2.5G的出现主要是由于3G是个相当浩大的工程, 所牵扯的层面较多且复杂,要从目前的2G一下迈向3G是不可能马上实现的。代表为:GPRS, HSCSD、WAP、EDGE、蓝芽(Bluetooth)、EPOC等技术。

3G是英文3rd Generation的缩写,指第三代移动通信技术。目前我国3G标准还没有颁布。相对第一代模拟制式手机(1G)和第二代GSM、TDMA等数字手机(2G),第三代手机一般是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统。它能够方便、快捷的处理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务。为手机融入多媒体元素提供强大的支持。但为了提供这种服务,无线网络必须能够支持不同的数据传输速度,也就是说在任何环境中能够分别支持至少2Mbps(兆字节/每秒)、384kbps(千 字节/每秒)以及144kbps的传输速度。2G网络提供的带宽是9.6Kpbs。2.5G增加到56Kpbs。 3G将具有更宽的带宽,其传输速度将达到100-300Kbps,不仅能传输话音,还能传输数据,从而提供快捷、方便的无线应用。

http://zhidao.baidu.com/question/6284760.html

系统分类: 3G与手机   |    用户分类:    |    来源: 整理

评论(0) | 阅读(778)
发表于:2008/12/3 23:46:19
标签:无标签

0

一些实用讲话技巧

        要是你以为单靠熟练的技能和辛勤的工作就能在职场上出人头地,那你就有点无知了。当然,才干加上超时加班固然很重要,但懂得在关键时刻说适当的话,那也是成功与否的决定性因素。卓越的说话技巧,譬如讨好重要人物、避免麻烦事落到自己身上、处理棘手的事务等等,不仅能让你的工作生涯加倍轻松,更能让你名利双收。牢记以下十个句型,并在适当时刻派上用场,加薪与升职必然离你不远。

1.以最婉约的方式传递坏消息句型:我们似乎碰到一些状况…

  你刚刚才得知,一件非常重要的案子出了问题,如果立刻冲到上司的办公室里报告这个坏消息,就算不干你的事,也只会让上司质疑你处理危机的能力,弄不好还惹来一顿骂,把气出在你头上。此时,你应该以不带情绪起伏的声调,从容不迫的说出本句型,千万别慌慌张张,也别使用"问题"或"麻烦"这一类的字眼;要让上司觉得事情并非无法解决,而"我们"听起来像是你将与上司站在同一阵线,并肩作战。

 2.上司传唤时责无旁贷句型:我马上处理。
  冷静、迅速的做出这样的回答,会令上司直觉的认为你是名有效率、听话的好部属;相反,犹豫不决的态度只会惹得责任本就繁重的上司不快。夜里睡不好的时候,还可能迁怒到你头上呢!

3.表现出团队精神句型:安琪的主意真不错!

  安琪想出了一条连上司都赞赏的绝妙好计,你恨不得你的脑筋动得比人家快;与其拉长脸孔、暗自不爽,不如偷沾他的光。方法如下:趁着上司听得到的时刻说出本句型。在这个人人都想争着出头的社会里,一个不妒嫉同事的部属,会让上司觉得此人本性纯良、富有团队精神,因而另眼看待。

4.说服同事帮忙句型:这个报告没有你不行啦!

  有件棘手的工作,你无法独力完成,非得找个人帮忙不可;于是你找上了那个对这方面工作最拿手的同事。怎么开口才能让人家心甘情愿的助你一臂之力呢?送高帽、灌迷汤,并保证他日必定回报;而那位好心人为了不负自己在这方面的名声,通常会答应你的请求。不过,将来有功劳的时候别忘了记上人家一笔。

 5.巧妙闪避你不知道的事句型:让我再认真的想一想,三点以前给您答复好吗?

  上司问了你某个与业务有关的问题,而你不知该如何做答,千万不可以说"不知道"。本句型不仅暂时为你解危。也让上司认为你在这件事情上头很用心,一时之间竟不知该如何启齿。不过,事后可得做足功课,按时交出你的答复。

6.智退性骚扰句型:这种话好像不大适合在办公室讲喔!

  如果有男同事的黄腔令你无法忍受,这句话保证让他们闭嘴。男人有时候确实喜欢开黄腔,但你很难判断他们是无心还是有意,这句话可以令无心的人明白,适可而止。如果他还没有闭嘴的意思,即构成了性骚扰,你可以向有关人士举发。

7.不着痕迹的减轻工作量句型:我了解这件事很重要;我们能不能先查一查手头上的工作,把最重要的排出个优先顺序?
  不如当下就推辞。首先,强调你明白这件任务的重要性,然后请求上司的指示,为新任务与原有工作排出优先顺序不着痕迹的让上司知道你的工作量其实很重,若非你不可的话,有些事就得延后处理或转交他人。

8.恰如其分的讨好句型:我很想您对某件案子的看法……

  许多时候,你与高层要人共处一室,而你不得不说点话以避免冷清尴尬的局面。不过,这也是一个让你能够赢得高层青睐的绝佳时机。但说些什么好呢?每天的例行公事,绝不适合在这个时候被搬出来讲,谈天气嘛,又根本不会让高层对你留下印象。此时,最恰当的莫过于一个跟公司前景有关,而又发人深省的话题。问一个大老板关心又熟知的问题,但他滔滔不绝的诉说心得的时候,你不仅获益良多,也会让他对你的求知上进之心刮目相看。

 9.承认疏失但不引起上司不满句型:是我一时失察,不过幸好……

  犯错在所难免,但是你陈述过失的方式,却能影响上司心目中对你的看法。勇于承认自己的疏失非常重要,因为推卸责任只会让你看起来就像个讨人厌、软弱无能、不堪重用的人,不过这不表示你就得因此对每个人道歉,诀窍在于别让所有的矛头都指到自己身上,坦承却淡化你的过失,转移众人的焦点。


10.面对批评要表现冷静句型:谢谢你告诉我,我会仔细考虑你的建议。

  自己苦心的成果却遭人修正或批评时,的确是一件令人苦恼的事。不需要将不满的情绪写在脸上,但是却应该让批评你工作成果的人知道,你已接收到他传递的信息。不卑不亢的表现令你看起来更有自信、更值得人敬重,让人知道你并非一个刚愎自用、或是经不起挫折的人。

http://www.xuezhonghua.com/article.asp?id=344

系统分类: 自由话题   |    用户分类: 无分类    |    来源: 无分类

该用户于2008/12/3 23:46:26编辑过该文章

评论(0) | 阅读(311)
发表于:2008/12/1 23:11:29
标签:无标签

0

主要ZigBee芯片供应商ZigBee方案竞争能力比较

主要ZigBee芯片供应商ZigBee方案竞争能力比较
目前市场上主要ZigBee芯片提供商(2.4GHZ),主要有:TI/CHIPCON、EMBER(ST)、JENNIC(捷力)、FREESCALE、MICROCHIP四家。
目前ZigBee技术提供方式有三种:
1) ZigBee RF+MCU 例如:TI CC2420+MSP430 、FREESCLAE MC13XX+GT60 、MICROCHIP MJ2440+PIC MCU。
2)单芯片集成SOC 如:TI CC2430/CC2431(8051内核) 、FREESCALE MC1321X 、EM250。
3)单芯片内置ZIGBEE协议栈+外挂芯片JENNIC SOC+EEPROM、EMBER 260+MCU。
主要四个公司按上述几方面分析如下:
A)微处理器:
除了CC2430/CC2431外,其他四家公司都是采用自己的微处理器。只有CC2430/CC2431采用标准的8051处理器。


该项评分:CC2430/CC2431胜出

因为:8051微处理器诞生30多年,目前在国内最为普及。大学中专,都有广泛的课程,各种参考书,到处都有。开发软件KEIL、 IAR已被大家熟悉,用起来最顺手。

有言论说8051“老了” 怕不能担当此重任,也有言论说8051会产生数字噪声,影响无线通讯… 以专家的眼光看,这些都是没有科学依据的说法。随着芯片科技的发展,今天的8051早已经脱胎换骨,只是片上系统(SoC)的一小部分,而且在低功耗、高速度、低噪声等方面,有了质的飞跃。CC2430/CC243的8051内核经过特别设计,可以和2.4GHZ的ZigBee无线收发电路完美的配合工作,绝不会因为其8051内核的高速运行而对高频无线通讯有任何影响。

采用从8051对用户而言好处如下:
1、无需重新学习微处理器结构原理,无需重新熟悉编译/调试工具;
2、对片上系统的I/O,定时器,A/D,PWM,看门狗等等,也无需重新学习;
3、如果你没有单片机的基础,学起来也非常容易,也容易找到人请教、交流;

从技术眼光看,ZigBee技术的核心是软件。如果MCU是8051,则ZigBee是由C51代码组成的一堆软件而已。无论是无线数据传输、路由算法、网络拓扑….都是各种函数的组合、代码组合。任何人熟悉C51编程,就很容易熟悉ZigBee的代码,同时将自己的应用代码和ZigBee结合在一起。

这对应初次进入无线领域的工程师而言,如果选择自己不熟悉的处理器,在进行开发时,既要面对复杂的ZigBee无线通讯协议,超高频的硬件环境,再加上完全陌生的指令系统,硬件平台,无疑对开发ZigBee是“雪上加霜”。

B)ZigBee协议栈
目前TI 提供CC2430/CC2431 ZIGBEE2006协议栈,全套协议栈原来报价10万人民币,目前已经开放免费下载,这是一个巨大的惊人之举。虽然开放下载的协议栈是库文件,但是全功能,包括网状网络拓扑的全功能协议栈,从10万到零,将其他对手远远抛在后面。

如果需要进行教学研究,无线龙通讯可以提供全部C51源代码的精简版协议栈。

其他几家情况如下:

FREESCALE BEE KIT 3个月自动失效(需要购买正版1200美元,才能使用)。

EMBERR ZIGBEE 2006 报价:10,000美元。

MICROCHIP 免费源代码, 但是只支持PIC和MJ2440芯片。

该项评分:CC2430胜出。

C ZigBee芯片的最后成本

CC2430、CC2431是全部方案中,唯一一个包括FLASH存储器+MCU+ZigBee RF全全集成,真正的单芯片解决方案。

JENNIC的“单片机”只有ROM(只读存储器),芯片内部没有存放用户程序的地方,系统必须要外加一个EEPROM。你的全部程序必须存储在外部的EEPROM中,如果你使用这样的无线单片,最大的问题是不能对你自己开发的代码加密,任何人可以从外部EEPROM轻易中获得你辛辛苦苦开发的代码。

FREESCALE 的单芯片是采用两个硅片和SIP技术共同包装,在大量生产情况下,肯定不能和单芯片方案竞争。

在芯片最后成本竞争中,CC2430取胜是必然,因为只有CC2430真真能作到一个芯片解决战斗!芯片价格必然最低!

D 开发工具的方便性和开发工具(包括开发软件)的低价格

CC2430原产开发工具CC2430ZDK报价原来10,000美元,目前下降到2000美元。但是国内无线龙通讯科技公司,已经将全套CC2430/CC2431开发工具(包括USB仿真器,精简版ZigBee协议栈,兼容ZigBee2006,两个ZigBee无线模块,全套开发软件 )C51RF-3-CS降低到了不到人民币2000元以下(1888元人民币)。


和其他解决方案比较,开发容易,CC2430/CC2431在开发系统的性能,容易使用,全免费2006协议栈包括全新ZigBee PRO指令集等全新高级功能。

成都无线龙通讯科技公司是国内最早投入ZigBee技术开发的先锋,在两年前和CHIPCON同步推出了国内第一个CC2430/CC2431开发系统,目前国内外有大量客户群,并批量装备了清华大学,浙江大学,成都电子科技大学等重点大学相关实验室。

经过多年的努力创新,成都无线龙通讯科技公司不仅推出了多种高级ZigBee教学平台,开发工具,还和北航合作,出版了无线单片机技术丛书,其中第三本《ZigBee无线网络入门与实战》是国内第一本实战ZigBee的教材。其包括了CC2430中文详细介绍,ZigBee技术介绍,C51RF-3开发工具介绍等,为入门复杂的ZigBee技术,架设了理想的桥梁。

该项评比:仍然是CC2430胜出。

结束语:

归纳起来,采用通用MCU,免费全开放全功能协议栈,正真低价格单芯片,廉价高性能开发系统,各种学习教材和培训,未来ZigBee中,谁能胜出,谁将笑到最后,大家可以自己来判断。
 

系统分类: 测试测量   |    用户分类:    |    来源: 转贴

该用户于2008/12/1 23:11:30编辑过该文章

评论(0) | 阅读(373)
2345678Next >Total , Page /