13世代と7000番台PC CPU選択

2023年春のWindows最新CPU、Intelの13世代とAMDの7000番台の特徴をまとめます。

最新PC CPUを “最高速” 処理性能で選ぶなら13世代、消費電力で選ぶなら7000番台と言えそうです。

2023年春のIntel 13世代とAMD 7000番台CPU
2023年春のIntel 13世代とAMD 7000番台CPU

2023年春PC CPUまとめ

Intel 13世代CPUは、AMDの旧6000番台に対抗すべく旧12世代よりも最大動作周波数を上げた結果、同レベルのAMD 7000番台より性能向上しています。しかし、代償として消費電力と発熱量の上昇を招いています。

AMD 7000番台は、旧6000番台よりも性能向上していますが、向上分はIntelより控えめです。その代わり消費電力や発熱が、同レベルの13世代より低めです。

※ベンチマークで徹底比較(日経XTECH、2023-01-13)、13世代は以外なほど向上(日経XTECH、2023-01-12)、その他、最新CPU情報を参考にしました。

Windows CPU進化

Windows CPUは、先行Intelを後発AMDが追う開発競争が続いています。Intelは、Windows開発元MicrosoftとWintelと言われるほど親密です。新しいWindowsとIntel CPUの親和性が、AMDより高いと言われるゆえんです。

後発AMDは、Intel CPUよりもコストパフォーマンスに優れたCPUを開発することでシェアを伸ばしてきました。特に、6000番台は、従来CPUソケットを全面変更してまで高性能化を行い、旧12世代より性能も優れました。

対抗策にIntelは、12世代の最大動作周波数を上げ、高性能化を目指したのが13世代です。

一方のAMDは、6000番台から正常進化させた7000番台を、徐々に発売していきます。今後のAMD 7000番台は、更に進化し、13世代よりも高性能化する可能性も秘めています。このIntel 13世代市場を観察した上で7000番台を順次発売するのは、AMDの販売戦略です。

なお、Intel/AMDともにCPUアーキテクチャは、新旧両世代ともほぼ同じです。

新しいCPUアーキテクチャは、例えば、メタバースなどの新しいPCの使われ方や、13世代/7000番の販売結果が反映され生まれます。CPU世代が2つ変わると、アーキテクチャが大きく変わるのは、このためです。両社ともに、今回はアーキテクチャ変更が少ない世代進化です。

2023年春のPC CPU選択

さて、2023年春現在、PC CPUを選ぶならどちらが良いでしょう?

最初に決めるのは、高性能/汎用/低消費電力などのCPU特性レベルです。Intelで言えば、高性能ならCore i9/i7、汎用ならCore i5、低消費電力ならCore i3の各シリーズです。

※MCUで例えると、STM32H/Fシリーズが高性能、STM32Gシリーズが汎用、STM32L/Uシリーズなどが低消費電力に相当します。

同じ特性レベルで現在のIntelとAMDを比較すると、処理性能は13世代、消費電力は7000番台が優れます。

注意点は、処理性能がCPU最高速ベンチマークであることです。温度センサ内蔵の最新CPUは、処理負荷が大きく高温になると、動作速度を自動的に下げCPU保護を行います。従って、CPUの冷却能力が、高性能維持に必須です。

言い換えると、Intel 13世代の高性能を活かすには、いかに上手くPCを冷却できるかがポイントになる訳です。新PCを選ぶときは、冷却能力にも注意してください。

一方、AMDなら最新7000番台ではなく、旧6000番台のCPU選択もありと言えます。6000/7000番の性能差は現在少なく、6000番搭載PCの販売価格低下も予想されるからです。

2023年春に新PCを調達予定の方は、これらCPU世代交代や価格変化も考慮すると良いと思います。

価格変化実例

前投稿で2022年10月に比べ2万円以上価格低下した特売モデル:DELL Inspiron 16 Plusは、今週、売切れのようです。このように旧CPU搭載PCはねらい目ですが、直に売切れる可能性もあります。

また、13世代Inspiron 16 (5630)12世代Inspiron 16 (5620)も、円高の反映か今週、価格が下がりました。

PC CPU選択同様、新PC購入タイミングも重要です!

関連投稿

MCU開発に適すモニタサイズ(メインモニタ:24~27型、ノートPC:16型)
MCU開発に適すモニタ解像度(1920×1080~3K)



MCU開発に適すWindows 11モニタ解像度

MCU開発に適すメインモニタサイズ(24型~27型)、ノートPCモニタサイズ(16型)を以前投稿しました。今回は、Windows 11モニタ解像度について私見を示します。

メインモニタ解像度

MCU開発時、机上に設置しても圧迫感が少なく、ノートPCとのマルチディスプレイ接続も容易なメインモニタサイズが、24型~27型でした。本稿は、その解像度を検討します。

最近は、4K(3840×2160)解像度のモニタ価格も下がってきました。4Kなどの高解像度は、写真や画像を見るのには適しています。しかし、モニタに表示される文字は、解像度に比例して小さくなります。対策は、標準の文字を、150%拡大表示などへ変更し見易くすることです。

Windows 11標準の文字を150%拡大表示する方法
Windows 11標準の文字を150%拡大表示する方法

ところが、文字拡大表示を行うと、モニタに表示可能な領域も狭くなります。つまり、MCU開発時のモニタ解像度と見易い文字表示には、最適なバランスが存在する訳です。

※モニタと目の距離は、MCU開発に適した50㎝前後、ノートPCは、メインモニタとのディアルディスプレイで利用すると仮定。

例えば、27型WQHD:3K(2560×1440)モニタを机上に設置しても、標準100%表示の文字は見易く、従って、本来の3K解像度の表示領域を狭める必要もありません。同じ設置場所でも4Kモニタに変えると、文字が小さいため150%や125%拡大表示が必要で、4K本来の表示特性は活かせません。

ここが、解像度が高ければ高いほど好まれるスマホ表示と、PCモニタの異なる点です。

16型ノートPC解像度

16型ノートPC解像度も年々高まりつつあります。例えば、Acer Swift Edgeは、4K(3840×2160、有機EL)、LG gram 16は、3K(2560×1600)などです。

※ノートPCモニタ縦横比は、16:9から16:10へ変わりつつあります。

ノートPCは、据置のメインモニタよりも移動が容易です。従って、高解像度でも、標準の100%文字表示が使える設置範囲は広いでしょう。一般的なFHD(1920×1080)でもMCU開発に何ら支障はありません。

それでも、さすがに4K解像度の場合は、150%程度へ拡大表示しないと文字が小さすぎて見にくくなります。メインモニタ同様、16型ノートPC解像度も、文字表示との兼合いで3K解像度付近にMCU開発の最適解があると思います。

メインモニタとのデュアルディスプレイのノートPC MCU開発
メインモニタとのデュアルディスプレイのノートPC MCU開発

CPU世代交代時の新PC調達

2023年春は、インテルCPUは、12世代から13世代へ、AMD CPUも、6000番台から7000番台へPC CPUの世代が交代します。

CPU世代交代時に新PCを調達する場合、ポイントは、旧12世代と6000番台CPU搭載PCの値下がりです。販売側は、旧世代の在庫を減らし、新世代の新商品の販売を促進したいハズです。このため、旧世代PCの価格が下がる傾向が見られます。

もちろん、新世代PCの方が、旧世代PCよりも高性能です。しかし、その価格差とパフォーマンスを考慮すると、安くなった旧世代PC購入もあり得ます。

例えば、2022年10月にノートPC例を示したDELL Inspiron 16 Plus(Core i7-12700H、3072×1920)などは、現在は当時より2万円以上値下がりしています。

まとめ

MCU開発に適す24型~27型メインモニタ、16型ノートPC、いずれも3K(2560×1600)付近の解像度が、ソースコードや文字が標準100%表示でも見易く、しかも、本来のモニタ高解像度を狭めない最適解であることを示しました。

検討した3K最適解は、MCU開発者の好みや目との距離など、モニタ設置条件でも変わります。4K(3840×2160)モニタであれば、より多くの解像度選択肢から最適解を探せるメリットがあります。反面、文字表示との兼合いで、モニタ本来の4K表示特性を活かすのも難しくなります。

CPU世代交代の2023年春、旧世代CPUのノートPC価格低下を利用し、高解像度モニタ導入も検討する際のご参考になれば幸いです。



世界規模の宇宙センシング技術

次世代ネットワークIOWN(アイオン)で紹介した、低軌道人工衛星と無線免許不要IoTデバイス(LPWA:Low Power Wide Area端末)の宇宙センシング実証実験が2024年度に予定されています。

この宇宙センシング技術は、世界中で低コストIoTデータの衛星センシングを可能にします。

低コストIoTデータ衛星センシングプラットフォーム

衛星センシングプラットフォームとLPWA端末(出展:NTT技術ジャーナル2022.10)
衛星センシングプラットフォームとLPWA端末(出展:NTT技術ジャーナル2022.10)

従来の世界規模データセンシングは、専用衛星や免許が必要な専用無線周波数を使うため高価です。

NTTとJAXA(宇宙航空研究開発機構)が2024年度打ち上げ予定の革新的衛星技術実証4号機は、地上用のLPWA端末の免許不要無線周波数:920MHz帯、送信電力:0.1W程度を介して低軌道衛星と通信します。

この通信により、LPWA端末の小容量データを世界規模で収集できる低コストIoT衛星センシングプラットフォームの実証実験が可能です。

LPWA端末

LPWAは、低消費電力、低ビットレート、広域カバレッジが特徴で、その端末の多くは無線免許が不要です。

この地上用LPWA端末を、通信網が無い山間部や河川、海上など世界中のあらゆる場所へ設置しても、衛星を介したグローバルなIoTデータセンシングが可能になります。

気象データ収集や防災対策など多くの新しいIoTサービスへ発展する可能性は大きいでしょう。

技術実証イメージ(出展:NTT 2023年2月10日)
技術実証イメージ(出展:NTT 2023年2月10日)

地上のLPWA端末と低軌道衛星との通信は、シンプルです。LPWA端末の測定データは、衛星搭載メモリへ一時蓄積され、衛星の基地局上空の飛来タイミングで蓄積データが一括ダウンロードされます。

LPWA端末には、衛星からのコマンドによる再起動処理などが必要になるそうです。

宇宙ビジネス

多くのIoTセンサを組込んだスマートホームICTインフラへも応用できそうです。スマホ衛星通信も可能な時代です。ソニーは、2050年50兆円市場との試算もある地球みまもりプラットフォーム向けエッジAIカメラセンサを開発しました。

地球みまもりプラットフォームコンセプト(出展:ソニーR&Dセンタ)
地球みまもりプラットフォームコンセプト(出展:ソニーR&Dセンタ)

2030年実現を目指すIOWN(Innovative Optical and Wireless Network)により、従来通信網制約や国境の枠を超えた新しいIoTサービスや宇宙ビジネスが期待できそうです。

IoT MCU開発者は、革新的衛星技術実証4号機の打ち上げも注目しましょう。



LibreOffice Community(最新版)7.5更新

LibreOffice Community 7.5
LibreOffice Community 7.5

LibreOffice Community(最新版)が7.5へ更新されました。7.5では、LibreOffice Writer/Calc/Drawアイコンがカラフルに変わり、DeepL API利用の翻訳機能追加など7.4からメジャーアップデートです。

DeepL API利用には、無料版でもクレジットカード情報が必要です。

LibreOffice Community 7.5.0.3

ほぼ1ヶ月毎に更新されるLibreOffice Community(最新版)が、7.5.0にメジャーアップデートされました。3か月毎更新の(安定版)は、7.4.5です。リリースノートには、様々な機能が追加されています。

メジャーアップデートでWriter/Calc/Drawファイル別のフィルター追加などもありますが、主要操作に大きな変化はありません。

筆者が気になった追加機能は、リリースノート8.1デザイン(アイコン変更)と2.6自動翻訳です。

LibreOffice Writer/Calc/Drawアイコン

LibreOffice 7.5でカラフルに変わったアイコン
LibreOffice 7.5でカラフルに変わったアイコン

左が、7.4までのLibreOffice Writer/Calc/Drawアイコン、右が、7.5のアイコンです。色が付き判別し易くなりました。

Windows 11スタートメニューに表示されるLibreOffice Writer/Calc/Drawアイコンも、Word/Excel/PowerPointと同様カラフルに変わりました。

OfficeアイコンとLibreOffcieアイコン比較
OfficeアイコンとLibreOffcieアイコン比較

カラフルアイコンは、選択が容易になりPC生産性も上がるので大歓迎です。

DeepL API

DeepL APIには、無料­版と有料版があります。但し、1か月500,000文字まで翻訳できる無料版でも、本人確認にクレジットカード情報の入力が必要です。

無料/無償愛好家でクレカ入力を嫌う筆者は、新機能の翻訳は使いません。

DeepL API
DeepL API

PCローカル文書作成ツール:LibreOffice

ところで、日本だけで人気が高いPCローカルで使える文書作成ツールMicrosoft Office 2019は、2025年10月、Office 2021は、2026年10月でサポート期間が終了します。代替が、クラウド利用サブスクリプションサービスのOffice 365などです。

クラウド依存は、PC文書作成に関してはリスクが高いと思います。マルチプラットフォームでPCローカル文書作成ツールLibreOfficeは重要です。少しの慣れで、誰でも使えるLibreOfficeのお勧め理由です。

関連投稿:LibreOffice使い方(総集編)でWriter/Draw無料テンプレートも提供中です。ご活用ください。



8/16ビットMCU置換えを狙う32ビットMCU

半導体不足が続いています。対策として、8/16ビットMCU置換えを狙った、汎用低コストの新しい32ビットMCUを2種紹介します。

STマイクロ:STM32C0シリーズ

STマイクロ、2023年1月12日、低価格なSTM32C0シリーズ(Cortex-M0+:48MHz、Flash:16K/32K、RAM:6K/12K)を発表。

STM32C0とSTM32G0の位置づけ(出展:STMサイト)
STM32C0とSTM32G0の位置づけ(出展:STMサイト)

ルネサス:RA2グループ

ルネサス、2021年10月13日、省スペース低消費電力向けにRA2E2グループ(Cortex-M23:48MHz、Flash:64K、RAM:8K)を、RA2シリーズへ追加。

RA2E2評価ボードのMCU基板アートワーク
RA2E2評価ボードのMCU基板アートワーク

8/16ビットMCU置換え最新32ビットMCU特徴

  • 少数ピン/小型パッケージ
  • 小容量Flash/RAM
  • 低消費電力
  • 低価格(8/16ビットMCUと同等)

8/16ビットMCU置換えを狙う32ビットMCU特徴です。置換え32ビットMCUと言えば、古くからNXP:LPC800シリーズが有名なので、本稿は省略しました。

動作周波数が高くても、Sleepなどの超低消費電力動作時間も長く、実働消費電力は驚くほど小さくなります。また、古い8/16ビットMCUよりも入手性に優れます。

置換え32ビットMCUメリット

旧MCU開発は、周辺回路ドライバなども自主開発することが多く、ドライバとアプリケーションの境界も開発者毎にバラバラでした。最新MCU開発は、ドライバはベンダHAL API生成ツールが自動生成します。

その結果、開発者は、アプリケーション開発に集中でき、ソフトウェア開発費も安くなります。

※HAL API:MCUハードウェアに依存しない(Hardware Abstraction Layer)API。シリーズ/グループが異なっても開発アプリケーション流用が容易。

既に実装済みの旧8/16ビットMCU機能を最新32ビットMCUへ置換える時も、この最新MCU開発環境が使えるため、効率的なソフトウェア開発が可能です。更に、置換えだけでなく、新機能追加、IoTやセキュリティなど高機能アップグレートも容易です。

最新汎用32ビットMCUは、半導体不足にも有効です。紹介したSTマイクロ、ルネサスいずれも、上位MCUへの置換えが可能な基板アートワークができるピン配置を採用しています。

つまり、IoT時代に合わせた開発スキルやソフトウェア発展性があり、基板ハードウェア持続性も期待できるなど、8/16ビットMCU置換え汎用32ビットMCU採用には、多くのメリットがあります。

STM32G0テンプレート、RAベアメタルテンプレート

STM32C0シリーズ開発には、STM32G0Xテンプレート、RA2グループ開発には、RAベアメタルテンプレートがお役に立てます。



FSPベアメタルサンプルのRTOSスレッド化

前投稿FSPベアメタルサンプルコード:sci_uart_fpb_ra6e1_epを、RTOSスレッド化する方法を示します。

多くのルネサスRA公式サンプルコードを活用した効率的なRTOSスレッド開発が本方法で可能です。FreeRTOS、Azure RTOS両方に使えます。

サンプルコードベースRTOSスレッド開発

RTOS開発は、複数スレッドを組合せ全体を動作させます。ベアメタルコードに比べ、個々のスレッドは、独立性や移植性が高い特徴があります。スレッド優先度やセマフォなどのRTOSオブジェクトを適切に設定すると、複数スレッド全体処理としてユーザ所望のシステム動作をします。

スレッドは、勝手に回る歯車、優先度やRTOSオブジェクトは、各歯車をシステム全体で上手く動作させる手段と考えると解りやすいと思います。

スレッドとRTOSの役目
スレッドとRTOSの役目

スレッド設計法は、機能別や処理手順別など様々あり、唯一の方法は無さそうです。しかし、先ずは、歯車となるスレッドを開発し、次に、開発スレッド優先度やRTOSオブジェクトを調整しながら、システム全体動作を仕上げるのがRTOS開発の方法です。

本稿は、スレッド単体開発の1方法として、ルネサスRAファミリ公式FSPベアメタルサンプルコードを活用したサンプルコードベースのRTOSスレッド開発法を示します。複数スレッドを組合せたRTOSオブジェクトの適切な調整や設定に関する内容は、含みません。

公式ベアメタルサンプルコードは、各ベンダエキスパートが開発し、評価ボードで動作確認済みの高信頼ソフトウェアです。また、MCU周辺機能毎に多くのサンプルコードが提供中です。

これらベアメタルコードを活用する本方法は、FreeRTOS/Azure RTOSどちらのRTOSスレッド開発へも使えます。

RTOSスレッド化方法

詳細は、後で説明しますが、先ず、ベアメタルサンプルをスレッド化する手順を簡単に示します。方法全体像が判っていると把握しやすいからです。

  1. スレッド無しで空の新規RTOSプロジェクト作成
  2. g_ioport以外のベアメタルサンプルFSPスタックを、RTOS FSPスタックへImport
  3. hal_entry.c以外のベアメタルサンプルsrcファイルを、RTOSプロジェクトsrcフォルダへコピー
  4. 新しいスレッド:MyThreadをRTOSプロジェクトへ追加後、Gegerare Project Contentクリック
  5. MyThread_entry.cへ、初期設定と無限ループ処理を追記

1で新規作成した空のRTOSプロジェクトへ、2と3で対象ベアメタルサンプルから内容を追加、4でベアメタルmain()相当の新しいMyThreadを追加後、FSPを使ってRTOSプロジェクトを自動生成します。

生成後、5でRTOSプロジェクトのMyThread_entry.c初期設定と無限ループを追記します。追記内容は、ベアメタルサンプルの初期設定と無限ループ処理です。

つまり、1~5手順全てFSPベアメタルサンプルからの単純コピーでRTOSスレッド化が可能です。

次章から、前投稿で用いたベアメタルサンプルコード:sci_uart_fpb_ra6e1_epを、FreeRTOSスレッド化する具体例を使って、各詳細手順を示します。

1. 空の新規FSP freertos_uartプロジェクト作成

スレッド無しで空の新規FreeRTOSプロジェクト作成
スレッド無しで空の新規FreeRTOSプロジェクト作成

スレッド無し空FreeRTOSプロジェクトを新規作成します。新規RTOSプロジェクト名は、freertos_uartとでもしてください。

2. sci_uart_fpb_ra6e1_epのFSPスタックImport

sci_uart_fpb_ra6e1_epのFSPスタックImport
sci_uart_fpb_ra6e1_epのFSPスタックImport

freertos_uartプロジェクトのFSPスタックへ、sci_uart_fpb_ra6e1_epのg_ioport以外のFSPスタックを全てImportします。Importした各スタックプロパティは、オリジナルプロパティと同じに手動で設定してください。

3. sci_uart_fpb_ra6e1_epのsrcファイルコピー

sci_uart_fpb_ra6e1_epのsrcフォルダファイルコピー
sci_uart_fpb_ra6e1_epのsrcフォルダファイルコピー

sci_uart_fpb_ra6e1_epのhal_entry.c以外のsrcファイルを全て、freertos_uartのsrcへコピーします。

4. freertos_uartプロジェクトへ新しいUart Thread追加後、Generate Project

新しいUart_Thread追加
新しいUart_Thread追加

新しいスレッドのSymbolは、Uart_threadとしてください。先頭を大文字にする目的は、FSPが自動生成したファイルやスレッドが使う全小文字表記とユーザ追加のそれらを、大小文字で区別するためです。

Tips:大文字利用は、好みの問題です。RTOS開発は、多数のスレッドやオブジェクトソースが、プロジェクト・エクスプローラのsrcフォルダに表示されます。自分が追加したソース(バグ有り?)と純FSP生成ソースを、一目で区別できるメリットがあります。

最後にGenerate Project Contentをクリックし、FSPによりRTOSプロジェクトを自動生成します。

5. Uart_Thread_entry.cへ初期設定と無限ループ処理追記

RTOSプロジェクトのsrcフォルダ内に、Uart_thread_entry.cが生成されます。

先頭の#include “Uart_thread.h”に、sci_uart_fpb_ra6e1_epのsrcファイルにある#include “common_utils.h”、 #include “uart_ep.h”、 #include “timer_pwm.h”を追記します。
これら4個の#include文は、freertos_uartの全srcファイルに手動で追記します。

Uart_thread_entry.cの初期設定
Uart_thread_entry.cの初期設定

RTOS初期設定は、Uart_thread_entry.c のTODO: add your own code here以下へ、sci_uart_fpb_ra6e1_epの初期設定:hal_entry.cのL41からL93までをコピーします。

sci_uart_fpb_ra6e1_epの無限ループ処理は、コピーした初期設定の後方にあるuart_ep_demo()です。

RTOS無限ループ内には、上図でコメントアウトしたコンテキストスイッチが必要です。そこで今回は、RTOSプロジェクトuart_ep.cのuart_ep_demo()内へ、直接コメントアウトしたFreeRTOSコンテキストスイッチ:vTaskDeley(1)を追記します。

uart_ep.cのuart_ep_demo()へ追記するコンテキストスイッチ
uart_ep.cのuart_ep_demo()へ追記するコンテキストスイッチ

Tips:#include “Uart_thread.h”が、FreeRTOS関連API:コンテキストスイッチ追記を可能にします。

sci_uart_fpb_ra6e1_epとfreertos_uartスレッド同一動作確認

RTOSプロジェクトをビルドし、評価ボードへダウンロード後、実行してください。前稿のベアメタルサンプルコードと全く同じ処理が、開発したfreertos_uartスレッドで確認できます。

FreeRTOS/Azure RTOSスレッド化差

本稿で示したFreeRTOSスレッド化とAzure RTOSスレッド化の差は、コンテキストスイッチのみです。FreeRTOSならvTaskDelay(1)、Azure RTOSならtx_thread_sleep(1)が、コンテキストスイッチです。

Tips:コンテキストスイッチは、FreeRTOS/Azure RTOS開発手法のRTOS処理フローなどを参照してください。

ベアメタルサンプルコードをAzure RTOSスレッド化する時は、手順1で、新規Azure RTOSプロジェクトを作成し、手順5のvTaskDelay(1)の代わりに、tx_thread_sleep(1)を使えばOKです。

Tips:FSP生成スレッドMyThread_entry.cの無限ループ内には、作成RTOSプロジェクトに応じて初めからvTaskDelay(1)、またはtx_thread_sleep(1)が実装済みです。

本方法が、FreeRTOS/Azure RTOSどちらのRTOSスレッド開発へも使えることが分かります。

補足

2023年1月16日、e2 stidioは2022-10のまま、RAファミリFSPがv4.2.0へ更新されました。本稿は、FSP v4.2.0/4.1.0両方で動作確認済みです。



FSP利用RAファミリUARTの使い方

RAファミリ評価ボードFPB-RA6E1PFB-RA4E1FPB-RA2E1などは、MCUのUARTとPCの接続に古いハードウェア知識が必要です。そこで、FPB-RA6E1のUARTとPC接続(USB UART Bridge)を解説し、FSPサンプルコードで動作確認しました。

FSPサンプルコード:sci_uart_fpb_ra6e1_ep

sci_uart_fpb_ra6e1_epのFSP Configuration
sci_uart_fpb_ra6e1_epのFSP Configuration

FPB-RA6E1(Cortex-M33/200MHz、Flash/1MB、RAM/256KB)のUARTとPC接続の公式サンプルコードが、sci_uart_fpb_ra6e1_epです。このFSP (Flexible Software Package)スタックConfigurationが上図です。

簡単に説明すると、FSP UARTスタックを使ってPCとUART(115200bps、8-Non-1)で接続し、Timerスタックを使ってPWMでLED1輝度を変えます。UART受信した1-100値が、PWM設定値です。

つまり、Tera Term経由でPCから1-100を入力すると、評価ボードLED1の輝度がPWM 1-100%で変わります。

sci_uart_fpb_ra6e1_epのreadme.txt
sci_uart_fpb_ra6e1_epのreadme.txt(一部抜粋)

サンプルコード付属readme.txtの上記は、MCUのUARTピンを、どうやってPCのUSBへ接続するかが、開発経験者でも解りにくい箇所です。Windows 7より前の古いMCU開発者なら解るかもしれません。

USB UART Bridge

シリアルポート(出展:ウィキペディア)
シリアルポート(出展:ウィキペディア)

Windows 7以前の古いPCには、RS-232Cコネクタ:シリアルポートが実装済みでした。シリアルポートの用途は、MCUとの通信や、特定アプリのライセンスキーなど多数ありました。

しかし、Windows 7以降、RS-232Cコネクタは消えUSBへと変わりました。

消えたRS-232Cの代わりにUSB経由でMCUと通信を行うのが、USB UART Bridgeです。実績あるデバイスとして、FTDI社のFT232RLが有名でした。

つまり、MCU UART入出力ピンをPCへ接続するには、USB UART Bridge(=USBシリアル変換アダプタ)が必要なことを知っている古いMCU開発者のみreadme.txtが判る訳です。

最近のMCU評価ボードは、USBシリアル変換アダプタとMCUプログラム/デバッグを、1本のUSBで共用しているものが多く、USB UART Bridgeを別途追加し開発する例は稀です。PCのUSBポート数が少なくなってきたからでしょう。

お勧めUSBシリアル変換アダプタ

「FTDI USBシリアル変換」で検索すると、USB 2/3.1や5/3.3V対応など様々なアダプタが、様々な価格で現れます。

殆どの5Vデバイスは、3.3V入力を5V High入力と認識します。それでも、MCUと接続する電圧は、5Vと3.3Vを選択できる方が無難です。High誤認識を防ぐことや、5V耐性が無いMCUピンでも接続できるからです。

低価格で入手性も良く、5/3.3V選択ができるお勧めのUSB UART Bridgeが、FTDI FT232RL USB-TTLシリアル変換アダプタ3個セットです。基板上にスルーホールがあるため、MCU UARTピンとの直接接続も簡単です。

お勧めハードウェアループバックテスト

低価格で3個入り品質に不安な方は、購入後、ハードウェアループバックテストをお勧めします。

ハードウェアループバックテストとは、デバイスの送信:TXDと受信:RXDを結線し、送信データが受信データに現れるかをハードウェア的にテストすることです。このテストにより、購入アダプタが、正常動作することを確認します。

Tera Termを接続すれば、TXD LED、RXD LED動作も確認できます。また、Windows 11 22H2は、お勧めFTDI FT232RL USB-TTLを、追加ドライバなしでUSB Serial Portと認識することも分かります。

ハードウェアループバックテスト
ハードウェアループバックテスト

sci_uart_fpb_ra6e1_ep動作確認

前章までのハードウェア知識を使って、評価ボード:FPB-RA6E1(搭載RA6E1 MCUは、VCC:2.7~3.6 V動作)とシリアル変換アダプタ:FTDI FT232RL USB-TTL(3.3V選択)、PC USBを接続しました。

サンプルコード:sci_uart_fpb_ra6e1_epが示すMCU UART入出力ピンとUSB UART Bridge TXD/RXD接続、PC Tera Termの1-100入力による評価ボードLED1の輝度変化動作が確認できます。

sci_uart_fpb_ra6e1_epの動作確認
sci_uart_fpb_ra6e1_epの動作確認
sci_uart_fpb_ra6e1_epのTera Term入力(橙)と出力(白)
sci_uart_fpb_ra6e1_epのTera Term入力(橙)と出力(白)
sci_uart_fpb_ra6e1_epのFPB-RA6E1とシリアル変換アダプタの結線
sci_uart_fpb_ra6e1_epのFPB-RA6E1とシリアル変換アダプタの結線

Tips:上記ArduinoコネクタのD1 TX (P109)、D0 RX (P110)へMCU UART使用ピンを変えるには、FSP UARTスタックの利用Channel 0をChannel 9へ変更すればOK。

ルネサスRAファミリ評価ボードは、本稿で示したMCU UART用にUSB 1本、e2 studioプログラム/デバッグ用に別のUSB 1本、合計2本のUSBが必要です(PC側もUSB 2ポート必要)。

このe2 studio プログラム/デバッグ用USBの通信ツールが、J-Link RTT Viewerです。sci_uart_fpb_ra6e1_epでは、FSPバージョンやsci_uart_fpb_ra6e1_ep操作方法が示されます。

sci_uart_fpb_ra6e1_epのJ-Link RTT Viewer
sci_uart_fpb_ra6e1_epのJ-Link RTT Viewer

次投稿:ベアメタルサンプル → RTOSタスク化

サンプルコード:sci_uart_fpb_ra6e1_epは、FSP UARTスタックのベアメタル利用例で、良くできています。ベアメタルに限らず、RTOSへの応用範囲も広いです。

そこで次回は、ベアメタルサンプルコード:sci_uart_fpb_ra6e1_epを、RTOSのタスク化する方法を投稿する予定です。この方法により、多くの公式サンプルコードを活用し、効率的にRTOS開発が行えます。

FSP利用関連投稿:FSP利用FreeRTOSアプリの作り方FSP利用FreeRTOS/ベアメタルアプリ起動方法



Surface Pro 4 Windows 11 22H2手動アップグレード

Microsoft Surface Pro4(出展:www.comptoir-hardware.com)
Microsoft Surface Pro4(出展:www.comptoir-hardware.com)

知人のMicrosoft Surface Pro 4 (第6世代Core m3、RAM/4MB、SSD/128MB、解像度/2736×1824、Windows 10 22H2)を、Rufus 3.21を使って最新Windows 11 22H2へ手動アップグレードしました。

アップグレード後のWin11 22H2で、Word/Excel、ブラウザ、動画視聴など快適に動作中です。

Surface Pro 4

2015年11月発売のSurface Pro 4は、2-in-1。いわゆるノートPCとタブレット端末を一体化し、自宅、職場など、あらゆる場面に適応するようにMicrosoftが開発した12.3型ノートPCです。

スペックから判るように、Word/Excelと動画視聴が知人の主な用途です。公式Win11アップグレード要件を満たさないため、Windows 10のまま利用中でした。

現状ハードウェアやWin10利用に何ら問題がないものの、Win11アップグレートできれば嬉しいので可能か?と相談を受けました。

Win11要件未達PC手動アップグレート

Microsoft Media Creation Toolの代わりにRufusを使うと、Win11要件未達PCを手動でアップグレードできます。

前回投稿は、Rufus 3.20を使いました。今回は、2022年11月28日更新のRufus 3.21を使います。投稿済み更新手順を再掲します。

変更点は、Win10/11共に最新版22H2へ変わったこと、アップグレート前のSurfaceは、Win10 22H2へ更新済みであることです。

Windows 11 22H2手動大型更新手順
準備 1. Win10 22H2バックアップ(更新失敗リカバリ対策)
2. Win11 22H2インストールメディアダウンロード
3. RufusでWin 11 22H2インストールUSB作成
更新 1. Win10 22H2起動状態でインストールUSB setup実行
2. Rufusダイアログに従い数回クリック
3. Win11 22H2大型更新完了

Rufus 3.21

Rufus 3.21のWindows 11 22H2インストールUSB作成
Rufus 3.21のWindows 11 22H2インストールUSB作成

準備3.のRufus 3.21によるWin 11 22H2インストールUSB作成の様子です。USBは、8GB容量でOKです。

Rufus 3.21のWindows 11インストールスキップ画面
Rufus 3.21のWindows 11インストールスキップ画面

更新2.のRufus 3.21 Win11インストールスキップダイアログです。全項目スキップしました。

Win11インストールスキップ内容が、Rufus 3.20に比べより判り易くなりました。また、Rufus 3.21では、Win10のusernameが自動的にダイアログへ設定されます。

このusernameローカルアカウントで、Win10アプリケーションとユーザデータ保持のままWin11へアップグレードができます。

ネットワーク速度によりますが、準備・更新含め半日程度でWin11手動アップグレードが完了します。

Windows 11 22H2 Surface Pro 4

Win11アップグレード後のSurface Pro 4は、搭載メモリが4MBと少ないため動画再生時8割程度の使用量、CPU/GPU使用率も高いです。

しかし、Word/Excelやブラウザ、動画視聴などの知人想定用途では快適に動作します。筆者は、特に不満や性能不足は感じません。解像度2736×1824の動画再生は、字幕エッジが綺麗に見えます。また、2-in-1のため、モニタが持ち方により縦横に変化しますので、Win11デフォルトタスクバー中央配置も便利です。

本手動アップグレートにより、ご要望どおり知人自身でWindows 11 22H2 Surface Pro 4を試せます。不満ならば、バックアップを使ってWin10へも戻せます。

また、弊社Win11 PCの2ヶ月実績投稿から、本SurfaceをWin11のまま継続利用しても、Windows Updateなどの運用問題は生じないと思います。

Windows Security Update Bリリース配布

Windows Security Update 1月11日Bリリース
Windows Security Update 1月11日Bリリース

2023年最初のWindows Security Update Bリリース配布が、1月11日(水曜)に始まりました(再起動必要)。Bリリースは、適用必須です(関連投稿:3種の累積更新プログラム)。現在、弊社PCは、特に問題なく適用済みです。



持続可能MCU開発

半導体不足やサプライチェーン変化など様々な外部要因により、やむをえず開発中のMCUデバイスが変わる場合があります。MCU開発を持続可能にする1案を示します。

MCUと制御対象分離

MCUデバイスが例え変わっても、MCUと制御対象間のインタフェースが同じなら開発の持続は可能です。

もちろん開発ツールや制御APIは、MCUベンダやデバイスで異なります。しかしながら、開発した制御シーケンスや注意点などの取得済み開発ノウハウは、そのまま新しいMCUデバイスへも適用できます。

簡単に言うと、頭(MCU)と手足(制御対象)、目などのセンサ入力を分離し、万一の際に、頭(MCU)交換が可能な分離インタフェースを使ってMCU開発することです。

本稿はMCU互換性に主眼を置きますが、分離インタフェース採用で制御対象やセンサも交換可能です。

つまり、機能単位の高性能化、低価格化も分離インタフェース導入で容易になります。

分離インタフェース多数派

PMODインタフェースとPMODモジュール(出展:RS DesignSpark)
PMODインタフェースとPMODモジュール(出展:RS DesignSpark)

MCUと制御対象を分離するインタフェースも色々あります。例えば、PMODです。

センサやアクチュエータから成る既製PMODモジュールを、Lego™ブロックのように連結し制御対象の機能追加ができます。連結実現のため、I2CやSPI利用が基本です。

別例が、Arduinoです。

多くの主要ベンダMCU評価ボードにArduinoコネクタが採用中です。右下に示すように、デジタル入出力ピン、アナログ入力ピンなど、ピンが物理的に機能分離しています。

ArduinoコネクタコンパチブルMCU評価ボード例
ArduinoコネクタコンパチブルMCU評価ボード例

既製Arduinoモジュールも多く、しかも安価に入手できます。また、機能別ピンのため、手持ちセンサなどを接続し動作を試すのも簡単です。

元々はArduinoやRaspberryなどのMPU(Micro Processor Unit)向け分離インタフェースでしたが、シンプルで使い易いためMCU評価ボードにもArduinoコネクタ適用例が多く、分離インタフェースの多数派となりました。

Tips:MCU端子は、複数機能から選択が可能です。そこで、Arduinoピン機能を優先して選択し、この選択した端子から先に使用すると、MCU交換時の互換性が高まります。

Arduinoプロトタイプシールド

Arduinoモジュールは、別名シールドと呼ばれます。シールドを複数スタック接続し機能追加も可能です。

MCU評価ボードのArduinoコネクタにスタック接続し、付属する小型ブレッドボード上で簡単な回路も追加できるプロトタイプ向けのシールドが、Arduinoプロトタイプシールドです。

Arduinoプロトタイプ シールド
Arduinoプロトタイプ シールド

このシールドには、2個のLEDと1個のSWが実装済みです。MCU評価ボードへ、LEDやSWを簡単に追加でき、手持ち部品などを使ってプロトタイプ開発する場合に最適だと思います。

評価ボードへArduinoプロトタイプシールドを追加しスレッド毎にLED点滅中
評価ボードへArduinoプロトタイプシールドを追加しスレッド毎にLED点滅中

まとめ:持続可能MCU開発

世界平和やサプライチェーン変化などの外部要因により、開発中のターゲットMCUデバイスやベンダが変わる場合がありえます。

万一MCUデバイスが変わっても、MCU開発を持続可能にするため、各ベンダMCU評価ボードに多数採用のArduinoコネクタを使ったMCUと制御対象分離構成を示しました。

Arduinoプロトタイプシールドを、プロトタイプMCU開発に適す使用例として示しました。



技術者と世界平和

2022年最後の投稿、つまり、週番号が追加されたMint 21.1 MATE Week 52の金曜投稿です。

Mint 21.1 MATEはカレンダに週番号が追加
Mint 21.1 MATEはカレンダに週番号が追加

ロシアのウクライナ侵略から始まった2022年は、世界平和と技術者の関連性を強く感じました。Rapidusなどの半導体新会社設立や、クリエイタ的エンジニア米中対立も根底には平和への危機感があると思います。

技術者の役割も、セキュリティやフィッシング詐欺など攻撃対策の比重が増すかもしれません。インターネットでさえ、グローバルオープンからブロック化の兆しが見えます。IoT MCUやMPU/CPU、Windowsなどの技術者開発基盤もまた、セキュリティがトリガになり発展しそうです。

個人的には、ケアレスミスの多い年でした。何らかの追加対策(?!)が必要と感じています。

さて、本年も本ブログ、および、弊社テンプレートをご利用頂きありがとうございました。
また、各位から頂いた様々なアドバイス、この場を借りてお礼申し上げます。ありがとうございました。

皆様、よいお年をお迎えください。