硬件工程师考试试题-答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬件工程师考试试题答案
模拟电路
1.基尔霍夫定理的内容是什么?
a.基尔霍夫电流定律:在电路的任一节点,流入、流出该节点电流的代数和为零.基尔霍
夫电压定律:在电路中的任一闭合电路,电压的代数和为0.
b.公式:I1+ I2+I3+In=I OUT
2.设计一个20倍运放,说明高频运放及低频运放区别,在选用运放时注意哪几个参数?
a.
b. 低频运算放大器工作频率,相对频带宽度却很宽,自20 Hz至20KHz,高低频之比1000 。高频运算放大器工作频率高,几百KHz万MHz,相对于其中心频率却较窄。如果高频运算放大器用于低频电路,就会产生很大的高频噪声,所以用时注意。
c.差模放大倍数大、差模输入电阻大、共模抑制比CMMR
高;输入失调电压及其温漂、输入失调电流及其温漂小,以及噪声小。
3.画出如下B点的波开:
B
4.什么叫差模信号?什么叫共模信号?在设计电路中如何处理差模干扰及共模干扰?设
计逻辑门电路及运放大器时,悬空引脚如何处理?
a.小相等、极性相反的一对信号称为差模信号。差动放大电路输入差模信号(u il =-u i2)
时,称为差模输入。两个大小相等、极性相同的一对信号称为共模信号。差动放大电路输入共模信号(u il =u i2)时,称为共模输入。在差动放大器中,有用信号以差模形式输入,干扰信号用共模形式输入,那么干扰信号将被抑制的很小。
b.差模干扰设计正负2条信号线紧靠,2条信号线平行,包地走线;共模干扰设计增加屏
蔽,布线远高电压大电流走线,采用稳定的电源和高品质开关电源(低噪声电源)。c.逻辑门电路时,悬空引脚应接高电平;运放大器悬空引脚正极端接运放输出,负端接低电平。
数字电路
5. 用逻辑门画出D触发器,实现2倍分频的逻辑电路?(verilog HDL实现)
a.
b. module divide2( clk , clk_o, reset);
input clk , reset;
output clk_o;
wire in;
reg out ;
always @ ( posedge clk or posedge reset)
if ( reset)
out <= 0;
else
out <= in;
assign in = ~out;
assign clk_o = out;
endmodule
6.如何用串行数字接口转换并行数字接口?如何用并行数字接口转换串行数字接口?并
举例说明
7.你知道那些常用逻辑电平?TTL 与COMS 电平可以直接互连吗?用C语言描述
RS232通信数据。(协议)
a.常用的电平标准,低速的有RS232 、RS485、RS422、TTL、CMOS、LVTTL、L
VCMOS、ECL、ECL、LVPECL 等,高速的有LVDS、GTL、PGTL、CML、H STL、SSTL 等。一般说来,CMOS电平比TT电平有着更高的噪声容限。如果不考虑速度和性能,一般TTL 与CMOS 器件可以互换。但是需要注意有时候负载效应可能引起电路工作不正常,因为有些TTL电路需要下一级的输入阻抗作为负载才能正常工作。
b.
int OpenComm(char * commstr,char * boundstr)
{
struct termio t;
char filename[20];
int comid;
#ifndef SCOUNIX_SYS
sprintf(filename, "/dev/tty%s", commstr);
#else
sprintf(filename, "/dev/tty%da", (*commstr) - 'a' + 1);
#endif
comid=(int)(tolower(*commstr)-'a');
if(comid<0||comid>;10)
{
printf("system unable to open %s!\n", filename);
return 0;
}
if((mFd[comid] = open(filename, O_RDWR )) < 0)
{
printf("system unable to open %s!\n", filename);
return 0;
};
if(ioctl(mFd[comid], TCGETA, &t) < 0)
{
printf("system unable to open %s!\n", filename);
return 0;
};
if(fcntl(mFd[comid],F_SETFL,O_NDELAY)<0)
{
printf("system unable to open %s!\n", filename);
return 0;
};
t.c_cflag = CLOCAL | PARENB | CS7 | CREAD |ChkBound(boundstr); t.c_iflag = IGNCR |BRKINT | IGNPAR | IXON | IXANY | IXOFF;
t.c_oflag = OPOST ;
t.c_lflag = 0;
t.c_line = 0;
t.c_cc[4] = 1;
if(ioctl(mFd[comid], TCSETA, &t) < 0)
{
printf("system unable to open %s!\n", filename);
close(mFd[comid]);
return 0;
}
printf("system open %s: handle: %d successfully!\n", filename,mFd[comid]); return 1;
}