STM32H7 – Chrom-ARTTM
Chrom-ARTグラフィックス･アクセラレータ™
1.0版

こんにちは、STM32 Chrom-ART Accelerator™のプレゼン
テーションへようこそ。これは、マイクロコントローラでのグラフィックコンピューティングに広く使用されているこのリアルタイムアクセラレータブロックの機能をカバーしています。

1

概要
32ビットAHB
スレーブ• グラフィカル操作用のハードウェアアクセラレーションを提供

Chrom-ART™
コントロール/ステータス
レジスタ

CLUT
RAM

フォアグラウンド
FIFO

64ビットAXI
マスタ

2• グラフィックス指向の2D DMA• プレーンブレンドとピクセルフォーマット変換• アンチエイリアス･フォントの特定のモード

PFC
ブレンダ

バックグラウンド
FIFO

PFC• グラフィカル操作のCPU負荷をオフロード

出力
FIFO

アプリケーション側のメリット

PFC• 1ピクセル/サイクルの計算• 統合されたピクセル･フォーマット･コンバータ & ブレンダ
• グラフィカルなスタックによるシンプルな統合

Chrom-ART™ acceleratorは、グラフィカルな操作に対して真のハードウェアアクセラレーションを提供します。
Chrom-ART™ acceleratorは、2D DMAエンジンを中心に構成されており、ピクセルフォーマットの変換や2つのプレーン間のブレンド操作をサポートする特定の機能を備えた高速データコピーを実現します。また、アンチエイリアスフォントを管理するための特別なモードも提供しています。
Chrom-ART™ acceleratorは、1サイクルあたり1ピクセルのスループット、統合されたピクセルフォーマット変換とブレンディングにより、グラフィック操作のほとんどをCPUからオフロードします。
Chrom-ART™ acceleratorは、グラフィカルなスタックに完全に統合されているため、ソフトウェアの統合はユーザーにとって透過的です。

2

主な機能

3

• 4つの動作モードを備えたグラフィカル指向の機能を備えた2D DMA• レジスタからメモリへの転送• メモリ間転送• ピクセル形式変換によるメモリ間転送• ピクセル形式の変換とブレンドによるメモリ間転送• ユーザ･プログラム可能なパラメータ• メモリ全体のソース･アドレスと転送先アドレス• ソースと転送先のサイズとオフセット• ソースと転送先のカラーフォーマット
• YCbCrフォーマットを含む、4～32ビット/ピクセル、間接/直接カラー･コーディングの最大12色のカラーフォーマットに対応• 自動ロードによる間接カラーモードでのCLUTストレージの内部メモリ• アルファ値は変更可能(ソース値、固定値、変調値)

Chrom-ART™ acceleratorには4つの動作モードがあります。
• 四角形の塗りつぶし操作のためのレジスタからメモリへの転送• 2Dメモリのコピー操作を行うメモリ間転送• フォーマット変換を伴うビットマップ描画のために、ピクセルフォーマット変換を伴うメモリ間の転送• 透過性のあるビットマップまたはテキスト描画のピクセル形式変換とブレンドを使用したメモリ間転送

ユーザは、ソースと転送先のすべてのパラメーターを独立してプログラムすることができます。
- レイヤのサイズと位置を含むアドレス- カラーフォーマット
- 透過性の管理方法

3

レジスタからメモリへの転送

4

対象イメージの一部または全体を特定の色で塗りつぶす
ChromART™
コントロール/
ステータス
レジスタ

CLUT
RAM

フォアグラウンド
FIFO

RGBカラーレジスタ

PFC

R G B
ブレンダ

塗りつぶされた四角形

バックグラウンド
FIFO

PFC

出力

塗りつぶし領域
FIFO

PFC

レジスタからメモリへの転送モードは、出力画像の一部または全体を特定の色で塗りつぶすために使用します。
色の値は、出力PFCのレジスタに設定されます。

4

メモリ間転送5

ソース画像の一部または全部を転送先画像の一部または全部にコピーする場合
Chrom-ART™

イメージ
コピーするメモリ領域

コントロール/
ステータス
レジスタ

CLUT
RAM

フォアグラウンド
FIFO

PFC
ブレンダ

塗りつぶされた四角形

バックグラウンド
FIFO

コピーされた
イメージ

PFC

出力
FIFO

PFC

メモリ間転送モードは、カラーフォーマットを変更せずに、ソースイメージまたはソースイメージ全体を部品またはコピー先イメージにコピーするために使用されます。

5

ピクセル･フォーマット変換付きメモリ間転送

6

コピー元画像の一部または全部を、コピー先画像の一部または全部にピクセル･フォーマット変換しコピーする機能
Chrom-ART™

イメージ
コピーするメモリ領域

コントロール/
ステータス
レジスタ

ARGB1555
CLUT
RAM

フォアグラウンド
FIFO

ARGB8888

00 0 0 0 0 0 0 0

4 3 2 1 0

4 3 2 1 0 4 3 2

4 3 2 1 04 3 2 1 0 4 3 2

4 3 2 1 0

4 3 2 1 0 4 3 2

PFC
ブレンダ

塗りつぶされた四角形

バックグラウンド
FIFO

コピーされたイメージ

PFC

出力
FIFO

PFC

ピクセルフォーマット変換付きメモリ間転送モードは、メモリ間転送モードと同様のコピーをピクセルフォーマット変換付きで行います。任意の入力フォーマットから任意の出力フォーマットへのコピーが可能です。例えば、CPUを使わずに、ARGB565の画像をARGB888の画像に変換することができます。

6

ピクセルフォーマットの変換とブレンディングによるメモリ間転送

7

ピクセル形式の変換とブレンドを使用して、部品またはソースイメージ全体を部品またはコピー先イメージにコピー
フォアグラウンド･イメージ

フォアグラウンド･イメージ

Chrom-ART™
コントロール/
ステータス
レジスタ

CLUT
RAM

フォアグラウンド
FIFO

PFC
ブレンダ

バックグラウンド

塗りつぶされた四角形

FIFO

PFC

出力
FIFO

PFC

ピクセルフォーマットの変換とブレンドを行うメモリ間転送モード
は、ソースイメージの一部または全体を、異なるピクセルフォー
マットのデスティネーションイメージの一部または全体にブレンドするために使用されます。透過性のあるビットマップアイコンやフォントの描画に広く使われています。

7入力ピクセルフォーマット･コンバータ

8

異なる入力色深度を独立してサポート
ARGB1555

ARGB8888

00 0 0 0 0 0 0 0

4 3 2 1 0

4 3 2 1 0 4 3 2

4 3 2 1 0

4 3 2 1 0 4 3 2

4 3 2 1 0

4 3 2 1 0 4 3 2

L8Index

CLUT
A R G B...

ARGB8888
A R G BA R G B

A8

レジスタ

ARGB8888

AR G BA R G B• ダイレクト･モード• ARGB8888、ARGB444444もしくはARGB1555• RGB888もしくはRGB565(レジスタ内のアルファ値を使用)• アルファ値は置き換えまたは変調することも可能• ブロック･ベース(8x8)YCbCr4:4:4、4:2:2と4:2:0• インダイレクト･モード• L8またはL4とカラー・ルックアップ・テーブル(CLUT)• A8またはA4とカラー･レジスタ(フォント用)• 混合AL88またはAL44• 内部操作はARGB8888で行われる

フォアグラウンドとバックグラウンドのレイヤーごとに、それぞれのフォーマットをプログラムすることができます。
ダイレクトモードでは、RGBまたはARGBのコンテンツをメモリから直接取得します。
インダイレクトモードでは、中間色のルックアップテーブルを使用して、コピーやブレンドの際に使用する色を決定します。
すべての入力カラーモードは、内部でARGB8888フォーマットに変換され、ブレンド操作が行われます。

8

YCbCrカラー･スペース･コンバータ

9

JPEGデコード用カラー･スペース･コンバータ• YCbCrモード• フォアグラウンド・プレーンで利用可能• Chrom-ART™acceleratorは、8x8ピクセルのブロックをフェッチ• 標準的なクロマ・サブサンプリングに対応• 4:4:4• 4:2:2• 4:2:0• 写真やビデオを表示するための色空間の変換を完全にCPUに任せることが出来る• Chrom-ART™カラー･スペース･コンバータは、同等の速度のCPUと比較して10倍の速度を持つ

YCbCrモードでは、特定のカラースペースコンバータ・ハードウェアを使用して、YCbCrデータをRGBデータに変換することができます。このブロックはフォアグラウンド・プレーンで使用できます。
このカラースペースコンバータは、JPEGデコーダからフレームバッファに非圧縮データをコピーまたはブレンドするために使用されます。
8×8ピクセルのブロックで構成されたYCbCrデータを、リニアなRGBフォーマットに直接変換することができます。4:4:4から4:2:0までのすべての標準的なYCbCrクロマサブサンプリングフォーマットをサポートしています。
この新機能は、この負荷のかかる操作をCPUに負担させず、10倍の速度で実行します。

9フォント･スペシャル･モード

10

アンチエイリアスなビットマップフォントの効率的なサポート• A8またはA4のコード化• アルファチャンネルのみをメモリに保存• Chrom-ART™acceleratorは、プログラムされた色を追加

エイリアス

アンチエイリアス

スペシャルモードを使用することで、テキストやフォントを効率的に管理できます。
アンチエイリアスされたフォントをレンダリングするために、透明度の値のみがメモリに保存されます。
色は、ピクセルフォーマットの変換プロセスで追加され、ユーザーがプログラムできます。
これらのモードは、高品質のビットマップフォントを保存するのに非常に効率的です。

10

出力ピクセル･フォーマット･コンバータ

11

複数の出力色深度に対応• ダイレクトモード• ARGB8888、ARGB444444もしくはARGB1555• RGB888もしくはRGB565• PFC（ピクセル･フォーマット･コンバータ）なしのメモリ間転送は、ピクセル･フォーマットに依存しない
ARGB8888

RGB5657 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0

7 6 5 4 3

7 6 5 4 3 2 1 0

7 6 5 4 3 2

7 6 5 4 3 2 1 0

7 6 5 4 3出力ピクセルフォーマットコンバータは、ソースから独立してデスティネーションのカラーを生成します。
出力には、カラールックアップテーブル（CLUT）の計算を意味するようなインダイレクトモードはありません。
しかし、ピクセルフォーマット変換（PFC）を使用しないメモリ間転送では、フォーマットとは無関係にデータをコピーすることができます。

11

ブレンダ

12

完全にハードウェア化されたブレンド･プロセス
ブレンドされていない

ブレンドされている• ハードウェア･ブレンディング• フォアグラウンドとバックグラウンドのピクセルをブレンド• サイクルごとに生成される1ピクセル• ARGB8888のネイティブ動作• 入力データは、それぞれのPFCでARGB8888に変換• 出力データにも独自のPFCを搭載

完全にハードウェア化されたブレンダでは、透明度のあるフォアグラウンドイメージとバックグラウンドイメージをブレンドすることができます。
これにより、あらゆる形状のビットマップイメージを完璧なレンダリングで描くことができます。
1サイクルで1つの画素が生成されるため、この複雑な動作をCPUで行うよりもはるかに効率的に行うことができます。
生成されたピクセルは、出力ピクセルフォーマットコンバータにより、ソースから独立してコード化されます。

12

出力設定

13

作業領域と出力の色分けを定義する出力設定
オリジナル
アドレス

ワーキング
アドレス

ワーキング幅• 作業領域• 幅• 高さ

Original_Height

14:21
Temperature

21°C

ワーキング
高さ

Humidity

-5°C

62%
ARME
D

• 出力設定• アドレス• ライン･オフセット• カラー･フォーマット(BPP)

Original_Width

Working_Address = Original_Address + (X + Original_Width * Y) * BPPLineOffset = Original_Width – Working_Width

出力設定は、Chrom-ART™の動作のための作業領域を定義します。
アドレスとラインオフセットのパラメータは、出力のどのサブエリアに関係するかを選択するために使用されます。

13

FGとBG設定

14

FGとBGの設定により、アドレスとカラー･コーディングを定義• フォアグラウンド･パラメータ• バックグラウンド･パラメータ• アドレス• ライン･オフセット(出力に従う)• カラー･フォーマット

• アドレス(出力に従う)• ラインオフセット(出力に従う)• カラーフォーマット

アドレス

ワーキング幅

ワーキング
高さ

カラーフォーマット

ほとんどの場合、バックグラウンドと出力は同じパラメータを持つ

バックグラウンドレイヤ(BG)とフォアグラウンドレイヤ(FG)には、アドレス、ラインオフセット、カラーフォーマットのそれぞれの設定があります。
これにより、フォアグラウンドレイヤとバックグラウンドレイヤのどの領域をChrom-ART™操作の対象とするかを定義します。

14

割込み
割込みイベント

15

説明

設定エラー

Chrom-ART™起動時に検出された設定のエラー（許可されていない、または間違った設定）

CLUT転送完了

システム･メモリ領域から内蔵Chrom-ART™へのCLUTメモリへコピー完了

CLUTアクセス･エラー

システム･メモリからChrom-ART™内蔵メモリへの自動コピー中にCPUがCLUTにアクセスした場合転送ウォーターマーク

ウォーターマーク･ラインの最後の画素が転送されたことを示す

転送完了

クロム-アート™転送操作が完了

転送エラー

Chrom-ART™転送中にエラー発生

Chrom-ART™アクセラレータには、6つの割り込みソースがあります。
• 設定エラー• CLUT転送完了• CLUTアクセスエラー• 転送ウォーターマーク• 転送完了• 転送エラー
Chrom-ART™acceleratorは独自のDMAを内蔵しているため、DMAトリガーは使用しません。

15

低電力モード
モード

16

説明

RUN

アクティブ

SLEEP

アクティブ
ペリフェラルの割込みにより、デバイスはSLEEPモードを終了

STOP

停止
ペリフェラル･レジスタの内容は保持

STANDBY

パワーダウン
STANDBYモードを終了した後は、ペリフェラルを再初期化する必要がある

Chrom-ART™acceleratorは、RUNモードとSLEEPモードでアクティブです。Chrom-ART™の割込みによって、デバイスはSLEEPモードを終了することができます。STOPモードでは、Chrom-ART™acceleratorは停止し、そのレジスタの内容は保持されます。STANDBYモードでは、Chrom-ART™acceleratorはパワーダウンし、その後、再初期化する必要があります。

16

アプリケーションの例

17• 通信機能およびHMIを含む家電製品:
BTモジュール

UART

シリアルFlash

QuadSPI

ボタン

I/O

SDRAM

FMC

DSI
I2C

STM32H7

I2S

Chrom-ART

タイマ

ディスプレイ
タッチパネル

オーディオ･コーデックモータ• Chrom-ART™はHMIをハンドリング可能• 透明感のあるシーンの合成とアニメーション• テキスト･マネーメント

Chrom-ART™acceleratorは、CPUに負荷をかけることなく、非常に効率的なスループットでフレームバッファを計算するために、あらゆるグラフィックアプリケーションで広く使用されています。
シーン全体を透明に構成し、アニメーションの管理を容易にすることができます。
また、テキストレンダリングも高速化され、アンチエイリアスフォントの管理が容易かつ効率的になりました。

17

関連ペリフェラル

18• このペリフェラルに関連する次のトレーニングをご参照ください• RCC(Chrom-ART™クロック･コントロールとChrom-ART™イネーブル / リセット)• 割込み(Chrom-ART™割込みマッピング)

その他の情報は、RCCや割込みに関するトレーニングをご参照ください。

18

STM32F/Hシリーズの比較
Chrom-ARTTM
機能

STM32F0

STM32F1

STM32F2

STM32F3

STM32F4

STM32F7

STM32H7

インスタンスの数0000111最高速度

N/A

N/A

N/A

N/A

180MHz216MHz200MHz(*)19(*)64ビット幅のデータバス

Chrom-ART™acceleratorは、STM32F4およびSTM32F7シ
リーズでは32ビット・ワイド・バスで最大216MHz、H7シリーズ
では64ビット・ワイド・バスで最大200MHzまで実装されています。

19