Python 开源 mysql Android 云计算 apache centos Windows Firefox 微软 程序员 php linux shell Ubuntu java wordpress 编程 google nginx

《Linux設備驅動開發詳解 A》一一2.6 硬件時序分析

2.6.1 時序分析的概念 
驅動工程師一般不需要分析硬件的時序,但是鑒於許多企業內驅動工程師還需要承擔電路板調試的任務,因此,掌握時序分析的方法也就比較必要了。
對驅動工程師或硬件工程師而言,時序分析的意思是讓芯片之間的訪問滿足芯片數據手冊中時序圖信號有效的先後順序、采樣建立時間(Setup time)和保持時間(Hold Time)的要求,在電路板工作不正常的時候,準確地定位時序方面的問題。
建立時間是指在觸發器的時鐘信號邊沿到來以前,數據已經保持穩定不變的時間,如果建立時間不夠,數據將不能在這個時鐘邊沿被打入觸發器;保持時間是指在觸發器的時鐘信號邊沿到來以後,數據還需穩定不變的時間,如果保持時間不夠,數據同樣不能被打入觸發器。如圖2.25所示,數據穩定傳輸必須滿足建立時間和保持時間的要求,當然,在一些情況下,建立時間和保持時間的值可以為零。
image

2.6.2 典型的硬件時序 
最典型的硬件時序是SRAM的讀寫時序,在讀/寫過程中涉及的信號包括地址、數據、片選、讀/寫、字節使能和就緒/忙。對於一個16位、32位(甚至64位)的SRAM,字節使能表明哪些字節被讀寫。
圖2.26給出了SRAM的讀時序,寫時序與此相似。首先,地址總線上輸出要讀(寫)的地址,然後發出SRAM片選信號,接著輸出讀(寫)信號,之後讀(寫)信號要經歷數個等待周期。當SRAM讀(寫)速度比較慢時,等待周期可以由MCU的相應寄存器設置,也可以通過設備就緒/忙(如圖2.27中的nWait)向CPU報告,這樣,讀寫過程中會自動添加等待周期。
image

圖2.26 SRAM讀時序圖
NOR Flash和許多外設控制芯片都使用了類似SRAM的訪問時序,因此,牢固掌握這個時序意義重大。一般,在芯片數據手冊給出的時序圖中,會給出圖中各段時間的含義和要求,真實的電路板必須滿足芯片數據手冊中描述的建立時間和保持時間的最小要求。

延伸阅读

    评论