超高速閃存微控制器 (UHSFM) 是 5V、1 時鐘 8051,集成了閃存和 SRAM。這些 UHSFM 可集成到現有的 8051 應用中,并立即提高速度。本應用筆記討論了將現有8051應用移植到UHSFM系列可能需要的簡單步驟。描述了這樣做的好處。
介紹
超高速微控制器 (UHSM) 是 5V、1 時鐘 8051,集成了閃存和 SRAM。這些UHSM可以進入現有的8051應用,并且只需很少或沒有努力,就可以立即提高速度。在大多數情況下,UHSM 與原始 100 8051% 兼容,因此通常不需要更改硬件或代碼。目前有三種UHSM可供選擇:DS89C430、DS89C440和DS89C450,每種器件分別具有16K、32K或64K閃存。本文介紹將原始 8051 應用程序移植到 UHSM 可能需要的簡單步驟。介紹了使用UHSM的好處。
建筑
如上所述,UHSM是一個單時鐘周期8051,指令與依賴于8051時鐘周期架構的原始12兼容。在等效時鐘頻率下,將每條指令的時鐘數量減少到一個,性能比原始 12 高出 8051 倍。或者,這還提供了在較低時鐘頻率下運行的能力,并產生相同的性能,同時降低整體系統功耗。
為了獲得更高的性能和降噪,UHSM還集成了一個時鐘乘法器,允許外部晶體的兩倍或四倍倍增。例如,UHSM可用于現有的7.372MHz 8051設計,內部運行時鐘翻了兩番,為29.49 MHz。29.49MHz的板載時鐘速率不僅提高了性能,而且通過在微控制器內部保持這種高頻隔離,外部噪聲也保持在最低水平。這大大降低了EMI。
UHSM包含幾個附加功能,使其成為新設計的絕佳選擇:
具有自動遞增/遞減和切換選擇功能的雙數據指針
應用內可編程閃存
用于 MOVX 的 1K 字節 SRAM
電源管理模式:空閑模式、停止模式、被 1024 分頻模式
兩個串行端口
電源故障復位和預警電源故障中斷
兼容性
法典
UHSM 兼容 8051 指令,在大多數情況下不需要更改代碼。但是,必須根據單周期指令時序重寫和重新計算基于代碼的時序循環。為了進一步利用UHSM的性能增強,還需要進行一些其他小的代碼更改。一個例子是在定時器上使用 4 分頻選項以允許更高的波特率。另一個示例是使用數據指針自動 inc/dec 選項來加快復制、清除和比較操作。
片上閃存消除了對外部代碼存儲器的要求,內置SRAM使應用無需外部數據SRAM。
定時器/串行端口
UHSM 可以在外部晶體上以 12 分頻模式(原始 8051)運行每個定時器,或者從乘法時鐘(4、1 或 2)以 4 分頻模式運行。這允許現有的 8051 定時器和串行代碼在不修改的情況下運行,并在新設計需要時提供更高的波特率選項。CKCON 寄存器位 TxM 管理 12/4 時鐘選擇。
硬件
由于UHSM采用5V設計,因此在僅5V系統中不會發生變化。外部存儲器訪問默認設置為 3 個機器周期(12 個系統時鐘),但 CKCON 寄存器可以通過使用拉伸周期進行修改,以允許使用較慢的數據存儲器。
性能
很難找到一個任何兩個人都同意的績效基準是合理的。無論如何,大多數設計人員都對內存復制速度、CRC 生成和中斷延遲感興趣,下面將對此進行分析。作為獎勵,SHA-1安全哈希的性能作為高級C基準測試被投入到組合中。SHA-1 是內存和代碼密集型的,在現代嵌入式應用中非常重要。
本節中的競爭性能數字將標記為“12 時鐘”、“6 時鐘”或“1 時鐘”,指的是每個時鐘背后的 8051 架構。飛利浦 P89C51RD2 和 Atmel AT89C51RD2 用于 12 時鐘和 6 時鐘性能數字,因為它們可以在 12 或 6 時鐘模式下運行,并且是 5V 閃存微控制器。對于1時鐘數字,使用DS89C440。請注意,6 時鐘微控制器的速度恰好是 12 時鐘微控制器的兩倍。在UHSM的情況下,即使每臺機器的時鐘周期已減少到一個,但并非所有操作碼都可以在一個周期內執行(例如,DIV AB需要10個周期)。
內存拷貝
表1給出了使用兩個數據指針的標準8051復制環路的時鐘故障。UHSM 比 9 時鐘 12 快 8051 倍,比 4 時鐘 5 快 6.8051 倍。
表 1.顯示UHSM時鐘周期優勢的記憶鏡例程
Code | 12-Clock | 6-Clock | 1-Clock |
MOVX A,@DPTR | 24 | 12 | 2 |
INC DPTR | 24 | 12 | 1 |
INC DPS | 12 | 6 | 3 |
MOVX @DPTR,A | 24 | 12 | 2 |
INC DPTR | 24 | 12 | 1 |
INC DPS | 12 | 6 | 3 |
DJNZ R0, LOOP | 24 | 12 | 4 |
Total Clock Cycles | 144 | 72 | 16 |
表 2
顯示了使用 UHSM 的自動增量和自動切換功能優化的憶影復制實施的結果。具有優化的憶影印例程的UHSM比18時鐘12快8051倍,比9時鐘6快8051倍。
表 2.優化的憶影記錄例程時鐘周期。
Code | 1-Clock |
MOVX A,@DPTR | 2 |
MOVX @DPTR,A | 2 |
DJNZ R0, LOOP | 4 |
Total Clock Cycles | 8 |
CRC16
CRC的使用在許多嵌入式應用中都很重要,用于驗證數據完整性。DS16xx iButton 標準手冊1附錄 5 表 1 中的 CRC19 示例是一個優化的實現方案。當與 12 時鐘 8051 運行時,UHSM 的速度提高了 12 倍以上;與 6 時鐘 8051 相比,它快了 6 倍以上。
中斷延遲
中斷延遲可以用兩種方式描述:處理中斷的時間延遲和完全服務中斷向量的時間。
由于中斷向量只能在指令之間發生,因此最長的操作碼加上調用時間是最壞情況下的延遲。在本文評估的 8051 上,DIV AB 是最長的指令,因此最壞情況的“向量延遲”將是 DIV AB 加上隱式向量 LCALL。8051 內核插入 LCALL 指令以強制執行以更改為中斷向量例程。在此示例中,UHSM 比 5 時鐘 5 快 12.8051 倍,比 2 時鐘 7 快 6.8051 倍。請參閱表 3。
我們將使用一個簡單的中斷服務例程將 UHSM 與原始 8051 進行比較,以獲得“返回前的延遲”。執行時間是從第一個中斷向量指令到 RETI 完成所花費的時間。在此示例中,UHSM 比 7 時鐘 2 快 12.8051 倍,比 3 時鐘 6 快 6.8051 倍。見表4。
表 3.中斷向量的最壞情況延遲
Code | 12-Clock | 6-Clock | 1-Clock |
DIV AB | 48 | 24 | 10 |
Implied LCALL | 24 | 12 | 3 |
Total Clock Cycles | 72 | 36 | 13 |
表 4:中斷服務例程示例
Code | 12-Clock | 6-Clock | 1-Clock |
CPL P1.1 | 12 | 6 | 2 |
RETI | 24 | 12 | 3 |
Total Clock Cycles | 36 | 18 | 5 |
C 示例:SHA-1 安全哈希
安全功能的使用在嵌入式系統中很普遍,哈希SHA-1是當今廣泛使用的安全功能。安全哈希算法很容易用 C 語言編碼。對于此示例,Keil C 編譯器版本 7.5 用于在要比較的每個微控制器之間構建實現。對于所有平臺,都選擇了編譯器選項以使用雙數據指針、內部存儲器、8 級優化和速度優化。所有微處理器的運行頻率均為11.0592MHz。UHSM 比 11 時鐘 12 快 8051 倍,比 5 時鐘 5 快 6.8051 倍。表 5 列出了一個塊 SHA-1 運行的結果。
表 5.SHA1結果顯示UHSM優勢
Code | 12-Clock | 6-Clock | 1-Clock |
SHA-1 Single Block (hashes/second) at 11.0592MHz |
3.19 | 6.41 | 35.59 |
SHA-1 Single Block (hashes/second) at 33MHz |
9.52 | 19.13 | 106.20 |
結論
使用DS89C4X0系列等UHSM,設計人員可以替代現有的8051設計,更新舊設計,或創建原始8051無法實現的新設計。UHSM允許軟件和硬件的靈活性,因為它不需要更改工具,源代碼或硬件環境。可以根據需要使用高級功能,即使不使用這些功能,也可以實現速度的巨大提升。UHSM 是基于 8051 微控制器的系統最簡單的升級路徑,對于需要標準 8051 無法提供的處理能力的新應用,應考慮使用 UHSM 。
-
微控制器
+關注
關注
48文章
7548瀏覽量
151365 -
存儲器
+關注
關注
38文章
7485瀏覽量
163795 -
sram
+關注
關注
6文章
767瀏覽量
114680
發布評論請先 登錄
相關推薦
評論