演示廣受歡迎的NEC紅外協議
NEC 協議是家庭自動化應用(如電視遙控器)中最廣泛使用的紅外(IR)通信標準之一,以其穩定且簡潔的脈沖間隔編碼方案而聞名。
本文將演示瑞薩 SLG47011 如何利用其內置資源高效實現 NEC 協議控制邏輯,無需外部組件或復雜的微控制器代碼(圖 1)。SLG47011 的可配置架構通過存儲表配置器支持多達 9 條用戶自定義命令,適用于多種紅外遙控應用場景。

1. SLG47011根據開關輸入產生紅外脈沖。
NEC紅外傳輸協議
由于 NEC 協議采用脈沖間隔編碼,編程自定義消息時需明確邏輯位的傳輸方式(圖 2)。

2. 每個比特起始為562.5微秒脈沖突發,隨后邏輯0或1分別為562.5微秒或1.6875毫秒的空間。
脈沖時序定義如下:
邏輯 “0”——562.5 微秒脈沖串 + 562.5 微秒間隔,總傳輸時間 1.125 毫秒。
邏輯 “1”——562.5 微秒脈沖串 + 1.6875 毫秒間隔(3 個 562.5 微秒周期),總傳輸時間 2.25 毫秒。
觀察圖 1 的設計,NMOS 漏極開路(OD)引腳 4-5 并聯連接以提高輸出信號電流,因此波形將顯示輸出信號的反相版本。
根據 NEC 協議規范,標準載波頻率為 38.222 千赫茲。本設計中選擇 38.167 千赫茲,作為與規范最接近的匹配值。
NEC 協議消息結構定義如下:
9 毫秒引導脈沖串(邏輯數據位脈沖串長度的 16 倍)
4.5 毫秒間隔
8 位接收設備地址
8 位地址邏輯反碼
8 位命令
8 位命令邏輯反碼
最終 562.5 微秒脈沖串(表示消息傳輸結束)
NEC 協議消息結構在每個數據包中發送地址、命令數據及其反碼(圖 3)。按鍵按下時發送消息。

3.NEC 協議消息結構在每個數據包中發送地址、命令數據及其反碼。
如果按鍵一直按住,每110毫秒發送一次重復碼(見圖4)。重復碼為 9 毫秒脈沖串 + 2.25 毫秒間隔 + 560 微秒脈沖串。

4. 若按鍵保持按下狀態,每 110 毫秒發送一次重復碼。重復碼為 9 毫秒脈沖串 + 2.25 毫秒間隔 + 560 微秒脈沖串。
盡管 NEC 協議有標準消息結構,但擴展版本應用更為廣泛。擴展版 NEC 協議中,為擴大地址范圍,第二幀不再是地址邏輯反碼,而是寄存器地址。本設計基于擴展版 NEC 協議開發。
GreenPAK NEC 協議設計
GreenPAK 是瑞薩公司推出的一系列可編程混合信號芯片。在此示例中,設計(圖5)由五個主要階段組成:

5. 本圖展示了GreenPAK內部設計,用于實現NEC紅外協議控制器。
1. 第一階段:輸入信號檢測。為確保設計正常工作,每個輸入信號連接至用作去抖的計數 / 延遲(CNT/DLY)模塊,去抖延遲時間配置為輸入信號上升沿后 40 毫秒。
2. 第二階段:檢測是否僅一個輸入信號為高電平。此場景下,3 位查找表(LUT4)從空閑高電平切換至低電平,重置存儲控制計數器。
3. 第三階段:NEC 協議控制邏輯。存儲表(Memory Table)模塊與寬度轉換器(12 至 12 模式)配合,手動設置所需命令(含重復碼):
OUT0-OUT8 包含 9 種可能的消息。
OUT10-OUT11 分別包含重復碼(RepeatCode)和重復使能(RepeatEnable)信號(重復使能為自定義信號,消息結束后 40 毫秒從空閑低電平切換至高電平)。
寬度轉換器采用 1.778 千赫茲內部時鐘信號(周期對應 562.5 微秒),確保每個比特長度符合規范。
D 觸發器(DFF)模塊用作 1 位存儲單元,每次單個輸入信號切換至高電平時重置;僅當輸入信號保持高電平超過 108 毫秒時,才將重復碼信號傳遞至輸出總線。
設置自定義消息時,需牢記存儲表模塊的核心工作原理:該模塊可存儲并發送多達 4096 個 12 位數據字,每個數據字占用 2 字節(最后 4 位未使用)。在存儲表手動編輯模式下,每個 12 位數據字并行存儲于 12 個輸出端(OUT0(最低位)-OUT11(最高位)),每個輸出端對應 1 位數據。
例如,要在 OUT0 上輸出消息 10011100(最低位優先),需執行以下步驟:
將目標消息拆分為兩個 4 位塊。
交換兩個塊的順序。
分別水平鏡像每個塊。
將最終組合結果的十六進制值寫入存儲表(圖 6)。

6. 內存表設置用于自定義消息。
此外,也可通過手動編輯器手動設置第 1 至第 8 個數據字。
4. 第四階段:為 OUT0-OUT8 的每條消息提供 3 位多路復用器,僅當重復使能信號為低電平時允許命令通過。
5. 第五階段:作為所有信號的主總線(圖 7)。

7. 展示了NEC協議設計GreenPAK邏輯的最后階段。
之后,通過 MF10 模塊生成的 38.222 千赫茲頻率對傳遞的信號進行調制(圖 8)。

8. 顯示的是GreenPAK設計工具中MF10模塊的配置設置。
如前所述,輸出信號經反相器后,通過漏極開路 NMOS 驅動紅外 LED。
使用 NEC 協議控制邏輯演示板
為測試設計可行性,搭建了演示板(圖 9)。

9. 演示板旨在突出使用該SLG47011實現NEC協議的過程。
測試中使用 Arduino UNO 和 Keyestudio 紅外接收器對 NEC 協議進行解碼,圖 10 展示了設備及連接方式。

10. 這是Arduino UNO和Keyestudio紅外接收器的連接示意圖。
測試結果
對設計進行了硬件測試,獲得以下波形結果。各圖中通道定義:
CH3(粉色):高電平有效輸入信號
CH2(藍色):調制輸出信號
圖 11 顯示演示板上捕獲的包含初始消息和重復碼的調制輸出信號。

11. 顯示演示板上捕獲的包含初始消息和重復碼的調制輸出信號。
通過光標工具測量的初始消息時序,確認其符合 NEC 協議規范(圖 12)。

12. 通過光標工具測量的初始消息時序,確認其符合 NEC 協議規范。
通過光標測量工具確認邏輯 “1” 和 “0” 的標準時序。

13.通過光標工具測量邏輯 “1” 比特時序,驗證符合 NEC 協議規范。
圖14所示的波形展示了邏輯的“1”和“0”時間范圍。

14. 通過光標工具測量的邏輯“1”位時間框架,以確認消息傳輸時序符合NEC協議規范。
圖15中,波形展示了邏輯上的“1”時間框架。測量通過光標工具完成。

15. 通過光標工具測量的邏輯“0”位時間框架,以確認消息傳輸時序符合NEC協議規范。
圖16中的波形展示了載波頻率。測量通過光標和示波器測量工具完成。

16. 通過頻率和光標工具測量載波頻率值和1/2T時間框架,以確認消息傳輸時序符合NEC協議規范。
圖17中,波形展示了RepeatCode的時間框架。測量通過光標工具完成。

17. 通過光標工具測量重復代碼時間范圍,以確認消息傳輸時序符合NEC協議規范。
結論:實現 NEC 協議兼容
捕獲的波形清晰驗證了設計符合 NEC 協議規范,確認其準確性和可靠性。該方案成功將命令無誤差傳輸至接收器,并通過 Arduino UNO 平臺與 Keyestudio 紅外接收器完成實際驗證,證明設計具備穩定性,可投入實際紅外應用場景。













評論