在V29的版本上升级。发布日期2011-08-19. -------------------------------------------------------------------------------- 欢迎使用免费软件《串口猎人》V31 ! -------------------------------------------------------------------------------- 友情提醒1:本软件如有新版本,将发布到我的博客《匠人的百宝箱》,欢迎光临! 友情提醒2:点击右侧【清除】按钮,可清除本帮助信息。清除后如想再次查阅,请重启软件。 -------------------------------------------------------------------------------- 《串口猎人》功能简介 -------------------------------------------------------------------------------- 一、基本功能 1、支持16个COM口、自动/手动搜索串口、串口参数的设置和查看。 2、支持查看或修改串口控制线(DTR、RTS、DCD等等)的状态。 3、支持基本的收、发、查看、保存、载入、清除等功能。 4、两种收发格式:HEX码/字符串,支持中文字符串。(英文=ASCII码,中文=ANSI(GBK)码)。 5、大容量的收码区,为了加快显示速度会把超过10K的数据自动隐藏(可以点击【全显】钮查看)。 6、收码区的显示方式可以灵活设置:原始接收数据、按帧换行、通道数据、发送数据。 7、可以为收到的数据标注时间和来源。 8、可以自动比对发码区和收码区的数据是否一致(用于自发自收测试模式)。 9、收码区的内容,可以点击【转发】钮转到发码区。 10、可以在每次发码之前自动清除收码区。 二、高级发码功能 1、自动发列表功能:支持多组(最多16组)数据的轮流发送。 2、自动发文件功能:支持文件逐行发送。 3、轮发规则可以灵活设置,比如可以定时发,也可以收到应答后立即发。 4、轮发的间隔、无应答重发次数和循环次数均可灵活设置。 5、灵活的帧格式设置。支持自动添加帧头、帧尾、帧长、校验、回车换行符。 6、帧头、帧尾、帧长、校验,是否要参与校验或计入帧长,皆可灵活设置。 7、支持3种校验方式:SC(累加和校验)、LRC(纵向冗余校验)、BBC(异或和校验)。 8、校验码和帧长的长度,可以选择单/双字节。 三、高级收码功能 1、支持按帧接收数据。 2、能自动进行帧结束判定(方式非常灵活,可以按帧头、帧尾、帧长或时间)。 3、即时显示最新一帧内容。 4、拥有八个独立接收通道,可以自动从指定帧中指定位置收取有效数据。 5、每个通道的数据,可以独自显示、保存、清除。也可以送到收码区去显示。 6、可以设置通道收取数据的首地址、字节长度(单字节或多字节)、码制(HEX/BCD)、符号位形式。 7、示波器功能,可把收取的数据用波形方式显示。示波器的通道数、倍率、偏移、周期、颜色和线宽等可调。 8、码表功能,可把收取的数据用码表方式显示。(可以设置码表的最大/最小值和报警值)。 9、柱状图功能,可把收取的数据用柱状图方式显示。(也可以设置最大/最小值和报警值)。 10、可以把实施绘制的图形保存为图片。 四、其它贴心设计 1、用户的设置内容,可以保存/载入或恢复默认值。可以选择启动时载入默认值还是上次设置值。 2、可以通过提示区和状态指示了解软件当前工作状态。 3、当鼠标停留在按钮、文本框或其它控件上,会获得必要的提示。 4、右下角的图钉按钮,可以把窗口钉在最前面,避免被其它窗口覆盖。 5、附送串口电路、协议、码表等参考资料。 6、在【版权信息】标签页有匠人的联系方式,欢迎交流。
上传时间: 2013-07-28
上传用户:lili1990
PCB 布线原则连线精简原则连线要精简,尽可能短,尽量少拐弯,力求线条简单明了,特别是在高频回路中,当然为了达到阻抗匹配而需要进行特殊延长的线就例外了,例如蛇行走线等。安全载流原则铜线的宽度应以自己所能承载的电流为基础进行设计,铜线的载流能力取决于以下因素:线宽、线厚(铜铂厚度)、允许温升等,下表给出了铜导线的宽度和导线面积以及导电电流的关系(军品标准),可以根据这个基本的关系对导线宽度进行适当的考虑。印制导线最大允许工作电流(导线厚50um,允许温升10℃)导线宽度(Mil) 导线电流(A) 其中:K 为修正系数,一般覆铜线在内层时取0.024,在外层时取0.048;T 为最大温升,单位为℃;A 为覆铜线的截面积,单位为mil(不是mm,注意);I 为允许的最大电流,单位是A。电磁抗干扰原则电磁抗干扰原则涉及的知识点比较多,例如铜膜线的拐弯处应为圆角或斜角(因为高频时直角或者尖角的拐弯会影响电气性能)双面板两面的导线应互相垂直、斜交或者弯曲走线,尽量避免平行走线,减小寄生耦合等。一、 通常一个电子系统中有各种不同的地线,如数字地、逻辑地、系统地、机壳地等,地线的设计原则如下:1、 正确的单点和多点接地在低频电路中,信号的工作频率小于1MHZ,它的布线和器件间的电感影响较小,而接地电路形成的环流对干扰影响较大,因而应采用一点接地。当信号工作频率大于10MHZ 时,如果采用一点接地,其地线的长度不应超过波长的1/20,否则应采用多点接地法。2、 数字地与模拟地分开若线路板上既有逻辑电路又有线性电路,应尽量使它们分开。一般数字电路的抗干扰能力比较强,例如TTL 电路的噪声容限为0.4~0.6V,CMOS 电路的噪声容限为电源电压的0.3~0.45 倍,而模拟电路只要有很小的噪声就足以使其工作不正常,所以这两类电路应该分开布局布线。3、 接地线应尽量加粗若接地线用很细的线条,则接地电位会随电流的变化而变化,使抗噪性能降低。因此应将地线加粗,使它能通过三倍于印制板上的允许电流。如有可能,接地线应在2~3mm 以上。4、 接地线构成闭环路只由数字电路组成的印制板,其接地电路布成环路大多能提高抗噪声能力。因为环形地线可以减小接地电阻,从而减小接地电位差。二、 配置退藕电容PCB 设计的常规做法之一是在印刷板的各个关键部位配置适当的退藕电容,退藕电容的一般配置原则是:?电电源的输入端跨½10~100uf的的电解电容器,如果印制电路板的位置允许,采Ó100uf以以上的电解电容器抗干扰效果会更好¡���?原原则上每个集成电路芯片都应布置一¸0.01uf~`0.1uf的的瓷片电容,如遇印制板空隙不够,可Ã4~8个个芯片布置一¸1~10uf的的钽电容(最好不用电解电容,电解电容是两层薄膜卷起来的,这种卷起来的结构在高频时表现为电感,最好使用钽电容或聚碳酸酝电容)。���?对对于抗噪能力弱、关断时电源变化大的器件,ÈRA、¡ROM存存储器件,应在芯片的电源线和地线之间直接接入退藕电容¡���?电电容引线不能太长,尤其是高频旁路电容不能有引线¡三¡过过孔设¼在高ËPCB设设计中,看似简单的过孔也往往会给电路的设计带来很大的负面效应,为了减小过孔的寄生效应带来的不利影响,在设计中可以尽量做到£���?从从成本和信号质量两方面来考虑,选择合理尺寸的过孔大小。例如¶6- 10层层的内存模¿PCB设设计来说,选Ó10/20mi((钻¿焊焊盘)的过孔较好,对于一些高密度的小尺寸的板子,也可以尝试使Ó8/18Mil的的过孔。在目前技术条件下,很难使用更小尺寸的过孔了(当孔的深度超过钻孔直径µ6倍倍时,就无法保证孔壁能均匀镀铜);对于电源或地线的过孔则可以考虑使用较大尺寸,以减小阻抗¡���?使使用较薄µPCB板板有利于减小过孔的两种寄生参数¡���? PCB板板上的信号走线尽量不换层,即尽量不要使用不必要的过孔¡���?电电源和地的管脚要就近打过孔,过孔和管脚之间的引线越短越好¡���?在在信号换层的过孔附近放置一些接地的过孔,以便为信号提供最近的回路。甚至可以ÔPCB板板上大量放置一些多余的接地过孔¡四¡降降低噪声与电磁干扰的一些经Ñ?能能用低速芯片就不用高速的,高速芯片用在关键地方¡?可可用串一个电阻的方法,降低控制电路上下沿跳变速率¡?尽尽量为继电器等提供某种形式的阻尼,ÈRC设设置电流阻尼¡?使使用满足系统要求的最低频率时钟¡?时时钟应尽量靠近到用该时钟的器件,石英晶体振荡器的外壳要接地¡?用用地线将时钟区圈起来,时钟线尽量短¡?石石英晶体下面以及对噪声敏感的器件下面不要走线¡?时时钟、总线、片选信号要远ÀI/O线线和接插件¡?时时钟线垂直ÓI/O线线比平行ÓI/O线线干扰小¡? I/O驱驱动电路尽量靠½PCB板板边,让其尽快离¿PC。。对进ÈPCB的的信号要加滤波,从高噪声区来的信号也要加滤波,同时用串终端电阻的办法,减小信号反射¡? MCU无无用端要接高,或接地,或定义成输出端,集成电路上该接电源、地的端都要接,不要悬空¡?闲闲置不用的门电路输入端不要悬空,闲置不用的运放正输入端接地,负输入端接输出端¡?印印制板尽量使Ó45折折线而不Ó90折折线布线,以减小高频信号对外的发射与耦合¡?印印制板按频率和电流开关特性分区,噪声元件与非噪声元件呀距离再远一些¡?单单面板和双面板用单点接电源和单点接地、电源线、地线尽量粗¡?模模拟电压输入线、参考电压端要尽量远离数字电路信号线,特别是时钟¡?对¶A/D类类器件,数字部分与模拟部分不要交叉¡?元元件引脚尽量短,去藕电容引脚尽量短¡?关关键的线要尽量粗,并在两边加上保护地,高速线要短要直¡?对对噪声敏感的线不要与大电流,高速开关线并行¡?弱弱信号电路,低频电路周围不要形成电流环路¡?任任何信号都不要形成环路,如不可避免,让环路区尽量小¡?每每个集成电路有一个去藕电容。每个电解电容边上都要加一个小的高频旁路电容¡?用用大容量的钽电容或聚酷电容而不用电解电容做电路充放电储能电容,使用管状电容时,外壳要接地¡?对对干扰十分敏感的信号线要设置包地,可以有效地抑制串扰¡?信信号在印刷板上传输,其延迟时间不应大于所有器件的标称延迟时间¡环境效应原Ô要注意所应用的环境,例如在一个振动或者其他容易使板子变形的环境中采用过细的铜膜导线很容易起皮拉断等¡安全工作原Ô要保证安全工作,例如要保证两线最小间距要承受所加电压峰值,高压线应圆滑,不得有尖锐的倒角,否则容易造成板路击穿等。组装方便、规范原则走线设计要考虑组装是否方便,例如印制板上有大面积地线和电源线区时(面积超¹500平平方毫米),应局部开窗口以方便腐蚀等。此外还要考虑组装规范设计,例如元件的焊接点用焊盘来表示,这些焊盘(包括过孔)均会自动不上阻焊油,但是如用填充块当表贴焊盘或用线段当金手指插头,而又不做特别处理,(在阻焊层画出无阻焊油的区域),阻焊油将掩盖这些焊盘和金手指,容易造成误解性错误£SMD器器件的引脚与大面积覆铜连接时,要进行热隔离处理,一般是做一¸Track到到铜箔,以防止受热不均造成的应力集Ö而导致虚焊£PCB上上如果有¦12或或方Ð12mm以以上的过孔时,必须做一个孔盖,以防止焊锡流出等。经济原则遵循该原则要求设计者要对加工,组装的工艺有足够的认识和了解,例È5mil的的线做腐蚀要±8mil难难,所以价格要高,过孔越小越贵等热效应原则在印制板设计时可考虑用以下几种方法:均匀分布热负载、给零件装散热器,局部或全局强迫风冷。从有利于散热的角度出发,印制板最好是直立安装,板与板的距离一般不应小Ó2c,,而且器件在印制板上的排列方式应遵循一定的规则£同一印制板上的器件应尽可能按其发热量大小及散热程度分区排列,发热量小或耐热性差的器件(如小信号晶体管、小规模集³电路、电解电容等)放在冷却气流的最上(入口处),发热量大或耐热性好的器件(如功率晶体管、大规模集成电路等)放在冷却Æ流最下。在水平方向上,大功率器件尽量靠近印刷板的边沿布置,以便缩短传热路径;在垂直方向上,大功率器件尽量靠近印刷板上方布置£以便减少这些器件在工作时对其他器件温度的影响。对温度比较敏感的器件最好安置在温度最低的区域(如设备的µ部),千万不要将它放在发热器件的正上方,多个器件最好是在水平面上交错布局¡设备内印制板的散热主要依靠空气流动,所以在设计时要研究空气流动的路径,合理配置器件或印制电路板。采用合理的器件排列方式,可以有效地降低印制电路的温升。此外通过降额使用,做等温处理等方法也是热设计中经常使用的手段¡
上传时间: 2013-11-24
上传用户:气温达上千万的
一、变压器Np、Ns、Lp的计算二、如果要计算气隙长度Lg三、开关管Vce、Ic的计算(非连续)五.输出整流二极管Id、Vd的计算Flyback输出滤波电容设计流过输出电容C的纹波电流Ic=I2- Io 其中:I2为次级线圈电流 Ic的有效值可由下式计算:Icrms=[Ton/3T(I2p^2-I2pIo+Io^2 )+(Toff/T)* Io^2]^1/2 其中I2p=2io/(1- δmax) 此为输入电压最低、输出功率最大时状态。
上传时间: 2013-11-22
上传用户:aesuser
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
PCA9516 是一款基于BICMOS 工艺的I2C/SMBus 总线中继器。PCA9516 保持I2C 总线系统所有的模式与特性的同时,允许扩展I2C/时钟总线和连接5 条最大容限为400pF 电容的总线。当I2C 总线上有400pF 的电容时,总线长度和器件的数量都会被限制。系统设计者把总线分成五部分,各部分之间的传输只有一个复用器的延时。
上传时间: 2013-11-13
上传用户:75119158
家电制造业的竞争日益激烈,市场调整压力越来越大,原始设备制造商们(OEM)为了面对这一挑战,必须在满足电磁兼容性的条件下,不断降低产品的成本。由于强调成本控制,为防止由电源和信号线的瞬变所产生的电器故障而实施必要的瞬态免疫保护,对于家电设计者来说变得更具挑战性。由于传统的电源设计和电磁干扰(EMI)控制措施为节约成本让路,家电设计者必须开发出新的技术来满足不断调整的电磁兼容(EMC)需求。本应用笔记探讨了瞬态电气干扰对嵌入式微控制器(MCU)的影响,并提供了切实可行的硬件和软件设计技术,这些技术可以为电快速瞬变(EFT)、静电放电(ESD)以及其它电源线或信号线的短时瞬变提供低成本的保护措施。虽然这种探讨是主要针对家电制造商,但是也适用于消费电子、工业以及汽车电子方面的应用。 低成本的基于MCU 的嵌入式应用特别容易受到ESD 和EFT 影响降低性能。即使是运行在较低时钟频率下的微控制器,通常对快速上升时间瞬变也很敏感。这种敏感性归咎于所使用的工艺技术。如今针对低成本8/16位的MCU的半导体工艺技术所实现的晶体管栅极长度在0.65 μm~0.25 μm范围内。此范围内的栅极长度能产生和响应上升时间在次纳秒范围内(或超过300 MHz 的等同带宽)的信号。因此, MCU 能够响应进入其引脚的ESD 或EFT 信号。除上述工艺技术之外, MCU 在ESD 或EFT 事件中的性能还会受到IC 设计及其封装、印刷电路板(PCB)的设计、MCU 上运行的软件、系统设计以及ESD 或EFT 波形特征的影响。各因素的相对影响(强调对最大影响的贡献)如图1 所示。
上传时间: 2013-11-09
上传用户:Jerry_Chow
提出了一种改进的LSM-ALSM子空间模式识别方法,将LSM的旋转策略引入ALSM,使子空间之间互不关联的情况得到改善,提高了ALSM对相似样本的区分能力。讨论中以性能函数代替经验函数来确定拒识规则的参数,实现了识别率、误识率与拒识率之间的最佳平衡;通过对有限字符集的实验结果表明,LSM-ALSM算法有效地改善了分类器的识别率和可靠性。关 键 词 学习子空间; 性能函数; 散布矩阵; 最小描述长度在子空间模式识别方法中,一个线性子空间代表一个模式类别,该子空间由反映类别本质的一组特征矢量张成,分类器根据输入样本在各子空间上的投影长度将其归为相应的类别。典型的子空间算法有以下三种[1, 2]:CLAFIC(Class-feature Information Compression)算法以相关矩阵的部分特征向量来构造子空间,实现了特征信息的压缩,但对样本的利用为一次性,不能根据分类结果进行调整和学习,对样本信息的利用不充分;学习子空间方法(Leaning Subspace Method, LSM)通过旋转子空间来拉大样本所属类别与最近邻类别的距离,以此提高分类能力,但对样本的训练顺序敏感,同一样本训练的顺序不同对子空间构造的影响就不同;平均学习子空间算法(Averaged Learning Subspace Method, ALSM)是在迭代训练过程中,用错误分类的样本去调整散布矩阵,训练结果与样本输入顺序无关,所有样本平均参与训练,其不足之处是各模式的子空间之间相互独立。针对以上问题,本文提出一种改进的子空间模式识别方法。子空间模式识别的基本原理1.1 子空间的分类规则子空间模式识别方法的每一类别由一个子空间表示,子空间分类器的基本分类规则是按矢量在各子空间上的投影长度大小,将样本归类到最大长度所对应的类别,在类x()iω的子空间上投影长度的平方为()211,2,,()argmax()jMTkkjpg===Σx (1)式中 函数称为分类函数;为子空间基矢量。两类的分类情况如图1所示。
上传时间: 2013-12-25
上传用户:熊少锋
九.输入/输出保护为了支持多任务,80386不仅要有效地实现任务隔离,而且还要有效地控制各任务的输入/输出,避免输入/输出冲突。本文将介绍输入输出保护。 这里下载本文源代码。 <一>输入/输出保护80386采用I/O特权级IPOL和I/O许可位图的方法来控制输入/输出,实现输入/输出保护。 1.I/O敏感指令输入输出特权级(I/O Privilege Level)规定了可以执行所有与I/O相关的指令和访问I/O空间中所有地址的最外层特权级。IOPL的值在如下图所示的标志寄存器中。 标 志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O许可位图规定了I/O空间中的哪些地址可以由在任何特权级执行的程序所访问。I/O许可位图在任务状态段TSS中。 I/O敏感指令 指令 功能 保护方式下的执行条件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 设置EFLAGS中的IF位 CPL<=IOPL IN 从I/O地址读出数据 CPL<=IOPL或I/O位图许可 INS 从I/O地址读出字符串 CPL<=IOPL或I/O位图许可 OUT 向I/O地址写数据 CPL<=IOPL或I/O位图许可 OUTS 向I/O地址写字符串 CPL<=IOPL或I/O位图许可 上表所列指令称为I/O敏感指令,由于这些指令与I/O有关,并且只有在满足所列条件时才可以执行,所以把它们称为I/O敏感指令。从表中可见,当前特权级不在I/O特权级外层时,可以正常执行所列的全部I/O敏感指令;当特权级在I/O特权级外层时,执行CLI和STI指令将引起通用保护异常,而其它四条指令是否能够被执行要根据访问的I/O地址及I/O许可位图情况而定(在下面论述),如果条件不满足而执行,那么将引起出错码为0的通用保护异常。 由于每个任务使用各自的EFLAGS值和拥有自己的TSS,所以每个任务可以有不同的IOPL,并且可以定义不同的I/O许可位图。注意,这些I/O敏感指令在实模式下总是可执行的。 2.I/O许可位图如果只用IOPL限制I/O指令的执行是很不方便的,不能满足实际要求需要。因为这样做会使得在特权级3执行的应用程序要么可访问所有I/O地址,要么不可访问所有I/O地址。实际需要与此刚好相反,只允许任务甲的应用程序访问部分I/O地址,只允许任务乙的应用程序访问另一部分I/O地址,以避免任务甲和任务乙在访问I/O地址时发生冲突,从而避免任务甲和任务乙使用使用独享设备时发生冲突。 因此,在IOPL的基础上又采用了I/O许可位图。I/O许可位图由二进制位串组成。位串中的每一位依次对应一个I/O地址,位串的第0位对应I/O地址0,位串的第n位对应I/O地址n。如果位串中的第位为0,那么对应的I/O地址m可以由在任何特权级执行的程序访问;否则对应的I/O地址m只能由在IOPL特权级或更内层特权级执行的程序访问。如果在I/O外层特权级执行的程序访问位串中位值为1的位所对应的I/O地址,那么将引起通用保护异常。 I/O地址空间按字节进行编址。一条I/O指令最多可涉及四个I/O地址。在需要根据I/O位图决定是否可访问I/O地址的情况下,当一条I/O指令涉及多个I/O地址时,只有这多个I/O地址所对应的I/O许可位图中的位都为0时,该I/O指令才能被正常执行,如果对应位中任一位为1,就会引起通用保护异常。 80386支持的I/O地址空间大小是64K,所以构成I/O许可位图的二进制位串最大长度是64K个位,即位图的有效部分最大为8K字节。一个任务实际需要使用的I/O许可位图大小通常要远小于这个数目。 当前任务使用的I/O许可位图存储在当前任务TSS中低端的64K字节内。I/O许可位图总以字节为单位存储,所以位串所含的位数总被认为是8的倍数。从前文中所述的TSS格式可见,TSS内偏移66H的字确定I/O许可位图的开始偏移。由于I/O许可位图最长可达8K字节,所以开始偏移应小于56K,但必须大于等于104,因为TSS中前104字节为TSS的固定格式,用于保存任务的状态。 1.I/O访问许可检查细节保护模式下处理器在执行I/O指令时进行许可检查的细节如下所示。 (1)若CPL<=IOPL,则直接转步骤(8);(2)取得I/O位图开始偏移;(3)计算I/O地址对应位所在字节在I/O许可位图内的偏移;(4)计算位偏移以形成屏蔽码值,即计算I/O地址对应位在字节中的第几位;(5)把字节偏移加上位图开始偏移,再加1,所得值与TSS界限比较,若越界,则产生出错码为0的通用保护故障;(6)若不越界,则从位图中读对应字节及下一个字节;(7)把读出的两个字节与屏蔽码进行与运算,若结果不为0表示检查未通过,则产生出错码为0的通用保护故障;(8)进行I/O访问。设某一任务的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;对应I/O端口00H—3FH DB 10000000B ;对应I/O端口40H—47H DB 01100000B ;对用I/O端口48H—4FH DB 8182 DUP(0ffH) ;对应I/O端口50H—0FFFFH DB 0FFH ;位图结束字节TSSLen = $TSSSEG ENDS 再假设IOPL=1,CPL=3。那么如下I/O指令有些能正常执行,有些会引起通用保护异常: in al,21h ;(1)正常执行 in al,47h ;(2)引起异常 out 20h,al ;(3)正常实行 out 4eh,al ;(4)引起异常 in al,20h ;(5)正常执行 out 20h,eax ;(6)正常执行 out 4ch,ax ;(7)引起异常 in ax,46h ;(8)引起异常 in eax,42h ;(9)正常执行 由上述I/O许可检查的细节可见,不论是否必要,当进行许可位检查时,80386总是从I/O许可位图中读取两个字节。目的是为了尽快地执行I/O许可检查。一方面,常常要读取I/O许可位图的两个字节。例如,上面的第(8)条指令要对I/O位图中的两个位进行检查,其低位是某个字节的最高位,高位是下一个字节的最低位。可见即使只要检查两个位,也可能需要读取两个字节。另一方面,最多检查四个连续的位,即最多也只需读取两个字节。所以每次要读取两个字节。这也是在判别是否越界时再加1的原因。为此,为了避免在读取I/O许可位图的最高字节时产生越界,必须在I/O许可位图的最后填加一个全1的字节,即0FFH。此全1的字节应填加在最后一个位图字节之后,TSS界限范围之前,即让填加的全1字节在TSS界限之内。 I/O许可位图开始偏移加8K所得的值与TSS界限值二者中较小的值决定I/O许可位图的末端。当TSS的界限大于I/O许可位图开始偏移加8K时,I/O许可位图的有效部分就有8K字节,I/O许可检查全部根据全部根据该位图进行。当TSS的界限不大于I/O许可位图开始偏移加8K时,I/O许可位图有效部分就不到8K字节,于是对较小I/O地址访问的许可检查根据位图进行,而对较大I/O地址访问的许可检查总被认为不可访问而引起通用保护故障。因为这时会发生字节越界而引起通用保护异常,所以在这种情况下,可认为不足的I/O许可位图的高端部分全为1。利用这个特点,可大大节约TSS中I/O许可位图占用的存储单元,也就大大减小了TSS段的长度。 <二>重要标志保护输入输出的保护与存储在标志寄存器EFLAGS中的IOPL密切相关,显然不能允许随便地改变IOPL,否则就不能有效地实现输入输出保护。类似地,对EFLAGS中的IF位也必须加以保护,否则CLI和STI作为敏感指令对待是无意义的。此外,EFLAGS中的VM位决定着处理器是否按虚拟8086方式工作。 80386对EFLAGS中的这三个字段的处理比较特殊,只有在较高特权级执行的程序才能执行IRET、POPF、CLI和STI等指令改变它们。下表列出了不同特权级下对这三个字段的处理情况。 不同特权级对标志寄存器特殊字段的处理 特权级 VM标志字段 IOPL标志字段 IF标志字段 CPL=0 可变(初POPF指令外) 可变 可变 0 不变 不变 可变 CPL>IOPL 不变 不变 不变 从表中可见,只有在特权级0执行的程序才可以修改IOPL位及VM位;只能由相对于IOPL同级或更内层特权级执行的程序才可以修改IF位。与CLI和STI指令不同,在特权级不满足上述条件的情况下,当执行POPF指令和IRET指令时,如果试图修改这些字段中的任何一个字段,并不引起异常,但试图要修改的字段也未被修改,也不给出任何特别的信息。此外,指令POPF总不能改变VM位,而PUSHF指令所压入的标志中的VM位总为0。 <三>演示输入输出保护的实例(实例九)下面给出一个用于演示输入输出保护的实例。演示内容包括:I/O许可位图的作用、I/O敏感指令引起的异常和特权指令引起的异常;使用段间调用指令CALL通过任务门调用任务,实现任务嵌套。 1.演示步骤实例演示的内容比较丰富,具体演示步骤如下:(1)在实模式下做必要准备后,切换到保护模式;(2)进入保护模式的临时代码段后,把演示任务的TSS段描述符装入TR,并设置演示任务的堆栈;(3)进入演示代码段,演示代码段的特权级是0;(4)通过任务门调用测试任务1。测试任务1能够顺利进行;(5)通过任务门调用测试任务2。测试任务2演示由于违反I/O许可位图规定而导致通用保护异常;(6)通过任务门调用测试任务3。测试任务3演示I/O敏感指令如何引起通用保护异常;(7)通过任务门调用测试任务4。测试任务4演示特权指令如何引起通用保护异常;(8)从演示代码转临时代码,准备返回实模式;(9)返回实模式,并作结束处理。
上传时间: 2013-12-11
上传用户:nunnzhy
很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP.IP协议族允许它们互相进行通信。这一点很让人感到吃惊,因为它的作用已远远超出了起初的设想。T C P / I P起源于6 0年代末美国政府资助的一个分组交换网络研究项目,到9 0年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议族的定义及其多种实现可以不用花钱或花很少的钱就可以公开地得到。它成为被称作“全球互联网”或“因特网(Internet)”的基础,该广域网(WA N)已包含超过1 0 0万台遍布世界各地的计算机。本章主要对T C P / I P协议族进行概述,其目的是为本书其余章节提供充分的背景知识。 TCP.IP协议 缩略语 ACK (ACKnowledgment) TCP首部中的确认标志 API (Application Programming Interface) 应用编程接口 ARP (Address Resolution Protocol) 地址解析协议 ARPANET(Defense Advanced Research Project Agency NETwork) (美国)国防部远景研究规划局 AS (Autonomous System) 自治系统 ASCII (American Standard Code for Information Interchange) 美国信息交换标准码 ASN.1 (Abstract Syntax Notation One) 抽象语法记法1 BER (Basic Encoding Rule) 基本编码规则 BGP (Border Gateway Protocol) 边界网关协议 BIND (Berkeley Internet Name Domain) 伯克利I n t e r n e t域名 BOOTP (BOOTstrap Protocol) 引导程序协议 BPF (BSD Packet Filter) BSD 分组过滤器 CIDR (Classless InterDomain Routing) 无类型域间选路 CIX (Commercial Internet Exchange) 商业互联网交换 CLNP (ConnectionLess Network Protocol) 无连接网络协议 CRC (Cyclic Redundancy Check) 循环冗余检验 CSLIP (Compressed SLIP) 压缩的S L I P CSMA (Carrier Sense Multiple Access) 载波侦听多路存取 DCE (Data Circuit-terminating Equipment) 数据电路端接设备 DDN (Defense Data Network) 国防数据网 DF (Don’t Fragment) IP首部中的不分片标志 DHCP (Dynamic Host Configuration Protocol) 动态主机配置协议 DLPI (Data Link Provider Interface) 数据链路提供者接口 DNS (Domain Name System) 域名系统 DSAP (Destination Service Access Point) 目的服务访问点 DSLAM (DSL Access Multiplexer) 数字用户线接入复用器 DSSS (Direct Sequence Spread Spectrum) 直接序列扩频 DTS (Distributed Time Service) 分布式时间服务 DVMRP (Distance Vector Multicast Routing Protocol) 距离向量多播选路协议 EBONE (European IP BackbONE) 欧洲I P主干网 EOL (End of Option List) 选项清单结束 EGP (External Gateway Protocol) 外部网关协议 EIA (Electronic Industries Association) 美国电子工业协会 FCS (Frame Check Sequence) 帧检验序列 FDDI (Fiber Distributed Data Interface) 光纤分布式数据接口 FIFO (First In, First Out) 先进先出 FIN (FINish) TCP首部中的结束标志 FQDN (Full Qualified Domain Name) 完全合格的域名 FTP (File Transfer Protocol) 文件传送协议 HDLC (High-level Data Link Control) 高级数据链路控制 HELLO 选路协议 IAB (Internet Architecture Board) Internet体系结构委员会 IANA (Internet Assigned Numbers Authority) Internet号分配机构 ICMP (Internet Control Message Protocol) Internet控制报文协议 IDRP (InterDomain Routing Protocol) 域间选路协议 IEEE (Institute of Electrical and Electronics Engineering) (美国)电气与电子工程师协会 IEN (Internet Experiment Notes) 互联网试验注释 IESG (Internet Engineering Steering Group) Internet工程指导小组 IETF (Internet Engineering Task Force) Internet工程专门小组 IGMP (Internet Group Management Protocol) Internet组管理协议 IGP (Interior Gateway Protocol) 内部网关协议 IMAP (Internet Message Access Protocol) Internet报文存取协议 IP (Internet Protocol) 网际协议 I RTF (Internet Research Task Force) Internet研究专门小组 IS-IS (Intermediate System to Intermediate System Protocol) 中间系统到中间系统协议 ISN (Initial Sequence Number) 初始序号 ISO (International Organization for Standardization) 国际标准化组织 ISOC (Internet SOCiety) Internet协会 LAN (Local Area Network) 局域网 LBX (Low Bandwidth X) 低带宽X LCP (Link Control Protocol) 链路控制协议 LFN (Long Fat Net) 长肥网络 LIFO (Last In, First Out) 后进先出 LLC (Logical Link Control) 逻辑链路控制 LSRR (Loose Source and Record Route) 宽松的源站及记录路由 MBONE (Multicast Backbone On the InterNEt) Internet上的多播主干网 MIB (Management Information Base) 管理信息库 MILNET (MILitary NETwork) 军用网 MIME (Multipurpose Internet Mail Extensions) 通用I n t e r n e t邮件扩充 MSL (Maximum Segment Lifetime) 报文段最大生存时间 MSS (Maximum Segment Size) 最大报文段长度 M TA (Message Transfer Agent) 报文传送代理 MTU (Maximum Transmission Unit) 最大传输单元 NCP (Network Control Protocol) 网络控制协议 NFS (Network File System) 网络文件系统 NIC (Network Information Center) 网络信息中心 NIT (Network Interface Tap) 网络接口栓(S u n公司的一个程序) NNTP (Network News Transfer Protocol) 网络新闻传送协议 NOAO (National Optical Astronomy Observatories) 国家光学天文台 NOP (No Operation) 无操作 NSFNET (National Science Foundation NETwork) 国家科学基金网络 NSI (NASA Science Internet) (美国)国家宇航局I n t e r n e t NTP (Network Time Protocol) 网络时间协议 NVT (Network Virtual Terminal) 网络虚拟终端 OSF (Open Software Foudation) 开放软件基金 OSI (Open Systems Interconnection) 开放系统互连 OSPF (Open Shortest Path First) 开放最短通路优先 PAWS (Protection Against Wrapped Sequence number) 防止回绕的序号 PDU (Protocol Data Unit) 协议数据单元 POSIX (Portable Operating System Interface) 可移植操作系统接口 PPP (Point-to-Point Protocol) 点对点协议 PSH (PuSH) TCP首部中的急迫标志 RARP (Reverse Address Resolution Protocol) 逆地址解析协议 RFC (Request For Comments) Internet的文档,其中的少部分成为标准文档 RIP (Routing Information Protocol) 路由信息协议 RPC (Remote Procedure Call) 远程过程调用 RR (Resource Record) 资源记录 RST (ReSeT) TCP首部中的复位标志 RTO (Retransmission Time Out) 重传超时 RTT (Round-Trip Time) 往返时间 SACK (Selective ACKnowledgment) 有选择的确认 SLIP (Serial Line Internet Protocol) 串行线路I n t e r n e t协议 SMI (Structure of Management Information) 管理信息结构 SMTP (Simple Mail Transfer Protocol) 简单邮件传送协议 SNMP (Simple Network Management Protocol) 简单网络管理协议 SSAP (Source Service Access Point) 源服务访问点 SSRR (Strict Source and Record Route) 严格的源站及记录路由 SWS (Silly Window Syndrome) 糊涂窗口综合症 SYN (SYNchronous) TCP首部中的同步序号标志 TCP (Transmission Control Protocol) 传输控制协议 TFTP (Trivial File Transfer Protocol) 简单文件传送协议 TLI (Transport Layer Interface) 运输层接口 TTL (Ti m e - To-Live) 生存时间或寿命 TUBA (TCP and UDP with Bigger Addresses) 具有更长地址的T C P和U D P Telnet 远程终端协议 UA (User Agent) 用户代理 UDP (User Datagram Protocol) 用户数据报协议 URG (URGent) TCP首部中的紧急指针标志 UTC (Coordinated Universal Time) 协调的统一时间 UUCP (Unix-to-Unix CoPy) Unix到U n i x的复制 WAN (Wide Area Network) 广域网 WWW (World Wide Web) 万维网 XDR (eXternal Data Representation) 外部数据表示 XID (transaction ID) 事务标识符 XTI (X/Open Transport Layer Interface) X/ O p e n运输层接口
上传时间: 2013-11-13
上传用户:tdyoung
论文导出了分集增益与空间复用增益间的最佳折衷关系式。该关系式为阶梯递减右连续函数,阶梯数等于接收天线数目。分集增益的取值与分组长度有关,只有当分组长度不小于发射天线数目时才能获得满分集增益。折衷关系表明,采用合适的空时编码可以同时获得分集增益和空间复用增益,但是两种增益不能同时达到最大。由最佳折衷关系可以推测一定空间复用增益时可得到的最大分集增益,以及一定分集增益时能获得的最大空间复用增益
上传时间: 2013-11-07
上传用户:mnacyf