概述
MCS196系列单片机是Intel公司继8X9X之后推出的16位嵌入式微控制器。它除了保留8X9X全部功能外,在功能部件和指令支持上又有很大改进,性能上也有了显著提高,使得它适用于更复杂的实时控制场合。MCS196单片机有多种型号,不同型号配置有不同的功能部件,且具有不同存储器空间和寻址能力,可满足不同场合的要求。
MCS196系列单片机都有1个基于寄存器到寄存器结构的内核。这种结构消除了累加器的瓶颈现象,加快了数据传输。另有多种功能部件,在不同型号中进行不同配置。这些功能部件除包括在8X9X中就有的I/O口、10位A/D转换器、PWM(脉宽调制器)、SIO(全双工串行I/O口)、中断源、看门狗定时器、16位定时/计数器、HSI/O(高速输入/输出口)等以外,还包括在MCS196中出现的PTS(外围事务服务器)、EPA(事件处理器阵列)、WG(波形发生器)等。
与其他系列(如MCS51系列、PIC系列等)相比,HSI/O、PTS、EPA、WG是MCS196最具特色的功能部件。
HSI/O(High Speed Inputs and Outputs):其中HSI用于记录某一外部事件相对于时间基准(如定时器1)的发生时刻。此功能部件在检测到引脚上规定的跳变事件(包括正跳变、负跳变、每次正跳变、8个正跳变)后,将发生事件的类型与时刻记录下来,并产生相关中断。此部件适用于信号的时间参数测量。HSO则用于按程序规定的时间去触发某一事件(如置位/清零口线、启动A/D转换等),要求CPU的开销极小,速度极高。此部件便于实时输出控制,可用来产生多种信号波形。
EPA(Event Processor Array):实质上是捕捉/比较模块。所谓“捕捉”就是捕获产生于引脚上的跳变事件(有正跳变、负跳变、正负跳变等),记载这些输入事件相对于时基定时器发生的时刻;“比较”则是和预先规定好的时间作比较,预定时间一到就去执行某种输出功能(比如输出置为高、输出置为低、输出翻转、启动A/D转换、复位定时器等等)。可见,EPA和HSI/O的功能类似,但EPA在CPU开销上要求更少,性能更好一些。表1给出在不同时钟频率下两者分辨能力的比较。
表 1 HSI/O和EPA分辨能力的比较
部件名称
|
时钟频率/MHz
|
单位
|
16
|
20
|
25
|
50
|
HSI
|
1.125
|
0.9
|
.
|
.
|
μs
|
HSO
|
1
|
0.8
|
.
|
.
|
μs
|
EPA
|
250
|
200
|
160
|
80
|
μs
|
PTS(Peripheral Transaction Server):实质上是中断服务机制的改进。对正常的中断服务,CPU都要“亲自”去执行,而现在的PTS提供了一种类似DMA的操作。当中断发生后,由微代码执行PTS周期。该周期就像DMA周期那样插入正常的指令流中,完成中断服务,这样CPU的开销比一般的中断响应要少得多。
WG(Waveform Generator):可产生独立的、具有相同频率和工作方式的3对PWM波形。特别适合控制三相交流感应电机、直流无刷电机和其他需要多个PWM输出的场合。
另外,MCS196单片机总线控制器还具有可编程的等待状态发生器,可方便地与慢速外设接口。在运行中可动态选择8位或者16位的总线宽度,并能通过HOLD/HLDA协议方便地实现多处理器通信。
目前,MCS196系列主要有3种:① HSI/O系列,这类芯片具有高速输入、输出口;② EPA系列,这类芯片内部具有事件处理器阵列;③ Motor Control系列,这类芯片适用于电机控制。要注意上述分类也不是绝对的,往往在同一个型号的部件中,可同时具有多种功能。
一、 HSI/O系列
本系列主要芯片有8XC196KB、8XC196KC、8XC196KD,产品分类如表2所列。
表 2 HSI/O系列一览表
产品型号
|
最高频率 /MHz
|
程序空间 /KB
|
寄存器 RAM/B
|
程序 RAM
|
I/O 引脚
|
I/O 类型
|
A/D 通道
|
寻址空间 /KB
|
定时/ 计数器
|
串行口
|
封装形式
|
温度
|
8XC196KB16
|
16
|
8
|
232
|
NO
|
48
|
HSI/O
|
8
|
64
|
2
|
1
|
N-68,S-80
|
C,E,A
|
8XC196KC20
|
20
|
16
|
488
|
NO
|
48
|
HSI/O
|
8
|
64
|
2
|
1
|
N-68,S-80,SB-80
|
C,E,A
|
8XC196KD20
|
16,20
|
32
|
1000
|
NO
|
48
|
HSI/O
|
8
|
64
|
2
|
1
|
N-68,S-80,SB-80
|
C,E,A
|
注:① 封装形式N:PLCCS:QFPSB:SQFPU:窄DIP。② 温度C:0~70℃E:-40~85℃A:-40~125℃。 (以上含义表3和表4同)
8XC196KB是MCS196系列的第1个成员,片内具有8KB程序空间,232个字节的寄存器RAM。它采用高速输入/输出口进行事件处理。HSI/O最多有4个高速输入口,6个高速输出口。2个16位的定时/计数器均可用作时基发生器。其余的片内资源有:1路PWM,1个全双工串行通信口,1个看门狗定时器,1个8通道10位A/D转换器。48条输入/输出口(与部件复用)。
8XC196KC的性能比8XC196KB要更进一步。它的片内有16KB的程序空间,488个字节的寄存器RAM,最高工作频率可达20MHz。除了具有8XC196KB的全部特点外,还具有如下特点:有3路PWM发生器;A/D转换器具有8位和10位2种方式;可对采样率和转换时间编程。在片内还加入外围事务处理服务器PTS,可大大减轻CPU在中断处理上的负担。
8XC196KD除具有8XC196KC所具有的全部特点以外,它的片内还具有32KB的程序空间,1000个字节的寄存器RAM。由于片内存储空间的增大,所以,更适合于使用高级语言编程。这种芯片的最高频率也可达20MHz。
二、 EPA系列
EPA系列芯片主要包括8XC196KR、8XC196KT、8XC196NT、8XC196NP、8XL196NP、80C196NU、80C196EA、87C196CA、87C196CB等,产品分类如表3所列。
8XC196KR是MCS196系列中集成度较高、较复杂的一员。程序空间为16KB,488个寄存器RAM,256字节的内部RAM,内部RAM既可用来存储程序,也可用来存储数据。它使用EPA部件对事件进行监测与控制。当工作于16MHz时,EPA有250ns的分辨能力,包括10个捕捉/比较模块,2个仅用于比较的模块。EPA使用时非常灵活,可用来产生PWM输出。
8XC196KR片内还有1个从机口,便于与其他系统总线相连。这种特性可将8XC196KR本身作为一灵活的、可编程的外设与PC总线相连。
在8XC196KR中有2个串行口,一个是标准的串行口SIO;另一个是同步串行口SSIO,可进行全双工同步通信。2个串行口的波特率可独立编程。片内的A/D转换器继承于8XC196KC,又增加了可编程的阈值检测和偏差校正功能。
8XC196KT是8XC196KR的增强型。程序空间为32KB,有1000个字节寄存器RAM和512个字节的片内RAM。它的总线控制器在支持存取低速存储器时具有新的工作模式。
8XC196NP提供了可动态选择的多路复用总线。其他特点有:片内有片选单元,1MB的寻址能力,3路PWM输出,5V供电时最高工作频率可达25MHz。
表 3 EPA系列一览表
产品型号
|
最高频率 /MHz
|
程序空间 /KB
|
寄存器 RAM/B
|
程序 RAM
|
I/O 引脚
|
I/O 类型
|
A/D 通道
|
寻址空间 /B
|
定时/ 计数器
|
串行口
|
封装形式
|
温度
|
87C196KR
|
16
|
16
|
488
|
256
|
56
|
10EPA
|
8
|
64K
|
2
|
2
|
N-68
|
未查实
|
87C196KT
|
16
|
32
|
1000
|
512
|
56
|
10EPA
|
8
|
64K
|
2
|
2
|
N-68
|
未查实
|
8XC196NP
|
25
|
4
|
1000
|
NO
|
32
|
4EPA
|
0
|
1M
|
2
|
1
|
S-100,SB-100
|
C
|
C8XL196NP
|
13
|
4
|
1000
|
NO
|
32
|
4EPA
|
0
|
1M
|
2
|
1
|
S-100,SB-100
|
C
|
C8XC196NT
|
20
|
32
|
1000
|
512
|
56
|
10EPA
|
4
|
1M
|
2
|
2
|
N-68
|
C,E
|
E80C196NU
|
40,50
|
0
|
1000
|
NO
|
33,32
|
4EPA
|
0
|
1M
|
2
|
2
|
S-100,SB-100
|
C
|
C80C196EA
|
40
|
0
|
1K
|
3K
|
83
|
17EPA
|
3
|
2M
|
4
|
3
|
S-160
|
C
|
C87C196CA
|
16
|
32
|
1000
|
256
|
44
|
6EPA
|
6
|
64K
|
2
|
2
|
N-68
|
E
|
E87C196CB
|
16
|
56
|
1.5K
|
512
|
56
|
10EPA
|
8
|
1M
|
2
|
2
|
N-84
|
E
|
E8XL196NP类似于8XC196NP,但可工作于低功耗工作方式(3V时,13MHz)。
8XC196NT和8XC196KT类似,但它有1MB外部寻址能力。A/D输入的4路由扩展地址口EPORT(the Extended Address Port)代替。4个EPORT口既可作标准口,也能作高4位地址线(A16~A19)。工作频率可达20MHz。
表 4 Motor Control系列一览表
产品型号
|
最高频率 /MHz
|
程序空间 /KB
|
寄存器 RAM/B
|
程序 RAM
|
I/O 引脚
|
I/O 类型
|
A/D 通道
|
寻址空间 /KB
|
定时/ 计数器
|
串行口
|
封装形式
|
温度
|
8XC196MC
|
16
|
16
|
488
|
NO
|
53
|
8EPA
|
13
|
64
|
2
|
1
|
N-84,S-80,U-64
|
E
|
8XC196MD
|
20
|
16
|
488
|
NO
|
64
|
12EPA
|
14
|
64
|
2
|
1
|
N-84,S-80
|
E
|
8XC196MH
|
16
|
32
|
744
|
NO
|
52
|
6EPA
|
8
|
64
|
2
|
1
|
N-84,S-80,U-64
|
E
|
E80C196NU可工作于50MHz(5V时),使得它的性能比NP系列增强1倍。片内运算器采用32位,使乘除指令执行更快。NU系列的引脚和NP系列是兼容的,可方便地对NP系列进行升级。其他特点为:1MB寻址能力,3路PWM输出,片内选择单元等。
80C196EA是MCS196系列中第1片用于电力机车控制的芯片。与其他型号相比,其性能有显著提高,包括:40MHz的工作频率、2MB的寻址能力、4KB的片内RAM、3条片选线的片内片选单元、每条片选线可动态分时实现地址/数据复用、每条片选线的等待状态可编程、17个高速捕捉/比较模块、8个高速比较输出模块、4个灵活的16位定时/计数器、8路PWM输出、2个全双工串行口、1个全双工同步串行口、堆栈溢出自动检查、16通道自动巡回A/D转换、串行调试接口等。
在87C196CA和87C196CB中集成了符合CAN2.0规范的CAN总线控制器82527,使它们更适合于需要实时事件控制的场合。例如,可应用于防抱死刹车系统、四缸发动机控制系统中。
三、 Motor Control系列
Motor Control系列主要芯片包括8XC196MC/MH、8XC196MD,产品分类如表4所列。
8XC196MC/MH芯片内部有专门用于三相交流感应电机和直流无刷电机控制的硬件,也能用于电源逆变器中。MC芯片内部有仅供CPU使用的488个字节的寄存器RAM,程序空间16KB;MH芯片内部有744个字节仅供CPU使用的寄存器RAM,程序空间32KB。当时钟频率为16MHz时,进行一次16bit×16bit运算需1.75μs;进行一次32bit÷16bit运算需3μs。
在MC/MH内部有独特的功能部件WG。它可以产生三相互补不重叠的PWM脉冲。在采用边沿触发时,具有125ns的分辨能力;中心触发时,具有250ns的分辨能力。WG具有多种可编程频率、占空比和消隐时间,每路波形输出的驱动能力很强,输出极性可以编程,并能强制为高或低电平。此外,还具有保护功能:当发生某意外事件时,响应该外部事件能立即停止输出。片内3路PWM,都有8位分辨率。既可同时控制,也可分开独立控制。
在MC/MH中也采用EPA部件进行事件监测与控制:MC中有4路捕捉/比较模块和独立的4路比较模块;MH中有2路捕捉/比较模块和独立的4路比较模块。EPA具有125ns的事件处理分辨能力。
MC中A/D转换有13个通道;MH中有8个通道。可工作在8位或10位模式,采样时间、转换时间、阈值检测方式和偏差校正均可编程。
在MC中具有特殊的PTS方式支持串行输入、输出(SIO)功能。MH中2个UART,均支持同步和异步方式。
MC中有40条I/O口线和部件共用,另有13条输入线可作为模拟与数字输入;MH中有44条I/O口线和部件共用,另有8条输入线可作为模拟与数字输入。
MD除具有MC的全部功能外,还有如下功能:
① 1路频率发生器产生频率可编程的方波,适用于红外遥控通信中;
② 在EPA中,再添加2路捕捉/比较模块和独立的2路比较模块;
③增加8条I/O口线,2条仅用于输入的口线和1路仅用于模拟/数字输入的口线。
MD和MC的引脚兼容,便于对现有设计进行升级。