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