趙慶嵐,陳志勇,魯 飛,趙 巖,范文超,郝強國
(1.駐太原地區第二軍代室,太原 030006;2.北方自動控制技術研究所,太原 030006;3.陸裝項目管理中心,太原 030009)
目前DP 多屏顯示已經廣泛應用,為了滿足武器裝備信息化的發展需求,本文將該技術應用到嵌入式操作系統,將“一個鍵盤統一操作,多屏共享顯示”的通用模式優化應用到火控系統,實現了多個鍵盤單獨操作、多屏獨立顯示、一個軟件統一管理的功能。在硬件上使用了共用處理器、DP 多屏顯示的新技術,其采用界面顯示資源與顯示處理資源分離的模式,通過高性能圖形圖像處理能力和高清視頻接口進行高清圖像顯示;軟件上通過底層設置,實現單屏獨立顯示及多屏顯示管理。DP 技術的使用,使得火控系統的硬件結構得到了簡化,減少信息處理環境,提高系統可靠性,降低了成本。
DP(Display Port)接口,是一種圖像顯示接口,由視頻電子標準協會推出可免費使用的高清數字顯示接口標準,不僅可以支持全高清顯示分辨率(1 920×1 080),還能支持4 K 分辨率(3 840×2 160)以及最新的8 K 分辨率(7 680×4 320)[1]。DP 能夠在傳輸視頻信號的同時加入對高清音頻信號傳輸的支持,視頻信號路徑中每個顏色通道可以有6 到16 位,由1、2 或者4 路差分對進行數據傳輸,并通過一個雙向的、半雙工的輔助通道攜帶了視頻數據鏈路需要的設備管理和設備控制數據,最大支持10.8 Gb/s 的傳輸帶寬。DP 接口能夠取代傳統的VGA、DVI 和FPD-Link(LVDS)顯示接口,并可以與傳統接口(HDMI)向后兼容。
DP 信號傳輸原理為:DP 顯示接口包含了1 個熱插拔信號、1 到4 對DP 信息傳輸線(DP0+、DP0-、DP1+、DP1-,DP2+、DP2-、DP3+、DP3-)和1 對協議傳輸線(AUX+、AUX-,半雙工、雙向信號線)[2]。DP接口分為Source 端和Sink 端,Source 端為信息的發起,Sink 端為信息的顯示。DP 接口信號傳輸原理如圖1 所示。

圖1 DP 接口信號傳輸原理
火控系統主要通過操控終端的人機交互實現武器平臺瞄準與發射,火控系統一般配置2~3 臺操控終端。常規設計中,操控終端通過B/S 或C/S 模式,與火控系統綜合處理計算機之間構成服務器與客戶端的信息處理交互,每個操控終端都是獨立的單體,具有自己的核心處理器,構建基本的信息處理系統。
DP 接口的應用,使得常規設計發生了變化,將原先獨立的操控終端變成了無處理器的操控終端[3],將原先獨立的操控終端的核心處理器功能集成到綜合處理單元,即采用界面顯示資源與顯示處理資源分離的模式設計。某型火控系統通過綜合處理單元中擴展3 路獨立的DP 接口與3 個操控終端連接,形成1 個主機帶3 個顯示器的信息處理與應用模式。在設計時3 個操控顯示臺(以下簡稱顯示臺)內部的顯示屏、顯示接口板型號和硬件設計完全相同,武器裝備控制箱通過3 個DP 顯示接口連接操控顯示臺1(操控員)、操控顯示臺2(維護員)和炮長顯示臺(炮長),顯示信息通過DP 接口傳輸給3 個操控顯示臺,用于炮長、操控員和維護員之間的信息共享,DP 接口。3 個顯示屏能進行視頻交互,通過設置,每個屏既可以同時顯示不同內容,獨自與控制箱交互信息,又可以顯示其他兩個屏的內容。
控制箱為DP 接口的Source 端,顯示臺為Sink端。通過DP 接口數據傳輸速度、顯示器分辨率、傳輸距離(使用電纜)的初步設置,武器裝備控制箱開機后,查詢到熱插拔信號為高,通過AUX 線與顯示臺之間進行協議的溝通,確定顯示分辨率、傳輸速率、傳輸LAN 數量、信號的擺幅、信號預增強值等,DP LAN 按照AUX 的溝通結果進行信息傳輸。控制箱與操控顯示臺之間的DP 接口傳輸原理如圖2 所示。

圖2 某型火控系統DP 信號原理
2.2.1 應用軟件部署設計
為了實現界面顯示資源與顯示處理資源分離的設計,任務服務模塊軟件集成了傳統火控系統的3 個終端軟件,任務服務框架軟件和3 個終端軟件同時運行在任務服務模塊,各操控終端捕獲對應操作員的按鍵操作,將按鍵串口信號發送給任務服務模塊中的各終端軟件進行處理,各終端軟件進行按鍵響應和頁面切換[4]。相比火控系統傳統方案,新的設計如下:1)去掉3 個終端的CPU 板,避免了傳統模式下計算機資源的空置浪費,極大地優化系統組成,降低系統成本;2)將終端軟件和任務服務框架軟件之間的數據交互,由之前的外部網絡通信變成了一個主板內進程間通信,降低了總線傳輸數據量,提升了數據傳輸可靠性,增加了網絡交換模塊的接口余量,為后續系統擴充提供了靈活性。
2.2.2 Linux 操作系統設計

圖3 火控系統軟件運行示意圖
通用Windows 操作系統的DP 使用,具有各顯示屏開機過程由于初始化順序致使各屏的顯示內容不固定的特點。這種特點使得火控系統“一主機多顯示”的運行過程中,出現某個屏開啟/關閉、線纜插拔引起的跳屏、閃屏等現象。針對火控系統的實際應用場景,本文對Linux 操作系統進行適配定制,主要包括以下設計:1)各顯示臺(DP 接口)進行固定內容推送顯示。推送顯示與各顯示臺的開機順序、各DP 口的初始化順序無關。2)操作系統不再對外圍接口的狀態進行判定,避免了運行過程一個屏開啟/關閉、線纜插拔導致的跳屏、閃屏等問題。做到“DP 口+顯示器+軟件+串口”強綁定。
DP 接口的參數設置選擇范圍較寬,如何選擇也是保證多屏顯示的重點。在工程實踐測試中發現,顯示臺偶爾會出現顯示屏沒有顯示信息的現象,例如:大約200 次的開關機測試中,會有1 個顯示臺出現顯示故障,重新開關武器裝備控制箱,現象不能消失,重新開關出現故障的顯示臺顯示信息正常。經過反復試驗,出現故障的概率相同。
針對該現象,查看武器裝備控制箱任務服務模塊的日志文件的記錄,可以看到有如下記錄:
[drm:intel_dp_check_link_status]*ERROR* Failed to get link status
[drm:drm_dp_dpcd_access]too many retries,giving up
由日志記錄可以看到武器裝備控制箱的任務服務模塊查詢到顯示臺的熱插拔信號,試圖通過AUX通道與顯示臺進行通信以獲取DP LINK 的狀態,但武器裝備控制箱的AUX 通道與顯示臺的AUX 通道通信故障,放棄讀取顯示臺的DP LINK 信息。
同時,在顯示臺端對AUX+和AUX-兩個信號進行了示波器監控,發現發生故障時,AUX+ 和AUX-信號為1 M 的方波,關閉武器裝備控制箱方波依然存在,重新給武器裝備控制箱上電,顯示臺仍然不能顯示。關閉顯示臺方波消失,AUX+ 和AUX-恢復正常狀態,重新給顯示臺上電,顯示臺恢復正常顯示。初步確定顯示臺故障導致顯示異常。AUX 工作正常時波形如圖4 所示。

圖4 AUX 工作正常的波形

圖5 AUX 工作不正常的波形
采用專用測試工具DPA400(AUX 通道檢測儀)對AUX 通道的通信數據進行跟蹤測試,發生故障時,錯誤代碼如下:

由DP 協議中關于AUX 通道的論述中可以看到,AUX 通道為雙向、半雙工通信信號,Source(武器裝備控制箱)和Sink(顯示臺)分別控制總線,Source(武器裝備控制箱)和Sink(顯示臺)端必須不停地切換TALK 狀態和LISTEN 狀態來保證雙向通信可以正常進行。從AUX 專用測試儀DPA400 捕獲的數據分析,Sink(顯示臺)的AUX 通道在響應了Source(武器裝備控制箱)的問答后,沒有回到正確的LISTEN 模式,導致Source(武器裝備控制箱)端無法發出下一個命令。分析確認顯示臺DP 到LVDS 的轉換芯片CH7511 中的固件存在缺陷。
重復多次對AUX 通信進行測量,每次開機到主界面顯示完成存儲為一個文件,連續進行30 次,存儲30 個文件,針對通信數據進行仔細查對,每份文件中的AUX 通道通信數據都有錯誤,且發生錯誤的位置并不固定,如下所示:
文件DPA-Debian-V4.1-L2-B-R-LRAM-1-201705011410:

文件 DPA-Debian-V4.1-L2-B-R-LRAM-3-201705011410:

文件DPA-Linux-V3.0-L1-B-R-LRAM-179-201705011410:
從文件數據分析,AUX 通道的通信不穩定。
針對DP 協議中對AUX 通道的傳輸協議進行分析,AUX 通道信號線是半雙工、雙向信號線,通信速率為1 M。武器裝備控制箱作為AUX 的主設備,操控顯示臺作為AUX 的從設備,主設備發起傳輸請求,從設備應答傳輸[5]。主設備AUX 的狀態轉換如圖6 所示。

圖6 主設備AUX 的狀態轉換
主設備(武器裝備控制箱)上電處于S0 狀態,復位完成后轉入S1 狀態,檢測到HPD 后轉入S2 狀態,發起傳輸請求,此時為“TALK MODE”;命令發送完成后轉入S3 狀態,進入”LISTEN MODE”;命令接收完成轉入S2 狀態,可以開始下一次的命令傳輸。從設備AUX 的狀態轉換如下頁圖7 所示。
從設備(操控顯示臺)上電復位處于D0 狀態,復位完成后轉入D1 狀態,進入”LISTEN MODE”,等待主機命令;收到主機命令完成后轉入D2 狀態,進入”TALK MODE”,準備應答主機命令;命令應答完成后轉入D1 狀態,進入”LISTEN MODE”,開始下一次的傳輸。
從專用測試設備DPA400 對AUX 通道的測量數據分析,從設備沒有正確的轉入”LISTEN MODE”,導致主設備無法開始下一次的AUX 傳輸,AUX 通信失敗,主機無法知道DP LINK 狀態,可以看到日志文件中顯示,Failed to get link status 即BIOS 或操作系統對DP 接口的初始化失敗,導致顯控臺無法顯示。

圖7 從設備AUX 的狀態轉換
芯片CH7511 的固件實現AUX 狀態轉換功能。通過以上的分析,可以確定CH7511 固件AUX 通道的狀態轉換存在缺陷,會導致概率性顯示故障的發生。通過試驗驗證,進行開關機800 次的AUX 通信數據測試(每次開關機存儲為一個文件),詳細核對800 份文件,記錄顯示測試及測試結果。最終將CH7511 固件參數設置如下:DP 協議由默認的eDP模式確定為DP 模式,設置通道連接速率為1.62 G,通道數量為單通道,時鐘輸入選擇晶體模式;確定液晶屏的LVDS 信號為單通道模式,選擇色深為18 bit,分辨率為1 024×768。
本文將DP 技術應用到嵌入式載體,將“一個鍵盤統一操作,多屏共享顯示”的通用模式優化應用到火控系統,實現了共用處理器、多屏顯示的新技術。在硬件上使用了界面顯示資源與顯示處理資源分離的模式,通過DP 高清視頻接口進行3 路高清圖像顯示;軟件上通過Linux 操作系統的適配設計以及CH7511 固件參數設置,有效地解決了火控系統多屏顯示傳輸偶爾不顯示的現象,實現了多屏顯示功能。本文的設計,節約了硬件成本,排除了顯示的隱患,提高了DP 應用的可靠性。