Mini210S 開発キットOSなしのプログラム開発手順連載(13)

Mini210S/Tiny210等開発ボード関連のフォラーム

Mini210S 開発キットOSなしのプログラム開発手順連載(13)

投稿記事by dwtechadm » 金 5 10, 2013 3:45 pm

Mini210S 開発キット詳細URL


第XI章 システムクロック初期化


第一節 S5PV210 クロックシステム
S5PV210は、三種類のクロック:メイン•システムクロックdomain(MSYS)、表示クロックdomain(DSYS)、ペリフェラル•クロック•domain(PSYS)を含みます。
1) MSYS:Cortex A8プロセッサ、DRAMコントローラ、3D、IRAM、IROM、割り込みコントローラなどにクロックを提供します;
2) DSYS:相関の表示メンバ単位にクロックを提供します、 FIMC、 FIMD、 JPEG、 and multimedia IPsなど;
3) PSYS:ペリフェラルにクロックを提供する、 i2s、 spi、i2c、uart 等
Mini210S接続の外部水晶発振器の発振周波数(Fin)は24MHz、クロックでロジックPLLを制御することにより、システムクロックを向上させることができます。S5PV210には合計4つの周波数逓倍器(ダブラー)があります。APLL(MSYS用)、MPLL(DSYS使用)、EPLL(PSYS用)VPLL(video 関連クロック用)を含む、合わせればすなわちPLLです。三種類のクロックdomain中、異なる分周器を使用し、各部品にクロックを出力できます。各クロックの関係図は下記の通りです:
画像
S5PV210クロック分類図
以下に示すように、各種類クロック、チップの値の確定はマニュアル基準値をご参照ください。
画像
S5PV210 クロック基準値設定図

各クロックの設定は、下記図(チップマニュアルP361)を参照してください:
画像
S5PV210 クロック設定図
上記図は大切で、これにを参照して、ハードウェア•コンポーネントが必要なクロックを全部設定できます。(状況により、必要なハードウェアコンポーネントの作動クロックを設定すれば十分です)、第二節で、相関のレジスタを設定し、クロックを初期化します。



第二節 プログラム説明
完全なコードは、ディレクトリ10.clock_s 、 11.clock_c dご参照ください。
この章に関わるコードは二組あります。10.clock_s(アセンブリでクロック初期化)と11.clock_c(C言語でクロック初期化)、両者の本質は同じで、実行効果も同じです、アセンブリを強化したいなら、10.clock_s 中のコードをご参照ください。C言語のコードはより明確なアイデア、理解しやすいため、次は11.clock_cでご説明します。

1. start.S
main 関数を呼び出し前に、クロック初期化関数 clock_initで相関設定を行います。

2. clock.c
clock_init()は clock.c で定義します、コード:
void clock_init()
{
// 1 各クロック•スイッチを設定、PLLは使用しません
CLK_SRC0 = 0x0;
// 2 ロック時間を設定、デフォルト値を使用します
APLL_LOCK = 0x0000FFFF;
MPLL_LOCK = 0x0000FFFF;
// 3 分周を設定
CLK_DIV0 = 0x14131440;
// 4 PLLを設定
APLL_CON0 = APLL_VAL;
MPLL_CON = MPLL_VAL;
// 5各クロック•スイッチを設定、PLLは使用します
CLK_SRC0 = 0x10001111;
}

上記コードは5つのステップがあります。次は分解説明します。:
ステップ 1 各クロック•スイッチを設定、PLLは使用しません
第一節の設定図(チップマニュアルP361)を参照します、下記は拡大図:
画像
まず外部24MHz水晶発振器を使用します、上記図により、APLL と MPLL のクロック•ソースは"FINPLL゛で決めさせます、チップマニュアルで"FINPLL゛を検索し、対応レジスタはCLK_SRC0とわかります。




---続く
dwtechadm
 
記事: 60
登録日時: 月 2 25, 2013 1:35 pm

Return to Cortex-A8関連

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[0人]

cron