DS80C320/323 微控制器是 Atmel 80C51 (TS80C51U2) 的更高性能替代品。本文詳細介紹了將應用代碼從 Atmel 微控制器轉(zhuǎn)換為 DS80C320/DS80C323 的詳細信息,包括時序變化、SFR 差異和新功能。
介紹
達拉斯半導體公司開發(fā)了一個創(chuàng)新的8051微控制器系列,每個機器周期運行4個時鐘,而不是原來的12個時鐘。雖然一些指令在機器周期中增加,但大多數(shù)應用程序?qū)崿F(xiàn)的性能總體提高將是 2.5 倍。與原來的 8051 個周期相比,Atmel 6 系列以每機器周期 12 個時鐘的速度運行,而不會增加每條指令的機器周期數(shù)。這比原來的 2 架構(gòu)提高了 8051 倍。與原來的80相比,DS320C8051還具有多項增強功能,包括雙數(shù)據(jù)指針、電源管理模式、增強型看門狗定時器、環(huán)形振蕩器和用于外部存儲器(MOVX)訪問的拉伸周期。
本應用筆記旨在提供有關將應用代碼從 Atmel TS80C51U2 轉(zhuǎn)換為速度更快的 DS80C320 的信息。
特征
特征 | 描述 | DALLAS | ATMEL |
最大工作頻率 4.5V 至 5.5V | 33兆赫(相當于82.5兆赫) | 30兆赫(相當于60兆赫) | |
最大工作頻率 2.7V 至 5.5V | 18兆赫(相當于45兆赫) | 20兆赫(相當于40兆赫) | |
MOVX 拉伸 | 延伸外部數(shù)據(jù)讀/寫,以允許訪問較慢的外設 | Y | N |
外部中斷源 | 6 | 2 | |
四個 I/O 端口 | 端口 0、1、2、3 | Y | Y |
三個 16 位定時器/計數(shù)器 | 小時 0、1、2 | Y | Y |
256 字節(jié)內(nèi)部內(nèi)存 | Y | Y | |
雙數(shù)據(jù)指針 | DPTR0, DPTR1 | Y | Y |
省電模式 | 空閑模式,睡眠 | Y | Y |
電源故障復位 | 掉電檢測器 | Y | N |
電源故障警告 | 早期電源故障警告中斷 | Y | N |
可編程看門狗定時器 | Y | Y | |
看門狗中斷 | Y | N | |
中斷優(yōu)先級 | 可編程中斷電平 | 2 | 4 |
兩個全雙工串行UART | 7 或 8 個數(shù)據(jù)位、1 或 2 個停止位、奇偶校驗、成幀錯誤識別、地址識別 | Y | Y |
引腳排列
針 | 名字 | DS80C320的區(qū)別 | 描述/注釋 | ||||
EI1 | PLCC | TQFP, VQFP | |||||
20 | 22, 23 | 16, 17 | 在黨衛(wèi)軍 | 提供兩個接地連接 | 在 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 | 不適用 | 無連接 | 在黨衛(wèi)軍在 TS80C51U2 上,DS80C320/323 上的接地引腳不會引起任何問題 | ||
注1:TS80C51U2 串口 1 輸入/輸出可以位于不同的位置,具體取決于 AUXR 位 M1UA1 和M0UA_1位。 |
SFR 內(nèi)存映射
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. |
雙數(shù)據(jù)指針
與使用影子寄存器的 Atmel TS80C51U2 不同,DS80C320/323 將兩個數(shù)據(jù)指針映射到不同的寄存器。DPL0 位于 SFR 地址 82h,DPH0 位于 83h,DPL1 位于 84h,DPH1 位于 85h。DPL 在 Atmel TS82C83U80 上映射在 SFR 51h,DPH 映射在 SFR 2h。要在DS80C320/323上的活動DPTR之間切換,請在TS0C1U80上使用DPS.51而不是AUXR2。為雙數(shù)據(jù)指針提供單獨的寄存器允許訪問任一組寄存器,而無需更改活動的 DPTR。
看門狗定時器
Dallas DS80C320/323實現(xiàn)了高級看門狗復位,支持在定時器到期復位之前中斷看門狗。看門狗中斷向量位于 63 小時,在看門狗超時之前向量為 512 個周期。應用程序可以重置看門狗并推遲重置,也可以執(zhí)行清理功能并讓重置在 512 個周期結(jié)束時發(fā)生。
CKCON 寄存器中的 WD1 和 WD0 位控制看門狗超時值。表 4 顯示了可能的設置。在更改 WD1 和 WD0 位的值之前,應設置重置監(jiān)視器計時器位 (WDCON.0) 以避免監(jiān)視程序計數(shù)損壞。設置 EWDI (EIE.4) 位將啟用監(jiān)視器計時器中斷,而 EWT (WDCON.1) 將啟用監(jiān)視器計時器。若要重置監(jiān)視器計時器,應用程序代碼將設置 RWT (WDCON.0) 位。為避免看門狗超時,必須在超時之前由應用程序代碼設置此位。定時訪問,DS80C320/323數(shù)據(jù)資料第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數(shù)據(jù)資料,了解計算重載值的詳細功能。
PCON UART 控制
DS80C320/323和TS80C51均支持波特率倍增和成幀錯誤檢測。DS80C320/323的波特率倍增標志在PCON中SMOD_0,在WDCON中SMOD_1。設置這些位可實現(xiàn)波特率加倍。要啟用成幀錯誤檢測,請設置 SMOD0 (PCON.6)。
UART
TS80C51U2 包括 DS80C320/323 所沒有的專用波特率發(fā)生器。必須將使用波特率發(fā)生器的串行代碼轉(zhuǎn)換為使用可用的計時器。請參閱《高速微控制器用戶指南》,了解有關使用定時器生成波特率的詳細信息(第 12.3 節(jié))。
中斷
DS80C320/323提供2級中斷優(yōu)先級,具有自然優(yōu)先級選擇。表5顯示了DS80C320/323與TS80C51U2相比的優(yōu)先級。
注意: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包括內(nèi)部帶隙復位電路,用于監(jiān)視V電壓抄送以確保保持適當?shù)牟僮魉?。如果工作電壓超過電源故障警告級別,則會觸發(fā)電源故障中斷,從而允許應用程序代碼干凈地關閉系統(tǒng)。Atmel TS80C51U2 不包括帶隙復位功能,通常需要使用外部 IC 來實現(xiàn)此目的,這會增加總體成本、器件數(shù)量和工作電流。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7566瀏覽量
151604 -
控制器
+關注
關注
112文章
16394瀏覽量
178481 -
Atmel
+關注
關注
17文章
311瀏覽量
107358
發(fā)布評論請先 登錄
相關推薦
評論