DS80C320/323 微控制器是 Atmel 80C51 (TS80C51U2) 的更高性能替代品。本文详细介绍了将应用代码从 Atmel 微控制器转换为 DS80C320/DS80C323 的详细信息,包括时序变化、SFR 差异和新功能。
介绍
达拉斯半导体公司开发了一个创新的8051微控制器系列,每个机器周期运行4个时钟,而不是原来的12个时钟。虽然一些指令在机器周期中增加,但大多数应用程序实现的性能总体提高将是 2.5 倍。与原来的 8051 个周期相比,Atmel 6 系列以每机器周期 12 个时钟的速度运行,而不会增加每条指令的机器周期数。这比原来的 2 架构提高了 8051 倍。与原来的80相比,DS320C8051还具有多项增强功能,包括双数据指针、电源管理模式、增强型看门狗定时器、环形振荡器和用于外部存储器(MOVX)访问的拉伸周期。
本应用笔记旨在提供有关将应用代码从 Atmel TS80C51U2 转换为速度更快的 DS80C320 的信息。
特征
特征 | 描述 | DALLAS | ATMEL |
最大工作频率 4.5V 至 5.5V | 33兆赫(相当于82.5兆赫) | 30兆赫(相当于60兆赫) | |
最大工作频率 2.7V 至 5.5V | 18兆赫(相当于45兆赫) | 20兆赫(相当于40兆赫) | |
MOVX 拉伸 | 延伸外部数据读/写,以允许访问较慢的外设 | Y | N |
外部中断源 | 6 | 2 | |
四个 I/O 端口 | 端口 0、1、2、3 | Y | Y |
三个 16 位定时器/计数器 | 小时 0、1、2 | Y | Y |
256 字节内部内存 | Y | Y | |
双数据指针 | DPTR0, DPTR1 | Y | Y |
省电模式 | 空闲模式,睡眠 | Y | Y |
电源故障复位 | 掉电检测器 | Y | N |
电源故障警告 | 早期电源故障警告中断 | Y | N |
可编程看门狗定时器 | Y | Y | |
看门狗中断 | Y | N | |
中断优先级 | 可编程中断电平 | 2 | 4 |
两个全双工串行UART | 7 或 8 个数据位、1 或 2 个停止位、奇偶校验、成帧错误识别、地址识别 | Y | Y |
引脚排列
针 | 名字 | DS80C320的区别 | 描述/注释 | ||||
EI1 | PLCC | TQFP, VQFP | |||||
20 | 22, 23 | 16, 17 | 在党卫军 | 提供两个接地连接 | 在 TS80C51U2 上,PLCC 引脚 23 和 VQFP44 引脚 17 是常闭的。这些引脚可以浮动在DS80C320/323上,没有问题。 | ||
9 | 10 | 4 | RST | 重置。DS80C320/323不需要外部电容,但如果放置电容,也不会影响工作。 | |||
互生 | 功能 | 评论 | |||||
3 | 4 | 42 | 小1.2 | 无差别(注1) | RXD1 | 串口 1 输入 | |
4 | 5 | 43 | 小1.3 | 无差别(注1) | TXD1 | 串口 1 输出 | |
5 | 6 | 44 | 小1.4 | 可用作外部中断 | INT2 | 外部中断 | TS80C51U2 只有两个外部中断。 |
6 | 7 | 1 | 小1.5 | 可用作外部中断(注1) | /INT3 | 外部中断 | TS80C51U2 只有两个外部中断。 |
7 | 8 | 2 | 小1.6 | 可用作外部中断(注1) | INT4 | 外部中断 | TS80C51U2 只有两个外部中断。可以是 TS1C80U51 上的串行 2 输出。 |
8 | 9 | 3 | 小1.7 | 可用作外部中断(注1) | /INT5 | 外部中断 | TS80C51U2 只有两个外部中断。可以是 TS1C80U51 上的串行 2 输出。 |
-- | 12 | 6 | 不适用 | 无连接 | TS1C80U51 上的可选串行端口 2 输入(注 1) | ||
-- | 34 | 28 | 不适用 | 无连接 | TS1C80U51 上的可选串行端口 2 输出(注 1) | ||
-- | 1 | 39 | 不适用 | 无连接 | 在党卫军在 TS80C51U2 上,DS80C320/323 上的接地引脚不会引起任何问题 | ||
注1:TS80C51U2 串口 1 输入/输出可以位于不同的位置,具体取决于 AUXR 位 M1UA1 和M0UA_1位。 |
SFR 内存映射
REGISTER |
BIT 7 | BIT 6 | BIT 5 | BIT 4 | BIT 3 | BIT 2 | BIT 1 | BIT 0 | ADDR | COMMENT |
DPL1 | 84H | TS80C51U2 DPL1/DPL use SFR address 82h (DPL on DS80C320/323). | ||||||||
DPH1 | 85H | TS80C51U2 DPH1/DPH use SFR address 83h (DPH on DS80C320/323). | ||||||||
DPS | 0 | 0 | 0 | 0 | 0 | 0 | 0 | SEL | 86H | TS80C51U2 uses DPS bit in AUXR1 SFR. |
CKCON DS80C320/323 |
WD1 | WD0 | T2M | T1M | T0M | MD2 | MD1 | MD0 | 8Eh | WD1,0 watchdog timeout. See Watchdog Section T2M, T1M, T0M (timer speed); See Timer Section MD2, MD1, MD0 (Stretch MOVX) TS80C51U2 does not support stretch. M1UA_1/M0UA_1 on TS80C51U2 selects UART1 pin out. |
AUXR TS80C51U2 |
M1UA_1 | M0UA_1 | -- | -- | -- | -- | -- | A0 | ||
CKCON TS80C51U2 only |
X2 | 8Fh | 12/6 clock select on TS80C51U2, register not used on DS80C320/323. | |||||||
EXIF | IE5 | IE4 | IE3 | IE2 | -- | RGMD | RGSL | BGS | 91h |
IE5, 4, 3, 2 Additional external interrupts supported by DS80C320/323. |
BRL TS80C51U2 only |
BRL7 | BRL6 | BRL5 | BRL4 | BRL3 | BRL2 | BRL1 | BRL0 | 9Ah | Baud rate generator on TS80C51U2. Register not used on DS80C320/323. |
BDRCON TS80C51U2 |
-- | -- | -- | BRR | TBCK_0 | RBCK_0 | SPD | SRC | 9Bh | See serial port baud section below. |
BDRCON_1 TS80C51U2 |
SMOD1_1 | SMOD0_1 | RCLK_1 | TCLK_1 | TBCK_1 | RBCK_1 | -- | -- | 9Ch | See serial port baud section below. |
AUXR1 TS80C51U2 |
-- | -- | -- | -- | -- | -- | -- | DPS | A2h | DPS select is handled in register DPS.0 on DS80C320/323. |
WDTRST TS80C51U2 |
A6h | Watchdog reset handled in WDCON register on DS80C320/323. | ||||||||
WDTPRG TS80C51U2 |
T4 | T3 | T2 | T1 | T0 | S2 | S1 | S0 | A7h | Watchdog timeout handled in CKCON register on DS80C320/323. |
IPH TS80C51U2 |
-- | PSH_1 | PT2H | PSH_0 | PT1H | PX1H | PT0H | PX0H | B7h | Interrupt priorities handled in IP and EIP registers on DS80C320/323. |
STATUS | PIP | HIP | LIP | 1 | 1 | 1 | 1 | 1 | C5h | Interrupt status for clock control. Not present in Atmel TS80C51U2. |
TA | C7h | Timed Access Control | ||||||||
EIE | -- | -- | -- | EWD1 | EX5 | EX4 | EX3 | EX2 | E8h | Enable watchdog interrupt and enable extended interrupts. Additional features not supported on TS80C51U2. |
EIP | -- | -- | -- | PWDI | PX5 | PX4 | PX3 | PX2 | F8h | Watchdog interrupt and extended interrupts. Additional features not supported on TS80C51U2. |
双数据指针
与使用影子寄存器的 Atmel TS80C51U2 不同,DS80C320/323 将两个数据指针映射到不同的寄存器。DPL0 位于 SFR 地址 82h,DPH0 位于 83h,DPL1 位于 84h,DPH1 位于 85h。DPL 在 Atmel TS82C83U80 上映射在 SFR 51h,DPH 映射在 SFR 2h。要在DS80C320/323上的活动DPTR之间切换,请在TS0C1U80上使用DPS.51而不是AUXR2。为双数据指针提供单独的寄存器允许访问任一组寄存器,而无需更改活动的 DPTR。
看门狗定时器
Dallas DS80C320/323实现了高级看门狗复位,支持在定时器到期复位之前中断看门狗。看门狗中断向量位于 63 小时,在看门狗超时之前向量为 512 个周期。应用程序可以重置看门狗并推迟重置,也可以执行清理功能并让重置在 512 个周期结束时发生。
CKCON 寄存器中的 WD1 和 WD0 位控制看门狗超时值。表 4 显示了可能的设置。在更改 WD1 和 WD0 位的值之前,应设置重置监视器计时器位 (WDCON.0) 以避免监视程序计数损坏。设置 EWDI (EIE.4) 位将启用监视器计时器中断,而 EWT (WDCON.1) 将启用监视器计时器。若要重置监视器计时器,应用程序代码将设置 RWT (WDCON.0) 位。为避免看门狗超时,必须在超时之前由应用程序代码设置此位。定时访问,DS80C320/323数据资料第18页,保护看门狗使能和看门狗复位位,防止失控代码意外复位或禁用看门狗定时器。
WD1 | WD0 | 中断超时 | 时间(毫秒)(在 33MHz 时) | 重置超时 | 时间(毫秒)(在 33MHz 时) |
0 | 0 | 217时钟 | 3.97 | 217+ 512 个时钟 | 4 |
0 | 1 | 220时钟 | 31.76 | 220+ 512 个时钟 | 31.79 |
1 | 0 | 223时钟 | 254.2 | 223+ 512 个时钟 | 254.22 |
1 | 1 | 226时钟 | 2034 | 226+ 512 个时钟 | 2037 |
SFR 寄存器 WDTRG 位 S0、S1 和 S2 对 TS80C51U2 看门狗超时期限进行编程。在 3MHz 时,超时可编程范围为 26.418ms 至 30ms。Atmel 微控制器要求先将 1Eh 写入 1Eh,然后再写入 E<>h,以启用或复位定时器。
定时器
DS80C320/323允许定时器0、1和2以原始8051 Xtal/12或Xtal/4模式运行。要在 4 时钟定时器模式下运行,必须为每个定时器设置 T2M、T1M 或 T0M 位。与 TS80C51U2 不同,定时器可以独立设置为以 12 或 4 时钟模式运行。这使得DS80C320/323在定时器速率方面具有更大的灵活性。在 TS80C51U2 上,所有定时器都以 6 时钟或 12 时钟模式运行,具体取决于 CKCON 中的 X2 位。
必须重新计算每个计时器的重载值,以考虑 Xtal/6 或 Xtal/4 模式下的差异。请参考DS80C320/323数据资料,了解计算重载值的详细功能。
PCON UART 控制
DS80C320/323和TS80C51均支持波特率倍增和成帧错误检测。DS80C320/323的波特率倍增标志在PCON中SMOD_0,在WDCON中SMOD_1。设置这些位可实现波特率加倍。要启用成帧错误检测,请设置 SMOD0 (PCON.6)。
UART
TS80C51U2 包括 DS80C320/323 所没有的专用波特率发生器。必须将使用波特率发生器的串行代码转换为使用可用的计时器。请参阅《高速微控制器用户指南》,了解有关使用定时器生成波特率的详细信息(第 12.3 节)。
中断
DS80C320/323提供2级中断优先级,具有自然优先级选择。表5显示了DS80C320/323与TS80C51U2相比的优先级。
注意:TS80C51 串行端口 1 中断向量位于地址 33h。在DS80C320/323上,串口1中断向量位于3Bh,电源故障中断位于33h。
名字 |
DALLAS LEVEL |
ATMEL LEVEL |
VECTOR | COMMENT |
电源故障指示灯 | 1 | 不可用 | 33小时 | 警告 ATMEL 串行端口 1 中断向量 |
外部中断 0 | 2 | 1 | 03小时 | |
计时器 0 溢出 | 3 | 2 | 0兆位 | |
外部中断 1 | 4 | 3 | 13小时 | |
计时器 1 溢出 | 5 | 4 | 1兆位 | |
串行端口 0 | 6 | 5 | 23小时 | |
计时器 2 溢出 | 7 | 6 | 2兆位 | |
串行端口 1 | 8 | 7 | 3兆位 | 警告 ATMEL 串行端口 1 矢量在 33h |
外部中断 2 | 9 | 不可用 | 43小时 | |
外部中断 3 | 10 | 不可用 | 4兆位 | |
外部中断 4 | 11 | 不可用 | 53小时 | |
外部中断 5 | 12 | 不可用 | 5兆位 | |
看门狗中断 | 13 | 不可用 | 63小时 |
复位和电源故障
DS80C320/323包括内部带隙复位电路,用于监视V电压抄送以确保保持适当的操作水平。如果工作电压超过电源故障警告级别,则会触发电源故障中断,从而允许应用程序代码干净地关闭系统。Atmel TS80C51U2 不包括带隙复位功能,通常需要使用外部 IC 来实现此目的,这会增加总体成本、器件数量和工作电流。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !