搜档网
当前位置:搜档网 › MPU-60X0寄存器中文版V4.0

MPU-60X0寄存器中文版V4.0

MPU-60X0寄存器中文版V4.0
MPU-60X0寄存器中文版V4.0

CONTENTS目录

Document Number:RM-MPU-6000A-00

Revision:4.0

Release Date:03/09/2012

Translation:Tan

说明:能力有限,个别地方采用原文没进行翻译,翻译有很过错误与不通顺,建议查看英语原文对于翻译错误或者有好的修改意见欢迎发送电子邮件到592944053@https://www.sodocs.net/doc/734205318.html,,持续更新中。在这里我要感谢我亲爱的老猪猪!

1REVISION HISTORY修订历史

2PURPOSE AND SCOPE

3REGISTER MAP寄存器列表

4REGISTER DESCRIPTIONS寄存器描述

4.1REGISTERS13TO16–SELF TEST REGISTERS自检寄存器

4.2REGISTER25–SAMPLE RATE DIVIDER采样频率分频器

4.3REGISTER26–CONFIGURATION配置

4.4REGISTER27–GYROSCOPE CONFIGURATION陀螺仪配置

4.5REGISTER28–ACCELEROMETER CONFIGURATION加速度计配置

4.6REGISTER31–MOTION DETECTION THRESHOLD运动检测阀值

4.7REGISTER35–FIFO ENABLE FIFO使能

4.8REGISTER36–I2C MASTER CONTROL I2C主机控制

4.9REGISTERS37TO39–I2C SLAVE0CONTROL I2C从机0控制

4.10REGISTERS40TO42–I2C SLAVE1CONTROL I2C从机1控制

4.11REGISTERS43TO45–I2C SLAVE2CONTROL I2C从机2控制

4.12REGISTERS46TO48–I2C SLAVE3CONTROL I2C从机3控制

4.13REGISTERS49TO53–I2C SLAVE4CONTROL I2C从机4控制

4.14REGISTER54–I2C MASTER STATUS I2C主机状态

4.15REGISTER55–INT PIN/BYPASS ENABLE CONFIGURATION

INT引脚/旁路有效使能配置

4.16REGISTER56–INTERRUPT ENABLE中断使能

4.17REGISTER58–INTERRUPT STATUS中断状态

4.18REGISTERS59TO64–ACCELEROMETER MEASUREMENTS

加速度计测量值

4.19REGISTERS65AND66–TEMPERATURE MEASUREMENT

温度测量值

4.20REGISTERS67TO72–GYROSCOPE MEASUREMENTS

陀螺仪测量值

4.21REGISTERS73TO96–EXTERNAL SENSOR DATA外部传感器数据

4.22REGISTER99–I2C SLAVE0DATA OUT I2C从机0数据输出

4.23REGISTER100–I2C SLAVE1DATA OUT I2C从机1数据输出

4.24REGISTER101–I2C SLAVE2DATA OUT I2C从机2数据输出

4.25REGISTER102–I2C SLAVE3DATA OUT I2C从机3数据输出

4.26REGISTER103–I2C MASTER DELAY CONTROL I2C主机延时管理

4.27REGISTER104–SIGNAL PATH RESET信号通道复位

4.28REGISTER105–MOTION DETECTION CONTROL运动检测控制4.29REGISTER106–USER CONTROL用户配置

4.30REGISTER107–POWER MANAGEMENT1电源管理1

4.31REGISTER108–POWER MANAGEMENT2电源管理2

4.32REGISTER114AND115–FIFO COUNT REGISTERS FIF

FIFO O计数寄存器4.33REGISTER116–FIFO READ WRITE FIFO读写

4.34REGISTER117–WHO AM I我是谁

1REVISION HISTORY修订历史请参阅原文

2PURPOSE AND SCOPE

请参阅原文

3REGISTER MAP寄存器列表请参阅原文

4REGISTER DESCRIPTIONS寄存器描述

本节介绍MPU-60X0的每个寄存器的功能和内容。

注意:设备在上电时会进入睡眠模式。

4.1REGISTERS13TO16–SELF TEST REGISTERS

自检寄存器

说明:

这些寄存器允许用户用于陀螺仪和加速度计的机械和电气自检。下面描述自检过程。

1.陀螺仪硬件自检:相关方法

陀螺仪允许用户测试机械和电气部分。

自检的代码在InvenSense提供的MotionApps?软件里面。如果没有使用MotionApps?软件,请参阅下节(Obtaining the Gyroscope Factory Trim(FT)Value)。

当自检启动,片上的电子设备就会启动相应的传感器。这次启动会使传感器的proof masses的距离相当于一个预定的科里奥利力(Coriolis force)。传感器的Proof masses位移变换的结果将在输出信号中反映。输出信号用户可以在自检反馈看到。

自检反馈(STR)定于如下:

Self Test Response=

Gyroscope Output with Self Test Enabled—Gyroscope Output with Self Test Disabled

自检反馈通过反馈与出产的评估比较查找变换用于确定这部分通过还是自检失败

4.2REGISTER25–SAMPLE RATE DIVIDER

采样频率分频器

说明:

该寄存器用于MPU-60X0的陀螺仪采样频率输出设置。

Fall l 传感器寄存器输出,FITO输出,DMP采样,Motion检测,Zero Motion检测和Free Fal 检测都基于这个采样频率。

采样频率=陀螺仪输出频率/(1+SMPLRT_DIV)

当DLPF is disabled(DLPF_CFG=0or7),陀螺输出频率=8kHz;当DLPF is enabled (see寄存器26),陀螺仪输出频率=1KHz。

注意:加速度计输出频率为1KHz。这意味着,对于一个大于1kHz的采样率,同个加速度计的采样,可能不止一次是输出到FIFO,DMP,传感器寄存器。

陀螺仪和加速度计信号路径图,请参阅第8条MPU-6000/MPU-6050产品规格文件。

参数:

SMPLRT_DIV8位无符号值。陀螺仪输出频率由这个值的分频所确定。

4.3REGISTER26–CONFIGURATION配置

说明:

该寄存器配置外部Frame Synchronization(FSYNC)引脚采样,陀螺仪和加速度计的数字低通滤波器。

通过配置EXT_SYNC_SET可以使用一个外部信号连接到FSYNC引脚进行采样。

FSYNC引脚的信号的变化被锁存,使短的选通信号可能被捕获。锁存FSYNC信号将作为采样的采样频率,定义在寄存器25。采样结束后,锁存器将复位到当前的FSYNC信号状态。

EXT_SYNC_SET的值确定采样的值将代替传感器数据寄存器中的最低有效位。替换如下表所示:

DLPF(数字低通滤波器)由DLPF_CFG配置。加速度计和陀螺仪根据DLPF_CFG的值被过滤。下表显示过滤情况:

第6、7位保留。

参数:

EXT_SYNC_SET3位无符号数值。配置FSYNC引脚采样。

DLPF_CFG3位无符号数值。配置DLPF设置。

4.4REGISTER27–GYROSCOPE CONFIGURATION

陀螺仪配置

说明:

这寄存器是用来触发陀螺仪自检和配置陀螺仪的满量程范围。

陀螺仪自检允许用户检测机械和电气部分。每个陀螺仪的轴通过控制这个寄存器的XG_ST,,YG_ST,和ZG_ST位来激活。各轴的自检可独立进行或全部在相同的时间进行。

当自检启动,片上的电子设备就会启动相应的传感器。这次启动会使传感器的proof masses的距离相当于一个预定的科里奥利力(Coriolis force)。传感器的Proof masses位移变换的结果将在输出信号中反映。输出信号用户可以在自检反馈看到。

自检反馈(STR)定于如下:

Self Test Response=

Gyroscope Output with Self Test Enabled—Gyroscope Output with Self Test Disabled 每个陀螺仪轴的自检极限在MPU-6000/MPU-6050产品规格文件的电气特性表中。当反馈的值为产品的最小到最大极限之间时,表示通过自检。如果反馈的值超过文档中的最大最小特性,表示自检失败。

FS_SEL选择陀螺仪的满量程,如下表:

第0到2位保留。

参数:

XG_ST该位置位X轴进行自检。

YG_ST该位置位Y轴进行自检。

ZG_ST该位置位Z轴进行自检。

FS_SEL2位无符号数值.。选择陀螺仪的满量程范围。

4.5REGISTER28–ACCELEROMETER CONFIGURATION

加速度计配置

说明:

这寄存器是用来触发加速度计自检和配置加速度计的满量程范围。这个寄存器也可以用于配置数字高通滤波器(DHPF)。

加速度计自检允许用户检测机械和电气部分。每个加速度计的轴可以通过控制该寄存器的XA_ST,,YA_ST,和ZA_ST位来激活。每个轴的自检可以独立工作或者全部同时工作。

当自检激动时,芯片上的电路会启动传感器。这个启动时模仿一个外部的力量,启动的传感器会产生一个相应的输出信号。该输出的信号用于发现自检反馈。

自检反馈的定义如下:

自检反馈=传感器自检使能输出—自检不包含使能的输出

(Self-test response=

Sensor output with self-test enabled–Sensor output without self-test enabled)每个轴的自检极限值在MPU60X0产品特性文档的电气特性表提供。当自检反馈的值在产品特性的最大/最小值之间,自检通过。如果自检反馈的值超出了文档中的最大最小极限,则自检失败。

AFS_SEL用于选择加速度计的满量程范围,如下表:

参数:

XA_ST该位置1,加速度计的X轴执行自检。

YA_ST该位置1,加速度计的Y轴执行自检。

ZA_ST该位置1,加速度计的Z轴执行自检。

AFS_SEL2位无符号值。选择加速度计的满量程范围。

4.6REGISTER31–MOTION DETECTION THRESHOLD

运动检测阀值

说明:

这个寄存器用于配置运动中断产生的检测阀值。在MPU-6000/MPU-6050产品特性文档中的电子特性表可以找到MOT_THR每mg增加的最低有效位(LSB)任何的加速计测量的绝对值超过此运动检测阈值时,运动被检测到。

MOT_DETECT_STATUS(寄存器97)的运动中断可以表明检测到哪个轴和方向在运动。

运动检测中断的更多详细信息,请参阅MPU产品规格特性的第8.3节的以及本文档的寄存器56和58。

参数:

MOT_THR8位无符号数值。指定动作检测阈值。

4.7REGISTER35–FIFO ENABLE FIFO使能

说明:

此寄存器决定哪个传感器的测量值被加载到FIFO缓冲区。

如果这个寄存器中相关的传感器FIFO_EN位被置1,传感器的数据寄存器(寄存器59到96)存储数据就会被加载到FIFO缓冲区。

当这个寄存器中传感器的FIFO_EN位被使能,传感器的数据寄存器中数据就会被加载到FIFO缓冲区。传感器的采样频率在寄存器25中定义。更多关于传感器的数据寄存器的信息,请参阅寄存器59to96。

当一个外部从机相应的FIFO_EN位(SLVx_FIFO_EN,x=0,1或2)被置1,存储在它相应的数据寄存器(EXT_SENS_DATA寄存器,寄存器73to96)中的数据会根据采样频率写入到FIF

FIFO O缓冲区。I2I2C C从机的EXT_SENS_DAT A寄存器由I2C_SLVx_CTRL(x=0,1或2,寄存器39,42和45)寄存器确定。更多关于EXT_SENS_DATA寄存器的信息,请参阅寄存器73to96。

需要注意的是相应的FIFO_EN的位(SLV3_FIFO_EN)在I2C_MST_CTRL(寄存器36)。同时要注意的是从机4和从机0--30不同,更多关于从机4的用法请参阅寄存器49to 53。

参数:

TEMP_FIFO_EN

该位置1,该位使能TEMP_OUT_H和TEMP_OUT_L(寄存器65和66)可

以加载到FIFO缓冲区。

XG_FIFO_EN

该位置1,该位使能GYRO_XOUT_H和GYRO_XOUT_L(寄存器67和68)

可以加载到FIFO缓冲区。

YG_FIFO_EN

该位置1,该位使能GYRO_YOUT_H和GYRO_YOUT_L(寄存器69和70)

可以加载到FIFO缓冲区。

ZG_FIFO_EN

该位置1,该位使能GYRO_ZOUT_H和GYRO_ZOUT_L(寄存器71和72)

可以加载到FIFO缓冲区。

ACCEL_FIFO_EN

该位置1,该位使能ACCEL_XOUT_H,ACCEL_XOUT_L,

ACCEL_YOUT_H,ACCEL_YOUT_L,ACCEL_ZOUT_H和

ACCEL_ZOUT_L(寄存器59to64)可以加载到FIFO缓冲区。

SLV2_FIFO_EN

该位置1,该位使能EXT_SENS_DATA寄存器(寄存器73to96)和从机2

可以加载到FIFO缓冲区。

SLV1_FIFO_EN

该位置1,该位使能EXT_SENS_DATA寄存器(寄存器73to96)和从机1

可以加载到FIFO缓冲区。

SLV0_FIFO_EN

该位置1,该位使能EXT_SENS_DATA registers(寄存器73to96)和从机0

可以加载到FIFO缓冲区。

注意:更多关于EXT_SENS_DATA寄存器和从机设备的信息,请参阅寄存器73to96。

4.8REGISTER36–I2C MASTER CONTROL I2C主机控制

说明:

这个寄存器用于配置单主机或多主机控制时的辅助I2C总线。另外,这个寄存器也用于数据就绪中断(Data Ready interrupt)的延时,也用于从机3的数据写入到FIFO缓冲区的使能。该寄存器也配置辅助I2C主机从一个从机到下一个从机的读取,和配置MPU-60X0的8MHz的内部时钟。

多主机功能允许在同一个总线有多个I2C主机操作。有多主机需求的电路中,置MULT_MST_EN位为1。这将增加约30μA的电流。

在多主机需求的电路中,每个主机必须经常监视I2C总线的状态。在获得总线仲裁之前,必须先确定其他I2C主机已经释放总线仲裁。当MULT_MST_EN置位为1时,MPU-60X0的检测总线仲裁逻辑开启,总线是否可以能够检测。

当WAIT_FOR_ES位置1时,数据就绪中断(Data Ready interrupt)将会延时,直到外部传感器数据从从机设备加载到EXT_SENS_DATA寄存器。当数据就绪中断(Data Ready interrupt)被触发,这用于确保所有的内部传感器数据和外部传感器数据都被加载到各自的数据寄存器中。

当从机3FIFO使能位(SLV_3_FIFO_EN)置1,从机3传感器测量的数据每次都会被加载到FIFO缓冲区。I2C从机的EXT_SENS_DATA寄存器由I2C_SLV3_CTRL(寄存器48)确定。

更多关于EXT_SENS_DATA寄存器的信息,请参阅寄存器73to96。

从机0,从机1,从机2的FIFO_EN位在寄存器35中。

I2C_MST_P_NSR位用于配置I2C主机从一个从机到下一个从机的读取。如果该位等于0,读取之间会有一个重新启动。如果该位等于1,开始读取后跟随一个停止信号。当一个写操作后接着一个读操作,开始写操作成功后跟随一个停止信号,然后就可以一直读取。

MPU-60X00内部8MH

8MHz z时钟的分频器。

I2C_MST_CLK K由4位无符号值组成,用于配置MPU-60X

I2C_MST_CL

设置I2C主机时钟频率如下表所示:

参数:

MUL_MST_EN该位置1,使能多主机功能。

WAIT_FOR_ES该位置1,数据就绪中断延时直到外部传感器数据从从机设备加

载到EXT_SENS_DATA寄存器。

SLV3_FIFO_EN该位置1,使能Slave3的EXT_SENS_DAT A寄存器可以写入到

FIFO。从机0-2可以在寄存器35找到相关位.

I2C_MST_P_NSR控制I2C主机从一个从机到下一个从机的读取。该位为0时。

读取之间会有一个重新启动。如果该位等于1,在下次读取时会

有开始和结束信号。如果一个写操作后接着一个读操作,开始

和结束信号通常执行。

I2C_MST_CLK4位无符号值。配置I2C主机时钟频率分频器。

4.9REGISTERS37TO39–I2C SLAVE0CONTROL

I2C从机1控制

说明:

这些寄存器用于配置从机0的数据传输序列。从机1,2,3也是采用和从机1一样的方式。但是,从机4和从机0--3的特点有很大的不同。更多关从机4的信息,请参阅寄存器49to53。

MPU60X0和从机0的数据传输通过设置I2C_SLV0_RW位实现读或者写。该位置1,传输方式为读操作。该位置0,传输方式为写操作。

I2C_SLV0_ADDR用于指定从机的I2C地址。

从从机0的内部寄存器开始传输数据。该寄存器的地址由I2C_SLV0_REG指定。

传输的字节长度由I2C_SLV0_LEN指定。当传输大于1字节时(I2C_SLV0_LEN>1),数据从I2C_SLV0_REG指定的地址开始连续的读(写)。

在读模式中,读取到结果放在最低的EXT_SENS_DATA寄存器中。更多关于读取结果的分配的信息,请参阅EXT_SENS_DATA寄存器说明(寄存器73--96)。

在写模式中,I2C_SLV0_DO(寄存器99)的内容会写入到从机设备。

I2C_SLV0_EN N使能I2I2C C从机的数据传输。只有发送字节数大于0(I2C_SLV0_LEN>0)I2C_SLV0_E

和使能从机设备(I2C_SLV0_EN=1)时,数据的传输才被允许。

I2C_SLV0_BYTE_SW用于配置字符对的字节交换(byte swapping of word pairs)。当字节交换使能,字符对的高字节和低字节将被交换。请参阅I2C_SLV0_GRP字符对的配对约定。当该位清0,从机0的字节的发送会按他们发送的顺序写入到EXT_SENS_DATA寄存器。

当I2C_SLV0_REG_DIS置1,只能进行读取或者写入数据。当该位清0,可以再读取或写入数据之前写入一个寄存器地址。当指定从机设备内部的寄存器地址进行发送或接收数据时,该位必须等于0。

I2C_SLV0_GRP指定从寄存器收到的字符对的分组顺序。当该位清0,寄存器地址0和1,2和3的字节是分别成对(甚至,奇数寄存器地址),作为一个字符对。当该位置1,寄存器地址1和2,3和4的字节是分别成对的,作为一个字符对。

I2C的数据发送由采样频率确定。相关定义在寄存器25。用户必须确保每个启动的从机在每个采样频率信号内可以完成通讯。

I2C从机访问速率可以比采样频率相对降低。降低的访问速率取决于I2C_MST_DLY (寄存器52)。不论从机的访问速率是否降低都由I2C_MST_DELAY_CTRL(寄存器103)确定。

从机的发送顺序是固定的。顺序为:从机0,从机1,从机2,从机3,从机4.如果一个从机被关闭(Disable),那这个从机就被跳过。

每个从机的访问速率一般就是采样频率或者是降低后的频率。可以是一些从机的访问速率为采样频率,一些从机是降低后的访问速率。从机的访问顺序(从机0to从机4)也遵循上述顺序。但是,降低访问速率的从机当还没到达访问周期时会被跳过。更多关于降低后的访问速率的信息,请参阅寄存器52。无论从机的访问速率是采用频率还是降低的都由寄存器103中的Delay Enable位所决定。

参数:

I2C_SLV0_RW该位置1,为发送模式。该位清0,为读取模式.

I2C_SLV0_ADDR从机0的7位I2C地址

I2C_SLV0_REG要发送到(接收)从机0内部寄存器的8位地址

I2C_SLV0_EN该位置1,使能从机0发送数据。该位清0,失能发送。

I2C_SLV0_BYTE_SW该位置1,使能字节交换。字符对的高字节和低字节交换。请

参阅I2C_SLV0_GRP的字符对的配对约定。

该位清0,从机0收到的字符将按顺序写入到

EXT_SENS_DATA寄存器中。

I2C_SLV0_REG_DIS该位置1,只能读取或写入数据。该位清0,在读取或写入数

据前要写入一个寄存器地址。

I2C_SLV0_GRP1位数值,指定从寄存器收到的字符对的分组顺序。该位清

0,寄存器地址0和1,2和3的字节是分别成对(甚至,奇

数寄存器地址),作为一个字符对。当该位置1,寄存器地

址1和2,3和4的字节是分别成对的,作为一个字符对。

I2C_SLV0_LEN4位无符号数值。指定从机0发送字符的长度。该位清0,

I2C_SLV0_EN位自动置0.

字节交换例子(Byte Swapping Example)

这个例子演示当I2C_SLV0_BYTE_SW=1,I2C_SLV0_GRP=0,I2C_SLV0_REG=0x01, and I2C_SLV0_LEN=0x4:

1.第一个字节从从机0寄存器0x01读取,存储在EXT_SENS_DATA_00。因为

I2C_SLV0_GRP=0,双字节读取,奇寄存器地址将作为字符对配对在一起。只有一个字节读取时,奇数寄存器地址代替偶数地址。

I2C_SLV0_BYTE_SW=1和I2C_SLV0_REG[0]=1时,第二个和第三个字节将被交换。

2.2.I2C_SLV0_BYTE_SW

从0x02读取的数据被存储在EXT_SENS_DATA_02,从0x03读取的数据将存储在

EXT_SENS_DATA_01.

3.从地址0x04读取的最后一个字节将被存储在EXT_SENS_DATA_03。因为只有一个字节需要读取,交换不会进行。

从机访问例子(Slave Access Example)

当从机0访问速率为采样频率,从机1的访问速度为采样频率的一半。其他从机失能。在第一个周期从机0和从机1都将被访问。但是,在第二个周期只有从机0被访问。在第三周期,从机0和从机1都被访问。第四个周期,只有从机0被访问。这样子循环下去。

I2C从机1控制

说明:

这个寄存器说明从机1的数据传送顺序。他们的功能和从机0寄存器对应的说明一样(寄存器37to39)。

4.11REGISTERS43TO45–I2C SLA VE2CONTROL

I2C从机2控制

说明:

这个寄存器说明从机2的数据传送顺序。他们的功能和从机0寄存器对应的说明一样(寄存器37to39)。

4.12REGISTERS46TO48–I2C SLAVE3CONTROL

I2C从机3控制

说明:

这个寄存器说明从机2的数据传送顺序。他们的功能和从机0寄存器对应的说明一样(寄存器37to39)。

I2C从机4控制

说明:

这些寄存器说明从机4的数据传输顺序。从机4和从机0--3的特点有很大不同。更多关于从机0--3的特点信息请参阅寄存器37to48。

MPU-60X0和从机4的I2C数据传输通过设置I2C_SLV4_RW位控制读取或写入操作。该位置1,传输为读取操作,该位清0,为写入操作。

I2C_SLV4_ADDR用于指定从机4的I2C从机地址。

I2C_SLV4_REG用于指定数据传输从从机4的哪个内部寄存器开始。

在读取模式,读取结果将在I2C_SLV4_DI中。在写入模式,I2C_SLV4_DO的内容将被写入从机设备。

I2C_SLV4_EN N位为1时,数据传输才被允许。数据传输必须设置_ADDR and_REG 只有I2C_SLV4_E

I2C_SLV4_EN N 寄存器的参数。写入时,_DO寄存器也需要写入内容。在传输执行结束后,I2C_SLV4_E 位将被清0。

如果中断使能,从机4数据传输完成将产生中断。寄存器54有该中断的状态。

当I2C_SLV4_REG_DIS置1,读取或写入的数据将替代寄存器地址。当指定数据传输的从机设备内部寄存器地址后,该位等于0。

I2C_MST_DLY配置I2C从机降低后的访问速率。当从机的访问速率相对于采样频率减少,从机将在每个1/(1+I2C_MST_DLY)samples访问。

这个基本采样频率由SMPLRT_DIV(寄存器25)和DLPF_CFG(寄存器26)决定。但从机的访问速率都是由I2C_MST_DELAY_CTRL(寄存器103)确定相对于采样频率的降低量。

更多关于采样频率的信息,请参阅寄存器25。

参数:

I2C_SLV4_RW该位置1,数据传输为读取操作。

该位清0,数据传输为写入操作。

I2C_SLV4_ADDR从机4的7位地址.

I2C_SLV4_REG从机4数据开始传输的8位寄存器地址。

I2C_SLV4_DO这个寄存器的内容会被写入从机0。

如果I2C_SLV4_RW为1(读取),这个寄存器没有影响。

I2C_SLV4_EN该位置1,使能从机4数据传输。

该位清0,失能从机4数据传输。

I2C_SLV4_INT_EN该位置1,该位使能在从机4传输完成后产生一个中断信号。

该位清0,该位失能在从机4传输完成后产生一个中断信号

I2C_SLV4_REG_DIS该位置1,传输将读取或写入数据。

该位清0,传输将读取或写入地址。

I2C_MST_DLY配置从机设备相对于采样频率减少的访问速率。

I2C_SLV4_DI这个寄存器存储从从机读取的数据。

数据在读取传输后填入。

4.14REGISTER54–I2C MASTER STATUS I2C主机状态

说明:

这个寄存器展示MPU-60X0内部I2C主机产生的中断信号状态。这个寄存器也连接到

主处理器的FSYNC中断状态。

读取这个寄存器会清除该寄存器的所有标志位。

参数:

PASS_THROUGH该位反映从外部设备产生FSYNC中断状态到MPU-60X0。这作为一

种方式传递一个中断从主应用处理器到MPU-60X0。该位置1,如果

INT_PIN_CFG中的FSYNC_INT_EN置1,这会产生一个中断。(寄

存器55).

I2C_SLV4_DONE当从机4传输完成该位自动置1。如果INT_ENABLE寄存器中的

I2C_MST_INT_EN置1(寄存器56)和I2C_SLV4_CTRL(寄存器52)

寄存器中的SLV_4_DONE_INT位置1,则触发中断。

I2C_LOST_ARB当I2C主机丢失辅助I2C总线(一个错误条件)仲裁,该位自动置1。

I2C_MST_INT_EN N位置

如果INT_ENABL

INT_ENABLE E寄存器(寄存器56)中的I2C_MST_INT_E

1,触发一个中断。

I2C_SLV4_NACK当从机4在传输中I2C接收到一个不应答信号(NACK),该位自动

置1。如果INT_ENABLE寄存器(寄存器56)中的

I2C_MST_INT_EN位置1,触发一个中断。

I2C_SLV3_NACK当从机3在传输中I2C接收到一个不应答信号(NACK),该位自动

INT_ENABLE E寄存器(寄存器56)中的I2C_MST_INT_EN

置1。如果INT_ENABL

位置1,触发中断。

I2C_SLV2_NACK当从机2在传输中I2C接收到一个不应答信号(NACK),该位自动

INT_ENABLE E寄存器(寄存器56)中的I2C_MST_INT_EN

置1。如果INT_ENABL

位置1,触发中断。

I2C_SLV1_NACK当从机1在传输中I2C接收到一个不应答信号(NACK),该位自动

INT_ENABLE E寄存器(寄存器56)中的I2C_MST_INT_EN

置1。如果INT_ENABL

位置1,触发中断。

I2C_SLV0_NACK当从机0在传输中I2C接收到一个不应答信号(NACK),该位自动

置1。如果INT_ENABLE寄存器(寄存器56)中的I2C_MST_INT_EN

位置1,触发一个中断。

4.15REGISTER55–INT PIN/BYPASS ENABLE CONFIGURATION

INT引脚/旁路有效使能配置

说明:

这个寄存器配置INT引脚中断信号的产生。也用于使能FSYNC引脚作为主应用处理器的中断,也使能I2C主机的Bypass模式。该位也使能时钟输出。

FSYNC_INT_EN使能FSYNC引脚作为主应用处理器中断。FSYNC_INT_LEVEL指定的过渡有效电平将触发中断。中断状态可以从I2C主机状态寄存器(寄存器54)PASS_THROUGH位读取。

当I2C_BYPASS_EN等于1且I2C_MST_EN(寄存器106第5位)等于0,主应用处理器可以直接访问MPU-60X0的辅助I2C总线。当该位等于0,不管I2C_MST_EN什么状态,主应用处理器都不能直接访问MPU-60X0的辅助I2C总线。

更多关于Bypass模式的信息,请参阅MPU-6000/6050产品特性文档第7.11和7.13节。

参数:

INT_LEVEL该位等于0,INT引脚的逻辑电平为高电平。

该位等于1,INT引脚的逻辑电平为低电平。

INT_OPEN该位等于0,the INT pin is configured as push-pull.

该位等于1,the INT pin is configured as open drain.

LATCH_INT_EN该位等于0,INT引脚产生50us脉冲。

该位等于1,INT引脚保持高电平直到中断被清除。

INT_RD_CLEAR该位等于0,读取INT_STATUS(寄存器58)中断状态位清除。

该位等于1,任何读取中断状态位清除。

FSYNC C引脚的逻辑电平为高(作为主处理器中断)。FSYNC_INT_LEVEL该位等于0,FSYN

FSYNC C引脚的逻辑电平为低(作为主处理器中断)。

该位等于1,FSYN

FSYNC_INT_EN该位等于0,该位失能FSYNC引脚从主处理器产生中断。

该位等于1,该位使能FSYNC引脚作为主处理器中断。

I2C_BYPASS_EN该位等于1且I2C_MST_EN(寄存器106bit[5])等于0,主应用

处理器可以直接访问MPU-60X0的辅助I2C总线。

该位等于0,无论I2C_MST_EN(Register106bit[5])什么状态,

主应用处理器不可以直接访问MPU-60X0的辅助I2C总线。

寄存器组的设计与实现

寄存器组的设计与实现 第______ _________组 成员___ ____ ____ 实验日期___ _____ _____ 实验报告完成日期___________ 1、实验目的 1、学习掌握Quartus软件的基本操作; 2、理解寄存器组的工作原理和过程; 3、设计出寄存机组并对设计的正确性进行验证; 二、实验内容

1、设计出功能完善的寄存器组,并对设计的正确性进行验证。要求如下: (1)用图形方式设计出寄存器组的电路原理图 (2)测试波形时用时序仿真实现,先将不同的数据连续写入 4个寄存器后,再分别读出 (3)将设计文档封装成器件符号。 (4)数据的宽度最好是16位 2、能移位的暂存器实验,具体要求如下: (1)用图形方式设计出能移位的暂存器电路原理图,分别实 现左移、逻辑右移和算术右移。 (2)测试波形时要用时序仿真实现,测试数据不要全为0也 不要全为1,算术右移的测试数据要求为负数(即符号位为 1) (3)将设计文档封装成器件符号。 (4)数据的宽度最好是16位 三、能完善的寄存器组设计思想 1、对于寄存器组设计思路 利用具有三态功能的寄存器堆74670芯片进行设计,根据实验要求,需要设计16位的存储器组,则需要74670芯片4片,在寄存器组工作时,同时对4片74670芯片进行读写操作控制,封装后即可作为包含有4个寄存器的16位寄存器组在主机系统中调用。 2、对74670器件的学习 74670(三态输出4×4寄存器堆)提供4个4位的寄存器,在功能上可对4个寄存器去分别进行写操作和读操作。在寄存器进行写操作时,通过WB、WA两个寄存器选择端的组合和00、01、10、11、来选择寄存器,公国GWN写操作端控制进行三态控制,在GWN为低电平时将数据写入端数据D4D3D2D1写入该寄存器;在寄存

集成计数器及寄存器的运用 实验报告

电子通信与软件工程 系2013-2014学年第2学期 《数字电路与逻辑设计实验》实验报告 --------------------------------------------------------------------------------------------------------------------- 班级: 姓名: 学号: 成绩: 同组成员: 姓名: 学号: --------------------------------------------------------------------------------------------------------------------- 一、 实验名称:集成计数器及寄存器的运用 二、实验目的: 1、熟悉集成计数器逻辑功能与各控制端作用。 2、掌握计数器使用方法。 三、 实验内容及步骤: 1、集成计数器74LS90功能测试。74LS90就是二一五一十进制异步计数器。逻辑简图为图8、1所示。 四、 五、 图8、1 六、 74LS90具有下述功能: ·直接置0(1)0(2)0(.1)R R ,直接置9(S9(1,·S,.:,=1) ·二进制计数(CP 、输入QA 输出) ·五进制计数(CP 2输入Q D Q C Q B 箱出) ·十进制计数(两种接法如图8.2A 、B 所示) ·按芯片引脚图分别测试上述功能,并填入表 8、1、表8、2、表8、3中。

图8、2 十进制计数器 2、计数器级连 分别用2片74LS90计数器级连成二一五混合进制、十进制计数器。 3、任意进制计数器设计方法 采用脉冲反馈法(称复位法或置位法)。可用74LS90组成任意模(M)计数器。图8、3就是用74LS90实现模7计数器的两种方案,图(A)采用复位法。即计数计到M异步清0。图(B)采用置位法,即计数计到M一1异步置0。 图8、3 74LS90 实现七进进制计数方法 (1)按图8、3接线,进行验证。 (2)设计一个九进制计数器并接线验证。 (3)记录上述实验的同步波形图。 四、实验结果:

CC2530常用寄存器归纳

P0SEL(P1SEL相同):各个I/O口的功能选择,0为普通I/O功能,1为 P2SEL:(D0到D2位)端口2 功能选择和端口1 外设优先级控制 什么是外设优先级:当PERCFG分配两个外设到相同的引脚时,需要设置这两 PERCFG:设置部分外设的I/O位置,0为默认I位置1,1为默认位置2

P0DIR(P1DIR相同):设置各个I/O的方向,0为输入,1为输出 P2DIR :D0~D4设置P2_0到P2_4的方向 D7、D6位作为端口0外设优先级的控制

P0INP(P1INP意义相似) :设置各个I/O口的输入模式,0为上拉/下拉,1 需要注意的是:P1INP中,只有D7~D2分别设置对应I/O口的输入模式。D1D0两位无作用。 P2INP:D0~D4控制P2_0~P2_4的输入模式,0为上拉/下拉,1为三态; D5~D7设置对P0、P1和P2的上拉或下拉的选择。0为上拉,1

P0IFG(P1IFG相同):终端状态标志寄存器,当输入端口有中断请求时,相应的标志位将置1。 P0IEN(P1IEN相同):各个控制口的中断使能,0为中断禁止,1为中断使能。 P2IFG:D0~D4为P2_0~P2_4的中断标志位D5为USD D+中断状态标志,当D+线有一个中断请求未决时设置该标志,用于检测USB挂起状态下的USB恢复事件。当USB控制器没有挂起时不设置该标志。 P2IEN:D0~D4控制P2_0~P2_4的中断使能 D5控制USB D+的中断使能

PICTL:D0~D3设置各个端口的中断触发方式,0为上升沿触发,1为下降沿触发。 D7控制I/O引脚在输出模式下的驱动能力。选择输出驱动能力增强来补偿引脚DVDD的低I/O电压,确保在较 低的电压下的驱动能力和较高电压下相同。0为最小驱动能力增强。1为最大 IEN0:中断使能0,0为中断禁止,1为中断使能 IEN1:中断使能1,0为中断禁止,1为中断使能

计算机组成原理课程设计报告完整版

计算机组成原理课程设计报告 班级:06计算机 6 班姓名:李凯学号:20063007 完成时间:2009年1月3日 一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念; 3.培养综合实践及独立分析、解决问题的能力。 二、课程设计的任务 针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。 三、课程设计使用的设备(环境) 1.硬件 ●COP2000实验仪 ●PC机 2.软件 ●COP2000仿真软件 四、课程设计的具体内容(步骤) 1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点: COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、

累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。 模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。相比而言8位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。 模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。 STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。

位CPU设计与实现

计 算 机 组 成 原 理 论 文 姓名:某某 班级:计科一班 学号:

8位CPU的设计与实现论文CPU 的主要功能是执行指令,控制完成计算机的各项操作,包括运算操作、传送操作、输入/输出操作等。作为模型计算机设计,将重点放在寄存器组,采取较简单的组成模式,以尽量简洁的设计帮助读者掌握CPU 的基本原理。 此次设计CPU就是为了了解CPU运行的原理,从而完成从指令系统到CPU 的设计,并且通过仿真对CPU设计进行正确性评定。 关键词:CPU,设计指标,电路原理图,运算部件,寄存器组,模型机 指令系统,微命令序列,数据通路 1. 设计的任务与要求 1.1设计指标 1. 能实现IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP (无条件转移)这五种指令; 2. 整个系统能正常稳定工作。 1.2 设计要求 1. 画出电路原理图; 2.写出设计的全过程,附上有关资料和图纸(也可直接写在相关章节中),有 心得体会。 2. 方案论证与选择 2.1 CPU的系统方案

CPU 主要由算术逻辑单元ALU,数据暂存寄存器DR1、DR2,数据寄存器R0~R2,程序计数器PC,地址寄存器AR,程序/数据存储器MEMORAY,指令寄存器IR,微控制器uC,输入单元INPUT 和输出单元OUTPUT 所组成。图中虚线框内部分包括运算器、控制器、程序存储器、数据存储器和微程序存储器等,实测时,它们都可以在单片FPGA 中实现。虚线框外部分主要是输入/输出装置,包括键盘、数码管、LCD 显示器等,用于向CPU 输入数据,或CPU 向外输出数据,以及观察CPU 内部工作情况及运算结果。 1.运算部件 运算部件的任务是对操作数进行加工处理。主要由三部分组成: (1)输入逻辑。(2)算术/逻辑运算部件ALU。(3)输出逻辑 2.寄存器组 计算机工作时,CPU 需要处理大量的控制信息和数据信息。例如对指令信息进行译码,以便产生相应控制命令对操作数进行算术或逻辑运算加工,并且根据运算结果决定后续操作等。因此,在CPU 中需要设置若干寄存器,暂时存放这些信息。在模型CPU中,寄存器组由R0、R1、R2 所组成。 3.指令寄存器指令寄存器(IR) 指令寄存器指令寄存器(IR)用来存放当前正在执行的指令,它的输出包括操作码信息、地址信息等,是产生微命令的主要逻辑依据。 4.程序计数器程序计数器(PC) 程序计数器程序计数器也称指令指针,用来指示指令在存储器中的存放位置。当程序顺序执行时,每次从主存取出一条指令,PC 内容就增量计数,指向下一条指令的地址。增量值取决于现行指令所占的存储单元数。如果现行指令只占一个存储单元,则PC 内容加1;若现行指令占了两个存储单元,那么PC 内容就要加2。当程序需要转移时,将转移地址送入PC,使PC 指向新的指令地址。因此,当现行指令执行完,PC 中存放的总是后续指令的地址;将该地址送往主存的地址寄存器AR,便可从存储器读取下一条指令。 5.地址寄存器 CPU 访问存储器,首先要找到需要访问的存储单元,因此设置地址寄存器(AR)来存放被访单元的地址。当需要读取指令时,CPU 先将PC 的内容送入AR,再由AR将指令地址送往存储器。当需要读取或存放数据时,也要先将该数据的有效地址送入AR,再对存储器进行读写操作。 6.标志寄存器 标志寄存器F是用来记录现行程序的运行状态和指示程序的工作方式的,标志位则用来反映当前程序的执行状态。一条指令执行后,CPU 根据执行结果设置相应特征位,作为决定程序流向的判断依据。例如,当特征位的状态与转移条件符合时,程序就进行转移;如果不符合,则顺序执行。在后面将要介绍的较复杂模型计算机设计中设置了两个标志位:进位Fc、零位Fz。 7.微指令产生部件 实现信息传送要靠微命令的控制,因此在CPU 中设置微命令产生部件, 根据控制信息产生微命令序列,对指令功能所要求的数据传送进行控制, 同时在数据传送至运算部件时控制完成运算处理。 微命令产生部件可由若干组合逻辑电路组成,也可以由专门的存储逻辑组成。产生微命令的方式可分为组合逻辑控制方式和微程序控制方式两种。在本章所介绍的8 位模型CPU 设计中,采用微程序控制方式通过微程序控制器和微指令存储器

计算机组成原理实验报告总结寄存器的原理及操作.doc

成绩:实验报告 课程名称:计算机组成原理 实验项目:寄存器的原理及操作 姓名: 专业:计算机科学与技术 班级: 学号:

计算机科学与技术学院 实验教学中心 20 16年6月20日

实验项目名称:寄存器的原理及操作 一、实验目的 1.了解模型机中 A, W 寄存器结构、工作原理及其控制方法。 2.了解模型机中寄存器组 R0..R3 结构、工作原理及其控制方法。 3.了解模型机中地址寄存器 MAR,堆栈寄存器 ST,输出寄存器 OUT寄存器结构、工作原理及其控 制方法。 二、实验内容 1、A、W寄存器:利用 COP2000实验仪上的K16..K23 开关做为DBUS的数据,其它开关做为控制信号, 将数据写入寄存器A, W。 2、R0、R1、R2、R3 寄存器实验:利用COP2000实验仪上的K16..K23 开关做为DBUS的数据,其它开 关做为控制信号,对数据寄存器组R0..R3 进行读写。 3、MAR、ST、OUT寄存器:利用COP2000实验仪上的K16..K23 开关做为DBUS的数据,其它开关做为 控制信号,将数据写入地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。 三、实验用设备仪器及材料 伟福 COP2000 系列计算机组成原理实验系统 四、实验原理及接线 实验 1:A,W 寄存器实验

实验 2 :R0,R1, R2,R3寄存器实验

MAR为存储器地址寄存器,其功能是存储操作数在内存中的地址,信号MAREN的功能是将数据总线DBUS上数据 MAR,信号 MAROE的功能是将MAR的值送到地址总线ABUS上 ST 堆栈寄存器的作用,是出现中断或子程序调用时,保存断点处PC 的值,以便中断或子程序结束时, 能继续执行原程序。图中,信号STEN的作用是将数据总线DBUS上数据存入堆栈寄存器ST 中

8位移位寄存器的电路设计与版图实现

8位移位寄存器的电路设计与版图实现 摘要 电子设计自动化,缩写为EDA,主要是以计算机为主要工具,而Tanner EDA则是一种在计算机windows平台上完成集成电路设计的一种软件,基本包括S-Edit,T-Spice,W-Edit,L-Edit与LVS等子软件,其S-Edit以及L-Edit为常用软件,前者主要实现电路设计,后者主要针对的是已知电路的版图绘制,而T-Spice主要可实现电路图及版图的仿真,可以用Tanner EDA实现电路的设计布局以及版图实现等一系列完整过程。本文用Tanner EDA工具主要设计的是8位移位寄存器,移位寄存器主要是用来实现数据的并行和串行之间的转换以及对数据进行运算或专业处理的工具,主要结构构成是触发器,触发器是具有储存功能的,可以用来储存多进制代码,一般N 位寄存器就是由N个触发器构成,移位寄存器工作原理主要是数据在其脉冲的作用下实现左移或者右移的效果,输入输出的方式表现为串行及并行自由组合,本设计就是在Tanner EDA的软件平台上进行对8位移位寄存器的电路设计仿真,再根据电路图在专门的L-Edit 平台上完成此电路的版图实现,直至完成的结果和预期结果保持一致。 关键词:Tanner EDA;L-Edit;移位寄存器,S-Edit

8 bits shift register circuit design and layout Abstract Electronic design automation,referred to as EDA,it is based on computers as the main tool,and Tanner EDA is a kind of software that complete the integrated circuit design on Windows platforms.Its Sub-Softwares include S-Edit,T-Spice,W-Edit,L-Edit and LVS and so on.S-Edit and L-Edit are commonly used software,S-Edit is primarily designed to achieve circuit,the latter is aimed primarily known circuit layout drawing,T-Spice can achieve schematic and layout simulation.We can achieve layout of the circuit design and a series of complete process layout used Tanner EDA tools.In this paper, Tanner EDA tools are mainly designed an 8-bit shift register.The shift register is mainly used for data conversion between parallel and serial, and the data processing tool operation or professional,its main structure is the trigger composition,flip-flop is a storage function,it can be used to store more hexadecimal code,In general N-bits register is composed of N trigger.Working principle of the shift register data under the action of the pulse, mainly the effect of the shift to the left or right,input and output of the way of serial and parallel free combination.This design is in Tanner on the EDA software platform to 8 bits shift register circuit design and simulation,then according to the circuit diagram on special L - Edit platform to complete the circuit layout implementation,until the finish is consistent with the results and expected results. Keywords:Tanner EDA;L-Edit;Shift register,S-Edit

单片机各寄存器汇总

符号 地址功能介绍 B F0H B寄存器 ACC E0H 累加器 PSW D0H 程序状态字 IP B8H 中断优先级控制寄存器 P3 B0H P3口锁存器 IE A8H 中断允许控制寄存器 P2 A0H P2口锁存器 SBUF 99H 串行口锁存器 SCON 98H 串行口控制寄存器 P1 90H P1口锁存器 TH1 8DH 定时器/计数器1(高8位)TH0 8CH 定时器/计数器1(低8位)TL1 8BH 定时器/计数器0(高8位)TL0 8AH 定时器/计数器0(低8位) TMOD 89H 定时器/计数器方式控制寄存器 TCON 88H 定时器/计数器控制寄存器 DPTR 82H 83H 83H数据地址指针(高8位) PC SP 81H 堆栈指针 P0 80H P0口锁存器 PCON 87H 电源控制寄存器 、PSW-----程序状态字。 D7D6D5D4D3D2D1D0 CY AC F0 RS1 RS0 OV P 下面我们逐一介绍各位的用途 CY:进位标志。 AC:辅助进、借位(高半字节与低半字节间的进、借位)。 F0:用户标志位,由用户(编程人员)决定什么时候用,什么时候不用。 RS1、RS0:工作寄存器组选择位。这个我们已知了。 0V:溢出标志位。运算结果按补码运算理解。有溢出,OV=1;无溢出,OV=0。什么是溢出我们后面的章节会讲到。

P :奇偶校验位:它用来表示ALU 运算结果中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。 运算结果有奇数个1,P =1;运算结果有偶数个1,P =0。 例:某运算结果是78H (01111000),显然1的个数为偶数,所以P=0。 定时/计数器寄存器 1.工作方式寄存器TMOD(P134) TMOD 为T0.T1的工作方式寄存器,其各位的格式如下:TMOD D7 D6 D 5 D4 D3 D2 D1 D0 GATE C/-T M1 M0 GATE C/-T M1 M0 定时器1 定时器0 位7 GATE ——T1的门控位。 当GATE=0时,只要控制TR1置1,即可启动定时器T1开始工作; 当GATE=1时,除需要将TR1置1外,还要使INT1引脚为高电平,才能启动相应的定时器开始工作。 位6 C/—T ——T1的功能选择位。 当C/—T=0时,T1为定时器方式; 当C/—T=0时,T1为计数器方式; 位5和位4 M1和M0——T1的方式选择位。 由这两位的组合可以定义T1的3种工作方式 定时器T1工作方式选择表 如右表: 位3 GATE ——T0的门控位。 当GATE=0时,只要控制TR0置1,即可启动定时器T0开始工作; 当GATE=1时,除需要将TR0置1外,还要使INT0引脚为高电平,才能启动相应的定时器开始工作。 位2 C/T ——T1的功能选择位。 当C/—T=0时,T0为定时器方式; 当C/—T=0时,T0为计数器方式; 位1和位0 M1和M0—T0的方式选择位。 由这两位的组合可以定义T1的3种工作方式 定时器T0工作方式选择表 TMOD 不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半节定义定时器0,高半字节定义定时器1。复位时,TMOD 所有位均为0,定时器处于停止工作状态。 定时/计数器控制寄存器中断请求标志寄存器TCON(P183) TCON 的作用是控制定时器的启/停,标志定时器的溢出和中断情况。定时器控制寄存器TCON 各位格式如下:TCON(88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 当有中断源发出请求时,有硬件将相应的中断标志位置 1.在中断请求被响应前,相应中断标志位被锁存在特殊功能寄存器TCON 或SCON 中。 TCON 为定时器T0和T1的控制寄存器,同时也锁住T0和T1的溢出中断标志及外部中断——INT0和— M1 M0 工作方式 功能描述 0 0 方式0 13位计数器 0 1 方式1 16位计数器 1 0 方式 2 自动再装入8位计数器 1 1 方式3 定时器1:停止计数 M1 M0 工作方式 功能描述 0 0 方式0 13位计数器 0 1 方式1 16位计数器 1 0 方式 2 自动再装入8位计数器 1 1 方式3 定时器0:分成2个8位计数器

计算机组成原理课程设计基本模型机设计与实现

课程设计(大作业)报告课程名称:计算机组成原理 设计题目:基本模型机设计与实现 院系:信息技术学院 班级:计算机科学与技术3班 设计者: 学号: 指导教师: 设计时间: 昆明学院 信息技术学院 课程设计(大作业)任务书

目录 课程设计(大作业)报告 一、课程设计的教学目的 1. 在“微程序控制器的组成与微程序设计实验”的基础上,进一步将其中各单元组成系统构造一台模型计算机。 2. 本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。 课程设计内容设计一台基本模型机,并实现相关的指令。 二、课程设计任务和基本要求 本课程设计以TDN-CM++计算机组成原理教学实验系统为平台设计完成。 1.按给定的数据格式和指令系统,设计一个微程序控制器。 2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微 程序的为指令代码。

3.连接逻辑电路完成启动,测试,编程,测试,效验和运行,并观测运 行过程及结果。 4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台 模型计算机。 5.用微程序控制器控制模型机的数据通路。 6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令 与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。 7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的 机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序.在 PC机上编辑机器指令和微程序,装载代码到TDN-CM++实验系统并运行,实现应用要求。 三、设计任务及分析 (1)设计任务: 从输入设备读取数据X并将其存入以A为间接地址的 内存单元,将X与R 0. 寄存器中的内容Y执行X ⊕,结果送到以B为直接地址的内存单元保存。 (2)分析: A:给R 寄存器直接置入01H. B:从数据开关给间接地址为0CH的内存单元置数,(03H). C:给R 0中的内容取反,结果存在R 中. D:将间接地址0CH中直接地址0EH中的内容(03H)放入DR1中, R 中的内容 放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R 中. E:将R 中的内容存在直接地址为0DH的内存单元中. 四、设计原理 模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。 本实验采用五条机器指令: IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):

PIC单片机各寄存器汇总资料讲解

1) 芯片的振荡模式选择。 2) 片内看门狗的启动。 3) 上电复位延时定时器PWRT的启用。 4) 低电压检测复位BOR模块的启用。 5) 代码保护。 __CONFIG_CP_OFF &_WDT_OFF &_BODEN_OFF &_PWRTE_ON &_XT_OSC &_WRT_OFF &_LVP_OFF &_CPD_OFF ; _CP_OFF 代码保护关闭 _WDT_OFF 看门狗关闭 _BODEN_OFF _PWRTE_ON 上电延时定时器打开 _XT_OSC XT振荡模式 _WRT_OFF 禁止Flash程序空间写操作 _LVP_OFF 禁止低电压编程 _CPD_OFF EEPROM数据读保护关闭 LVP Low Voltage Program 低电压编程 CP Code Protect 代码保护 Date EE Read Protect EEPROM数据读保护 Brown Out Detect Power Up Timer Watchdog Timer Flash Program Write 外部时钟输入(HS,XT或LP OSC配置)如下图: 陶瓷(ceramic)谐振器电容的选择如下表:

一般情况为:11 1111 0011 0001 0x3F31 或0x3F71 位13 CP:闪存程序存储器代码保护位1 1=代码保护关闭 0=所有程序存储器代码保护 位12 未定义:读此位为1 1 位11 DEBUG:在线调试器模式位1 1=禁止在线调试器,RB6和RB7是通用I / O引脚 0=在线调试功能开启,RB6和RB7专用于调试 位10:9 WRT1:WRT0:闪存程序存储器的写使能位11 PIC16F876A / 877A 11=写保护关闭,所有的程序存储器可能被写入由EECON控制 10=0000h-00FFh写保护,0100h-1FFFh写入由EECON控制 01=0000h-07FFh写保护,0800h-1FFFh写入由EECON控制 00=0000h-0FFFh写保护,1000h-1FFFh写入由EECON控制 位8 CPD:数据EEPROM存储器代码保护位(Code Protection bit) 1 1=数据EEPROM存储器代码保护关闭 0=数据EEPROM存储器代码保护功能开启 位7 LVP:低电压(单电源)在线串行编程使能位(Low V oltage Program) 0 1=RB3/PGM引脚有PGM功能,低电压编程启用 0=RB3是数字I / O 引脚,HV(高电压13V左右) 加到MCLR必须用于编程 位6 BOREN:欠压复位使能位(低电压检测复位)(Brown-out Reset(Detect)) 0 1=低电压检测复位BOR(BOD)模块启用 0=低电压检测复位BOR(BOD)模块关闭 位5:4 未定义:读此两位均为1 11 位3 PWRTEN:上电定时器使能位(上电复位延时定时器)(Power-up Timer) 0 1=上电定时器关闭 0=上电定时器开启 位2 WDT:看门狗定时器使能位0晶体振荡器电容的选择 1=看门狗开启如右图: 0=看门狗关闭 位1:0 Fosc1:Fosc0:振荡器选择位01 11=RC振荡器 10=晶体振荡器HS模式。参考振荡频率范围:>2 MHz 01=晶体振荡器XT模式。参考振荡频率范围:100 kHz ~ 4 MHz 00=晶体振荡器LP模式。参考振荡频率范围:<200 kHz

EDA课程设计——移位寄存器的设计与实现

河南科技大学 课程设计说明书 课程名称 EDA技术与应用 题目移位寄存器的设计与实现 学院 班级 学生姓名 指导教师 日期

EDA技术课程设计任务书 班级:姓名:学号: 设计题目:移位寄存器的设计与实现 一、设计目的 进一步巩固理论知识,培养所学理论知识在实际中的应用能力;掌握EDA设计的一般方法;熟悉一种EDA软件,掌握一般EDA系统的调试方法;利用EDA软件设计一个电子技术综合问题,培养VHDL编程、书写技术报告的能力。为以后进行工程实际问题的研究打下设计基础。 二、设计任务 根据计算机组成原理中移位寄存器的相关知识,利用VHDL语言设计了三种不同的寄存器:双向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。 三、设计要求 (1)通过对相应文献的收集、分析以及总结,给出相应课题的背景、意义及现状研究分析。 (2)通过课题设计,掌握计算机组成原理的分析方法和设计方法。 (3)学习按要求编写课程设计报告书,能正确阐述设计和实验结果。 (4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。 四、设计时间安排 查找相关资料(1天)、设计并绘制系统原理图(2天)、编写VHDL程序(2天)、调试(2天)、编写设计报告(2天)和答辩(1天)。 五、主要参考文献 [1] 江国强编著. EDA技术与实用(第三版). 北京:电子工业出版社,2011. [2] 曹昕燕,周凤臣.EDA技术实验与课程设计.北京:清华大学出版社,2006.5 [3] 阎石主编.数字电子技术基础.北京:高等教育出版社,2003. [4] Mark Zwolinski. Digital System Design with VHDL.北京:电子工业出版社,2008 [5] Alan B. Marcovitz Introduction to logic Design.北京:电子工业出版社,2003 指导教师签字:年月日

微程序控制器的设计与实现

微程序控制器的设计与实现 一、设计目的 1、巩固和深刻理解“计算机组成原理”课程所讲解的原理, 加深对计算机各模块协同工作的认识。 2、掌握微程序设计的思想和具体流程、操作方法。 3、培养学生独立工作和创新思维的能力,取得设计与调试的 实践经验。 4、尝试利用编程实现微程序指令的识别和解释的工作流程。 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计具体要求 1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、 据掌握的理论写出要设计的指令系统的微程序流程。指令系统至少要包括六条指令,具有上述功能和寻址方式。 2、根据微操作流程及给定的微指令格式写出相应的微程序 3、将所设计的微程序在虚拟环境中运行调试程序,并给出测试思 路和具体程序段 4、撰写课程设计报告。

四、设计环境 1、伟福COP2000型组成原理实验仪,COP2000虚拟软件。 2、VC开发环境或者Java开发环境。 五、设计方案 (1)设计思想 编写一个指令系统,根据所编写的指令的功能来设计相应的微程序。首先利用MOV传送指令来给寄存器和累加器传送立即数,实现立即数寻址;利用寄存器寻址方式,用ADDC指令对两者进行相加运算;利用寄存器间接寻址方式,用SUB指令实现减运算;利用累加器寻址方式,用CPL指令实现对累加器寻址;利用存储器寻址方式,用JMP 指令实现程序的无条件跳转。这样,所要设计的指令系统的功能就全部实现了。 (2)微指令格式 采用水平微指令格式的设计,一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。其一般格式如下: 按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译法)微指令,字段译码法水平型微指令,以及直接和译码相混合的水平型微指令。 (3)24个微指令的意义 COP2000 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右

8位CPU的设计与实现

计算机组成原理 实验题目8位CPU得系统设计 学号1115106046 姓名魏忠淋 班级 11电子B 班 指导老师凌朝东 华侨大学电子工程系 8位CPU得系统设计 一、实验要求与任务 完成从指令系统到CPU得设计,编写测试程序,通过运行测试程序对CPU设计进行正确性评定。具体内容包括:典型指令系统(包括运算类、转移类、访存类)设计;CPU结构设计;规则文件与调试程序设计;CPU调试及测试程序运行。 1。1设计指标 能实现加减法、左右移位、逻辑运算、数据存取、有无条件跳转、内存访问等指令; 1、2设计要求 画出电路原理图、仿真波形图;

二、CPU得组成结构 三、元器件得选择 1.运算部件(ALU) ALU181得程序代码: LIBRARY IEEE; USEIEEE、STD_LOGIC_1164。ALL; USEIEEE、STD_LOGIC_UNSIGNED.ALL; ENTITY ALU181 IS PORT( S: IN STD_LOGIC_VECTOR(3 DOWNTO0 ); A:IN STD_LOGIC_VECTOR(7 DOWNTO0); B: INSTD_LOGIC_VECTOR(7DOWNTO 0); F : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ?COUT:OUTSTD_LOGIC_VECTOR(3 DOWNTO0); M :INSTD_LOGIC; CN : IN STD_LOGIC; CO,FZ:OUT STD_LOGIC ); END ALU181; ARCHITECTURE behav OF ALU181 IS SIGNALA9 :STD_LOGIC_VECTOR(8DOWNTO 0); SIGNAL B9 : STD_LOGIC_VECTOR(8 DOWNTO0); SIGNALF9: STD_LOGIC_VECTOR(8 DOWNTO0); BEGIN A9<= '0'& A; B9 <= ’0’&B;

指令对标志寄存器的影响总结

指令类型助记符对标志寄存器的影响备注 ZF CF PF SF OF AF DF IF TF 数据传送类通用MOV 不影响标志位 交换XCHG 堆栈 操作 PUSH POP 地址 传送 LEA LDS LES 累加器 专用IN OUT XALT 标志 寄存器 LAHF SAHF 标志寄存器低八位的内容由AH的值决定CF,AF,ZF,SF,PF的值会被影响 PUSHF 不影响标志位 POPF 标志寄存器的内容由装入的具体值决定可能影响所有标志位 算术运算类加法 指令 ADD √√√√√√ ADC √√√√√√ INC √√√√√INC指令不影响CF AAA ?√???√?表示不确定或者未定义 DAA √√√√?√ 减法 指令 SUB √√√√√√ SBB √√√√√√ DEC √√√√√DEC指令不影响CF AAS ?√???√ DAS √√√√?√DAA指令不影响OF 乘法 指令 MUL ?√??√? IMUL ?√??√? AAM √?√√?? 除法 指令 DIV ??????√√此指令可能会产生中断,故影响IF,TF IDIV ??????√√同上 AAD √?√√?? 符号位 扩展 CBW 不影响标志位 CWD 不影响标志位 比较指令CMP 由计算结果确定标志位的值不会影响到DF,IF,TF 逻辑运算类单 操 作 数 逻 辑 指 求反NOT 不影响标志位 移位 SAL √√√√见 备 注 ?OF标志位只在移位次数是1时 有效,AF未定义SHL √√√√? SAR √√√√? SHR √√√√? 循环 移位 ROL √√? 循环移位指令影响OF和CF,ROR √√?

8位CPU的设计与实现

计算机组成原理 CPU 实验题目 8位的系统设计1115106046 号学 魏忠淋姓名 B 11电子班班级凌朝东指导老师

华侨大学电子工程系 8位CPU的系统设计 一、实验要求与任务 完成从指令系统到CPU的设计,编写测试程序,通过运行测试程序对CPU设计进行正确性评定。具体内容包括:典型指令系统(包括运算类、转移类、访存类)设计;CPU结构设计;规则文件与调试程序设计;CPU调试及测试程序运行。 1.1设计指标 能实现加减法、左右移位、逻辑运算、数据存取、有无条件跳转、内存访问等指令; 1.2设计要求 画出电路原理图、仿真波形图; 二、CPU的组成结构 三、元器件的选择 1.运算部件(ALU) ALU181的程序代码: LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ALU181 IS PORT ( S : IN STD_LOGIC_VECTOR(3 DOWNTO 0 ); A : IN STD_LOGIC_VECTOR(7 DOWNTO 0); B : IN STD_LOGIC_VECTOR(7 DOWNTO 0); F : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); M : IN STD_LOGIC; CN : IN STD_LOGIC; CO,FZ: OUT STD_LOGIC ); END ALU181; ARCHITECTURE behav OF ALU181 IS SIGNAL A9 : STD_LOGIC_VECTOR(8 DOWNTO 0); SIGNAL B9 : STD_LOGIC_VECTOR(8 DOWNTO 0); SIGNAL F9 : STD_LOGIC_VECTOR(8 DOWNTO 0); BEGIN B9 <= '0' & B ; A9 <= '0' & A ; PROCESS(M,CN,A9,B9) BEGIN CASE S IS WHEN ぜ?尰=> IF M='0' THEN F9<=A9 + CN ; ELSE F9<=NOT A9; END IF; WHEN IF M='0' THEN F9<=(A9 or B9) + CN ; ELSE F9<=NOT(A9 OR B9); END IF; WHEN 0 => IF M='0' THEN F9<=(A9 or (NOT B9))+ CN ; ELSE F9<=(NOT A9) AND B9; END IF; WHEN 1 => IF M='0' THEN F9<= ; ELSE F9<= END IF; WHEN 0 => IF M='0' THEN F9<=A9+(A9 AND NOT B9)+ CN ; ELSE F9<=NOT (A9 AND B9); END IF; WHEN 1 => IF M='0' THEN F9<=(A9 or B9)+(A9 AND NOT B9)+CN ; ELSE F9<=NOT B9; END IF; WHEN 0 => IF M='0' THEN F9<=(A9 - B9) - CN ; ELSE F9<=A9 XOR B9; END IF; WHEN 1 => IF M='0' THEN F9<=(A9 or (NOT B9)) - CN ; ELSE F9<=A9 and (NOT B9); END IF; WHEN @0 => IF M='0' THEN F9<=A9 + (A9 AND B9)+CN ; ELSE F9<=(NOT A9)and B9; END IF; WHEN @1 => IF M='0' THEN F9<=A9 + B9 + CN ; ELSE F9<=NOT(A9 XOR B9); END IF; WHEN A0 => IF M='0' THEN F9<=(A9 or(NOT B9))+(A9 AND B9)+CN ;

相关主题