当前位置:文档之家› 北京邮电大学1997年试题 TTL与非门的开门电平和关门电平的大小

北京邮电大学1997年试题 TTL与非门的开门电平和关门电平的大小

北京邮电大学1997年试题TTL与非门的开门电平和关门电平的大小,将直接影响器件的哪个性能指标?(A)抗干扰能力(B)输出电平(C)高电平负载能力(D)扇出系数【分析】TTL与非门的电路图和电路符号如图3.14所示,与非门的与功能由多发射极管T1来实现的。

T1的射极是与的输入端,T1的集极是与的输出。

(a)电路图(b)电路符号图3.14简化的TTL与非门下面列出了TTL与非门的参数。

空载导通功耗PcTTL门在静态未带负载时的功耗(功耗指器件在工作时所消耗的功率)。

由于输出为低电位时的静态功耗大于输出为高电位的功耗,故常测输出为低电位时的功耗(导通功耗)。

输入短路电路IISIIS是指当一个输入端接地,而其他输入端开路时,流向接地端的电流。

输入开门电平V on和输入关门电平V off开门电平V on指的是:当电路输出端接额定负载时,使电路输出端处于低电位状态所允许的最小输入电压。

关门电平V off指的是:当电路输出端接额定负载时,使电路输出端处于高电位状态所允许的最大输入电压。

关门电平和开门电平越靠近,越接近同一个数值(阈值电压),说明传输特性曲线越接近理想特性,并且抗干扰能力越强。

输出高电平VOH和输出低电平VOL输出高电平VOH的测试方法:输入端全接地,输出端空载条件下测得的输出端电压称为输出高电平VOH。

输出低电平VOL的测试方法:输入端为开门电平,输出端接316Ω负载电阻条件下测得的输出端电压称为输出低电平VOL。

输入漏电流IIHIIH指当一个输入端接高电位,而其他输入端接地时的输入电流。

扇入系数和扇出系数扇入系数指门的输入端数,扇出系数指一个门能够驱动同类型门的个数。

传输延时tpd和速度-功耗积传输延时是指与非门输出波形相对于输入波形的延时,如图3.15所示。

输出波形下降沿的50%相对输入波形上升沿的50%之间的时间间隔叫做导通延时tpHL;输出波形上升沿的50%相对输入波形下降沿的50%之间的时间间隔叫做关闭延时tpLH;平均传输延时(简称传输延时)tpd=(tpHL+tpLH)/2。

TTL门的传输延时在3ns到40ns之间。

延迟时间门的传输延时和空载导通功耗的乘积称为速度-功耗积,其值越小越好。

【解答】由分析部分得知,开门电平和关门电平的大小影响器件的抗干扰能力,所以本题的答案为(A)。

【扩展】集电极开路输出的TTL门电路也称OC门。

集电极开路输出与非门称为开路与非门。

集电极开路与非门有以下特点:①可以对它们进行线与逻辑(形如F=A·B·…·M的逻辑)。

几个OC与非门输出直接相连,构成线与逻辑。

例如,两个OC与非门输出相连构成一个与或非门,即:注意,形如F=A+B+…+M的逻辑叫线或逻辑,例如F=(AB)+(CD)是(AB)与(CD)进行线或操作。

②电路的上升延迟变大摘要:提出了在TMS320C6000系列DSP上应用McBSP实现I2C总线接口协议的方法,使DSP可以接入其他需要I2C总线配置的智能器件,系统结构简单,硬件设计容易,资源消耗小。

关键字:I2C总线 GPIO McBSP DSP1 引言TI公司的TMS320C6000[1,2]系列是高性能的DSP,可广泛的用于XDSL、无线基站、数字图像处理等方面。

在进行数字图像处理时,通常需要视频解码器诸如SAA7111A之类的模拟视频前端,而大多数的视频解码器进行初始化通常是通过两线的I2C总线接口,但是现在的DSP和MCU大部分都没有I2C总线接口,在这种情况下我们可以应用两个通用的IO线,通过软件的方法来模拟I2C总线的协议,继而完成I2C总线的接口。

在TMS320C6000中通常都有两个或两个以上的多通道缓冲串行接口McBSP,McBSP不仅可以配制成串行接口还可以独立的配制成通用的输入(GPI)、输出(GPO)和输入输出端口(GPIO)。

I2C[3]串行总线是用双向数据线(SDA)和串行时钟线(SCL)两根信号线,在连接到该总线的器件之间传送信息。

总线上的每个器件均可设置一个唯一地址,然后根据所设的功能进行信息的发送或接收。

除了作为发送器和接收器以外,在执行数据传输时,总线的器件还可以设定为主控器和受控器。

通常由主控器启动总线上的数据传输,并产生数据传输所需的时钟信号。

而被其寻址的其它器件均为受控器,这意味着总线上可连接多个有控制总线的器件。

I2C总线上的数据传输率为100kbit/s,快速方式下可达400kbit/s。

连接到总线上的器件数仅受400pF的总线电容的限制。

同时,为了避免总线信号的混乱,要求连接到总线上的各器件输出端必须是集电极开路或漏极开路,以便产生“线与”功能。

I2C总线上的SDA和SCL线都是双向传输线,它们可通过一个电阻连接到正电源端,当总线处于空闲状态时,两条线均为高电平。

2 硬件设计I2C总线的硬件设计非常方便,只需要将SDA 和SCL连接即可,在I2C总线上只允许有一个主控器,其余的都是受控器。

当节点的个数大于了400pF的限制时,可以通过总线驱动器如82B715来进行总线扩展。

连接见图13 软件设计3.1 McBSP的配置I2C总线应用McBSP的两个管脚,首先禁用McBSP功能以便将McBSP的管脚配制成GPI、GPO、GPIO。

本文应用McBSP0的CLKX0作为I2C总线的SCL,FSX0作为I2C总线的SDA,McBSP的DX,DR,通常不能配置成I2C的SDA,因为SDA是双向的,而DX,DR只能配制成单一的输入或输出。

配置代码如下:McBSP0_SPCR=0x00000000;//McBSP0 发送和接收复位McBSP0_PCR=0x00003F00;// McBSP0的所有的管脚都配置为GPIO,CLKX0和FSX0为输出对于主机来说SCL总是输出,所以它的方向是保持不变的,SCL应该输出0,1作为接口的时钟,为了实现此功能我们定义一个宏(MACROS):SET_SCLHI( ) SET_SCLLO( )#define Set_SCLHi( ) McBSP0_SPSA = PCR; McBSP0_SPSA |= 0x00000002#define Set_SCLLo( ) McBSP0_SPSA = PCR; McBSP0_SPSA &= 0XfffffffdI2C总线的数据线SDA当写的时候是输入,读的时候是输出。

为了改变SDA的方向可以定义Set_SDADirOut( ) Set_SDADirIn( )#define Set_SDADirOut( ) McBSP0_SPSA = PCR; McBSP0_SPSA | = 0x00000800#define Set_SDADirIn( ) McBSP0_SPSA = PCR; McBSP0_SPSA &= 0xFFFFF7FFSDA应该依照数据位的0,1来变化,为了输出1,0定义Set_SDAHi( ) Set_SDALo( )#define Set_SDAHi( ) McBSP0_SPSA = PCR; McBSP0_SPSA |= 0x00000008#define Set_SDALo( ) McBSP0_SPSA = PCR; McBSP0_SPSA &= 0xFFFFFFF7定义好之后可以模拟I2C总线的协议进行传送,例如在SAA7111A上的I2C总线接口是用来对SAA7111A进行初始化用的,SCL的频率可以从0到400KHZ,为了控制SCL的频率可以应用DSP的TIMER0来控制。

当CPU为100MHZ时:TCR = 0x00000010; // 停止 TIMER0 and TDDR=0PRD = 6249; // TIMER0 rate = CPU-Frequency/(PDR+1) = 100MHz/6250 = 16kHz...TCR &= 0xFFFFFFEF; // 开始 TIMER03.2 I2C总线协议编程3.2.1 I2C总线协议读写数据流的编程为了进行I2C总线的通讯,我们选用每位数据流4帧(FRAMES),以便延迟和噪声干扰最小,4帧每位的数据流保证了SDA不会变化在SCL的边沿处,仅仅允许数据变化在FRAME0,读仅在FRAME2。

如图2所示I2C总线的写程序如下void I2CWrite(unsigned int WriteBit){Set_SDADirOut( ); // 设置SDA为输出switch(FrameCount){case(0): // 起始帧Set_SCLLo( ); // SCL 为 0if (WriteBit == 0) // SDA = WriteBitSet_SDALo( );elseSet_SDAHi( );break;case(3): // 第4帧Set_SCLLo( ); //break;default: // 在第2,3帧Set_SCLHi( ); // SCL 为 1}FrameCount += 1; // 帧计数if (FrameCount > 3){FrameCount = 0;BitIndex = (BitIndex >> 1); } // 准备下一个发送位}I2C总线的读程序与写程序很类似,只需要改变SDA为输入即可。

3.2.2 I2C总线的开始位和停止位的编程I2C总线的开始位和停止位有3帧产生,在I2C总线传输过程中,仅当总线空闲(SCL线和SDA线均为高电平)时,数据传送才能开始,此时总线上的任何器件均可以控制总线。

其中当SCL线为高电平且SDA线由高变低时为开始条件;而当SCL线为高电平且SDA线由低变高时为结束条件。

如图3所示开始位:void I2CSTA ( ){ // I2C 开始位Set_SDADirOut ( );//定义SDA为输出switch ( FrameCount ){case (1): // 第2帧Set_SCLHi ( );Set_SDALo( );break;case (2): // 第三帧Set_SCLLo ( );Set_SDALo( );break;default: // 第一帧Set_SCLHi ( );Set_SDAHi ( );}FrameCount += 1; // 帧计数if ( FrameCount > 2 ){FrameCount = 0;BitIndex = 0x0080; } // 定义的低8位}停止位的编程方法只需要按照上面所说的将SCL线为高电平且SDA线由低变高即可。

3.2.3 I2C总线的数据格式起始位受控器件地址读写控制位0/1 应答位数据应答位…停止位I2C总线数据传输格式[3]如图4。

相关主题