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