DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 146|回复: 0
打印 上一主题 下一主题

Replacing an Atmel TS80C51U2 w

[复制链接]
跳转到指定楼层
楼主
发表于 2011-4-29 22:25:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Abstract: The DS80C320/323 microcontroller is a higher performance alternative to the Atmel 80C51 (TS80C51U2). Details of converting application code from an Atmel microcontroller to the DS80C320/DS80C323 are shown including timing changes, SFR differences and new features.

IntroductionDallas Semiconductor developed an innovative family of 8051 microcontrollers running at 4 clocks-per-machine cycle instead of the original 12 clocks. While some of the instructions increased in machine cycles, the overall improvement in performance achieved by most applications will be 2.5X. The Atmel 8051 family runs at 6 clocks-per-machine cycle, compared to the original 12, without increasing the number of machine cycles per instruction. This results in an improvement of 2X over the original 8051 architecture. The DS80C320 also contains several feature enhancements over the original 8051 including dual data pointers, power-management mode, enhanced watchdog timer, a ring oscillator, and stretch cycles for external memory (MOVX) access.

The purpose of this application note is to provide information on converting application code from the Atmel TS80C51U2 to the faster DS80C320.
FeaturesTable 1. DS80C320/323 vs. TS80C51U2
FEATURE
DESCRIPTION
DALLAS
ATMEL

Maximum Operating Frequency 4.5V to 5.5V

33MHz (82.5MHz equivalent)
30MHz (60MHz equivalent)

Maximum Operating Frequency 2.7V to 5.5V

18MHz (45MHz equivalent)
20MHz (40MHz equivalent)

MOVX Stretch
Stretch external data read/write to allow access to slower peripherals
Y
N

External Interrupt Sources

6
2

Four I/O Ports
Ports 0, 1, 2, 3
Y
Y

Three 16-Bit Timer/Counters
Timer 0, 1, 2
Y
Y

256 Bytes Internal RAM

Y
Y

Dual Data Pointer
DPtr0, DPtr1
Y
Y

Power Saving Modes
Idle mode, sleep
Y
Y

Power-Fail Reset
Brownout detector
Y
N

Power-Fail Warning
Early power-fail warning interrupt
Y
N

Programmable Watchdog Timer

Y
Y

Watchdog Interrupt

Y
N

Interrupt Priority Levels
Programmable interrupt levels
2
4

Two Full-Duplex Serial UARTs
7 or 8 data bits, 1 or 2 stop bits, parity, framing error recognition, address recognition
Y
Y
PinoutTable 2. DS80C320/323 and TS80C51U2 pinout differences
PIN
NAME
DIFFERENCE IN DS80C320
DESCRIPTION/COMMENT

DIP
PLCC
TQFP, VQFP

20
22, 23
16, 17
VSS
Two ground connections provided
On TS80C51U2, PLCC pin 23 and VQFP44 pin 17 are N.C. These pins can be left floating on the DS80C320/323 without problems.

9
10
4
RST

Reset. DS80C320/323 does not require an external capacitor, however, if one is placed it does not affect behavior.


Alternate
Function
Comment

3
4
42
P1.2
No difference (Note 1)
RXD1
Serial port 1 Input


4
5
43
P1.3
No difference (Note 1)
TXD1
Serial port 1 Output


5
6
44
P1.4
Can be used as external interrupt
INT2
External Interrupt
TS80C51U2 only has two external interrupts.

6
7
1
P1.5
Can be used as external interrupt (Note 1)
Active-Low INT3
External Interrupt
TS80C51U2 only has two external interrupts.

7
8
2
P1.6
Can be used as external interrupt (Note 1)
INT4
External Interrupt
TS80C51U2 only has two external interrupts. Can be serial 1 output on TS80C51U2.

8
9
3
P1.7
Can be used as external interrupt (Note 1)
Active-Low INT5
External Interrupt
TS80C51U2 only has two external interrupts. Can be serial 1 output on TS80C51U2.

--
12
6
N.C.
No Connect
Optional serial port1 input on TS80C51U2 (Note 1)

--
34
28
N.C.
No Connect
Optional serial port1 output on TS80C51U2 (Note 1)

--
1
39
N.C.
No Connect
VSS on TS80C51U2, grounding pin on DS80C320/323 causes no problems

Note 1: TS80C51U2 serial port 1 input/output can be located on different positions, depending on AUXR bit M1UA1 and M0UA_1 bit.
SFR Memory MapTable 3. SFR differences
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.
Dual Data PointersUnlike the Atmel TS80C51U2 that uses shadow registers, the DS80C320/323 maps the two data pointers to different registers. DPL0 is at SFR address 82h, DPH0 is at 83h, DPL1 is at 84h, and DPH1 is at 85h. DPL is mapped at SFR 82h and DPH is at SFR 83h on the Atmel TS80C51U2. To toggle between the active DPtr on the DS80C320/323, use DPS.0 instead of AUXR1 on the TS80C51U2. Having separate registers for the dual data pointers allows access to either set of registers without having to change the active DPtr.
Watchdog TimerThe Dallas DS80C320/323 implements an advanced watchdog reset with support for a watchdog interrupt prior to reset of the device on expiration of the timer. The watchdog interrupt vector is located at 63h and is vectored to 512 cycles prior to the watchdog timeout. An application can either reset the watchdog and hold off the reset or it can perform clean-up functions and let the reset happen at the end of the 512 cycles.

The WD1 and WD0 bits in the CKCON register control the watchdog timeout values. Table 4 shows the possible settings. Prior to changing the values of the WD1 and WD0 bits, the reset watchdog timer bit (WDCON.0) should be set to avoid corruption of the watchdog count. Setting the EWDI (EIE.4) bit enables the watchdog timer interrupt and the EWT (WDCON.1) enables the watchdog timer. To reset the watchdog timer, application code sets the RWT (WDCON.0) bit. To avoid a watchdog timeout, this bit must be set by application code prior to the timeout. Timed access, DS80C320/323 data sheet page 18, protects both the watchdog enable and the watchdog reset bits, preventing runaway code from accidentally resetting or disabling the watchdog timer.

Table 4. Watchdog settings
WD1
WD0
INTERRUPT TIMEOUT
TIME (ms) (AT 33MHz)
RESET TIMEOUT
TIME (ms) (AT 33MHz)

0
0
217 clocks
3.97
217 + 512 clocks
4

0
1
220 clocks
31.76
220 + 512 clocks
31.79

1
0
223 clocks
254.2
223 + 512 clocks
254.22

1
1
226 clocks
2034
226 + 512 clocks
2037
The SFR register WDtrG bits S0, S1, and S2 program the TS80C51U2 watchdog timeout period. The timeout is programmable from 3.26ms to 418ms at 30MHz. The Atmel microcontrollers require that a 1Eh and then an E1h be written to the WDtrST SFR to enable or reset the timer.
TimersThe DS80C320/323 allows timers 0, 1, and 2 to be run in original 8051 Xtal/12 or from Xtal/4 mode. To run in the 4-clock timer mode, T2M, T1M, or T0M bits must be set for each timer. Unlike the TS80C51U2, the timers can be set independently to run in either 12- or 4-clock mode. This allows the DS80C320/323 more flexibility in timer rates. On the TS80C51U2, all timers either run in 6-clock or 12-clock mode depending on the X2 bit in CKCON.

The reload values for each timer must be recalculated to account for the difference in Xtal/6 or Xtal/4 modes. Refer to the DS80C320/323 data sheet for detailed functions for calculating the reload values.
PCON UART ControlBoth the DS80C320/323 and the TS80C51 allow baud-rate doubling and framing-error detection. The baud-rate doubling flags for the DS80C320/323 are SMOD_0 in PCON and SMOD_1 in WDCON. Setting these bits enables baud-rate doubling. To enable framing-error detection set SMOD0 (PCON.6).
UARTThe TS80C51U2 includes a dedicated baud-rate generator that is not available in the DS80C320/323. It is necessary to convert serial code that uses the baud-rate generator to use an available timer. Refer to the High-Speed Microcontroller User's Guide for specifics on baud-rate generation with the timers (Section 12.3).
InterruptsThe DS80C320/323 provide 2 levels of interrupt priority with natural priority selection. Table 5 shows the priority levels of the DS80C320/323 compared to the TS80C51U2.

Note: The TS80C51 serial port 1 interrupt vector is located at address 33h. On the DS80C320/323 the serial port 1 interrupt vector is located at 3Bh and the power-fail interrupt is at 33h.

Table 5. Interrupt priorities
NAME
DALLAS
LEVEL
ATMEL
LEVEL
VECTOR
COMMENT

Power-Fail Indicator
1
Not Available
33h
Warning ATMEL serial port 1 interrupt vector

External Interrupt 0
2
1
03h


Timer 0 Overflow
3
2
0Bh


External Interrupt 1
4
3
13h


Timer 1 Overflow
5
4
1Bh


Serial Port 0
6
5
23h


Timer 2 Overflow
7
6
2Bh


Serial Port 1
8
7
3Bh
Warning ATMEL serial port 1 vector at 33h

External Interrupt 2
9
Not Available
43h


External Interrupt 3
10
Not Available
4Bh


External Interrupt 4
11
Not Available
53h


External Interrupt 5
12
Not Available
5Bh


Watchdog Interrupt
13
Not Available
63h

Reset and Power-FailThe DS80C320/323 includes an internal bandgap reset circuit, which monitors voltage on VCC to ensure that the proper operation levels are maintained. If the operating voltage falls past the power-fail warning level, a power-fail interrupt is triggered, which allows application code to cleanly shut down the system. The Atmel TS80C51U2 does not include a bandgap reset, and typically requires the usage of an external IC for this purpose, increasing overall cost, part count, and operating current.


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-27 23:57 , 耗时 0.100716 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表