0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

S3C2440如何設(shè)置系統(tǒng)時(shí)鐘

工程師鄧生 ? 來(lái)源:未知 ? 作者:劉芹 ? 2023-09-02 15:12 ? 次閱讀

S3C2440如何設(shè)置系統(tǒng)時(shí)鐘

S3C2440是一款嵌入式處理器,屬于SAMSUNG公司ARM9系列。系統(tǒng)時(shí)鐘是嵌入式系統(tǒng)中非常重要的一個(gè)參數(shù),它決定了系統(tǒng)的計(jì)算速度和精度,是系統(tǒng)穩(wěn)定性的關(guān)鍵因素之一。對(duì)于S3C2440來(lái)說(shuō),正確設(shè)置系統(tǒng)時(shí)鐘是實(shí)現(xiàn)其高效穩(wěn)定運(yùn)行的前提條件之一。本文將詳細(xì)介紹如何設(shè)置S3C2440的系統(tǒng)時(shí)鐘。

一、 S3C2440的時(shí)鐘系統(tǒng)架構(gòu)

在了解如何設(shè)置S3C2440的系統(tǒng)時(shí)鐘之前,我們需要先了解一下S3C2440的時(shí)鐘系統(tǒng)架構(gòu)。

我們可以看到S3C2440的時(shí)鐘系統(tǒng)主要由一個(gè)PLL鎖相環(huán)和各種分頻器組成。其中,PLL鎖相環(huán)是時(shí)鐘系統(tǒng)的核心,它的作用是將輸入的基準(zhǔn)信號(hào)(XTAL或OSC)通過(guò)分頻器進(jìn)行分頻,然后通過(guò)PLL鎖相環(huán)進(jìn)行倍頻,最終產(chǎn)生所需要的系統(tǒng)時(shí)鐘。在S3C2440中,PLL鎖相環(huán)有兩個(gè),分別為PLL0和PLL1,它們的輸出時(shí)鐘可以通過(guò)寄存器控制。

二、 S3C2440的系統(tǒng)時(shí)鐘設(shè)置流程

了解了S3C2440的時(shí)鐘系統(tǒng)架構(gòu)之后,接下來(lái)我們就可以開(kāi)始設(shè)置S3C2440的系統(tǒng)時(shí)鐘了,下面是系統(tǒng)時(shí)鐘設(shè)置的詳細(xì)步驟:

1、 確定系統(tǒng)時(shí)鐘頻率

在設(shè)置S3C2440的系統(tǒng)時(shí)鐘之前,我們需要先明確所需要的時(shí)鐘頻率。根據(jù)實(shí)際需要,可以選擇不同的時(shí)鐘頻率,如12MHz、13MHz、16MHz等。需要注意的是,時(shí)鐘頻率不能太高或太低,否則會(huì)影響系統(tǒng)的穩(wěn)定性。

2、 設(shè)置PLL0時(shí)鐘

在確定系統(tǒng)時(shí)鐘頻率后,我們可以開(kāi)始設(shè)置PLL0時(shí)鐘。PLL0時(shí)鐘的輸出頻率需要在50MHz~533MHz之間,可以通過(guò)設(shè)置PLL0的分頻器和倍頻器來(lái)實(shí)現(xiàn)。具體的設(shè)置方法如下:

(1) 設(shè)置MPLLCON寄存器

MPLLCON寄存器用于設(shè)置PLL0的參數(shù),包括分頻器和倍頻器。具體的設(shè)置方法如下:

```C
#define FCLK 50000000 // FCLK時(shí)鐘為50MHz

void PLL0_Init(void)
{
// 定義需要設(shè)置的PLL0參數(shù)
unsigned int mdiv, pdiv, sdiv;
unsigned int pllcon, clksrc, clkdivn;

// 設(shè)置PLL0的MPLLCON寄存器
Get_Frequency(&mdiv, &pdiv, &sdiv, FCLK, SCLK);
pllcon = (mdiv << 12) | (pdiv << 4) | (sdiv << 0);
rMPLLCON = pllcon;

// 設(shè)置系統(tǒng)時(shí)鐘的源和分頻器
clksrc = 0x3; // 旁路模式
clkdivn = 0x1; // FCLK = HCLK / 2
rCLKDIVN = (clksrc << 0) | (clkdivn << 4);
}
```

上面的代碼中,我們首先定義了需要設(shè)置的PLL0參數(shù)mdiv、pdiv和sdiv,然后通過(guò)Get_Frequency函數(shù)計(jì)算出具體的參數(shù)值,并將其寫(xiě)入MPLLCON寄存器中。其中,mdiv和pdiv分別為PLL0輸入頻率與PLL0倍頻系數(shù)的商和余數(shù),sdiv為PLL0輸入頻率與PLL0分頻系數(shù)的商。最后,我們通過(guò)設(shè)置CLKDIVN寄存器的值來(lái)設(shè)置系統(tǒng)時(shí)鐘的源和分頻器。

(2) 設(shè)置MPLLCON寄存器

如果需要使用PLL1時(shí)鐘,我們可以按照同樣的方法來(lái)設(shè)置PLL1的參數(shù)并將其寫(xiě)入U(xiǎn)PLLCON寄存器中,具體代碼如下:

```C
void PLL1_Init(void)
{
// 定義需要設(shè)置的PLL1參數(shù)
unsigned int plldivn;
unsigned int pllcon;

// 設(shè)置PLL1的UPLLCON寄存器
plldivn = 0x1;
pllcon = (plldivn << 1);
rUPLLCON = pllcon;
}
```

3、 設(shè)置系統(tǒng)時(shí)鐘

在設(shè)置好PLL0/PLL1之后,我們就可以根據(jù)實(shí)際需要來(lái)設(shè)置系統(tǒng)時(shí)鐘了。系統(tǒng)時(shí)鐘可以通過(guò)設(shè)置CLKDIVN寄存器來(lái)實(shí)現(xiàn)。具體的設(shè)置方法如下:

```C
void System_Init(void)
{
// 設(shè)置PLL0/PLL1參數(shù)和系統(tǒng)時(shí)鐘分頻器
PLL0_Init();
PLL1_Init();

// 設(shè)置系統(tǒng)時(shí)鐘分頻器
rCLKDIVN = 0x5;
}
```

上面的代碼中,我們首先調(diào)用了PLL0_Init()和PLL1_Init()函數(shù)來(lái)設(shè)置PLL0和PLL1的參數(shù),然后設(shè)置了系統(tǒng)時(shí)鐘分頻器為0x5,表示系統(tǒng)時(shí)鐘為PLL0的輸出頻率除以5。需要注意的是,系統(tǒng)時(shí)鐘的分頻器值不能太小或太大,否則會(huì)影響系統(tǒng)的穩(wěn)定性。

4、 配置外設(shè)時(shí)鐘

在設(shè)置好系統(tǒng)時(shí)鐘之后,我們還需要配置外設(shè)時(shí)鐘才能使外設(shè)正常工作。在S3C2440中,外設(shè)時(shí)鐘可以通過(guò)CLKCON寄存器來(lái)配置。具體的設(shè)置方法如下:

```C
void Peripheral_Init(void)
{
// 設(shè)置SDRAM時(shí)鐘和NAND Flash時(shí)鐘
rCLKCON = rCLKCON & (~(1 << 0)) & (~(1 << 1));

// 設(shè)置UART0時(shí)鐘
rCLKCON = rCLKCON & (~(1 << 9));
}
```

上面的代碼中,我們首先關(guān)閉SDRAM時(shí)鐘和NAND Flash時(shí)鐘,并將CLKCON寄存器的第0和第1位清零。然后,我們關(guān)閉UART0時(shí)鐘,并將CLKCON寄存器的第9位清零。根據(jù)實(shí)際需要,我們還可以配置其他外設(shè)的時(shí)鐘。

三、 總結(jié)

本文詳細(xì)介紹了如何設(shè)置S3C2440的系統(tǒng)時(shí)鐘,包括設(shè)置PLL0/PLL1和系統(tǒng)時(shí)鐘分頻器,以及配置外設(shè)時(shí)鐘。通過(guò)正確設(shè)置系統(tǒng)時(shí)鐘,可以提高S3C2440的運(yùn)行效率和穩(wěn)定性,使其更好地適應(yīng)不同的應(yīng)用場(chǎng)景。作為嵌入式開(kāi)發(fā)人員,了解和掌握S3C2440的時(shí)鐘系統(tǒng)架構(gòu)和設(shè)置方法是非常重要的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 分頻器
    +關(guān)注

    關(guān)注

    43

    文章

    445

    瀏覽量

    49580
  • S3C2440
    +關(guān)注

    關(guān)注

    4

    文章

    132

    瀏覽量

    38743
  • 嵌入式處理器
    +關(guān)注

    關(guān)注

    0

    文章

    253

    瀏覽量

    30663
  • 倍頻器
    +關(guān)注

    關(guān)注

    8

    文章

    76

    瀏覽量

    35374
  • 系統(tǒng)時(shí)鐘
    +關(guān)注

    關(guān)注

    1

    文章

    30

    瀏覽量

    9246
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)esp32-s3驅(qū)動(dòng)rgb屏像素時(shí)鐘頻率pclk可設(shè)置多大?

    esp32-s3 驅(qū)動(dòng)rgb屏像素時(shí)鐘頻率pclk可設(shè)置多大?
    發(fā)表于 06-18 07:44

    基于S3C2440和專用DSP的嵌入式四軸運(yùn)動(dòng)控制器

     PCL6045BL是一種新型專用DSP運(yùn)動(dòng)控制芯片,它具有強(qiáng)大的數(shù)據(jù)處理能力和較高的運(yùn)行速度,可以實(shí)現(xiàn)高精度的多軸伺服控制。為解決精密制造對(duì)低成本、可移植性強(qiáng)的通用型多軸數(shù)控系統(tǒng)的迫切需求,文中給出一種基于ARM 微處理器S3C2440與DSP運(yùn)動(dòng)控制芯片
    發(fā)表于 05-03 10:44 ?265次閱讀
    基于<b class='flag-5'>S3C2440</b>和專用DSP的嵌入式四軸運(yùn)動(dòng)控制器

    使用CYB06445LQI-S3D42設(shè)備配置系統(tǒng)時(shí)鐘,BSP在時(shí)鐘初始化時(shí)失敗怎么解決?

    我們正在使用 CYB06445LQI-S3D42 設(shè)備。 從默認(rèn)時(shí)鐘配置開(kāi)始效果很好。 當(dāng)我們嘗試根據(jù)電路板設(shè)計(jì)配置系統(tǒng)時(shí)鐘(我們有 ECO)時(shí),BSP 無(wú)法初始化
    發(fā)表于 01-19 06:12

    臨時(shí)用電供電系統(tǒng)模式設(shè)置的問(wèn)題

    施工現(xiàn)場(chǎng)臨時(shí)用電供電系統(tǒng)設(shè)置時(shí),注意供電系統(tǒng)應(yīng)滿足規(guī)范要求。如提供專用變壓器時(shí),必須采用TN-S供電系統(tǒng)。如果提供電源為市區(qū)公用供電線路時(shí),
    的頭像 發(fā)表于 01-02 09:23 ?712次閱讀

    S3C2440的SPI0與AD7739通信,S3C2440作為主機(jī),請(qǐng)問(wèn)波特率應(yīng)根據(jù)什么設(shè)置,應(yīng)設(shè)置為多少?

    我用的S3C2440的SPI0與AD7739通信,S3C2440作為主機(jī),請(qǐng)問(wèn)波特率應(yīng)根據(jù)什么設(shè)置,應(yīng)設(shè)置為多少?問(wèn)題比較低級(jí),請(qǐng)勿見(jiàn)笑。
    發(fā)表于 12-22 06:56

    ARM應(yīng)用系統(tǒng)開(kāi)發(fā)詳解——基于S3C4510B的系統(tǒng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《ARM應(yīng)用系統(tǒng)開(kāi)發(fā)詳解——基于S3C4510B的系統(tǒng)設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 11-08 15:35 ?0次下載
    ARM應(yīng)用<b class='flag-5'>系統(tǒng)</b>開(kāi)發(fā)詳解——基于<b class='flag-5'>S3C</b>4510B的<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    基于S3C2440的VGA顯示技術(shù)原理圖

    發(fā)表于 11-08 08:31 ?0次下載
    基于<b class='flag-5'>S3C2440</b>的VGA顯示技術(shù)原理圖

    一款基于S3C2440A的銀行評(píng)價(jià)器的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《一款基于S3C2440A的銀行評(píng)價(jià)器的設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-27 11:46 ?0次下載
    一款基于<b class='flag-5'>S3C2440</b>A的銀行評(píng)價(jià)器的設(shè)計(jì)

    I2C時(shí)鐘設(shè)置計(jì)算方法

    I2C時(shí)鐘設(shè)置計(jì)算方法I2C時(shí)鐘設(shè)置計(jì)算方法
    發(fā)表于 10-20 08:17

    S3C2410嵌入式系統(tǒng)多串口通訊設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《S3C2410嵌入式系統(tǒng)多串口通訊設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-13 09:16 ?0次下載
    <b class='flag-5'>S3C</b>2410嵌入式<b class='flag-5'>系統(tǒng)</b>多串口通訊設(shè)計(jì)

    基于ARM Linux和S3C2440的嵌入式Linux內(nèi)核設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于ARM Linux和S3C2440的嵌入式Linux內(nèi)核設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-12 10:37 ?2次下載
    基于ARM Linux和<b class='flag-5'>S3C2440</b>的嵌入式Linux內(nèi)核設(shè)計(jì)

    基于ARM處理器S3C2440和Linux統(tǒng)的I2C觸摸屏設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于ARM處理器S3C2440和Linux統(tǒng)的I2C觸摸屏設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-12 10:32 ?0次下載
    基于ARM處理器<b class='flag-5'>S3C2440</b>和Linux統(tǒng)的I2<b class='flag-5'>C</b>觸摸屏設(shè)計(jì)

    基于S3C2440的裂紋實(shí)時(shí)測(cè)量系統(tǒng)的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于S3C2440的裂紋實(shí)時(shí)測(cè)量系統(tǒng)的設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-11 09:42 ?2次下載
    基于<b class='flag-5'>S3C2440</b>的裂紋實(shí)時(shí)測(cè)量<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)

    S3C2440開(kāi)發(fā)板上實(shí)現(xiàn)按鍵點(diǎn)亮LED驅(qū)動(dòng)開(kāi)發(fā)的詳細(xì)過(guò)程

    電子發(fā)燒友網(wǎng)站提供《S3C2440開(kāi)發(fā)板上實(shí)現(xiàn)按鍵點(diǎn)亮LED驅(qū)動(dòng)開(kāi)發(fā)的詳細(xì)過(guò)程.pdf》資料免費(fèi)下載
    發(fā)表于 10-11 09:36 ?0次下載
    <b class='flag-5'>S3C2440</b>開(kāi)發(fā)板上實(shí)現(xiàn)按鍵點(diǎn)亮LED驅(qū)動(dòng)開(kāi)發(fā)的詳細(xì)過(guò)程

    基于S3C2440A的無(wú)創(chuàng)血氧檢測(cè)系統(tǒng)電路設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于S3C2440A的無(wú)創(chuàng)血氧檢測(cè)系統(tǒng)電路設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-10 09:25 ?0次下載
    基于<b class='flag-5'>S3C2440</b>A的無(wú)創(chuàng)血氧檢測(cè)<b class='flag-5'>系統(tǒng)</b>電路設(shè)計(jì)