本發明涉及通信網絡時間同步技術領域,具體來說是一種tte終端系統內部時間同步系統及方法。
背景技術:
tte系統因其高可靠性、高確定性而廣泛應用于航空電子、無人車等領域。tte的終端系統與交換機是tte系統的主要組成部分,tte的終端系統是由主機和tt控制器或是以太網控制器通過cni總線連接組成的系統,但現有的tte終端系統中主機和控制器之間通信延遲的不確定性直接影響主機發送命令的時間,并造成控制器接收并執行命令的時間不確定,由此可能導致會發出的消息不及時。當tte網絡中的sm(同步控制器)、cm(集中控制器)等作為協議中的固有節點時,其表示:當網絡節點外接時鐘源時,由于主機時鐘與控制器時鐘的不一致性,將會導致時鐘精度降低;而當網絡節點作為同步主節點(sm)時,該網絡節點的時鐘則會參與時鐘同步算法的計算,可能會對同步結果造成一定影響。
技術實現要素:
本發明的目的在于提供一種tte終端系統內部時間同步系統及方法,以有效地解決tte終端系統內部時鐘不同步,內部數據傳輸存在的不確定延遲問題。
為了解決上述技術問題,本發明采用了如下的技術方案:
本發明一方面提供一種tte終端系統內部時間同步系統,包括主機、通信控制器,
所述的通信控制器與主機和至少一個交換機進行通信,通信控制器包括tte/cots控制模塊和同步模塊,所述的同步模塊分別與主機和tte/cots控制模塊通信,同步模塊執行時鐘同步算法,并將計算得到的時鐘修正值分別傳送至主機和tte/cots控制模塊,以使主機和tte/cots控制模塊根據時鐘修正值修正本地時鐘;
所述的tte/cots控制模塊分別與主機、同步模塊和交換機通信,在接收到同步模塊發出的時鐘修正值后修正tte/cots控制模塊的本地時鐘;接收交換機發出的數據幀或根據主機的命令產生數據幀,并在分配給網絡節點的固定時隙內向交換機發送數據幀;
所述的主機發送終端系統內部時鐘同步命令和tte網絡中不同流量等級的命令,并在接收到同步模塊發出的時鐘修正值后修正主機的本地時鐘。
進一步地,同步模塊包括時間戳單元、1588控制器和實時時鐘模塊,
所述的時間戳單元分別與主機和1588控制器通信,在接收到主機發送終端系統內部時鐘同步命令產生的時間同步信號后,插入時間戳,并將帶有時間戳的時間同步信號送入1588控制器;
所述的1588控制器分別與時間戳單元和實時時鐘模塊通信,在接收到時間戳單元發出帶有時間戳的時間同步后,產生延時請求數據幀,并通過時間戳單元將插入時間戳的延時請求數據幀返回至主機,待主機返回延時應答數據幀后,根據延時請求數據幀和延時應答數據幀計算主機與通信控制器之間的傳輸延時和時間偏差,得出時鐘修正值,并將時鐘修正值發送至實時時鐘模塊;
所述的實時時鐘模塊分別與主機、1588控制器和tte/cots控制器通信,在接受到1588控制器發出的時鐘修正值后,將時鐘修正值分別發送至主機和tte/cots控制器。
進一步地,所述的同步模塊為執行1588協議算法的芯片或可編程器件。
進一步地,tte/cots控制模塊包括tt/cots控制器、時鐘模塊、時鐘同步模塊和與交換機進行通信的發送器和接收器,
所述的tt/cots控制器分別與主機、發送器、接收器通信,用于根據接收主機發送的命令產生流量等級不同的tt數據幀、rc數據幀、be數據幀,并根據tdma分配的時間表在固定時隙內通過發送器向交換機發送數據幀;或者,通過接收器接收交換機發出的數據幀,并按照數據幀類型執行不同操作;
所述的時鐘模塊分別與時間同步模塊和同步模塊通信,用于實時檢測同步模塊發送的時鐘信號,在檢測到時鐘信號時,將時鐘修正值發送至時鐘同步模塊;
所述的時鐘同步模塊分別與時鐘模塊和接收器通信,用于根據時鐘修正值更新tte/cots控制模塊的本地時鐘。
進一步地,tt/cots控制器在接收到交換機發出的pcf數據幀時,通過時鐘同步模塊和時鐘模塊修正tte/cots控制模塊的本地時鐘。
進一步地,所述的主機配置有端口接口、時間戳接口和時鐘接口,主機通過總線和端口接口、時間戳接口、時鐘接口與通信控制器進行通信。
本發明另一方面提供一種tte終端系統內部時間同步的方法,所述的時間同步方法具體步驟為:
s1.配置主機、通信控制器、交換機之間的通信連接關系,使通信控制器與主機和交換機之間相互通信;
s2.主機發起終端系統內部時鐘同步命令,并向通信控制器發送時間同步信號,通信控制器在接收到時間同步信號后產生延時請求數據幀,并將延時請求數據幀送入主機;
s3.主機收到延時請求數據幀后產生延時應答數據幀,并將延時應答數據幀返回至通信控制器,通信控制器根據延時請求數據幀和延時應答數據幀計算主機與通信控制器之間的傳輸延時和時間偏差,得出時鐘修正值;
s4.通信控制器將時鐘修正值發送至主機,并依據時鐘修正值對通信控制器的本地時鐘進行修正,主機在接收到時鐘修正值后對主機的本地時間進行修正;
s5.主機發起不同流量優先級的tte網絡命令;
s6.通信控制器根據主機的tte網絡命令或在接收到交換機發出的數據幀時產生不同流量等級的數據幀并在分配給網絡節點的固定時隙內向交換機發送相應數據幀。
進一步地,所述的步驟s6具體為:
s61.判斷通信控制器是否接收到主機發送的命令并引起中斷;若未引起中斷,則發送中斷并創建tt數據幀、rc數據幀、be數據幀,并進入步驟s62;
s62.讀取tte網絡命令的優先級并判斷是否為tt數據幀;
s63.若是tt數據幀,則判斷通信控制器是否正在發送rc數據幀或be數據幀,若通信控制器正在發送rc數據幀或be數據幀,則tt數據幀搶占信道,停止發送rc數據幀或be數據幀;若通信控制器不在發送rc數據幀或be數據幀,則進入步驟s65;
s64.若不是tt數據幀,則將數據幀存入緩存,并判斷通信控制器是否在發送tt數據幀,如果通信控制器在發送tt數據幀則等待;若通信控制器不在發送tt數據幀,則進入步驟s65;
s65.判斷數據幀發送的時間點是否在本網絡節點的時隙內,若在,則向交換機發送數據幀,若不在,則等待到本網絡節點的時隙內時再發送數據。
進一步地,所述的步驟s61還包括:
s611.若引起中斷,則接收中斷并接收交換機發出的數據幀;
s612.判斷數據幀是否為pcf數據幀;若是pcf數據幀,則進入步驟613;若不是pcf數據幀,則檢測時鐘修正值是否更新,若時鐘修正值已更新,則進入步驟s613;若時鐘修正值未更新,則判斷數據幀類型,并提交至處理數據幀的程序處理;
s613.根據更新后的時鐘修正值更新通信控制器的本地時鐘。
進一步地,所述的通信控制器在接收到時間同步信號后蓋上時間戳;并在產生一個發送至主機的延時請求數據幀時蓋上發送時的時間戳。
本發明由于采用以上技術方案,使之與現有技術相比,具有以下的優點和積極效果:
本發明通過同步模塊對主機和通信控制器的本地時鐘進行了修正,從而提高了時鐘的精度、輸出時鐘的穩定性和確定性,有效解決了tte終端系統內部時鐘不同步,內部數據傳輸存在不確定延遲問題,保證了主機與通信控制器之間有確定性的傳輸延遲;本發明能使僅含有cots控制器的通信控制器也可以發送tt消息,從而達到使用tte控制器的效果。
附圖說明
圖1為本發明中tte終端系統內部時間同步系統的框圖;
圖2為本發明的流程示意圖;
圖3為本發明中通信控制器的執行流程示意圖。
具體實施方式
以下結合附圖和具體實施例對本發明提出的技術方案進一步詳細說明。根據下面說明和權利要求書,本發明的優點和特征將更清楚。需說明的是,附圖均采用非常簡化的形式且均使用非精準的比率,僅用于方便、明晰地輔助說明本發明實施例的目的。
實施例1
參見圖1,圖1為本發明中tte終端系統內部時間同步系統的系統框圖,本系統主要包括主機和通信控制器,通信控制器與主機和至少一個交換機分別進行通信,其中,主機配置有端口接口、時間戳接口和時鐘接口,通信控制器通過總線(如pci總線)和端口接口、時間戳接口、時鐘接口與主機進行通信;通信控制器帶有發送器和接收器,發送器和接收器是用于使通信控制器與至少一個交換機等網絡設備進行通信。
通信控制器包括tte/cots控制模塊和同步模塊,同步模塊分別與主機和tte/cots控制模塊通信,同步模塊主要用于執行主機與控制器之間的時鐘同步算法,并將計算得到的時鐘修正值分別傳送至主機和tte/cots控制模塊,以使主機和tte/cots控制模塊根據時鐘修正值修正本地時鐘。
同步模塊為執行1588協議算法的1588芯片或可編程器件,如dp83640、fpga等,本實施例中,同步模塊具體包括時間戳單元、1588控制器和實時時鐘模塊:
時間戳單元分別與主機和1588控制器通信,主要是通過總線、時間戳接口與主機進行通信,時間戳單元在接收到主機發送終端系統內部時鐘同步命令產生的時間同步信號后,插入時間戳,并將帶有時間戳的時間同步信號送入1588控制器;
1588控制器分別與時間戳單元和實時時鐘模塊通信,在接收到時間戳單元發出帶有時間戳的時間同步后,產生延時請求數據幀,并通過時間戳單元將插入時間戳的延時請求數據幀返回至主機,待主機返回延時應答數據幀后,根據延時請求數據幀和延時應答數據幀計算主機與通信控制器之間的傳輸延時和時間偏差,得出時鐘修正值,并將時鐘修正值發送至實時時鐘模塊;
實時時鐘模塊分別與主機、1588控制器和tte/cots控制器通信,在接受到1588控制器發出的時鐘修正值后,通過總線將時鐘修正值分別發送至主機和tte/cots控制器,以便主機和tte/cots控制器更新時鐘。
tte/cots控制模塊分別與主機、同步模塊和交換機通信,其主要是在接收到同步模塊發出的時鐘修正值后修正tte/cots控制模塊的本地時鐘;并接收交換機發出的數據幀或根據主機的命令產生數據幀,在分配給網絡節點的固定時隙內向交換機發送數據幀。
tte/cots控制模塊主要包括tt/cots控制器、時鐘模塊、時鐘同步模塊和發送器和接收器:
tt/cots控制器分別與主機、發送器、接收器通信,用于根據接收主機發送的命令產生流量等級不同的tt數據幀、rc數據幀、be數據幀,并根據tdma分配的時間表在固定時隙內通過發送器向交換機發送數據幀;或者,通過接收器接收交換機發出的數據幀,并按照數據幀類型執行不同操作;
tt/cots控制器在發送數據幀時,需讀取tte網絡命令的優先級并判斷是否為tt數據幀;若是tt數據幀,則判斷通信控制器是否正在發送rc數據幀或be數據幀,若通信控制器正在發送rc數據幀或be數據幀,則tt數據幀搶占信道,停止發送rc數據幀或be數據幀;若通信控制器不在發送rc數據幀或be數據幀,則判斷數據幀發送的時間點是否在本網絡節點的時隙內,若在,則向交換機發送數據幀,若不在,則等待到本網絡節點的時隙內時再發送數據;若不是tt數據幀,則將數據幀存入緩存,并判斷通信控制器是否在發送tt數據幀,如果通信控制器在發送tt數據幀則等待;若通信控制器不在發送tt數據幀,則判斷數據幀發送的時間點是否在本網絡節點的時隙內,若在,則向交換機發送數據幀,若不在,則等待到本網絡節點的時隙內時再發送數據。
當tt/cots控制器在接收到交換機發出的pcf數據幀時,通過時鐘同步模塊和時鐘模塊修正tte/cots控制模塊的本地時鐘,具體地,先判斷數據幀是否為pcf數據幀;若是pcf數據幀,則根據更新后的時鐘修正值更新通信控制器的本地時鐘;若不是pcf數據幀,則檢測時鐘修正值是否更新,若時鐘修正值已更新,則根據更新后的時鐘修正值更新通信控制器的本地時鐘;若時鐘修正值未更新,則判斷數據幀類型,并提交至處理數據幀的程序處理。換句話說,當tt/cots控制器發送pcf數據幀時,不需要判斷是否在本網絡節點的時隙內,直接發送即可;當tt/cots控制器檢測到除上述信號以外的其他信號,則交由tte處理數據幀的程序處理。
時鐘模塊分別與時間同步模塊和同步模塊通信,用于實時檢測同步模塊發送的時鐘信號,在檢測到時鐘信號時,將時鐘修正值發送至時鐘同步模塊;時鐘同步模塊通過總線分別與時鐘模塊和接收器通信,用于根據時鐘修正值更新tte/cots控制模塊的本地時鐘。
主機上配置有ieee1588應用程序和tte應用程序,并配置端口接口、時間戳接口和時鐘接口,主機主要是發送終端系統內部時鐘同步命令和tte網絡中不同流量等級的命令,并在接收到同步模塊發出的時鐘修正值后修正主機的本地時鐘。具體地,主機是由帶有1588應用程序和tte應用程序的pc機或者含linux系統的硬件設備構成。
本系統是針對現有的tte系統中通信延遲的不確定性問題,設計了一種基于ieee1588同步協議的tte終端系統內部時間同步系統,使主機與通信控制器之間利用1588協議進行時間同步,從而保證了主機與控制器之間有確定性的傳輸延遲,并使僅含有cots控制器的通信控制器也可以發送tt消息,從而達到使用tte控制器的效果,當主機含有外接時鐘源時,該終端系統也可以保證系統的時鐘輸出精度比普通的tte終端系統高。
實施例2
本發明提供一種tte終端系統內部時間同步的方法,參見圖2,間同步方法具體步驟為:
s1.配置主機、通信控制器、交換機之間的通信連接關系,使通信控制器與主機和交換機之間相互通信;
s2.主機發起終端系統內部時鐘同步命令,并向通信控制器發送時間同步信號,通信控制器在接收到時間同步信號后產生延時請求數據幀,在產生的延時請求數據幀中插入時間戳,并將帶有時間戳的延時請求數據幀送入主機;
s3.主機收到延時請求數據幀后產生延時應答數據幀,并將延時應答數據幀返回至通信控制器,通信控制器根據延時請求數據幀和延時應答數據幀計算主機與通信控制器之間的傳輸延時和時間偏差,得出時鐘修正值;
s4.通信控制器將時鐘修正值發送至主機,并依據時鐘修正值對通信控制器的本地時鐘進行修正,主機在接收到時鐘修正值后對主機的本地時間進行修正;
s5.主機發起不同流量優先級的tte網絡命令;
s6.通信控制器根據主機的tte網絡命令或在接收到交換機發出的數據幀時產生不同流量等級的數據幀并在分配給網絡節點的固定時隙內向交換機發送相應數據幀。
具體地,步驟s6是利用通信控制器中的tte/cots控制模塊實現,參見圖3,該過程具體為:
s61.判斷通信控制器是否接收到主機發送的命令并引起中斷;若未引起中斷,則發送中斷并創建tt數據幀、rc數據幀、be數據幀,并進入步驟s62;
s62.讀取tte網絡命令的優先級并判斷是否為tt數據幀;
s63.若是tt數據幀,則判斷通信控制器是否正在發送rc數據幀或be數據幀,若通信控制器正在發送rc數據幀或be數據幀,則tt數據幀搶占信道,停止發送rc數據幀或be數據幀;若通信控制器不在發送rc數據幀或be數據幀,則進入步驟s65;
s64.若不是tt數據幀,則將數據幀存入緩存,并判斷通信控制器是否在發送tt數據幀,如果通信控制器在發送tt數據幀則等待;若通信控制器不在發送tt數據幀,則進入步驟s65;
s65.判斷數據幀發送的時間點是否在本網絡節點的時隙內,若在,則向交換機發送數據幀,若不在,則等待到本網絡節點的時隙內時再發送數據。
此外,考慮到引起中斷的情況,步驟s61具體還包括:
s611.若引起中斷,則接收中斷并接收交換機發出的數據幀;
s612.判斷數據幀是否為pcf數據幀;若是pcf數據幀,則進入步驟613;若不是pcf數據幀,則檢測時鐘修正值是否更新,若時鐘修正值已更新,則進入步驟s613;若時鐘修正值未更新,則判斷數據幀類型,并提交至處理數據幀的程序處理;
s613.根據更新后的時鐘修正值更新通信控制器的本地時鐘。
通過以上步驟,解決了tte終端系統內部時鐘不同步,內部數據傳輸存在不確定延遲問題保證了主機與控制器之間有確定性的傳輸延遲。
本技術領域的技術人員應理解,本發明可以以許多其他具體形式實現而不脫離本發明的精神或范圍,以上公開的僅為本發明優選實施例。優選實施例并沒有詳盡敘述所有的細節,也不限制該發明僅為所述的具體實施方式。顯然,根據本說明書的內容,可作很多的修改和變化。本說明書選取并具體描述這些實施例,是為了更好地解釋本發明的原理和實際應用,從而使所屬領域技術人員能很好地利用本發明。本發明僅受權利要求書及其全部范圍和等效物的限制,本技術領域的技術人員可如所附權利要求書界定的本發明精神和范圍之內作出變化和修改。