首页/文章/ 详情

初学者宝典:C语言入门基础知识大全

1小时前浏览11
01      

C语言程序的结构认识      


   


用一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使小伙伴对c语言有个初步认识。


例1:计算两个整数之和的c程序:

#include main()     
{    
 int a,b,sum;     
a=20; /*定义变量a,b,sum为整型变量*/     
b=15; /*把整数20赋值给整型变量a*/     
sum=a+b; /*把整数15赋值给整型变量b*/     
printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); /*把两个数之和赋值给整型变量sum*/     
}    


重点说明

1、任何一个c语言程序都必须包括以下格式:main() { }——这是c语言的基本结构,任何一个程序都必须包含这个结构。括号内可以不写任何内容,那么该程序将不执行任何结果。


2、main()——在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。


3、被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。


4、在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。


5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ——通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果:a=20,b=15,sum=35。


6、#include——注意:以#号开头。不以分号结尾 这一行没有分号,所以不是语句,在c语言中称之为命令行,或者叫做“预编译处理命令”。


7、程序中以 /*开头并且以*/结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序的可读性而添加,但计算机在执行主函数内容时完全忽略注释部分,换而言之就是计算机当做注释部分不存在于主函数中。



02      

C程序的生成过程      


   


C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。


源程序的扩展名为 .c ,目标程序的扩展名为 .obj , 可执行程序的扩展名为 .exe 。



03      

标识符      


   


在编写程序时,必须为函数、变量等命名,这个名字称为标识符。C语言中标识符的命名规则如下:


  • 标识符只能由字母、数字、下划线组成;


  • 标识符的第一个字母必须是字母和下划线;


  • 标识符区分大小写字母,如If和if是两个完全不同的标识符。


  • 合法标识符如下:A6, b_3 , _mn 非法的标识符如下:ab#12 , 8m , tr3:4 , yes no


标识符不能与程序中具有特殊意义的关键字相同,不能与用户编制的函数名、C语言库函数相同,在程序中各种标识符尽量不要重复,以便区分。选择变量名和其他标识符时,应注意做到 “见名知义”。


标识符分为如下三类

1、关键字

关键字是具有特定含义的,专门用来说明c语言特定成分的一类标识符,不能用作用户的标识符。


2、预定义标识符

预定义标识符在c语言中也有特定的含义,但可以用作用户标识符,预定义标识符分为两类:

1)、库函数名字,比如printf,scanf,sin,isdigit等     
2)、编译处理命令名,比如define,include    


3、用户标识符

用户根据需要自己定义的标识符称为用户标识符。无论如何自定义标识符,都必须符合标识符的三条命名规则。



04      

 常量      


   


在程序运行中,其值不能被改变的量称为常量。常量有5种类型:整型常量、实型常量、字符常量、字符串常量和符号常量。


4.1 数值转换

数值的四种表现形式:


  • ①:二进制:所有数字由0,1构成,逢二进一,二进制数中不会出现2。


  • ②:八进制:以数字0(注意不是以字母O,o)开头,所有数字由0~7构成,逢八进一,八进制数中不会出现8。例:0112,0123,077等


  • ③:十进制:所有数字由0~9构成,逢十进一,十进制数中不会出现10。例:0,12,-15等


  • ④:十六进制:以0x或者0X(数字0加字母x)开头,所有数字由0~9,A~F(或者a~f)构成,逢十六进一(其中A、B、C、D、E、F分别代表10、11、12、13、14、15) 例:0x4A、0X14c7等


在计算机内部,数字均以二进制形式表示和存放,用户输入的普通十进制数字都要被计算机转换成二进制才能在计算机内部存储,同样计算机的运算结果也为二进制,一般要将其转换成十进制数再输出给用户阅读,这种转换通常由计算机自动实现。


1)将十进制转换二进制、八进制和十六进制

除法:将十进制数除以2,记录余数,得到的商继续除以2,直到商为0,然后将各次相处所得的余数从后往前逆序排列,所得余数数字序列就是该十进制数对应的二进制数。八进制和十六进制转换方法同上。

例:十进制数13转换成二进制数的值为1101,转换八进制为015,转换成十六进制为D.


2)将二进制、八进制和十六进制转换成十进制

乘积求和:将二进制的每一位从低位到高位(右边为低位,左边为高位)分别乘以20,21,22。。。。,然后将这些值求和。


3)二进制与八进制、十六进制数之间的相互转换

  • ①:二进制转八进制:从右往左每三位一组转换成十进制数,将所得数据组合就是对应的八进制数(注意:高位不足三位补零)。例:(010 110 111)2=(267)8


  • ②:二进制转十六进制:从右往左每四位一组转换成十进制数,将所得数据组合就是对应的十六进制数(注意:高位不足四位补零)。例:(0101 1011)2=(5B)16


  • ③:八进制转化二进制:每一位数字转换为三位二进制数字 例:(13)8=(001 011)2= (注意:去掉前面的两个00,因为0在高位没有意义) ④:十六进制转化二进制:每一位数字转换为四位二进制数字 例:(E3)16=(1110 0011)2


4.2 数形常量

整型常量有3种形式:十进制整型常量、八进制整型常量和十六进制整型常量。

(注意:c语言中没有直接表示二进制的整型常量,在c语言源程序中不会出现二进制。)


书写方式如下:

十进制整型常量:123 , 0 ,-24 , 85L(长整型常量) 等 八进制整型常量:051 ,-026 ,0773 等 十六进制整型常量:0x55 , 0x1101 , 0x , 0x5AC0 , -0xFF。其中L为长整型。


4.3 实型常量

实型常量有两种表示形式:小数形式和指数形式。


小数形式:5.4 0.074 -23.0 指数形式:5.4e0 4.3e-3 -3.3e4


1)小数部分为0的实型常量,可以写为453.0 或453。


2)用小数表示时,小数点的两边必须有数,不能写成“ .453“和“453.“,而应该写成“0.453“和“453.0“。


3)用指数写法时,e前必须有数字,e后面的指数必须为整数(注意:整数阶码可以是正数,负数,也可以是八进制数、十六进制数,但必须为整数)。


4.4 字符常量

字符常量的标志是一对单引号‘ ’,c语言中的字符常量有两类:


1)由一对单引号括起来的一个字符,如‘a ’, ‘r’ ,‘#’。注意: ′a′ 和 ′A′ 是两个不同的字符常量。


2)由一对单引号括起来,以反斜杠\开头,后跟若干数字或者字母,比如‘\n’,其中“\“是转义的意思,后面跟不同的字符表示不同的意思,这类字符常量叫转义字符。


4.5 字符串常量

C语言中,以双引号括起来的,由若干个字符组成的序列即为字符串常量。

例:“ni hao” “happy”等等。


4.6 符号常量

符号常量是由宏定义“#define“定义的常量,在C程序中可用标识符代表一个常量。


例:计算圆的面积的c程序。


#include 
   
#define PI 3. main()     
{    
float r,s;     
r=12.5;     
S=PI *r*r;    
 printf(“s= %f ”,s);    
 }    


说明:

#define 是宏定义,此程序中所有出现PI的地方都代表3.,同时PI称为符号常量。习惯上我们用大写字母来表示符号常量,小写字母表示变量,这样比较容易区别。



05      

变量      


   


变量就是其值可以改变的量。变量要有变量名,在内存中占据一定的存储单元,存储单元里存放的是该变量的值。不同类型的变量其存储单元的大小不同,变量在使用前必须定义。


5.1 整型变量

整型变量分为4种:基本型(int)、短整型(short int 或short)、长整型(long int 或 long)和无符号型(unsigned int ,unsigned short,unsigned long)。


不同的编译系统对上述四种整型数据所占用的位数和数值范围有不同的规定。


类型说明符

单词signed来说明“有符号”(即有正负数之分),不写signed也隐含说明为有符号,unsigned用来说明“无符号”(只表示正数)。


5.2 实型变量

C语言中,实型变量分为单精度类型( float )和双精度类型( double )两种。


如:float a , b ; double m ;


在vc中,float 型数据在内存中占4个字节(32位),double型数据占8个字节。单精度实数提供7位有效数字,双精度实数提供15~16位有效数字。实型常量不分float型和double型,一个实型常量可以赋给一个float 型或double型变量,但变量根据其类型截取实型常量中相应的有效数字。


注意:实型变量只能存放实型值,不能用整型变量存放实型值,也不能用实型变量存放整型值。


5.3 字符变量

字符变量用来存放字符常量,定义形式:

char 变量名;


其中关键字char定义字符型数据类型,占用一个字节的存储单元。


例:char cr1,cr2; cr1= ‘A’ , cr2=‘B’ ;


将一个字符赋给一个字符变量时,并不是将该字符本身存储到内存中,而是将该字符对应的ASCII码存储到内存单元中。


由于在内存中字符以ASCII码存放,它的存储形式和整数的存储形式类似,所以C语言中字符型数据与整型数据之间可以通用,一个字符能用字符的形式输出,也能用整数的形式输出,字符数据也能进行算术运算,此时相当于对它们的ASCII码进行运算。



06      

类型的自动转换和强制转换      


   


当同一表达式中各数据的类型不同时,编译程序会自动把它们转变成同一类型后再进行计算。转换优先级为:char < int < float < double 即左边级别“低“的类型向右边转换。


具体地说,若在表达式中优先级最高的数据是double型,则此表达式中的其他数据均被转换成double型,且计算结果也是double型;若在表达式中优先级最高的数据是float型,则此表达式中的其他数据均被转换成float型,且计算结果也是float型。


在做赋值运算时,若赋值号左右两边的类型不同,则赋值号右边的类型向左边的类型转换;当右边的类型高于左边的类型时,则在转换时对右边的数据进行截取。


除自动转换外,还有强制转换,表示形式是:( 类型 )(表达式);


例:(int)(a+b)


讨论:当a值赋值为3.4,b值赋值为2.7,(int)(a+b)和(int)a+b的值分别为多少?



07      

C运算符认识      


   

C语言的运算符范围很广,可分为以下几类:


  • 1、算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(%)、自增(++)、自减(--)共七种。


  • 2、赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。<="" span="">


  • 3、逗号运算符:用于把若干表达式组合成一个表达式(,)。


  • 4、关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(="">=)、小于等于(<=)和不等于(!=)六种。<="" span="">


  • 5、逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。


  • 6、条件运算符:这是一个三目运算符,用于条件求值(?:)。


  • 7、位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。


  • 8、指针运算符:用于取内容(*)和取地址(&)二种运算。


  • 9、求字节数运算符:用于计算数据类型所占的字节数(sizeof)。


  • 10、特殊运算符:有括号(),下标[],成员(→,.)等几种。


另外,按参与运算的对象个数,C语言运算符可分为:单目运算符 (如 !)、双目运算符 (如+,- )和三目运算符 (如 ? :)。



08      

算术运算符和算术表达式      


   


8.1 基本的算数运算符

(1)+(加法运算符或正值运算符,如2+5)。


(2)-(减法运算符或负值运算符,如4-2)。


(3)*(乘法运算符,如3*8)。


(4)/(除法运算符,如11/5)。


/的运算分为两种情况: 


 a、“除”的左右两边都为整数时,所得结果必然是整数(注意:仅取整数部分,不是四舍五入)比如:5/2的值为2,不是2.5,1/2的值为0。 


b、“除”的左右两边至少有一个是实型数据(即小数)时,所得结果为实型数据。比如:5/2.0的值为2.5,7.0/2.0的值为3.5.


(5)%(模运算符或称求余运算符,%两侧均应为整型数据,如9%7的值为2)。


需要说明的是:当运算对象为负数时,所得结果随编译器不同而不同,在vc中,结果的符号与被除数相同,比如:13%-2值为1,而-15%2值为-1。


8.2 算术表达式和运算符的优先级与结合性

算术表达式是用算术运算符和括号将运算量(也称操作数)连接起来的、符合C语言语法规则的表达式。运算对象包括函数、常量和变量等。


在计算机语言中,算术表达式的求值规律与数学中的四则运算的规律类似,其运算规则和要求如下。


  • (1)在算术表达式中,可使用多层圆括号,但括号必须配对。运算时从内层圆括号开始,由内向外依次计算各表达式的值。


  • (2)在算术表达式中,对于不同优先级的运算符,可按运算符的优先级由高到低进行运算,若表达式中运算符的优先级相同,则按运算符的结合方向进行运算。


  • (3)如果一个运算符两侧的操作数类型不同,则先利用自动转换或强制类型转换,使两者具有相同类型,然后进行运算。


8.3 自增自减运算符

作用:使变量的值增1或减1。


如:++i,--i (在使用i之前,先使i的值加1、减1)。i++,i-- (在使用i之后,使i的值加1、减1)。


(1)只有变量才能用自增运算符 (++)和自减运算符(--),而常量或表达式不能用,如10++或(x+y)++都是不合法的。


(2)++和--的结合方向是“自右向左“,如 -i++ ,i的左边是负号运算符,右边是自增运算符,负号运算和自增运算都是 “自右向左“结合的,相当于 -(i++)。


在循环语句中常用到自增(减)运算符,在指针中也常用到该运算符,考生要弄清楚“i++”和“++i”及“i--”和“--i”的区别,特别弄清楚表达式的值和变量的值。



09      

赋值运算符与赋值表达式      


   


9.1 赋值运算符与赋值表达式

赋值符号 “=“就是赋值运算符,作用是将一个数据赋给一个变量或将一个变量的值赋给另一个变量,由赋值运算符组成的表达式称为赋值表达式。一般形式为:变量名 = 表达式。


在程序中可以多次给一个变量赋值,每赋一次值,与它相应的存储单元中的数据就被更新一次,内存中当前的数据就是最后一次所赋值的那个数据。


例:a=12; 此表达式读作“将10的值赋值给变量a”。


a、如果赋值号两边的运算对象类型不一致,系统会自动进行类型转换,转换的规则:将赋值号右边表达式的值的类型转换成赋值号左边变量的类型,


例:int y=3.5;在变量y中最终存储的是整数3。


b、 可以将复 制表达式的值再赋值给变量,形成连续赋值。

例如:x=y=25 是一个连续赋值表达式,x=y=25 等价于x=(y=25),所以表达式x=y=25 最终的值为25 。


9.2 复合的赋值运算符

在赋值运算符之前加上其他运算符可以构成复合赋值运算符。其中与算术运算有关的复合运算符是:+=,-=,*=,/=,%= 。


两个符号之间不可以有空格,复合赋值运算符的优先级与赋值运算符的相同。表达式n+=1等价于n=n+1,作用是取变量n中的值增1再赋给变量n,其他复合的赋值运算符的运算规则依次类推。


如求表达a+=a-=a*a 的值,其中a的初值为12 。


步骤:

先进行“a-=a*a“运算,相当于a=a-a*a=12-144=-132 。(2)再进行“a+=-132“运算,相当于 a=a+(-132)==-264 。


9.3 逗号运算符和逗号表达式

在c语言中,逗号除了作为分隔符,还可以用作一种运算符----逗号运算符,用逗号运算符将几个表达式连接起来,例如a=b+c,a=b*c等称为逗号表达式。


一般形式为:

表达式1 ,表达式2 ,表达式3 , …,表达式n

例:x=2,y=3,z=4


逗号表达式具有从左至右的结合性,即先求解表达式1,然后依次求解表达式2,直到表达式n的值。表达式n的值就是整个逗号表达式的值。上述的逗号表达式的值就是表达式z=4的值4.需要注意的是,逗号运算符是所有运算符中级别最低的。


例:有如下程序段:

main() 

{

int a=2,b=4,c=6,x,y;

y=(x=a+b),(b+c); 

printf("y=%d,x=%d",y,x);

 }

程序显示结果为:y=6,x=6


讨论:将y=(x=a+b),(b+c);改为y=((x=a+b),b+c) 的程序结果?



10      

关系运算符和关系表达式      


   


10.1 C语言中的逻辑值

C语言中的逻辑值只有两个:真(true)和假(flase)。用非零代表真,用零代表假。因此,对于任意一个表达式,如果它的值为零,就代表一个假值,如果它的值为非零,就代表一个真值。只要值不是零,不管是正数,负数,整数,实数,都代表一个真值。例如-5的逻辑值为真。


10.2 逗号运算符和逗号表达式

“&&”和“||”的运算对象有两个,故它们都是双目运算符,而!的运算对象只有一个,因此它是单目运算符。逻辑运算举例如下:


(1)a&&b: 当&&两边都为“真”时,表达式a&&b的值才是真。

值得注意的是:在数学中,关系式0


(2)a||b: 当||两边有一个为“真”时,表达式a||b的值就是真。


(3)!a: 表示取反,如果a为真,则!A为假,反之亦然。例如!-5的值就为0。


在C语言中,由&&或||组成的逻辑表达式,在某些特定情况下会产生“短路“现象。


(1)x && y && z ,只有当x为真(非0)时,才需要判别y的值;只有x和y都为真时,才需要去判别z的值;只要x为假就不必判别y和z,整个表达式的值为0。口诀:“一假必假”。

例:

(!5==1)&&(++i==0) (!5==1)表达式的值为0,所以计算机运行中就跳过(++i==0)此表达式,(!5==1)&&(++i==0)表达式的值为0。


(2)x||y||z ,只要x的值为真(非零),就不必判别y和z的值 ,整个表达式的值为1,只有x的值为假,才需要判别y的值,只有x和y的值同时为假才需要判别z的值,口诀:“一真必真”。


11      

位运算      


   

11.1 位运算符

在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。C语言提供6种位运算符。


11.2 位运算

位运算符 & |~<< >> ∧ 按优先级从高到低排列的顺序是:


位运算符中求反运算“~“优先级最高,而左移和右移相同,居于第二,接下来的顺序是按位与 “&“、按位异或 “∧“和按位或 “|“。顺序为~ << >> & ∧ | 。


例1:左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。="" <="" span="">

例如:a<<4 指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00(十进制48)。


例2:右移运算符“>>”是双目运算符。其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。

例如:设 a=15, a>>2 表示把右移为十进制3)。


应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。


例3:设二进制数a是00 ,若通过异或运算a∧b 使a的高4位取反,低4位不变,则二进制数b是。


解析:异或运算常用来使特定位翻转,只要使需翻转的位与1进行异或操作就可以了,因为原数中值为1的位与1进行异或运算得0 ,原数中值为0的位与1进行异或运算结果得1。而与0进行异或的位将保持原值。异或运算还可用来交换两个值,不用临时变量。


C语言在全世界普及推广,无论在中国还是世界各国,C语言都是高等学校一门基本的计算机课程,C语言也在计算机领域发挥重要的作用。    

声明:


     
声明:文章来源网络。本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。    


来源:硬件笔记本
电路通用电子UM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-11-11
最近编辑:1小时前
硬件笔记本
本科 一点一滴,厚积薄发。
获赞 156粉丝 45文章 522课程 0
点赞
收藏
作者推荐

ZTE某开发部电路设计规范

1 原理图制图规范 编号级别条目内容备注1规定原理图必须采用公司统一原理图库。2规定原理图应采用0.100栅格3规定原理图正文字体设置参照原理图设计规范,采用默认设置。说明文字为82mil,管脚号为66mil。4规定原理图封面字体应调整到与栏目字体基本等大(建议使用180mil字体)。5规定原理图首页放置ZTE_Cover_A4做为封面,不加图框。模块电路不加封面6规定原理图除首页之外,一律采用ZTE_frameA4或者ZTE_frameA4plus图框。只有在元器件符号很大,无法在图框中摆放的情况下方可以选用ZTE_frameA3图框。7规定原理图首页封面Checked,Normalized和Approved三项不填写,其他条目需要正确填写。模块电路无封面8规定原理图各页图框上除了Checked一项外,均须正确填写。填写的内容和页码、总页数等信息应以规定的用户变量(Customer Text)进行标注。模块电路除外9规定除封面页,每一页左下角应该采用环境变量注明修改日期;除封面和目录页之外,每页的左下角标注本页的功能说明。10规定原理图必须署名。多人设计原理图应在相应页码署各自的名字;封面签署单板负责人姓名。署名采用汉语拼音,大写字母,姓在前,名在后,以一个英文空格符隔开。对于改版、借鉴的原理图,签署最后一次修改者的姓名并由其对原理图质量负责。11提示放置一个Standard库中的ZTE_frameA4plus图框,以用户变量的形式正确填写所有内容,包括说明、日期等信息,其他页拷贝该页内容可以加快工作速度,并使各页保持一致。12推荐目录页放置2个Contents框,左侧为目录,右侧为模块调用情况。两框应水平方向应对齐。如果原理图页数较多,目录页只写目录,增加目录页说明模块调用情况。13推荐原理图各页内容依次为:封面、目录、电源、时钟、CPU、存储器、逻辑、背板(母板)接口等。14规定每页内容紧凑但不杂乱、拥挤。15规定原理图上所有的文字方向应该统一,文字的上方应该朝向原理图的上方(正放文字)或左方(侧放文字)。16规定原理图上的各种标注应清晰,不允许文字重叠。交叉标注另行规定17规定各个芯片的局部去耦电容应和芯片布在同一页面或者就近放在下一页面上,并增加说明;多个器件的去耦电容共用一页图纸时,应标注去耦电容是为哪个器件放置;全局去耦(旁路)电容可以在电源部分或者原理图最后部分放置,并增加“GLOBE DECOUPLING”字样说明。18规定仅和芯片相关的上拉或下拉电阻等器件,建议放置在芯片附近。19规定电阻(电阻网络除外)、电容(电容网络除外)、电感的管脚标注,器件的path信息等不必要信息不要显示。20规定元器件的位号要显示在该元件的附近位置,不应引起歧义。21规定芯片的型号和管脚标注,精密电阻、大功率电阻、极性电容、高耐压电容、共模电感、变压器、晶振,保险丝等有特殊要求的器件参数要显示出来,LED应标示型号或颜色。22规定差分信号规定使用“+/-”符号,“+/-”可以在网络名的中间或末尾。23推荐无特殊要求(例如系统方案命名需求)差分信号以“+/-”结尾。24规定E1信号线采用TIP来表示同轴电缆芯线(双绞线的+),用RING来表示同轴电缆屏蔽层(双绞线的-)。25规定有确定含义的低电平有效信号采用*或者_N(引入逻辑的需要用_N)后缀结尾。“有确定含义”包括但不限于如下信号:片选,读写,控制,使能。26规定所有的时钟网络要有网络标号,以CLK 字符结尾,以便于SI分析、PCB布线和检查;非时钟信号禁止以CLK等时钟信号命名后缀结尾。时钟信号命名应体现出时钟频率信息。27规定采用串联端接的信号(包括时钟),串阻在原理图上应就近放置于驱动器的输出端。串阻和驱动器之间不放置网络标号,串阻后的网络进行命名(时钟信号必须命名并满足时钟信号的命名规范)。28规定所有单板内部电源网络的命名都必须采用“VCC”开头,单板接口电源的定义和系统定义保持统一。29规定经过滤波的电源必须命名,命名也必须以“VCC”开头。30规定在PCB布线时有特殊要求的网络要定义网络名,推荐在原理图上注明要求。31推荐全局电源和地应调用原理图库中的符号。32规定确认多个部分组成的器件原理图库,在打包过程中位号正确,没有出现错位等现象。33推荐不推荐使用“Location”硬属性解决位号错位问题。34规定使用Alias连接的网络,必须使用网络标号的方式进行连接,不能使用连线(wire)进行连接。35规定禁止使用SIZE属性放置多个器件,例如测试点、去耦电容、光学定位点等。36规定所有出页网络应放置出页符offpage/offpg,出页符的方向应和信号流向一致。原理图必须进行交叉标注。除总线等字符太多无法调整的网络之外,交叉标注的字符不应重叠。37规定offpage/offpg符号的调用,应根据信号流向采用正确的符号,不应将符号进行翻转、镜像后使用。38推荐Offpage/offpg符号和交叉标注文字应尽量对齐。39器件管脚上的引线,应引出后再分叉,不得直接在器件管脚上分叉。40规定兼容设计、料单可配置部分、调试用最终不安装部分器件,应在原理图上注明。41规定原理图中的实现与设计说明中的描述一致。信号的命名应有意义。逻辑芯片管脚命名与设计说明、逻辑设计说明文档一致。建议信号命名尽量和有意义的芯片管脚命名一致。42规定提供各单点网络列表和未连接管脚列表,并一一确认43提示采用Cadence提供的工具对原理图和PCB的网表一致性进行检查。44推荐原理图打印为PDF文件时,推荐使用Arial字体。45规定模块电路不加封面和目录页。46规定模块电路内部位号禁止使用硬属性。47规定模块电路使用Standard库中的inport,outport和ioport和顶层相连。48规定模块电路设计其他规范待添加2 电路设计 通用要求编号级别条目内容备注1规定单板网络的连接必须正确无误。(个人自查)2规定器件之间的接口电平匹配。3规定PECL到LVPECL的接口使用交流耦合(直流平衡情况)或3电阻端接。采用交流耦合作热拔插时需注意防止因电容积累电荷放电导致器件损伤,可在电容与单板输入/输出接口采用大电阻下拉。4规定单板热拔插对外接口器件选型必须能够满足热拔插要求。5规定热拔插接口设计,选用的器件内部不允许有从端口对电源的二极管钳位保护网络。6提示在不同电平接口时利用钳位二极管实现接口,需要考虑限制电流。7规定差分信号应考虑Failsafe功能。8提示了解CMOS器件的闩锁现象,选用不易发生闩锁的器件。(一般要求Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II。)9规定器件工作速率符合设计要求。10推荐在满足系统性能要求的情况下,尽量降低信号的速率,采用慢速器件。11规定凡公司、事业部、部门有模块电路、通用电路,能够满足设计要求者,无特殊原因一律采用模块电路。优先选用公司级模块电路。12规定无模块电路可以调用,但是产品约定设计方式或者器件者,无特殊原因一律按照产品约定进行设计。13规定相同功能的电路,如无特殊要求应采用相同的电路和器件。14规定使用同一个物料代码下有多个器件,确认每一种器件的能够满足应用要求。15规定单板上所有有复位管脚的芯片,要求复位脚软件可控。16推荐CPU等的控制信号应使用上/下拉电阻保证上电时的状态确定。17推荐初次设计CPU、DSP和ASIC的配置管脚的上拉或下拉状态尽量设计成可调。18提示阅读器件手册时,应该到器件厂商网站上寻找最新版本,并了解其版本变更历史和查阅最新版本勘误表。19规定对于设计中的可配置部分(包括为调试设计而最终不安装的部分),必须注明本板在线运行和调试使用的所有配置方式。20规定要考虑器件输出或驱动器输出的驱动能力,等效负载不能超过器件的驱动能力的80%。21规定MCU串口信号经芯片驱动后,将收发信号和地引到预留的3Pin插座22规定单板3Pin RS-232串口插座统一定义为:Pin1—本地发送Tx;Pin2—地线;Pin3—本地接收Rx。23规定通用件率满足事业部通用件率的要求:新板满足90%,改版满足80%。优先选用部门推荐的公用器件。24规定25规定 逻辑器件应用编号级别条目内容备注1规定不带内部上下拉和总线保持功能的CMOS/BiCMOS器件,未用输入端严禁悬空,必须通过电阻进行上拉或下拉处理。2规定单板带有可以裁减部分,原理图中部分器件可能不焊接时,需要确保这些器件不焊接不会导致其他器件的输入端悬空。3规定逻辑器件不用的引脚或者固定电平的信号如需预置电平处理,必须通过电阻上拉或者下拉,不允许直接接电源或地。4规定对器件未用输入端进行上拉或下拉处理,必须满足可测试性设计要求。5规定中断信号要通过上拉或下拉来使中断信号处在默认的非触发态。器件手册规定优先6规定多级具有上电3态的器件级联驱动信号时,如果信号上电过程要求确定电平,则各级输入端都必须采用上拉或下拉电阻确定状态。7规定采用具有上电3态的器件驱动背板输入控制信号,如果该信号上电后立刻需要读取且不受上电复位控制(例如单片机ISP模块中的背板复位信号和下载使能信号),则必须采用电阻置初始电平。8规定信号线上的上拉或下拉电阻能够满足可靠预置电平要求。9推荐对于CMOS器件,如无特殊要求单个管脚的上拉或下拉可以取10k,多个管脚或其他具体情况可以参见下面的条目和以及进行计算确定。10规定对使能内部上拉的ISP MACH 4000型EPLD,以及和Cyclone型FPGA通用IO管脚连接的网络,下拉电阻采用1K,上拉电阻可选择10K。11推荐数据总线的下拉不宜使用太大的电阻,推荐使用1K。12规定OSC的ST_N管脚应该加上拉电阻(推荐值为1k,建议直接调用晶振滤波模块电路)。13规定对背板输出的驱动器,如果其OE端需要控制,应采用电阻设置为输出无效状态。对于常见的244器件,OE*应该采用电阻上拉。14规定参照器件的Datasheet将所有控制脚通过电阻进行上拉或下拉,特别是芯片的OE /CE端。15规定Enable、Set、Reset、Clear和三态器件输出的上拉、下拉正确16推荐上下拉电阻放在接收端器件处。对于1个驱动多个接收的网络,非特殊需要只放置1个上下拉电阻。若接收器件全部放置在同一页面,在接收器页面放置上下拉电阻;若接收器件分布在不同页面上,在驱动器端放置上下拉电阻。17规定避免使用一个排阻同时对信号进行上拉和下拉。18规定如果总线可能处于浮空状态,那么总线需要有上拉电阻或下拉电阻,保证在没有器件占用总线时,总线能处于一个有效电平,以降低器件功耗和干扰。19规定UART器件16C55X,如果不使用其DSR、DCD、CTS信号,需要进行下拉,使信号为有效状态,避免自动流控制的器件不能正常工作。20规定PCI的三态和OD、OC信号要有上拉。21规定PCI总线设计中FRAME#, TRDY#, IRDY#, DEVSEL#, STOP#, SERR#, PERR#, LOCK#,INTx#, REQ64#和 ACK64#等信号需要采用合适的电阻进行上拉处理。上拉的阻值须依照负载情况计算。22规定避免输入信号的缓慢变化(如按键复位信号),对缓慢变化的信号需要使用施密特触发器输入的器件进行驱动。23规定设计中应防止上电及正常工作时出现总线冲突。对于可能出现冲突的情况,应采用互斥设计,确保不会因为软件问题导致冲突。24规定和背板直接相连的驱动器必须满足热拔插要求(我们要求有OE端控制,上电三态、关断电流控制)。25推荐MCS-51单片机的总线及端口需要加驱动。驱动器选型禁止采用总线保持器件或者内置下拉电阻的器件。26推荐原则上不推荐使用总线保持器件或者启用可编程器件的总线保持功能。27推荐具有BUS-HOLD特性的器件,通过外接上拉或下拉电阻实现状态预置时,电阻取值不宜过多于3K,推荐采用1K电阻。28提示BUS HOLD器件,不论其输出端口处于何种状态,其输入端口的BUS HOLD特性一直有效。对于双向器件,其两个方向端口在输出高阻态下输入Bus Hold特性一直有效。29规定与背板相连的普通逻辑电平信号,如非特别要求,需要采用串接电阻;背板输入的信号,为防止当发送端关断、未插、掉电时悬空,应采用上拉或下拉电阻,选择上拉还是下拉的原则是一块板的局部失效不会对其他板产生严重影响。信号完整性优先30推荐一般情况下背板接口输出串联电阻选取33.2欧姆(或33欧姆排阻),输入串联电阻选择100欧姆电阻或者排阻。对于既有输出又有输入的信号,如果单板布线布局困难,可以考虑采用一个33欧姆电阻;对于总线型拓扑负载多于4个时,应根据SI仿真测试结果选取电阻;对于需要把发送到背板的信号收回来的拓扑,必须在33驱动器输出端直接输入,不得在33欧姆电阻后接收。信号完整性优先31推荐背板输入信号缓冲器应用下拉电阻和串阻。背板输入信号缓冲器下拉电阻取10K,串阻取100欧姆。背板输入信号缓冲器输入先下拉再经过串阻,设计上会具有更大的灵活性。设计中应严格遵守产品设计约定。32推荐对于总线保持器件或者输入内置上下拉的器件,未用输入管脚悬空处理。时钟设计编号级别条目内容备注1规定对于输出多于5个的时钟驱动芯片,电源推荐采用磁珠滤波,磁珠后应该添加电解电容和足够的陶瓷去耦电容,布局时推荐局部铺一小块铜皮。2推荐时钟芯片的电源和地参考器件手册处理。对锁相环电源采用磁珠滤波的,磁珠后应该采用多级陶瓷去耦电容以保证电源低阻抗。3推荐单板50MHz以上时钟驱动器件未用管脚,备用放置不大于15pF的电容接地平面。该电容缺省不焊,如果EMC测试高频辐射超标,可以焊上调试。参见说明4推荐时钟驱动器件未用管脚对平面电阻/电容采用分立器件,不得使用排阻排容。5规定时钟信号网络必须采用合适的端接方式。6推荐时钟网络推荐采用点对点,源端端接方式。7规定当接口标准或器件对时钟网络等布线有要求时,依照接口标准或器件要求执行。8规定锁相环串联使用,须注意不会引发谐振。9推荐不推荐使用多通道输入时钟驱动器驱动不同时钟。10推荐板间传输的时钟信号,上单板后在时钟的输入端备用去回钩电容。11推荐子卡与母板间传输的时钟,应保证子卡不在位时,时钟输入不悬空,时钟的输出有匹配。12推荐对于VCXO,如果要求宽的牵引范围(如±90ppm),不要选用3次泛音晶振。保护器件应用编号级别条目内容备注1规定TVS管的最大钳位电压VCMAX应不大于电路的最大允许安全电压。2规定TVS管的最大反向工作电压VRWM应不低于电路的最大工作电压,一般可选VRWM为电路最高工作电压的1.1~1.2倍。3规定TVS管的额定最大脉冲功率必须大于电路中出现的最大瞬态浪涌功率。4规定对于高速链路,需要考虑TVS管结电容的要求5规定注意单向和双向TVS管的选择。6规定在RS-232链路中必须采用双向TVS管。TVS管放在信号线串联电阻外侧,单板入口处;串联电阻靠近232接口器件放置。7规定TVS器件的选型时要考虑器件的响应时间满足要求。8规定当TVS和压敏电阻联合使用进行浪涌保护时,压敏电阻的压敏电压要低于TVS的钳位电压VC。9规定保护器件应与被保护器件接在相同的地平面。如采用变压器隔离,隔离变压器初次级两侧的器件要分别接对应的参考地。10规定PTC与TVS配合使用时,PTC要能及时动作,对TVS进行过流保护,同时,PTC本身也要能够满足工作电压的要求。11规定对于需要出机框的信号线(例如勤务电话、网线、E1线、232、485等等),需要添加保护电路或者进行隔离;对于在机架内部的信号线一般不需要添加保护电路。可编程逻辑器件编号级别条目内容备注1推荐FPGA的LE资源利用率要保证在50%~80%之间,EPLD的MC资源的利用率要保证在50%~90%之间。对于FPGA中的锁相环、RAM、乘法器、DSP单元、CPU核等资源,经过精确预算,允许使用到100%。2推荐预留一定数量的测试IO(一般推荐不小于实际使用的IO数的10%),测试IO中要有一定量(不少于40%)要连接在测试针上。根据逻辑的复杂程度和管脚占用情况、版面紧凑程度可以斟酌安排。第一版测试针可以多留一些,稳定之后的版本可以少一些。3规定可编程逻辑器件的输入时钟至少有一个本地的不间断时钟。CPU接口等部分的设计,必须采用本地时钟完成。4规定对于逻辑芯片的输入时钟,如果使用内部锁相环,必须保证时钟的输入频率、占空比、抖动、输出频率满足锁相环要求。锁相环电路尽量按照芯片提供的参考电路设计。5规定对于可编程逻辑器件的悬空管脚(包括测试管脚、设计裁减导致的悬空输入等),必须确认其在正常工作中不能悬空。6推荐Lattice ISP Mach4000系列器件,建议使能内部上拉,外部上拉采用10K,下拉采用1K设计。参考上下拉部分规范7推荐一般情况下,Cyclone器件外围上拉可采用10K,下拉采用1K设计,避免下载之前出现不定态电平。参考上下拉部分规范8提示Cyclone器件设计时应对可能悬空的输出管脚使能内部上拉。9规定PLD设计中,不推荐使用可编程的总线保持功能。10规定EPLD/FPGA的专用输入管脚(时钟输入管脚)不要悬空11规定FPGA的Done指示管脚(包括Conf_Done和Init_Done信号)需要被监控。12规定不要用特殊管脚当做普通的IO使用。13规定FPGA全局时钟输入必须从全局时钟输入管脚引入;其他时钟信号也应尽量从专用时钟输入管脚引入;全局复位以及其他全局信号尽量从专用的全局引脚引入。14规定逻辑芯片的nConfig、Conf_Done和nStatus管脚应上拉,电阻选择参考手册规定。15推荐为了防止FPGA的nConfig信号受到毛刺干扰,导致逻辑芯片异常掉逻辑,可在nConfig管脚加一个RC电路。RC电路靠近FPGA防止16规定对于采用AS模式下载的设计,要保证nConfig的上升沿落在3.3V电源稳定之后。17提示可能的话提供一定的慢速时钟给EPLD/FPGA,在长定时时可以节省资源。电源设计编号级别条目内容备注1规定热拔插系统必须使用电源缓启动设计。2推荐在压差较大或者电流较大的降压电源设计中,建议采用开关电源,避免使用LDO作为电源。对纹波要求较高的场合中,可以采用开关电源和LDO串联使用的方法。3规定LDO输出端滤波电容选取时注意参照手册要求的最小电容、电容的ESR/ESL等要求确保电路稳定。推荐采用多个等值电容并联的方式,增加可靠性以及提高性能。4推荐电源滤波可采用RC、LC、π型滤波。电源滤波建议优选磁珠,然后才是电感。同时电阻、电感和磁珠必须考虑其电阻产生的压降。5规定大容量电容应并联小容量陶瓷贴片电容使用。6规定电源必须有限流保护。7推荐升压电源(BOOST)使用必须增加一个保险管以防止负载短路时,电源直通而导致整个单板工作掉电。保险的大小由模块的最大输出电流或者负载最大电流而定。8规定单板输入电源要有防反接处理,输入电流超过3A,输入电源反接只允许损坏保险丝;低于或等于3A,输入电源反接不允许损坏任何器件。9规定电源禁用磁饱和电路;禁止选用采用磁饱和电路的电源模块。10规定对于多工作电源的器件,必须满足其电源上掉电顺序要求。11提示多个芯片配合工作,必须在最慢上电器件初始化完成后开始操作。12推荐采用SO-8封装的LDO(如MIC5209BM),用于密封环境时,为保证热应力降额满足要求,通常热耗不应超过0.3W。以可靠性工程师热设计为准13提示电源控制芯片JTAG下载口单独引出。14推荐在存在分板工艺,以及需要过波峰焊的单板上,-48V电源滤波尽量避免使用贴片陶瓷电容,必须使用的要保证布局时避免电容受到过多机械应力。15规定单板电源引出单板使用,应该添加限流保护措施,避免外部负载短路造成单板无法 正常工作。16推荐电源模快/芯片感应端在布局时应采用开尔文方式。17提示三端稳压器输出到输入应该有反向泄放二极管,防止掉电时损坏器件。18提示不允许出现过大压差的不同电源之间,可用二极管限制压差。其他应用经验编号级别条目内容备注1规定使用CY2302时钟驱动器,应注意如果对输入输出时钟的相位要求一致,那么必须选择OUT2反馈、OUT1输出。2规定有极性的耦合电容注意其直流偏置电压,尤其是串联电感使用时应防止反向电压的产生。3规定电容的耐压和温度降额都必须满足公司降额要求。工作温度升高,电压的降额程度要增大。4规定电阻的功率和温度降额都必须满足公司降额要求。工作温度升高,功率的降额程度要增大。5规定ADM706R在使用中应该将PFI直接接电源,避免器件上电时进入测试模式。公司通用电路采用上下拉设计。在ADM706更改设计之前,我部门指定不使用ADM706R器件,采用MAX706避免此问题。6规定MPC860 的TRST*设计时接/PRESET,避免器件上电时进入测试模式。7规定860的TA上拉要1K,不能太大。8规定在使用MPC860的设计中,如果只对MPC860硬件复位配置字用到的部分数据线通过硬件复位配置字驱动器进行驱动,其他数据线默认为MPC860内部下拉,那么MPC860的数据总线不能使用带总线保持功能的驱动器。9规定系统应对指示灯颜色、状态进行规定。指示灯设计,绿灯亮/灭表示正常或者工作状态,红灯亮表示有告警,灭表示无告警。特殊情况下允许采用黄灯指示。除非外观需要,不推荐采用其他颜色的指示灯。10规定面板灯必须经过驱动器进行驱动,应该采用低电平有效方式点灯(纯电源板另外考虑)。11规定面板指示灯/输入输出外部信号不与单板内重要信号共用驱动器。12规定面板灯5V使用510欧姆左右的电阻,3.3V使用330欧姆左右的电阻。电阻应在公司通用件库中选取常用器件。13规定单板内部3.3V指示灯推荐统一采用1K限流电阻。14规定内部电源指示灯,如果电源电压低于2V,必须经过三极管驱动发光二极管。15规定面板灯(拨码开关、按钮)等上串接的电阻必须接在驱动器和指示灯(开关、按钮)之间,电阻靠近驱动器放置,避免外界干扰对驱动器的冲击。16推荐单板内部指示灯推荐使用低电平驱动指示灯,驱动能力足够时可以采用高电平点灯,选择主要从节省成本角度出发。17规定单板内必须有电源指示,逻辑下载指示灯18规定ADC和DAC的模拟地和数字地引脚,在外面应该用最短的连线接到同一个低阻抗的接地平面上。19提示以太网非点对点连接时。PHY器件的驱动能力在器件的允许范围内要调到最大。20规定正确配置CPU的上电配置管脚,配置管脚通过电阻上拉或下拉。(配置的内容主要包括:BOOT的数据宽度、FLASH的数据宽度、时钟的工作模式、地址映射模式、PCI的主从模式、PCI仲裁使能、BOOT是从LOCATION BUS还是PCI上启动、锁相环时钟配置、输出阻抗等)21规定MOSFET的栅极(Gate)串10欧姆电阻可有效抑止振荡;MOSFET并联使用时,每个MOSFET的栅极要分别串10欧姆电阻。电阻尽量靠近栅极放置。22规定与MOSFET栅极并联的ZENER二极管可能会引发振荡,要将其连接到栅极串阻的外侧。23规定与MOSFET栅极并联的电容可能会引发振荡,要将其连接到栅极串阻的外侧。注意并联电容减慢了开关的速度,增加了MOSFET 并联应用时的不平衡。24提示保证MOSFET的栅极驱动类似一个电压源,具有尽可能小的阻抗。25提示漏极和源极间并联阻容缓冲器或并联齐纳二极管和电容的串联吸收电路,这样在管子关断时漏极电流较快减小,使漏源极之间的电压在击穿电压值之下,起到保护管子的作用。26提示应减小MOSFET栅极电压的上升时间,使MOSFET尽量少的时间处于负温度系数区域,从而降低热失控的危险。27提示MT9040、IDT82V3001A等锁相环上电后或输入参考频率改变后必须复位锁相环。28规定继电器线圈、风扇电机绕组等感性负载必须有续流二极管。29规定继电器线圈工作电压不允许降额使用,继电器在应用中应注意是线圈是否有极性要求,避免退磁。30提示继电器电路在设计中,应尽量让继电器长期处于释放状态,减小功耗,并减小线圈温升降低寿命的概率。31提示要保证光电耦合器能可靠地工作在开关状态, IF取值不能太小(可取值CTR最大值对应IF的40%左右),并且集电极负载电阻要满足如下的关系式:(VCC-VIL)/(CTR(min)*IF-II) £RL£ (VCC – VIH)/( ICEO + II)。32规定按键、跳线、拨码开关与IC端口之间串接小电阻(推荐100欧姆)或并接TVS管做ESD防护。推荐采用电阻以节省成本。对于上下拉都有电阻的设计方式,可将电阻放在跳线和器件之间作为保护。33规定运算放大器设计为放大器时,同相输入和反相输入端的输入等效电阻要一致,减小输入偏置电流和误差电流引起的的误差和噪声。34规定ADC、DAC如果使用外部电压参考,应注意参考电压的精度和稳定性,只有在要求不高的情况下才可以采用电源作为参考电压,并且必须经过滤波。35推荐单板上有多个处理器或高速器件,并且各处理器/高速器件对时钟同相工作无要求时,各器件的时钟相位尽量错开,减少同时动作的逻辑门数量,降低瞬态工作电流,从而降低单板或系统的EMI。36提示三态/OC/OD时分数据/状态总线释放时应注意释放速度的问题。37规定非变压器隔离的差分信号,例如RS-485信号,LVDS信号等,发送和接收侧必须采用相同的参考地。383 可靠性设计 编号级别条目内容备注1规定钽电容的耐压要降额到1/3以下。2推荐纹波电流大和冲击电流大可能引起钽电容失效,故冲击电流场合慎用钽电容,热插拔等电源瞬变场合谨慎选用钽电容。3推荐避免使用大容量钽电容;可用并联的形式。4规定钽电容失效易产生明火,故避免明火的场合慎用钽电容。5规定电源模块选型时,应确保电源模块上的钽电容符合降额标准。6规定工业级及商业级器件在实际使用中,结温降额应采用同样的降额标准,以确保实际使用中具有较高的可靠性水平。7规定面板监控线缆必须加入防静电保护电路(调用部门模块电路)。8推荐单板上关键芯片、功耗较大IC,附近预留接地插座以备未来加装散热器接地用9规定散热器尽量多点、低阻抗、短距离接工作地平面。散热器与支柱、螺钉等的连接处采用星月孔与工作地平面连接;10规定LDO等芯片的散热体如果是接在电源脚上时,与之接触的散热器应该多点接到该电源上。11规定器件或模块对散热器接地有明确要求时,按要求接地。如:带铝基板电源模块的基板和安装孔及散热器要接保护地。12规定单板上无法实现将散热器接地方式处理时,散热器可以采用浮空方式。13规定同轴电缆的外屏蔽层,屏蔽电缆的屏蔽层可以通过接口接保护地14规定明确标注金属壳体的处理方式15推荐器件带有金属壳体的引脚,将引脚连接到相应的地上。ESD防护器件接地端、金属外壳的元器件的金属外壳、屏蔽装置接到静电防护与屏蔽地;具有金属壳体而人手又经常接触的部件如接插件等部件,其金属壳体应与接地的机壳或底板紧密相连。内部电路在靠近这些部件的部位,应采用大面积接地。16推荐如果上面的规则实现困难,推荐金属壳体接地的优先顺序:通过泄放电阻连接到屏蔽地&gt;保护地&gt;工作地17提示对于一些敏感电路,设计中应进行容限分析,以确认器件选型满足电路容限要求。18规定单板保险丝降额合理(额定电流降额至少50%,标称熔断热降额至20%),应放在保护器件的前面。对于可能工作于温度较高环境的设计,必须充分考虑保险丝降额。19提示对于冲击电流很大的场合,保险丝不能按照标称的熔断热计算。有案例表明,即使很大降额,仍然不能满足要求。厂家不能解释。增加缓启动是根本方法,不能加缓起可以考虑不用保险丝。20规定尽量不采用无锁定装置的连接器,必须使用时需评审。21提示跳线帽和拨码开关等机械器件存在可靠性,腐蚀等多方面问题,且失效模式通常容易使系统进入不正常的分支。尽量避免使用,通过电阻的方式用料单区分。4 信号完整性/电源完整性设计 编号级别条目内容备注1提示选择更不易造成信号完整性问题的接口方式/器件。2规定关键路径经过时序设计,具备时序分析报告。凡涉及时序控制的电路,比如CPU/FPGA/专用IC访问外挂存储器等必须进行时序分析。时序设计另行规定3规定满足以下任意一项或多项的网络必须附带信号完整性前仿真分析报告:时钟信号;频率较高;有较严格的时序要求;对边沿单调性有要求(边沿敏感信号);网络拓扑复杂(带有多个分支和负载);对过冲等敏感(参见器件手册);相关标准对信号质量有要求。SI仿真另行规定4推荐采用16244驱动器驱动变化信号,建议在驱动器输出添加33.2欧姆电阻或者33欧姆排阻。5提示有一些可编程逻辑器件可以设置输出的驱动强度、电流等参数,通过合理设置可以改善信号完整性。6提示如果时序允许,应将可编程逻辑器件的输出摆率设置为慢摆率。7推荐读写信号的驱动拓扑应尽量简化,必要应采用多个驱动器的方法简化拓扑,并进行信号完整性仿真,采用合适的端接。8推荐可编程逻辑器件,输出交变信号时应进行端接。不便端接的信号应采用设置电流、摆率等方式改善信号完整性。9提示单向的片选等信号,可以采用源端端接。10规定EPLD/FPGA输出的UART时钟等交变信号,必须进行端接。11规定电源上电解电容的数目应该满足电源完整性要求。12规定去耦电容的设计满足对工作电源的目标阻抗的要求,并按PI分析报告实施。PI设计另行规定13推荐考虑为换层、穿越平面割裂的信号配置旁路电容。14推荐在需要对电源完整性进行测试的位置,放置电源完整性测试点。15规定对处理器等大规模关键器件,必须放置电源完整性测试点。5 系统相关设计编号级别条目内容备注1规定单板接口设计要和设计规范保持完全一致。2规定背板插座上本板没有使用的PIN,不要连接到单板内的任何网络。3规定热插拔系统的接口不应采用不支持插拔的标准。4规定热拔插系统避免使用I2C总线。如因历史原因使用I2C总线,电源须采用二极管防止电流反灌。5规定背板输入的TTL/CMOS控制信号应该设置成高电平有效,一般情况处于低电平。6规定单板输出到背板的总线信号以及主备单板公用的信号,在单板上电前、单板异常状态下处于高阻态,各控制和状态信号符合设计方案约束。7规定单板在局部掉电时不应出现器件损坏,不影响其他单板总线信号。8推荐在基本不增加成本的情况下,在第一版设计时,建议保留可调部分设计,并增加可调部分的设计和冗余设计,要尽量多的增加可调部分的设计。如,通过电阻或跳线实现灵活的功能选择、尽量多的引出测试点、合理使用器件的空闲管脚增加器件之间的冗余通道(特别是逻辑器件之间),不同器件方案验证的兼容设计等。9规定单板运行时不需要进行调节的地方一律不用可调器件。10推荐设计应保证所有测试使用的跳线帽、跳线针在最终产品中不需安装。11规定系统设计阶段必须进行系统级信号完整性设计,尽量避免复杂拓扑,对每块单板接口的拓扑进行约束,时钟等关键信号尽量采用点对点方式传送。12规定系统设计阶段必须进行系统接口时序设计,考虑连接器、变化负载、温度、信号完整性等带来的波动,留出充分时序裕量,并规定各单板接口时序。13规定RS-485应考虑Fail Safe设计,在空闲时差分电平应为200mV以上。14提示RS-485上拉或下拉偏置电阻的选择要注意器件的驱动能力。15提示RS-485总线要考虑总线上多块单板并联时总线上负载的影响。16推荐单板能够检测自己输出的数据、时钟,方便故障定位。17规定应能够承受可能出现的最大电流 (包括热插拔时的电流)。插座有额定电流的参数,插座电源的针承受最大电流不得超过其额定电流,并要求有一定的降额。例如欧式48PIN的插座,每根针通过的电流不得超过1A。18推荐面板的RUN,ALARM灯用软件来控制,其他灯由硬件控制点亮。19推荐子卡连接器定义时,不用的插针接地,分布分配,减小信号线间互感串扰。20推荐E1接口RING接地遵守公司惯例,发端接地,收端建议可配置为直接接地或者通过电容接地。可以套用公司模块电路的,依照公司模块电路实施。21规定需要热拔插的接口,在连接器选型时必须保证工作地先于信号和电源连接。推荐的顺序为地线-电源-信号。22规定用于电缆互连的连接器,设计时注意信号引脚之间定义足够的地信号,以减小回流路径,降低信号之间的串扰,特别是电缆中的时钟信号和小信号要用地线与其它信号隔离。23推荐系统设计时主控单板和受控单板间增加少量备用的信号线,在背板上予以设计,以提高系统的可升级性。24提示资源板用量较大,尤其要考虑成本因素,尽量采用可裁剪配置的设计方法。综合器件平滑升级设计的原则,尽量选择成本较低器件。25推荐单板应采用面板扳手状态监控电路监控面板扳手状态,并定义背板连接器左上角、右上角、左下角、右下角四根针为查拔到位指示信号。面板监控电路应采用防静电模块避免静电骚扰。26提示主备单板切换应尽量减少对系统的影响:负责时钟分发单板应考虑时钟不丢失,不错误;复位、拔出主用单板应考虑尽量检测到操作并在复位、拔插前发起主备倒换;拔出、插入备用单板不应对主板工作产生影响。参见说明分析6 可生产性设计 编号级别条目内容备注1规定选用的器件必须满足公司生产工艺要求,布局须通过公司工艺技术人员审核。2规定静电敏感器件慎用,如果采用要加防静电保护措施。3规定放置数量恰当的Mark点,数量参考原理图设计规范确定。4规定双面贴焊的单板,在选择器件时尽量使用贴片器件,不使用插装器件。尽量使单板采用双面回流焊工艺。5规定除非信号完整性特殊要求,背板上一般不应放置串阻等器件。背板尽量采用压接连接器,避免焊接连接器。6提示选用器件应注意器件的潮敏等级,必要时注明以保证生产加工可靠性;其间选型时避免选择潮敏等级高的器件。7推荐因为焊接温度不同,尽量避免板内有铅无铅工艺器件混用。87 可测试性设计 JTAG编号级别条目内容备注1规定含JTAG口的器件都需要使用事业部规定的JTAG接口电路,单板提供JTAG插座。2规定芯片的JTAG口管脚TDI,TMS,TCK,TRST(若有)可控,不能悬空或直接拉低/拉高(注意芯片内部的上/下拉电阻)。3规定芯片的TCK,TMS的驱动能力满足扫描链路的要求。4规定芯片的BSDL文件要齐全、完整和正确。5推荐多个同样的芯片,设计JTAG串行链路。6规定不同芯片,单独设计JTAG链路。7提示设计中TRST*管脚注意正确上拉或下拉,确保测试模式不被启动。8提示电源控制芯片JTAG下载口单独引出。9提示Xilinx Spartan III器件的JTAG接口为2.5V,设计中须防止过压。测试点编号级别条目内容备注1规定测试点满足康讯的可测试性要求。应设置充分的内部和外部测试点,以便给测量、故障检测和故障隔离提供手段。测试点应有尽量明显的标记。2规定电源和地必须有足够的通孔测试点,要求每一种电源都至少有一个测试点,地的测试点至少每10cm一个,要求平均分布在单板上。3推荐高频时钟信号或高速信号的测试点旁边应放置接地测试点;信号的测试点应该放在接收端。4规定时序较为复杂的信号要求每个信号都引出测试点,以方便单板测试。布局时必须注意测试点(包括ICT测试点)引入的分岔尽量短,不得影响信号的信号完整性。对速度很高的信号,必须考虑测试点引入的阻抗不连续对信号的影响。5推荐多针测试点,空余的管脚应接地处理。6规定向PCB提供不焊接插装器件清单。电路可测试性编号级别条目内容备注1规定时钟电路或振荡器电路的输出可控。2规定数字器件特殊引脚需要全部独立处理。3推荐反馈回路可以断开。系统可测试性编号级别条目内容备注1规定对输入单板内的时钟进行检测。2规定对从背板输入或输出至背板的数字IO信号线的可以控制3推荐CPU能够检测输入单板的信号状态,便于实现系统互联时的测试。 整理自百度文库《CDMA事业部设计开发部电路设计规范》声明: 声明:本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。来源:硬件笔记本

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈