理解資料流動對於數位電子與微控制器的應用至關重要。時序圖即是此流動的藍圖,用以呈現訊號隨時間的變化情形。對嵌入式工程師而言,這些圖表不僅僅是圖示,更是定義硬體行為、驗證通訊協定與排除系統故障的語言。
本指南將深入探討時序圖。我們將涵蓋基礎理論、關鍵參數、常見通訊協定,以及用於除錯的實際應用。無論您是設計新電路,還是分析故障設備,掌握這項視覺化工具對技術成功至關重要。

📐 什麼是時序圖?
時序圖是訊號或訊號群在時間上的圖形化表示。它描繪系統內不同電氣訊號之間的關係。與僅顯示連接關係的邏輯圖不同,時序圖顯示何時事件發生的時間。
主要特徵包括:
- 時間軸:水平軸代表時間,由左向右移動。其形式可為線性或非線性,取決於分析的重點。
- 訊號線:垂直線代表單一訊號(例如:時鐘、資料、使能)。這些訊號線垂直堆疊,以顯示彼此之間的關係。
- 邏輯電平:訊號通常在高電平(邏輯1 / VCC)與低電平(邏輯0 / GND)之間切換。
- 轉換:從一個電平轉換到另一個電平,以邊緣(上升或下降)來表示。
在嵌入式系統中,時序圖確保資料能在完全穩定的瞬間被採樣。若缺乏此同步,資料立即會發生損壞。
🔑 核心概念與參數
要有效閱讀這些圖表,必須理解定義訊號完整性的特定指標。這些參數決定了數位電路是否能正確運作,或因時序違規而失敗。
1. 週期與頻率
週期是指訊號完成一個完整週期重複所需的時間。頻率是週期的倒數。
- 週期 (T):以秒(或奈秒、微秒)為單位測量。
- 頻率 (f):以赫茲(Hz)為單位測量。公式:
f = 1 / T.
在時鐘訊號中,週期決定了處理器或周邊裝置運作的速度。週期越短,表示時鐘速度越快。
2. 占空比
占空比代表訊號在一個週期中處於活躍狀態(高電平)的百分比。
- 50% 占空比: 訊號在週期的一半時間為高電平,另一半時間為低電平。這在標準方波中很常見。
- 非50%占空比: 常用於特定控制應用中,例如 PWM(脈衝寬度調製),其中脈衝寬度會變化以控制功率或速度。
3. 上升時間與下降時間
訊號不會立即切換。電壓在邏輯電平之間轉換需要一段有限的時間。
- 上升時間: 從低電平(10%)轉換到高電平(90%)所需的時間。
- 下降時間: 從高電平(90%)轉換到低電平(10%)所需的時間。
快速的上升與下降時間對於高速通訊至關重要。緩慢的轉換可能導致訊號劣化、易受雜訊干擾以及時序錯誤。
4. 建立時間與保持時間
這些是同步數位電路中最關鍵的參數,特別是在資料由時鐘邊緣捕獲時。
| 參數 | 定義 | 為何重要 |
|---|---|---|
| 建立時間(tsu) | 資料必須穩定的最短時間在時鐘邊緣到達之後。 | 確保輸入鎖存器有足夠時間識別邏輯電平。 |
| 保持時間(th) | 資料必須保持穩定的最短時間在時鐘邊緣到達之後。 | 防止鎖存器仍在關閉過程中時資料發生變化。 |
如果資料在設定或保持視窗期間發生變動,系統可能會進入一個亞穩態。這會導致無法預測的行為,信號會在高電平與低電平之間徘徊,持續時間不定。
📡 通訊協定與時序
不同的協定具有獨特的時序需求。了解每個介面的特定時序圖表,對於硬體設計與驅動程式開發至關重要。
1. I2C(內部整合電路)
I2C 是一種雙線介面(SCL 和 SDA),用於整合電路之間的短距離通訊。
- SCL(序列時鐘): 由主機驅動。控制資料傳輸的速度。
- SDA(序列資料): 雙向傳輸。資料僅能在 SCL 為低電平時變動。
- 起始條件: 當 SCL 為高電平時,SDA 從高電平轉為低電平。
- 停止條件: 當 SCL 為高電平時,SDA 從低電平轉為高電平。
在 I2C 中,時序圖顯示了時鐘拉伸。若從屬裝置速度較慢,可將 SCL 線路拉低,以延遲主機,直到其準備就緒。
2. SPI(序列周邊介面)
SPI 是一種較快速的同步協定,通常用於快閃記憶體、感測器和顯示器。
- SCK(序列時鐘): 由主機產生。
- MOSI(主機輸出,從機輸入): 資料由主機傳送到從機。
- MISO(主機輸入,從機輸出): 資料由從機傳送到主機。
- SS/CS(從機選擇): 低電平有效信號,用於啟用特定裝置。
SPI 的時序高度依賴時鐘極性(CPOL)和時鐘相位(CPHA)。圖表會根據資料是在時鐘的上升沿或下降沿被採樣而有所不同。
3. UART(通用非同步接收發送器)
UART 不使用時鐘線路,而是依賴雙方設備事先協定好的預設波特率(速度)。
- TX/RX 線路: 發送和接收使用獨立的訊號線。
- 起始位: 低電平訊號,表示資料幀的開始。
- 資料位: 實際資料的 5 到 8 個位元。
- 停止位: 高電平訊號,表示資料幀的結束。
UART 的時序圖顯示位元週期。若波特率為 115200,每個位元持續時間約為 8.68 微秒。設備之間時鐘準確度的差異會導致框架錯誤。
🔍 讀取與分析時序圖
當您開啟資料手冊或邏輯分析儀的追蹤資料時,會尋找特定的模式。以下是系統化分析的方法。
1. 確定時鐘來源
找出規律且週期性的訊號。這就是您的參考點。所有其他訊號都應以此時鐘邊緣為基準進行分析。在非同步系統中,則應尋找起始位或握手訊號。
2. 檢查訊號有效時間窗
觀察資料線。時鐘採樣時,它們是否穩定?如果資料線在時鐘邊緣到達時恰好切換,接收端可能讀取錯誤的值。這通常會在資料週期中間呈現為「雜訊」。
3. 測量傳播延遲
訊號需要時間從一片晶片傳送到另一片。若時鐘速度極快,延遲可能超過時鐘週期。時序圖有助於視覺化這種偏移。若因導線長度導致資料到達過晚,可能違反建立時間。
4. 檢查握手訊號
許多協定使用額外的訊號線進行流量控制(例如:忙碌、確認、否定確認)。時序圖會顯示主機何時等待從機回應。若時序不符合協定規範,通訊將失敗。
🛠️ 實際調試與故障排除
時序圖是調試硬體問題的主要工具。當系統無法初始化或資料損壞時,時序圖會揭示問題所在。
1. 識別雜訊
雜訊是一種意外出現的短脈衝。可能是由電氣雜訊或邏輯閘中的競態條件所導致。在時序圖中,它會呈現為持續數納秒的尖峰。若觸發器捕捉到此尖峰,將引發不必要的狀態變更。
2. 檢測亞穩態
亞穩態發生於非同步訊號被同步時鐘採樣時。輸出電壓會在高與低之間的未定義區域中懸浮。在示波器波形上,這看起來像是一次過慢的轉換,持續時間超過指定的上升時間。
3. 分析時鐘偏移
偏移發生於時鐘訊號以不同時間抵達電路的不同部分。若時鐘在資料來源處先到達,而接收端尚未準備好,資料可能在被採樣前就已改變。時序圖可讓您測量時鐘邊緣到達時間的差異。
4. 驗證上電順序
微控制器通常需要電源軌按特定順序穩定。時序圖可顯示 VCC 和重置訊號的電壓上升過程。若重置訊號釋放過早,處理器可能執行無效程式碼。
⚠️ 時序分析中的常見錯誤
即使經驗豐富的工程師也可能忽略細節。以下是一些應避免的常見陷阱。
- 忽略電壓級別: 訊號在邏輯上可能是「高」,但如果電壓過低(例如在3.3V系統中為2.5V),可能不會被視為有效的1。務必檢查電壓門檻值(VIL,VIH).
- 假設瞬時切換: 實際訊號具有上升和下降時間。高速設計必須考慮矽材質的物理限制。
- 忽略負載效應: 將太多裝置連接到匯流排會增加電容。這會減慢上升和下降時間,可能違反時序約束。
- 忽略溫度: 電路性能會隨溫度變化。在室溫下有效的時序餘量,在極端高溫或低溫下可能失效。
📝 創建您自己的時序圖
文件記錄是團隊協作的關鍵。在為自己的設計創建圖表時,請遵循以下最佳實務。
- 使用標準符號: 使用業界標準的邊緣和電平形狀,以確保清晰度。
- 明確標示時間比例: 說明比例是否為線性。若需放大特定事件,請使用「放大」的插入視圖。
- 包含註解: 加入註解以解釋關鍵事件,例如「重置有效」或「資料有效視窗」。
- 明確條件: 記錄時序適用的操作條件(電壓、溫度)。
| 通訊協定 | 速度 | 導線 | 典型應用案例 |
|---|---|---|---|
| I2C | 低至中等 | 2 | 設定、感測器、EEPROM |
| SPI | 高 | 4 | 快閃記憶體、顯示器、ADC |
| UART | 低至中等 | 2 | 除錯主控台、GPS、藍牙 |
| USB | 極高 | 4 | 周邊設備、儲存、電源 |
🚀 對時序完整性的結論
時序圖不僅僅是繪圖;它們是嵌入式系統中訊號完整性的驗證。透過理解時間與電壓之間的關係,工程師可以設計出在現實環境中可靠運作的穩固硬體。
專注於最重要的參數:建立與保持時間、上升/下降特性以及時鐘同步。當遇到故障時,追蹤訊號。尋找時序崩潰的瞬間。這種系統化的方法能加快除錯速度,並提升產品的可靠性。
隨著設計的變更,持續更新您的圖表。一份詳細記錄的時序規格將為未來節省無數小時的故障排除時間。運用這些視覺工具,彌補理論邏輯與實際物理現實之間的差距。