spi時序圖怎麼看?spi時序圖閱讀方法
我用的K9F2G08-SCB0 這款nand flash 來介紹時序圖的閱讀。不同的芯片操作時序可能不同,讀的命令也會有一些差別。
當然其實有時候像nand flash這種s3c2440內部集成了他的控製器的外設。具體到讀寫操作的細節時序(比如 CLE/ALE的建立時間,寫脈衝的寬度。數據的建立和保持時間等),不明白前期也沒有多大的問題。
因為s3c2440內部的nand flash控製器 做了大部分的工作,你需要做的基本就是設置 幾個時間參數而已。然後nand flash會自動進行這些細節操作。
當然如果處理器上沒有集成 nand flash的控製器 那麼久必須要自己來寫時序操作了。所以了解最底層的時序操作總是好的
但是上層一點的,比如讀寫操作的步驟時序(比如讀操作,你要片選使能,然後發命令,然後發地址,需要的話還需發一個命令,然後需要等待操作完成,然後再讀書數據)。
是必須要明白的。這都不明白的話,怎麼進行器件的操作呢
也就是說 s3c2440 可以說在你設置很少的幾個時間參數後,將每一個步驟中 細微的操作都替你做好了。(比如寫命令,你隻要寫個命令到相應寄存器中,cpu內部就會協各個引腳發出
適應的信號來實現寫命令的操作)。
而我們所需要做的 就是 把這些寫命令,寫地址,等待操作完成。等步驟組合起來 。從而完成一個 讀操作
就像上麵說的,雖然我們不會需要去編寫每個 步驟中的最細微的時序。 但是了解下。會讓你對每個操作步驟的底層細節更加明了
先來看一個命令鎖存的時序。也就是上麵說的 讀 nand flash操作中不是有一個 寫命令步驟嗎。那麼這個步驟具體是怎麼實現的。
首先 我們肯定是要片選 nand flash。隻有選中芯片才能讓他工作啊
nand flash是通過 ALE/CLE (高電平有效)來區分數據線上的數據時命令(CLE有效),地址(ALE有效)還是數據(CLE/ALE都無效)。
那麼這裏既然是寫命令 那麼就一定是 CLE有效(高電平) ALE無效(低電平)。
同樣命令既然是寫給nand flash的那麼 肯定有一個寫周期。我們需要注意的是,寫是在上升沿有效還是下降沿有效。
時序圖如下:
1 這裏是命令鎖存是時序,那麼我們要注意的其實就隻有 CLE 為高電平期間這段時序。(寫命令啊,CLE有效時(高電平)指示現在的數據其實命令)ALE此時一定為低電平我們可以不關心他
2 所以,CLE為 低電平的時期,其他大部分引腳上都是 灰色的陰影,這代表我們不需要關心這段時期這些引腳的電平
3 那麼 這個數據是什麼時候被nand flash讀取到的呢, 注意到 nWE信號 在上升沿有一個貫穿所有其他引腳時序的豎線(這好像是叫生命線?我也不清楚)
這就是說明,寫入的數據(命令也是數據啊,隻是可以通過CLE有效來區分)是在 WE的上升沿有效。
也就是說,(//www.gdzxks.com/)雖然WE是在低電平有效,但並不是說 WE一變成低電平,命令就被鎖存了(即真正獲得命令)而是在 WE 的上升沿,命令才真正被鎖存。
知道了上麵這三點,也就知道了一個大概,那麼剩下的圖中也隻剩那些 txx 的標號。明顯它指的是時間,但是具體指什麼時間呢。
指的就是箭頭兩邊所指的兩條 豎線之間的時間。(在每個信號的跳變沿,都有小豎線)
剩下的就是這些時間到底是代表什麼了。這裏沒什麼難的,剛接觸的覺得看不懂。是因為之前從來沒接觸過。(就像單片機剛學的時候不也是各種不懂,原因就是我們從沒接觸過)。
這些時間標號,在數據手冊的前麵都有說明
比如 tCLS tCLH 從數據手冊中我們可以看到 分表代表的 CLE建立時間,和CLE信號保持時間。
簡單點你可以理解為,我讓 CLE引腳 變成高電平,總得給人間一點時間去變成高電平吧。總不能瞬間就變成高電平
不過從 時序圖中我們能看到更多的端倪,之前不是說過 WE 的上升沿上不是有一個最長貫穿其他信號線的 豎線嗎。我們說他指示了,數據(命令也是數據)
是在上升沿被鎖存的,在 WE 的上升沿,我寫到數據線上的命令數據才真正被鎖存(接收),但是 我們注意到 CLE 信號在WE上升沿之前有就有效了。
所以我們說, 在命令數據真正被鎖存之前,CLE 有效的那段 tCLS 時間叫做 CLE信號建立時間。
WE上升沿後。命令已經被接受了,但這時候 CLE 其實可以變為無效了,因為已經獲取到命令了
但是他並沒有立刻結束,而是 Tclh時間之後才結束。那麼我們 稱這段 時間 tCLH 為 CLE 保持時間。
那麼再根據手冊中的說明 tCS 表示 片選信號建立時間,tCH表示片選信號保持時間
tDS表示數據建立時間,tDH表示數據保持時間
這裏我們看到一個小規律,在數據手冊中 以 S 結尾的時間通常指的是建立時間, 以 H 結尾的時間指的是保持時間
這裏命令鎖存的時序就分析完了。我們再來看看 地址鎖存時序圖,這個圖有點複雜,
因為nand flash的 特性是 地址周期通常需要好幾個,就是一個地址是分幾次發送的
再給出數據手冊中對應時間標號的說明
同樣我們按照上麵分析的步驟
1 這裏是地址鎖存是時序,那麼我們要注意的其實就隻有 ALE 為高電平期間這段時序。(寫命令啊,ALE有效時(高電平)指示現在的數據其實是地址)CLE此時一定為低電平,可以不用管
2 所以,ALE 為低電平的時期,其他大部分引腳上都是 灰色的陰影,這代表我們不需要關心這段時期這些引腳的電平
3 同樣 WE 的上升沿有一個貫穿其他信號線的長豎線,這也是代表數據(這裏其實是地址)在上升沿被鎖存
那麼剩下的也好理解
tCLS 這個我們不需要關心,因為 CLE 壓根就是無效的。
tCS 就像之前分析的,它是指 CE片選信號在 WE上升沿也就是鎖存地址之前的有效時間,也就是 CE 建立時間
tWC 呢? 不知道? 不知道 看手冊啊,前麵也說過這些時間標號在手冊中都會給出。
從上麵手冊的解釋我們看到,它指的是一個寫周期的時間
tWP 寫脈衝寬度(也就是 WE是低電平有限,twp指低電平持續時間,就是有效時間)
tWH 好理解了,就是高電平時間
ALS 這不就是 地址信號 ALE 建立時間嘛
ALH ALE信號有效保持時間啊
TDS TDH 數據建立和保持時間
就像上麵對 命令時序的分析,這裏 信號的 建立 和 保持時間都是以 數據被 鎖存分界點(WE上升沿)
初學單片機從51入門的好處 | |
51單片機是一款已經出現很久的單片機,它的出現可以說是劃時代的。同時期出現的其它單片機都已經逐漸退出曆史的舞台,而它卻依舊出現在某些專業的教材上。從這點來看,它依舊有其學習的意義。下麵說說初學單片機從51入門的好處。 51單片機的學習資源非常多... |
如何使用C語言控製硬件 | |
C語言的應用編程在單片機的領域占了很大一部分,使用的比較多的51單片機和STM32單片機都可以使用MDK軟件編寫固件。 單片機燒寫了固件後可以點亮LED燈,可以驅動ADC檢測電壓,也可以驅動蜂鳴器發聲,這就是簡單地控製硬件。稍微複雜一點的,可以驅動NRF2401進... |
c語言怎麼讀取一個變量的二進製文件內容 | |
C語言是一種高級語言,很多設置都為了符合我們程序員的理解做了相應的調整。機器對於變量的理解是基於電路,也就是所謂的高低電平。也是因為這個出現了一個二進製。 而人類的計數更喜歡使用十進製,有專家說是因為是人類當初計數使用的手指,這樣十進製比較... |
單片機為啥叫單片機 | |
1、MCU 我一般在工作計劃和原理圖的說明上,就直接將STM32或者STC89的單片機,標注為MCU。 無論是理解為Micro CPU,還是Microcontroller Unit,我認為都行,也沒有仔細去區分去過。自從32位單片機出來後,一些單片機設計的係統確實是具備部分電腦的功能。 你... |
16位單片機低端打不過8位高端打不過32位怎 | |
有時間去了解一下TI的MPS係列的單片機,它的低功耗和8位的51還有32位的STM32還是有一定的區別度的。 就比如MSP430係列,一些醫療的應用也少不了它,其各種低功耗的應用和例子一抓一大把。 也許從價格上來說,感覺,8位的便宜好買;從性能上來說,感覺,32位的... |
- 單片機和嵌入式哪個好
- 單片機重要特性含義解讀
- 單片機三總線結構及時序分析
- 單片機沒有PWM外設也可以做可調占空比
- 開源硬件arduino是什麼
- 標誌寄存器中的狀態標誌和控製標誌
- at89c51和stc12c5a60s2的引腳的區別
- 學習51單片機要用到哪些硬件工具
- 單片機定時的時間怎麼改變
- 單片機自動斷電或關機電路圖講解
- 串口的波特率如何計算?串口通信波特率計
- 單片機波特率計算公式和方法
- 51單片機ram區域劃分
- spi時序圖怎麼看?spi時序圖閱讀方法
- 51單片機怎麼顯示出數字的?單片機數碼管
- 51單片機有幾個中斷源_52單片機中斷源
- 嵌入式係統的評價方法
- AT89C51單片機為核心的時鍾電路的程序設
- stm32學到什麼程度叫精通
- 用STM32隻會庫函數不會用寄存器有影響嗎