天天看點

Linux驅動設計硬體基礎(六)硬體時序分析

2.6 硬體時序分析

2.6.1 時序分析的概念

    驅動工程師一般不需要分析硬體的時序,但許多企業内驅動工程師還需要承擔電路闆調試的任務,是以,掌握時序分析的方法也就比較必要了。

    對驅動工程師或硬體工程師而言,時序分析是讓晶片之間的通路滿足晶片資料手冊中時序圖信号有效的先後順序、采樣建立時間(Setup Time)和保持時間(Hold Time)的要求,在電路闆工作不正常的時候,準确地定位時序方面的問題。

    建立時間是指在觸發器的時鐘信号邊沿到來以前,資料已經保持穩定不變的時間,如果建立時間不夠,資料将不能在這個時鐘邊沿被打入觸發器;保持時間是指在觸發器的時鐘信号邊沿到來以後,資料還需穩定不變的時間,如果保持時間不夠,資料同樣不能被打入觸發器。

2.6.2 典型的硬體時序

最典型的硬體時序是SRAM(靜态随機存取存儲器)的讀寫時序,在讀/寫過程中涉及的信号包括位址、資料、片選、讀/寫、位元組使能和就緒/忙。對于一個16位、32位(甚至64位)的SRAM,位元組使能表明哪些位元組被讀寫。

圖2.26給出了SRAM的讀時序。

Linux驅動設計硬體基礎(六)硬體時序分析

圖2.26 SRAM讀時序圖

    首先,位址總線上輸出要讀(寫)的位址,然後發出SRAM片選信号,接着輸出讀(寫)信号,之後讀(寫)信号要經曆數個等待周期。當SRAM讀(寫)速度比較慢時,等待周期可以由MCU的相應寄存器設定,也可以通過裝置就緒/忙(如圖2.27中的nWait)向CPU報告,這樣,讀寫過程中會自動添加等待周期。

    NOR Flash和許多外設控制晶片都使用了類似SRAM的通路時序,是以,牢固掌握這個時序意義重大。一般,在晶片資料手冊給出的時序圖中,會給出圖中各段時間的含義和要求,真實的電路闆必須滿足晶片資料手冊中描述的建立時間和保持時間的最小要求。