目前,基于開放標(biāo)準(zhǔn)指令集架構(gòu)RISC-V的解決方案在市場上的占有率越來越高。今天我們?yōu)榇蠹医榻B一款俄羅斯初創(chuàng)公司Milandr剛剛推出的RISC-V處理器。處理器型號為K1986BK025,被用于電表控制。
基于RISC-V內(nèi)核的K1986BK025微控制器是Milandr的第二代電表微控制器。第一代K1986BK2x芯片已經(jīng)在ARM Cortex-M0處理器內(nèi)核上開發(fā),并且已經(jīng)生產(chǎn)了5年以上。在此基礎(chǔ)上,已經(jīng)設(shè)計(jì)了Milur儀表。
然而,時(shí)間不會停滯,技術(shù)需要不斷發(fā)展,新的市場規(guī)則規(guī)定了對新芯片的新要求。需要引入符合俄羅斯計(jì)量設(shè)備的“最低功能”標(biāo)準(zhǔn)更多功能需求。還需要合適的價(jià)格,可以與TI和NXP等巨頭的競爭。新的智能電表可以關(guān)閉和限制用電量。這意味著新系統(tǒng)也應(yīng)提供信息安全性,以使入侵者無法自行決定關(guān)閉或打開電源?;谶@些需求Milandr研制了些都產(chǎn)一款新的基于RISC-V處理器:K1986BK025,接下來做詳細(xì)介紹。
1. 主要功能
處理器核心:RISC-V(BМ-310SCloudBEAR)
主頻:60 MHz電源電壓(主)2.2 … 3.6 V電源電壓(ADC使用)3.0 … 3.6 V電源電壓:1.8 … 3.6 V
閃存程序存儲器容量:256 + 8 KB
存儲器容量RAM:112 KB
一次性可編程ROM的容量:16 KB
計(jì)量用電測量ADC :24位sigma delta,7通道
用于計(jì)算功耗的ADC:10位帶溫度傳感器
接口:5xUART,3xSPI,1xI2C
用戶IO:55
具有實(shí)時(shí)時(shí)鐘和篡改檢測的512字節(jié)電池域
4個(gè)32位定時(shí)器模塊,具有4個(gè)事件捕獲通道和PWM
4個(gè)32位定時(shí)器塊,4個(gè)事件捕獲通道和PWM
看門狗定時(shí)器
具有變量多項(xiàng)式的CRC計(jì)數(shù)塊
對稱密碼算法計(jì)算支持塊
隨機(jī)數(shù)產(chǎn)生裝置
頻率變化檢波器
電源電壓檢測單元(主、電池)
光檢測器塊
電力供應(yīng)鏈中的噪聲產(chǎn)生裝置
調(diào)試接口:JTAG
封裝類型:QFN88 (10 x 10 mm)
工作溫度:50°C…+85°C
系統(tǒng)結(jié)構(gòu):
2. 處理器核心
如前所述,芯片的核心是帶有BM-310標(biāo)記的32位RISC-V處理器內(nèi)核(采用RV32 IMC配置),它是由CloudBEAR設(shè)計(jì)的。這不是他們唯一的處理器核心。他們提供了一系列的核心,從小型微控制器核心到高性能的64位多處理器集群。
Milandr正在開發(fā)基于CloudBEAR組合中不同復(fù)雜程度的內(nèi)核的新產(chǎn)品?,F(xiàn)在只有基于BM310內(nèi)核的K1986VK025已上市。不過,其他產(chǎn)品,包括基于64位內(nèi)核的產(chǎn)品將很快面世。BM-310內(nèi)核是一個(gè)32位的RISC-V內(nèi)核,采用三段式匯編,能夠在兩個(gè)周期內(nèi)完成一次乘法運(yùn)算。在這個(gè)版本的芯片中還沒有實(shí)現(xiàn)對浮點(diǎn)運(yùn)算的支持(雖然內(nèi)核允許設(shè)置浮點(diǎn)運(yùn)算)。
BM-310內(nèi)核在CoreMark測試中的性能為3.0 CoreMark/MHz。因此,它可以與ARM Cortex-M3相媲美。同時(shí),新芯片中的核心面積只有0.3m㎡,考慮到大部分計(jì)算功耗參數(shù)的任務(wù)都是由計(jì)量ADC的硬件控制器來完成的,因此主要處理能力的核心可以用于計(jì)量裝置的通信任務(wù)。
3. 價(jià)格
芯片尺寸是芯片成本的主要因素。它的面積越大,價(jià)格越貴,生產(chǎn)技術(shù)越復(fù)雜,價(jià)格也就越高。同時(shí),使用的技術(shù)越復(fù)雜,實(shí)現(xiàn)所需功能所需的面積就越小,因此價(jià)格會更便宜??傮w而言,技術(shù)的選擇并不明顯。第一代K1986BK2x芯片開發(fā)于180 nm。大約三分之一的芯片屬于模擬部分(實(shí)際上是sigma-delta ADC、電源、IO),當(dāng)切換到更精細(xì)的工藝時(shí),當(dāng)切換到更細(xì)微的工藝時(shí),這部分實(shí)際上不會減少。但按照新的要求,功能量要增加近4倍。
新的芯片實(shí)現(xiàn)了256KB Flash對64K,RAM 112KB對16K,5個(gè)UART, 3個(gè)SP,還有更多的加密技術(shù)……所以,經(jīng)過全面的估計(jì)和計(jì)算,決定如果特別在意成本,那么用90nm的技術(shù)是可以進(jìn)入要求的成本范圍的,當(dāng)然采用用65nm或更低的技術(shù)會更好,但一般來說,開發(fā)成本也將會提高高,會使項(xiàng)目在融資方面的風(fēng)險(xiǎn)更大。
4. 計(jì)量ADC
如果處理器核心是微控制器的心臟,那么計(jì)量ADC就是其大腦,因?yàn)樗怯糜谥付ㄎ㈦娐贩峙?。微控制器?shí)現(xiàn)了一個(gè)包含7個(gè)通道的24位Σ? ADC的模塊。
對于三相網(wǎng)絡(luò),所有通道分為三對F0-F2(電壓通道和電流通道)和一個(gè)獨(dú)立的電流通道(稱為F0)。7個(gè)通道中的每個(gè)通道都以高達(dá)16 kHz的輸出采樣率數(shù)字化輸入信號。
此外,在每對通道F0-F2中,都有機(jī)會計(jì)算電流/電壓的均方根值,計(jì)算有功和無功功率,計(jì)算消耗的有功和無功電能,電壓中的信號頻率通道,峰值超出部分以及信號下降到低于設(shè)定水平。
這些額外的功能塊降低了處理器的負(fù)載,從而減少了整個(gè)芯片的功耗。此外,每個(gè)ADC都有一個(gè)獨(dú)立的DMA通道,無需處理器參與即可將數(shù)據(jù)保存到RAM。
ΣADC單元的主要參數(shù)和功能列表:
7個(gè)獨(dú)立的ADC,輸出采樣率為4/8/16 kHz(4個(gè)電流通道和3個(gè)電壓通道)。這些通道組成3個(gè)塊,用于測量每個(gè)相F0-F2的參數(shù)。
在通道F0的塊中,實(shí)現(xiàn)了當(dāng)前通道(具有最大值)的自動選擇,用于功率特性的后續(xù)計(jì)算。如果電流差超過6%,則會產(chǎn)生中斷。除此功能外,其余的塊F0-F2是相同的。
所有ADC通道均具有獨(dú)立的斜率校準(zhǔn)系數(shù)特性。
每個(gè)當(dāng)前通道都有一個(gè)獨(dú)立的積分器。
每個(gè)ADC模塊(F0-F2)通過電壓通道獨(dú)立計(jì)算信號周期。計(jì)算此值的周期數(shù)可以設(shè)置為等于1/2/4/8/16/32/64/128個(gè)周期。
每個(gè)模塊都可以驗(yàn)證電壓通道中周期性信號的損耗。
每個(gè)模塊都可以驗(yàn)證電壓“下降”到指定水平以下,以及電流和電壓通道中的信號是否超出指定限制。
允許以0.02%的精度校正電壓通道中信號的相位。
允許計(jì)算均方根值,電流和電壓的均方根平方值以及它們的獨(dú)立校準(zhǔn)。
在計(jì)算有功和無功能量時(shí),該期間的累計(jì)能量值存儲在單獨(dú)的寄存器中(用于正和負(fù)能量)。
全功率和能量計(jì)算。
相對于相位0計(jì)算相移。
因此,計(jì)算所消耗的功耗是在處理器的最小參與下執(zhí)行的。
5. 保護(hù)
5.1 密碼保護(hù)
該微電路實(shí)現(xiàn)了信息保護(hù)的所有功能,包括:
支持塊密碼AES的協(xié)處理器塊;
隨機(jī)數(shù)發(fā)生器;
用于計(jì)算任意多項(xiàng)式的CRC的塊;
帶電池的關(guān)鍵信息專用易失性存儲
一次性可編程引導(dǎo)加載程序ROM,可實(shí)現(xiàn)每個(gè)芯片的唯一標(biāo)識。
對稱加密是在協(xié)處理器的基礎(chǔ)上實(shí)現(xiàn)的,協(xié)處理器可以加快最困難的操作。這樣可以以最高10 Mbps的最高性能來加速加密速度。如有必要,可在軟件中實(shí)現(xiàn)非對稱密碼算法。
5.2 工程防護(hù)
為了防止各種工程方法對電能表和獨(dú)立芯片的沖擊,采用了特殊的工程保護(hù)方法:
3個(gè)用于篡改檢測器的引腳(電子密封件)
頻率變化檢測器模塊
電源電壓變化檢測器單元
光學(xué)探測器單元
防止未經(jīng)授權(quán)的內(nèi)存讀取
針夯探測器的引腳是微控制器的三個(gè)單獨(dú)的引腳,即使在沒有主電源(僅電池)且所有時(shí)鐘關(guān)閉的情況下,也可以通過它們記錄來自外部電子密封件的信號。因此,將檢測并記錄對儀表的任何機(jī)械沖擊嘗試。除了設(shè)備外殼的保護(hù)機(jī)制外,還實(shí)現(xiàn)了保護(hù)微電路自身免受更復(fù)雜攻擊的方法。
為了消除處理器頻率 “加速 ”或反之 “減速 ”的情況,實(shí)現(xiàn)了頻率變化檢測器,它不斷地將外部頻率源與內(nèi)部RC發(fā)生器進(jìn)行比較,當(dāng)偏差發(fā)生在規(guī)定的范圍之外時(shí),它就會產(chǎn)生事件或?qū)⑿酒袚Q到內(nèi)部(在芯片上實(shí)現(xiàn)的)應(yīng)急頻率源。
頻率信號的 “突變 ”由輸入信號的濾波系統(tǒng)來抵消。為了在打開主電源時(shí)正確啟動微電路,以及檢測電源超出可接受范圍的事實(shí),實(shí)現(xiàn)了一個(gè)電壓檢測單元。該單元還監(jiān)測在沒有主電源的情況下,芯片賴以工作的電池電量。因此,已經(jīng)消除了任何通過電源電壓破壞微電路運(yùn)行的操作或企圖。
為了避免關(guān)鍵信息通過 “后側(cè) ”通道(例如電源電路)泄漏,已經(jīng)在微電路中使用偽隨機(jī)數(shù)發(fā)生器實(shí)現(xiàn)了主電源噪聲掩蔽模塊。該模塊會產(chǎn)生一個(gè)隨機(jī)變化的附加消耗,用量掩蓋主消耗。為了防止更嚴(yán)重的半侵入式和侵入式攻擊(當(dāng)訪問微電路的裸片甚至裸片的單個(gè)電路時(shí)對微電路的攻擊),實(shí)現(xiàn)了光學(xué)檢測器。由于通常是微電路的裸片,因此不可能有光進(jìn)入。萬一微電路斷開并且光線接觸芯片,光學(xué)傳感器將發(fā)出警報(bào)。
如果入侵者走得更遠(yuǎn),那么為了限制對微電路內(nèi)部電路的訪問,在裸片布局的上層實(shí)施保護(hù)堆棧,其中接地電路和功率電路交織在一起,以及沿信息電路傳輸隨機(jī)多項(xiàng)式。順便說一句,這就是為什么上面的圖片顯示的是CAD的布局圖,而不是裸片的真實(shí)照片。
至于裸片的真實(shí)圖片,看起來像這樣。
對比一下,ST卡芯片(ST23系列)的防盜網(wǎng)是這樣的。
如果網(wǎng)狀物完整性受到物理侵犯,也會產(chǎn)生報(bào)警。軟件必須監(jiān)控所有報(bào)警事件,如果發(fā)生,則記錄攻擊的事實(shí)。更為重要的是,可以配置微電路,當(dāng)檢測到攻擊時(shí),密碼密鑰信息會自動刪除。這一切都需要軟件的保證。
對于用戶程序,該芯片包含16 KB的一次性可編程ROM和256 + 8 KB的可重新編程閃存。該芯片是從內(nèi)置的一次性可編程存儲器啟動的。最初,在芯片制造時(shí),這個(gè)存儲器是干凈的,對于系列化產(chǎn)品,在測試和剔除過程中要加載一個(gè)啟動可信的bootloader。這樣就可以為每個(gè)芯片提供唯一的標(biāo)識,保證計(jì)量和加密軟件的完整性,同時(shí)也保證了閃存中用戶程序的保護(hù)。
結(jié)論
盡管很多人對俄羅斯芯片持懷疑態(tài)度,但我們確信Milandr已經(jīng)可以與外國公司競爭。