達拉斯半導體DS87C550 EPROM高速微控制器具有A/D和PWM功能,是廣受歡迎的87C552微控制器的增強版本。它是 8051C87 的 552 直接替代品,通過執行具有四個時鐘周期的代碼來提高性能。本應用筆記描述了在舊版8032設計中集成軟件環路、上電復位和存儲器接口時序時與該處理器相關的問題。
介紹
DS87C550高速微控制器具有模數和PWM,設計與許多8051衍生產品高度兼容。它采用與 87C552 相同的引腳排列和基本資源設計,但顯著增強了性能能力和大量額外資源。由于指令集和引腳排列是相同的,因此在許多情況下允許將其用作該設備的直接替代品。但是,在這樣做時,必須考慮一些問題。本應用筆記討論了這些問題。
處理器速度
DS87C550與100指令集8051%兼容,指令的執行也得到了簡化,提高了性能。以前需要 12 個時鐘才能完成的單字節指令現在在 4 個時鐘中執行。此外,DS87C550可以接受高達33 MHz的時鐘速度,而在某些版本的8032中,最大時鐘速度為12 MHz。由于DS87C550具有更高的性能,在評估DS8051C<>作為傳統<>微控制器的替代品時,必須考慮與速度相關的問題。
存儲器接口時序
對于相同頻率的晶體,DS87C550縮短指令執行時間,可加快外部存儲器訪問時間。例如,8032的數據手冊規定,當使用12 MHz晶體時,程序存儲器的地址訪問時間必須為302 ns或更短(忽略任何地址鎖存開銷)。同樣使用87 MHz晶體的DS550C12需要地址訪問時間更短230 ns的存儲器。由于當今大多數可用的存儲器都提供更快的訪問時間,因此這不太可能是一個重要的設計考慮因素。
軟件循環
另一個與速度相關的問題是軟件計時的使用。通常情況下,軟件編寫者將使用處理器假定的恒定執行速度作為實時參考。通常需要已知數量的時鐘才能執行的緊密循環將用于生成延遲。由于DS87C550執行指令的速度比標準8032快得多,這些先前設計的定時環路將不再產生最初預期的結果。雖然通常不鼓勵使用軟件定時環路,但實際上它們在嵌入式應用程序中使用得相當頻繁。DS87C550的設計使內部定時器默認為與8032定時器完全相同的狀態。如果編寫應用程序代碼以使用這些計時器而不是軟件延遲,則代碼將按原始預期運行。
中斷
與其他8051衍生產品相比,為了適應高速微控制器系列的擴展功能,需要對中斷矢量地址圖進行輕微重組,如下表所示。
中斷名稱 | 中斷說明 | 矢量地址 | ||
DS87C550 | D7C552 | DS80C320 | ||
INT0-bar | 外部中斷 0 | 03小時 | 03小時 | 03小時 |
SCON1 | 串行端口 1 | 0Bh | - | 3Bh |
A/D | 模數轉換器 | 13小時 | 53小時 | - |
TF0 | 定時器 0 | 1Bh | 0Bh | 0Bh |
INT2/CF0 | 外部中斷 2 或捕獲 0 | 23小時 | 33小時 | 43小時 |
CM0F | 比較匹配 0 | 2Bh | 5Bh | - |
PFI | 電源故障中斷 | 33小時 | - | 33小時 |
INT1-bar | 外部中斷 1 | 3Bh | 13小時 | 13小時 |
INT3-bar/CF1 | 外部中斷 3 或捕獲 1 | 43小時 | - | 4Bh |
CM1F | 比較匹配 1 | 4Bh | 63小時 | - |
TF1 | 定時器 1 | 53小時 | 1Bh | 1Bh |
INT4/CF2 | 外部中斷 2 或捕獲 2 | 5Bh | - | 53小時 |
CM2F | 比較匹配 2 | 63小時 | 6Bh | - |
SCON0 | 串口 0 | 6Bh | 23小時 | 23小時 |
INT5 棒/CF3 | 外部中斷 5 或捕獲 3 | 73小時 | - | 5Bh |
TF2 | 定時器 2 | 7Bh | 73小時 | 2Bh |
DS87C550集成電路,產生自己的上電復位功能。這消除了與外部元件相關的成本和電路板空間。雖然RST引腳仍可能連接到外部復位發生電路,但這種內部特性允許選擇移除外部元件以降低成本。盡管這些特性設計為在不需要時是透明的,但在少數情況下,內部電源故障復位功能可能會以不希望的方式與現有設計交互。其中一種情況可能是,如果設計要求復位電壓處于特定點或存在特定持續時間。另一種情況可能是依賴電池備份的RAM進行數據存儲。如果RAM包含自己的電壓檢測電路,并且在DS87C550離開復位(4.0 V)的相同電壓下沒有失去保護,則處理器可能會錯誤地訪問受保護的RAM。雖然這些情況并不常見,但它們仍然是每個特定應用需要考慮的問題。
功耗
DS87C550除了是性能更高的器件外,在考慮等效工作時,也是比8032功耗更低的器件。所有CMOS器件都表現出這樣的特性:隨著速度的提高,它們消耗更多的功率。由于DS87C550是性能更高的器件,在給定的晶體頻率下,它會消耗更多的功率。但是,如果考慮等量的工作量,則其消耗的功率略低于傳統的8032。這種功耗差異可能只對電池供電應用很重要,在這種情況下,停止模式電源可能是一個重要的考慮因素。
特殊功能寄存器更改
DS87C550的特殊功能寄存器(SFR)圖與8051系列的其他成員略有不同,以適應新的功能集。下表突出顯示了87C550或DS87C552/80上具有不同功能的DS320C8051 SFR位置。使用專為DS87C550設計的匯編器/編譯器頭文件,將消除移植8051系列其他成員軟件時的混淆。
Address | DS87C550 | 87C552 | DS80C320 | Notes |
86h | DPS | - | DPS | DS87C550 has new bits. |
87h | PCON | PCON | PCON | DS87C550 has new bits. |
90h | P1 | P1 | P1 | DS87C550 alternate pin functions changed |
91h | RCON | - | EXIF | |
9Fh | PMR | - | - | |
A1h | SADDR0 | - | - | |
A2h | SADDR1 | - | - | |
A9h | CMPL0 | CML0 | SADDR0 | |
AAh | CMPL1 | CML1 | SADDR1 | |
B8h | IP | IP0 | IP | DS87C550 adds PAD bit |
BEh | T2CON | - | - | |
BFh | T2MOD | - | - | |
C0h | P4 | - | SCON1 | |
C1h | - | - | SBUF1 | |
C4h | P5 | P5 | PMR | |
C8h | T2IR | TM2IR | T2CON | |
C9h | CMPH0 | CMH0 | T2MOD | |
CAh | CMPH1 | CMH1 | RCAP2L | |
CBh | CMPH2 | CMH2 | RCAP2H | |
CCh | CPTH0 | CTH0 | TL2 | |
CDh | CPTH1 | CTH1 | TH2 | |
D8h | SCON1 | S1CON | WDCON | |
D9h | SBUF1 | S1STA | - | |
ECh | TL2 | TML2 | - | |
EDh | TH2 | TMH2 | - | |
FFh | WDCON | T3 | - |
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7542瀏覽量
151318 -
PWM
+關注
關注
114文章
5181瀏覽量
213810
發布評論請先 登錄
相關推薦
評論