公開日:2023/02/15
SuperHファミリ(通称SH)は、1992年にルネサス エレクトロニクス社の前身である日立製作所半導体事業部で開発され、現在も供給されているロングセラーのマイコンです。おそらく、国内の産業向けでは最も普及したマイコンの1つだと思います。
しかし、最初のSH-1のリリースから30年近く経過し、後継のRXファミリやRZファミリが登場してきたことで、現在はEOL化が進んでいます。当社が長年供給していたSuperHファミリのCPUボードも、半分近くが2022年中に保守化となり、代替のご相談も増えています。
そこで今回は、SuperHファミリから新たなマイコンへの移行(マイグレーション)について、性能や開発環境などを比較しながら考察してみます。
1.SuperHファミリの概要
SuperHファミリの正式名称は「SuperH RISC engineファミリ」で、32bitのRISCアーキテクチャを採用しており、CPUコアの名称で「SH-1」から「SH-4A」までシリーズ展開されています。各シリーズの概要は以下になります。
シリーズ | 動作周波数 | 主なラインアップ | 主な特徴 |
---|---|---|---|
SH-1 | 最大20MHz | SH703x | プロセッサタイプ |
SH-2 | 最大80MHz | SH704x、SH708x、SH712x、SH714x | 内蔵FLASH、ワンチップ |
SH-2A | 最大240MHz | SH721x、SH726x、SH728x | 内蔵FLASH、ワンチップ |
SH-3 | 最大200MHz | SH770x、SH772x | ハイエンド、プロセッサタイプ |
SH-4 | 最大240MHz | SH7750、SH7751 | ハイエンド、プロセッサタイプ |
SH-4A | 最大600MHz | SH778x、SH773x、SH776x | ハイエンド、SoCタイプ |
2.選定条件
後継のデバイスを選定する場合、「周辺機能」「演算性能」のほか「ソフトウェア開発環境」と「価格」などが主な条件になってくると思います。「価格」については、変動要素がありますので、今回は、「周辺機能」「演算性能」と「ソフトウェア開発環境」を中心に考察します。
(1)周辺機能
まず、周辺機能として考慮しなければならないのは、外部バスコントローラです。外部バスを利用している場合には必須ですが、SDRAMを接続している場合には、「SDRAMコントローラ」を内蔵していることも条件になります。
次に「LCD」「Ethernet」「USB」インタフェースです。これらは、外部デバイスでも追加できますが、現在はマイコン内蔵が主流であり、デバイスも少ないため、できるだけ内蔵品を選択するべきです。
その次に「UART(SCI)」、「SPI」、「CAN」、「A/D」、「D/A」、「タイマ」など、外部デバイスでも追加しやすい機能が選択条件になると思います。
(2)演算性能
演算性能の主な要素は、「ビット数」「動作周波数」「浮動小数点演算機能(FPU)」です。まず、SuperHファミリは32bitマイコンなので、通常は32bit以上のマイコンを選定します。
次に周波数ですが、実際には動作周波数だけではなく、処理効率も大きく影響しますので、CoreMarkなどのベンチマークも参考にします。
見落としがちなのが浮動小数点演算器(FPU)で、例えばSH7750R(SH-4)など、単精度/倍精度の浮動小数点演算器を内蔵しているので、double型やfloat型などを使用している場合には、浮動小数点演算器を内蔵していないマイコンに置き換えた場合、処理が遅くなる可能性があるので注意が必要です。
(3)ソフトウェア開発環境
ソフトウェア開発環境は、主に「統合開発環境(コンパイラ)」「デバッガ」「OS」となります。
SuperHファミリでは、ルネサス エレクトロニクス社が提供している「統合開発環境 HEW(SHC)」と「デバッガ E10A-USB」の組み合わせが最も一般的ですが、他にも「GNU C」や各パートナーベンダのツールが対応しています。
また、OSは「μITRON」などのRTOSのほか、SH-4、SH-4AではLinuxにも対応しています。
3.マイコンの選定
前述の選定条件から、後継のマイコンを弊社製CPUボードを例に考察します。
まず、ルネサス エレクトロニクス社のラインアップで、後継として挙げられるのは、「RZファミリ」、「RXファミリ」、「RAファミリ」になります。いずれも産業向け32bit~64bitアーキテクチャでFPUを内蔵しています。
各ファミリの特長は下記になります。
ファミリ | 主なシリーズ | CPUコア | 主な特徴/用途 |
---|---|---|---|
RZファミリ | RZ/A | Arm® Cortex® | 汎用、HMI、画像処理 |
RZ/T | 高速制御、通信制御 | ||
RZ/G | HMI、Linux対応 | ||
RZ/N | 通信制御、Linux対応 | ||
RZ/V | 画像処理、Linux対応 | ||
RZ/Five | RISC-V | IoT、Linux対応 | |
RXファミリ | RX100、RX200、RX600、RX700 | Renesas RX | 内蔵FLASH、汎用 |
RAファミリ | RA2、RA4、RA6 | Arm Cortex | 内蔵FLASH、IoT向け |
CoreMarkについては、技術コラム Vol.09「CoreMarkでマイコンの性能を比較!」をご覧ください。
※記載しているCoreMarkスコアは弊社が独自で調査した結果であり、内容を保証するものではありません。
(1)SH-2からの移行
SH-2は、SuperHファミリで初めてFlashROMを内蔵した、ワンチップ動作も可能なシリーズです。EthernetやUSBなどは内蔵しておらず、SCIやSPIなどレガシーなインタフェースのみになっています。
移行する候補としては、RX600、RX700およびRA6シリーズがお勧めです。
CPU | CPUボード | 周波数 | CoreMark | RAM | ROM | Ether | USB | LCD | その他 |
---|---|---|---|---|---|---|---|---|---|
SH7046 | AP-SH2F-4A | 50MHz | 57 | 12KB | 256KB | - | - | - | 内蔵FLASH |
SH7047 | AP-SH2F-5A | 50MHz | 57 | 12KB+512KB | 256KB | - | - | - | 内蔵FLASH |
SH7144 | AP-SH2F-7A | 50MHz | 57 | 8KB+1MB | 256KB | - | - | - | 内蔵FLASH |
SH7145 | AP-SH2F-6A | 50MHz | 57 | 8KB+2MB | 256KB | - | - | - | 内蔵FLASH |
SH7136 | AP-SH2F-11A | 80MHz | 92 | 16KB+16KB | 256KB | - | - | - | 内蔵FLASH |
SH7137 | AP-SH2F-12A | 80MHz | 92 | 16KB+128KB | 256KB | - | - | - | 内蔵FLASH |
CPU | CPUボード | 周波数 | CoreMark | RAM | ROM | Ether | USB | LCD | その他 |
---|---|---|---|---|---|---|---|---|---|
RX65N | AP-RX65N-0A | 120MHz | 440 | 256KB+16MB | 1MB | 〇 | 〇 | - | 内蔵FLASH |
RX651 | AP-RX651-0A | 120MHz | 440 | 640KB+16MB | 2MB | - | 〇 | 〇 | 内蔵FLASH |
RX64M | AP-RX64M-0A | 120MHz | 440 | 512KB+16MB | 4MB | 〇 | 〇 | 〇 | 内蔵FLASH |
RX72T | AP-RX72T-0A | 200MHz | 1058 | 128KB | 1MB | - | 〇 | - | 内蔵FLASH |
RA6M3 | AP-RA6M-0A | 120MHz | 288 | 640KB+16MB | 2MB | 〇 | 〇 | 〇 | 内蔵FLASH |
RA6M5 | AP-RA6M-1A | 200MHz | 480 | 512KB | 2MB | 〇 | 〇 | - | 内蔵FLASH |
(2)SH-2Aからの移行
SH-2AはSH-2の後継で、SH-4より演算性能は低くなりますが、内蔵FlashROMと内蔵RAM、USBやEthernet、LCDコントローラなどの周辺機能を内蔵したシリーズです。
移行する候補としては、RX700およびRZ/Aシリーズがお勧めです。
CPU | CPUボード | 周波数 | CoreMark | RAM | ROM | Ether | USB | LCD | その他 |
---|---|---|---|---|---|---|---|---|---|
SH7211 | AP-SH2A-0A | 160MHz | 258 | 32KB+16MB | 512KB | - | - | - | 内蔵FLASH |
SH7263 | AP-SH2A-1A | 200MHz | 322 | 64KB+32MB | 16MB | - | 〇 | 〇 | - |
SH7216 | AP-SH2A-4A | 200MHz | 322 | 128KB+16MB | 1MB | 〇 | 〇 | - | 内蔵FLASH |
SH7269 | AP-SH2A-6A | 240MHz | 386 | 2.5MB+16MB | 16MB | - | 〇 | 〇 | - |
CPU | CPUボード | 周波数 | CoreMark | RAM | ROM | Ether | USB | LCD | その他 |
---|---|---|---|---|---|---|---|---|---|
RX71M | AP-RX71M-0A | 240MHz | 880 | 512KB+16MB | 4MB | 〇 | 〇 | 〇 | 内蔵FLASH |
RX72N | AP-RX72N-0A | 240MHz | 1271 | 1MB+32MB | 4MB | 〇 | 〇 | 〇 | 内蔵FLASH |
RX72M | AP-RX72M-0A | 240MHz | 1271 | 1MB+16MB | 4MB | 〇 | 〇 | - | 内蔵FLASH |
RZ/A1H | AP-RZA-0A | 384MHz | 1488 | 10MB+32MB | 16MB | 〇 | 〇 | 〇 | - |
RZ/A1H | AP-RZA-1A | 384MHz | 1488 | 10MB | 4MB | 〇 | 〇 | 〇 | - |
(3)SH-4、SH-4Aからの移行
SH-4、SH-4Aは、SuperHファミリでも、最も高性能なシリーズです。なかでもSH7750Rは多くのユーザーに支持され、リリースされてから20年が経過した現在も利用されている製品は多いと思います。
特長としては、キャッシュメモリとMMUを内蔵しており、外部メモリのアクセスが高速で、Linuxにも対応しています。
移行する候補としては、RZ/Aシリーズがお勧めです。
CPU | CPUボード | 周波数 | CoreMark | RAM | ROM | Ether | USB | LCD | その他 |
---|---|---|---|---|---|---|---|---|---|
SH7750R | AP-SH4-1A | 236MHz | 357 | 32MB | 4MB | - | - | - | - |
SH7750R | MS104-SH4(RTOS) | 236MHz | 357 | 32MB | 16MB | 〇 | - | - | - |
SH7763 | AP-SH4A-2A | 266MHz | 363 | 64MB | 16MB | 〇 | 〇 | 〇 | - |
CPU | CPUボード | 周波数 | CoreMark | RAM | ROM | Ether | USB | LCD | その他 |
---|---|---|---|---|---|---|---|---|---|
RZ/A1H | AP-RZA-0A | 384MHz | 1488 | 10MB+32MB | 16MB | 〇 | 〇 | 〇 | - |
RZ/A2M | AP-RZA2-0A | 528MHz | 2039 | 4MB+64MB | 16MB | 〇 | 〇 | 〇 | - |
4. ソフトウェア開発環境
RZ、RX、RA各ファミリの開発環境について以下にまとめました。
(1)RZファミリの開発環境
ファミリ | 主なシリーズ | CPUコア | 統合開発環境(コンパイラ) | デバッガ | 対応OS |
---|---|---|---|---|---|
RZ | RZ/A | Arm Cortex |
|
|
|
RZ/T | |||||
RZ/G |
|
GDB | Linux | ||
RZ/N | |||||
RZ/V | |||||
RZ/Five | RISC-V |
RZファミリは、対応OSがRTOS系かLinux系で大別されます。
RTOS系のRZ/AとRZ/Tについては、「e2 studio」と「J-LINK」の組み合わせが最も一般的です。
e2 studioは、ルネサス エレクトロニクス社が提供している無償の開発環境で、他のマイコンと共通プラットフォームになっているので、まずはこちらから利用されるのが良いと思います。
また、OSは、FreeRTOSおよびAzure RTOSが、ルネサス エレクトロニクス社より無償で提供されているソフトウェアパッケージ(FSP)に含まれています。
各RTOSの概要については、技術コラム Vol.05「今すぐ試せる!リアルタイムOSのすゝめ」でも紹介していますので、参考にしてください。Linux系については、Linuxカーネルを含む、Board Support Package(BSP)が提供されており、デバッガはGDBなどが利用できます。
(2)RXファミリの開発環境
ファミリ | 主なシリーズ | CPUコア | 統合開発環境(コンパイラ) | デバッガ | 対応OS |
---|---|---|---|---|---|
RX | RX100、RX200、RX600、RX700 | Renesas RX |
|
E2 Lite(Renesas) |
|
RXファミリは、ルネサス エレクトロニクス社オリジナルのRXコアを搭載し、開発環境はルネサス エレクトロニクス社より、ワンストップで提供されています。
SuperHファミリでは、純正の「HEW(SH-C)」と「E10A」を利用していたユーザーが多いと思いますが、RXでも、純正の「CS+(RX-C)」と「E2 Lite」が提供されているので、SuperHのユーザーは馴染みやすいと思います。
RXファミリの開発環境については、技術コラム Vol.04「ドライバソフト開発を軽減!RXマイコンFIT活用ガイド」でも紹介していますので、参考にしてください。
(3)RAファミリの開発環境
ファミリ | 主なシリーズ | CPUコア | 統合開発環境(コンパイラ) | デバッガ | 対応OS |
---|---|---|---|---|---|
RA | RA2、RA4、RA6 | Arm Cortex |
|
|
|
RAファミリは、グローバルで最も普及しているプロセッサの一つであるArm Cortex-Mコアを搭載しており、GNU Cをはじめ、世界中のさまざまな開発ツールが利用できます。
RAファミリのデバッガは、RXファミリと共通の「E2 Lite」が利用できます。
また、統合開発環境「e2 studio」とOSを含むソフトウェアパッケージ「FSP」も提供されているので、安価に開発環境を整えることができます。
RAファミリの開発環境については、技術コラム Vol.02「今からはじめるRAマイコン開発」でも紹介しているので、参考にしてください。
5. まとめ
今回は、SuperHファミリからのマイグレーションについて、ご紹介しました。
SuperHファミリは、最後のデバイスのリリースから、すでに10年以上経過しています。
その間にRXやRZなど新たな製品が登場し、機能、性能とも格段に向上しており、開発環境も充実しています。
今回、長年使い慣れ親しんできたSuperHファミリが消えていくのは、個人的にも残念ですが、新しいマイコンで、新たな技術や性能向上に取り組んでいく良い機会ではないかと思います。
製品のご案内
各CPUボードの製品の仕様やマニュアルやアプリケーションノートなどの情報を公開しています。
検討の際には、ぜひご参照ください。
- ※ArmおよびCortexは、米国および/またはその他の地域におけるArm Limited(またはその子会社)の登録商標です。
- ※RISC-V、RISC-V International、およびRISC-Vロゴは、RISC-V Internationalの商標です。
- ※CoreMarkはEEMBCの登録商標です。
- ※記載されている会社名、製品名は、各社の登録商標または商標です。
- ※記載の内容は改良のため、予告なく変更する場合がございます。