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