娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

S3C2440時鐘體系筆記

發布者:psi33最新更新時間:2024-08-21 來源: cnblogs關鍵字:S3C2440  時鐘體系 手機看文章 掃描二維碼
隨時隨地手機看文章

一、整體架構 

S3C2440的主時鐘源可以是外部諧振器(XTIpll),或者外部輸入時鐘(EXTCLK),經過鎖相環MPLL、UPLL產生高頻時鐘信號,并經由分配傳輸給AHB總線,APB總線,USB設備,以及內核使用。其中UPLL是USB專用的PLL。以下是時鐘體系的總體框架:

二、控制邏輯

時鐘控制邏輯的主要內容為時鐘的開啟、配置過程。首先是時鐘的上電開啟時序:

上圖來自于芯片手冊,是時鐘的上電開啟過程,經上電與復位,諧振器開始輸入信號,此時PLL根據默認配置啟動,進入LockTime,由于上電后PLL工作不穩定,其輸出信號并不會接入FCLK等,而是接入諧振器輸入頻率信號,只有在軟件配置PLL后才會接入到FCLK等,即使想要使用PLL默認配置,也要用軟件重新配置一下。配置PLL即配置PLL CONTROL REGISTER ,配置完成后,PLL會自動進入鎖定狀態,此時FCLK等保持一段低電平,之后接入修改后的時鐘信號。


三、工作模式

圍繞著時鐘設備,S3C2440的工作模式分為NORMAL mode、SLOW mode、IDLE mode、SLEEP mode,屬于Power Management block。

NORMAL mode:該模式下,允許內核和所有外設使用對應的時鐘。

SLOW mode:Non-PLL模式,鎖相環關閉,芯片工作在外部時鐘下,頻率取決于外部時鐘。

IDLE mode:僅斷開內核的工作時鐘,外設可正常工作,中斷可喚醒。

SLEEP mode:休眠狀態,內核和外設均斷開時鐘,時鐘僅連接喚醒邏輯,使用該模式需要兩個獨立的時鐘源,其中一個要保持喚醒程序始終活躍,以便喚醒CPU。

下圖為Power Management block在時鐘體系中的定位,可以看到,最終的FCLK等輸出時鐘信號需要Power Management的配合。

模式切換:以下是芯片手冊中對于模式切換的圖解:

其中SLEEP mode以及IDLE mode需要通過中斷來返回NORMAL mode,著重記錄NORMAL與SLOW模式間的切換問題:NORMAL==>SLOW:SLOWmode有專門的寄存器(CLOCK SLOW  CONTROL (CLKSLOW) REGISTER)用于開啟、配置和關閉,從NORMAL模式轉換到SLOW模式時,需要首先配置SLOW_BIT再配置MPLL_OFF關閉MPLL,這時轉換為SLOW模式,可以通過配置該寄存器的SLOW_VAL來控制分頻,如下圖:

其他模式可以參考芯片手冊,當然我也是搬運工。


四、配置方法

1、在NORMAL模式下,修改PMS更改PLL配置,當然這會使PLL重新進入LoadTime,在此期間FCLK等持續低電平。

2、在NORMAL模式下,臨時開啟SLOW模式,并在SLOW期間關閉PLL,這期間FCLK等以SLOW模式下的頻率輸出,可以更改PLL配置而不至于使內核和外設停止工作。

五、寄存器說明

1、LOCK TIME COUNT REGISTER (LOCKTIME)
PLL的LockTime由該寄存器設置。

2、PLL CONTROL REGISTER (MPLLCON & UPLLCON)

對應上文PMS,可以參照一些經典值來設置PLL輸出的頻率。
3、CLOCK CONTROL REGISTER (CLKCON)

對應外設、內核的時鐘使能等。
4、CLOCK SLOW CONTROL (CLKSLOW) REGISTER

SLOWmode的控制寄存器,可以配置SLOW_VAL,可以使能SLOWbit位,以及開關PLL。
5、CLOCK DIVIDER CONTROL (CLKDIVN) REGISTER

配置分頻因子。
6、CAMERA CLOCK DIVIDER (CAMDIVN) REGISTER


關鍵字:S3C2440  時鐘體系 引用地址:S3C2440時鐘體系筆記

上一篇:S3C2440 SPI驅動框架
下一篇:S3C2440開發環境搭建(Ubuntu)

推薦閱讀最新更新時間:2025-04-17 10:27

S3C2440 I2C總線控制
多主機IIC總線控制(IICCON): IIC控制總線狀態(IICSTAT): IIC總線地址(IICADD): IIC發送,接收總線寄存器(IICDS) IIC總線控制寄存器: 源碼如下: void Rd24C080(U32 slvAddr,U32 addr,U8 *data) { _iicMode = SETRDADDR; _iicPt = 0; _iicData = (U8)addr; _iicDataCount = 1; rIICDS = slvAddr; rIICSTAT = 0xf0; //MasTx,Start //Clearing the pendin
[單片機]
<font color='red'>S3C2440</font> I2C總線控制
S3C2440 之SPI
概述: S3C2440有兩個串行外設SPI接口,SPI具有全雙工通信 SPI方框圖 S3C2440 之SPI SPI操作: 通過使用SPI接口,S3C2440可以與外部器件同時發送、接收8位數據。當SPI接口為主機時,可以通過設置SPPREn寄存器來設置發送頻率,當SPI為從機時,由其它主機提供時鐘頻率。當程序員寫字節數據到SPTDATn寄存器,將同時開始發送和接受,在一些情況下,應該在寫字節數據到SPTDATn之前激活nSS。 S3C2440 之SPI SPI傳輸模式: S3C2440 之SPI S3C2440 之SPI SPI特殊寄存器 S3C2440 之SPI S3C2440 之SPI S3C24
[單片機]
<font color='red'>S3C2440</font> 之SPI
s3c2440裸機-內存控制器(三-1、norflash編程之NorFlash原理)
1.flash種類與特性: flash一般分為nand flash和nor flash,各自特性如下表: - Nor NAND XIP(片上執行) yes no 性能(擦除) 非常慢(5s,塊太大) 快(3ms) 性能(寫) 慢 快 性能(讀) 快 快 可靠性 高 一般(容易出現位反轉) 可擦除次數 10000 ~ 100000 100000 ~ 1000000 接口 與ram類似,可直接訪問任意地址 I/O接口(無地址線,必須串行訪問,命令、地址、數據共用8位IO) 易用性 容易 復雜 主要用途 常用于保存代碼和關鍵數據 用于保存數據 價格 高 低 容量 小 大 常用文件系統類型 jffs yaff
[單片機]
<font color='red'>s3c2440</font>裸機-內存控制器(三-1、norflash編程之NorFlash原理)
s3c2440系統時鐘詳解
一、S3C2440系統時鐘體系 S3C2440的時鐘控制邏輯可以外接晶振,然后通過內部電路產生時鐘源;也可以直接使用內部提供的時鐘源,他們通過引腳的設置來選擇。時鐘邏輯給整個芯片提供了3中時鐘:FCLK用于CPU核、HCLK用于AHB總線上設備,比如CPU核、存儲器控制器、中斷控制器、LCD控制器、DMA控制器和USB主機模塊等;PCLK用于用于APB總線上的設備,比如看門狗、IIS、I2C、PWM定時器、MMC接口、ADC、UART、GPIO、RTC和SPI等。 AHB(Advanced High performance Bus)系統總線總線主要用于高性能模塊(如CPU、DMA和DSP等);APB(Advanced Periph
[單片機]
<font color='red'>s3c2440</font>系統<font color='red'>時鐘</font>詳解
06-S3C2440學習之移植2012u-boot到S3C2440(移植過程三)支持NorFlash
上一節 我們實現了支持nand flash 啟動(點擊查看),并不代表uboot此時可以對nand進行讀寫操作,只是可以把uboot燒寫到nand然后上電后,對代碼 進行重定位,實現了nand啟動。這一節我們加入對nor 的支持,使uboot可以識別出nor flash 并可以讀寫nor flash。 (1)查看上一節最后的報錯: (2)搜索Flash:查看代碼: 程序會陷入死循環,并打印出錯誤信息。 (3)找不到不卡死,繼續往下走:修改為如下 修改是為了 從nand啟動時不在此處卡死。 (4)看一下這個 怎么才能識別出nor flash if (!flash_detect_legacy(cfi_
[單片機]
06-S3C2440學習之移植2012u-boot到<font color='red'>S3C2440</font>(移植過程三)支持NorFlash
移植u-boot-2010.09到S3C2440(一)——硬件初始化與測試
在u-boot的代碼選擇中,只有201009是最近的可直接編譯通過的,不帶memset.s的u-boot版本。 屏蔽lowlevel_init的調用之后,將我在u-boot-201112版本中所做的硬件初始化全部挪到本版本中,包括串口驅動的修改,時鐘設置,LED的點亮。 這個時候通過開發板自帶的u-boot寫到SDRAM調試就直接有串口輸出與提示符。 注:本系列文檔只注釋難點部分,其它略過。
[單片機]
S3C2440裸機------LCD_LCD硬件原理
1.LCD的連接圖 2.LCD時序圖
[單片機]
<font color='red'>S3C2440</font>裸機------LCD_LCD硬件原理
S3C2440 Boot Loader引導代碼功能簡述
【前言】開始學習ARM的時候,基本上都要從裸機編程開始。為了減低入門的門檻,很多時候只要修改模板里的主函數main.c,可是,久而久之,就會產生些疑問,問什么下載了這些C代碼編譯鏈接生成出來的BIN就能在ARM上跑了呢?原因就在于,有幾個文件已經不聲不響的幫我們提前干了很多的事,而這些事C語言是干不了的,只能由匯編完成,美其名曰:ARM匯編引導代碼。其實不光“裸奔”需要,Boot Loader也同樣需要。那么到底這些匯編幫我干了些什么呢?筆者就結合S3C2440的Boot Loader引導代碼簡單分析整理下。 【一】變量及相關宏定義 開始首先用GET(相當于C語言里的#include)偽指令包含進來了三個頭文件option.i
[單片機]
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

更多開源項目推薦

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 宣武区| 沧源| 红原县| 肃南| 樟树市| 湘潭市| 淮安市| 荔波县| 呼和浩特市| 牡丹江市| 海口市| 江阴市| 岳阳县| 大化| 宝丰县| 长白| 双鸭山市| 五大连池市| 苍溪县| 城市| 泉州市| 扬中市| 襄城县| 那曲县| 和政县| 柳河县| 平度市| 桃江县| 横山县| 大埔区| 民丰县| 彩票| 聂拉木县| 都兰县| 博乐市| 青河县| 玛沁县| 湄潭县| 镇康县| 安化县| 平原县|