本發明涉及串口技術領域,特別是涉及一種基于cpld的串口信號檢測的方法、裝置與系統。
背景技術:
在很多普通的電路中,常用復雜可編程邏輯器件(complexprogrammablelogicdevice,cpld)作為單板上所有串口信號的中轉。一個單板上可以設置有多個特定芯片,每個特定芯片傳輸的串口信號即為一路串口信號。特定芯片發送的信號往往需要經過中轉芯片的處理后傳輸至cpld,再經由cpld的中轉傳輸至上位機。上位機是指人可以直接發出操作命令的計算機,一般為pc機。
傳統方式中,常用cpld作為串口信號的中轉,但是cpld并不對串口做額外的管理。在單板上存在多路串口信號的情況下,如果發生串口信號無輸出的問題,特別是該串口信號對應一個以上的中轉芯片時,很難快速定位出串口信號出現問題的地方。
可見,如何實現對串口信號的檢測,是本領域技術人員亟待解決的問題。
技術實現要素:
本發明實施例的目的是提供一種基于cpld的串口信號檢測的方法、裝置與系統,可以實現對串口信號的檢測,及時、快速的發現串口信號出現問題的地方。
為解決上述技術問題,本發明實施例提供一種基于cpld的串口信號檢測的方法,包括:
接收上位機發送的通信指令;
依據所述通信指令,建立特定串口與目標芯片的串口通信;
判斷是否接收到所述目標芯片發送的串口信號;
若未接收到所述目標芯片發送的串口信號,則檢測所述目標芯片對應的各個中轉芯片的輸入端與輸出端的信號;
若存在輸入端信號與輸出端信號不一致的中轉芯片,則將所述中轉芯片的標識信息發送至所述上位機。
可選的,所述若存在輸入端信號與輸出端信號不一致的中轉芯片,則將所述中轉芯片的標識信息發送至所述上位機包括:
若存在輸入端信號與輸出端信號不一致的中轉芯片,則存儲所述中轉芯片的標識信息;
當接收到所述上位機發送的狀態指令后,將所述中轉芯片的標識信息發送至所述上位機。
可選的,還包括:
當在規定時間內,接收到所述目標芯片發送的串口信號,則控制led燈處于常亮狀態;
當在規定時間內,未接收到所述目標芯片發送的串口信號,則根據所述中轉芯片的標識信息,控制led燈執行對應的操作。
本發明實施例還提供了一種基于cpld的串口信號檢測的裝置,包括接收單元、建立單元、判斷單元、檢測單元和發送單元,
所述接收單元,用于接收上位機發送的通信指令;
所述建立單元,用于依據所述通信指令,建立特定串口與目標芯片的串口通信;
所述判斷單元,用于判斷是否接收到所述目標芯片發送的串口信號;
若在規定時間內,未接收到所述目標芯片發送的串口信號,則觸發所述檢測單元,所述檢測單元,用于檢測所述目標芯片對應的各個中轉芯片的輸入端與輸出端的信號;
所述發送單元,用于若存在輸入端信號與輸出端信號不一致的中轉芯片,將所述中轉芯片的標識信息發送至所述上位機。
可選的,還包括存儲單元,
若存在輸入端信號與輸出端信號不一致的中轉芯片,則觸發所述存儲單元,所述存儲單元,用于存儲所述中轉芯片的標識信息;
所述接收單元還用于當接收到所述上位機發送的狀態指令后,觸發所述發送單元,將所述中轉芯片的標識信息發送至所述上位機。
可選的,還包括控制單元,
當在規定時間內,接收到所述目標芯片發送的串口信號,則觸發所述控制單元,所述控制單元,用于控制led燈處于常亮狀態;
當在規定時間內,未接收到所述目標芯片發送的串口信號,則觸發所述控制單元,所述控制單元還用于根據所述中轉芯片的標識信息,控制led燈執行對應的操作。
本發明實施例還提供了一種基于cpld的串口信號檢測的系統,包括:串口模塊、cpld、電平轉換模塊、中轉芯片和目標芯片;
所述串口模塊與所述cpld連接,用于接收上位機發送的通信指令,并將所述通信指令轉發至所述cpld;
所述cpld,用于接收上位機發送的通信指令,并依據所述通信指令,建立特定串口與目標芯片的串口通信;
所述中轉芯片分別與所述目標芯片以及所述cpld連接,用于將所述目標芯片發送的信號轉換為串口信號,并將所述串口信號發送至所述cpld;
所述cpld還用于判斷是否接收到所述串口信號;
所述電平轉換模塊分別與所述中轉芯片以及所述cpld連接,當所述cpld未接收到所述目標芯片發送的串口信號時,所述cpld還用于依據所述電平轉換模塊獲取各個所述中轉芯片的輸入端與輸出端的信號;
若存在輸入端信號與輸出端信號不一致的中轉芯片,所述cpld還用于將所述中轉芯片的標識信息發送至所述上位機。
可選的,還包括led燈,
所述led燈與所述cpld連接,當在規定時間內,所述cpld接收到所述目標芯片發送的串口信號,則控制所述led燈處于常亮狀態;
當在規定時間內,所述cpld未接收到所述目標芯片發送的串口信號,則根據所述中轉芯片的標識信息,控制所述led燈執行對應的操作。
由上述技術方案可以看出,cpld根據接收到的上位機發送的通信指令,建立特定串口與目標芯片的串口通信;通過判斷是否接收到所述目標芯片發送的串口信號,來作為檢測串口鏈路是否可以正常通信的依據。當未接收到所述目標芯片發送的串口信號時,則說明由目標芯片向cpld發送串口信號時所經過的中轉芯片可能出現了問題,此時可以檢測所述目標芯片對應的各個中轉芯片的輸入端與輸出端的信號;若存在輸入端信號與輸出端信號不一致的中轉芯片,則說明該中轉芯片出現了問題,可以將所述中轉芯片的標識信息發送至所述上位機。可見,當串口信號無法正常傳輸時,通過cpld的檢測可以及時、快速的發現串口信號出現問題的地方。
附圖說明
為了更清楚地說明本發明實施例,下面將對實施例中所需要使用的附圖做簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的一種基于cpld的串口信號檢測的方法的流程圖;
圖2為本發明實施例提供的一種基于cpld的串口信號檢測的裝置的結構示意圖;
圖3為本發明實施例提供的一種基于cpld的串口信號檢測的系統的結構示意圖;
圖4為本發明實施例提供的一種涉及3個中轉芯片的串口信號檢測的系統的拓撲結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下,所獲得的所有其他實施例,都屬于本發明保護范圍。
為了使本技術領域的人員更好地理解本發明方案,下面結合附圖和具體實施方式對本發明作進一步的詳細說明。
接下來,詳細介紹本發明實施例所提供的一種基于cpld的串口信號檢測的方法。圖1為本發明實施例提供的一種基于cpld的串口信號檢測的方法的流程圖,該方法包括:
s101:接收上位機發送的通信指令。
單板上存在多路串口信號時,可以通過通信指令,選取出一路串口信號對其進行檢查,即檢測傳輸該路串口信號的鏈路是否能夠正常通信。
s102:依據所述通信指令,建立特定串口與目標芯片的串口通信。
通信指令可以用于指示對哪一路串口信號進行檢測。傳輸該路串口信號的串口即為特定串口,相應的,產生該串口信號的特定芯片即為目標芯片。
s103:判斷是否接收到所述目標芯片發送的串口信號。
確定了目標芯片后,cpld可以通過判斷是否接收到所述目標芯片發送的串口信號,來作為檢測串口鏈路是否可以正常通信的依據。
當cpld未接收到目標芯片發送的串口信號時,則說明傳輸該串口信號的鏈路出現了問題。
s104:檢測所述目標芯片對應的各個中轉芯片的輸入端與輸出端的信號。
目標芯片產生的信號往往需要經過中轉芯片的處理后發送至cpld。當中轉芯片出現問題時,則cpld將無法接收到目標芯片發送的串口信號,即造成串口信號無輸出。故此,在本發明實施例中,可以對中轉芯片的輸入端和輸出端信號進行檢測。
s105:若存在輸入端信號與輸出端信號不一致的中轉芯片,則將所述中轉芯片的標識信息發送至所述上位機。
中轉芯片可以用于對目標芯片傳輸的信號進行信號模式的轉換。以一個中轉芯片為例,當該中轉芯片可以正常工作時,信號經過該中轉芯片的處理后,可以得到對應模式的信號;當該中轉芯片出現問題時,該中轉芯片的輸出端可能沒有信號的輸出或者是輸出錯誤形式的信號,也即,該中轉芯片的輸入端信號與輸出端信號不一致。
標識信息可以是用于區分不同中轉芯片的信息。每個中轉芯片有其對應的標識信息。在本發明實施例中,可以對中轉芯片進行編號,例如,目標芯片與cpld之間的通信需要經過3個中轉芯片,則可以將這3個中轉芯片依次編號為中轉芯片a、中轉芯片b和中轉芯片c。可以將該編號作為中轉芯片的標識信息。
當檢測到存在輸入端信號與輸出端信號不一致的中轉芯片時,則可以將所述中轉芯片的標識信息發送至所述上位機。在本發明實施例中,cpld將中轉芯片的標識信息發送至上位機的方式可以有多種。一種方式可以是由cpld直接向上位機發送該標識信息,具體的,可以建立上位機與cpld的實時通信,以便于當cpld檢測到輸入端信號與輸出端信號不一致的中轉芯片時,可以直接將所述中轉芯片的標識信息發送至所述上位機。
另一種方式可以是在接收到上位機發送的指令信息后,再將所述中轉芯片的標識信息發送給所述上位機,具體的,當存在輸入端信號與輸出端信號不一致的中轉芯片時,cpld則存儲所述中轉芯片的標識信息;當接收到所述上位機發送的狀態指令后,將所述中轉芯片的標識信息發送至所述上位機。
其中,狀態指令可以是cpld向上位機發送標識信息的觸發條件。例如,該狀態指令可以是“uartshowall”,當cpld接收到上位機發送的該指令后,便可以將檢測出的出現問題的中轉芯片的標識信息發送給上位機。
本發明實施例以一路串口信號的傳輸為例,對該路串口信號的通信進行檢測,即檢測串口鏈路是否能夠正常通信。其它路串口信號的檢測過程與其類似,在此不再贅述。參照上述過程,可以完成對多路串口信號的檢測。
由上述技術方案可以看出,cpld根據接收到的上位機發送的通信指令,建立特定串口與目標芯片的串口通信;通過判斷是否接收到所述目標芯片發送的串口信號,來作為檢測串口鏈路是否可以正常通信的依據。當未接收到所述目標芯片發送的串口信號時,則說明由目標芯片向cpld發送串口信號時所經過的中轉芯片可能出現了問題,此時可以檢測所述目標芯片對應的各個中轉芯片的輸入端與輸出端的信號;若存在輸入端信號與輸出端信號不一致的中轉芯片,則說明該中轉芯片出現了問題,可以將所述中轉芯片的標識信息發送至所述上位機。可見,當串口信號無法正常傳輸時,通過cpld的檢測可以及時、快速的發現串口信號出現問題的地方。
以一路串口信號為例,在本發明實施例中,為了便于管理員可以直接觀察到哪個中轉芯片出現了問題,可以設置led燈,通過led燈不同的工作狀態反映出現問題的中轉芯片。
具體的,當在規定時間內,cpld接收到所述目標芯片發送的串口信號,則控制led燈處于常亮狀態;當在規定時間內,未接收到所述目標芯片發送的串口信號,則根據所述中轉芯片的標識信息,控制led燈執行對應的操作。
規定時間可以根據中轉芯片正常工作時,將串口信號傳輸至cpld所花費的時間確定。
在本發明實施例中,可以將led燈處于常亮狀態表示串口信號的正常通信;將led燈處于閃爍狀態表示串口信號無法實現正常通信。
其中,可以根據中轉芯片的個數設置led燈的幾種閃爍模式。例如,一路串口信號的傳輸需要經過3個中轉芯片,依次為中轉芯片a、中轉芯片b和中轉芯片c,對應的,可以將led的閃爍模式設置為3種,分別為慢閃(閃爍頻率為1hz)、正常閃爍(閃爍頻率為2hz)和快閃(閃爍頻率為4hz),慢閃代表中轉芯片a出現問題,正常閃爍代表中轉芯片b出現問題,快閃代表中轉芯片c出現問題。
通過led燈的不同工作模式,管理員可以直觀的獲知哪個中轉芯片出現了問題,從而便于管理員可以及時發現問題并處理。
圖2為本發明實施例提供的一種基于cpld的串口信號檢測的裝置的結構示意圖,包括接收單元21、建立單元22、判斷單元23、檢測單元24和發送單元25,
所述接收單元21,用于接收上位機發送的通信指令。
所述建立單元22,用于依據所述通信指令,建立特定串口與目標芯片的串口通信。
所述判斷單元23,用于判斷是否接收到所述目標芯片發送的串口信號。
若在規定時間內,未接收到所述目標芯片發送的串口信號,則觸發所述檢測單元24,所述檢測單元24,用于檢測所述目標芯片對應的各個中轉芯片的輸入端與輸出端的信號。
所述發送單元25,用于若存在輸入端信號與輸出端信號不一致的中轉芯片,將所述中轉芯片的標識信息發送至所述上位機。
可選的,還包括存儲單元,
若存在輸入端信號與輸出端信號不一致的中轉芯片,則觸發所述存儲單元,所述存儲單元,用于存儲所述中轉芯片的標識信息;
所述接收單元還用于當接收到所述上位機發送的狀態指令后,觸發所述發送單元,將所述中轉芯片的標識信息發送至所述上位機。
可選的,還包括控制單元,
當在規定時間內,接收到所述目標芯片發送的串口信號,則觸發所述控制單元,所述控制單元,用于控制led燈處于常亮狀態;
當在規定時間內,未接收到所述目標芯片發送的串口信號,則觸發所述控制單元,所述控制單元還用于根據所述中轉芯片的標識信息,控制led燈執行對應的操作。
圖2所對應實施例中特征的說明可以參見圖1所對應實施例的相關說明,這里不再一一贅述。
由上述技術方案可以看出,cpld根據接收到的上位機發送的通信指令,建立特定串口與目標芯片的串口通信;通過判斷是否接收到所述目標芯片發送的串口信號,來作為檢測串口鏈路是否可以正常通信的依據。當未接收到所述目標芯片發送的串口信號時,則說明由目標芯片向cpld發送串口信號時所經過的中轉芯片可能出現了問題,此時可以檢測所述目標芯片對應的各個中轉芯片的輸入端與輸出端的信號;若存在輸入端信號與輸出端信號不一致的中轉芯片,則說明該中轉芯片出現了問題,可以將所述中轉芯片的標識信息發送至所述上位機。可見,當串口信號無法正常傳輸時,通過cpld的檢測可以及時、快速的發現串口信號出現問題的地方。
圖3為本發明實施例提供的一種基于cpld的串口信號檢測的系統的結構示意圖,包括:串口模塊31、cpld32、電平轉換模塊33、中轉芯片34和目標芯片35;
所述串口模塊31與所述cpld32連接,用于接收上位機發送的通信指令,并將所述通信指令轉發至所述cpld32。
所述cpld32,用于接收上位機發送的通信指令,并依據所述通信指令,建立特定串口與目標芯片35的串口通信;
所述中轉芯片34分別與所述目標芯片35以及所述cpld32連接,用于將所述目標芯片發送的信號轉換為串口信號,并將所述串口信號發送至所述cpld32;
所述cpld32還用于判斷是否接收到所述串口信號;
所述電平轉換模塊33分別與所述中轉芯片34以及所述cpld32連接,當所述cpld32未接收到所述目標芯片發送的串口信號時,所述cpld32還用于依據所述電平轉換模塊獲取各個所述中轉芯片的輸入端與輸出端的信號;
若存在輸入端信號與輸出端信號不一致的中轉芯片,所述cpld32還用于將所述中轉芯片的標識信息發送至所述上位機。
可選的,還包括led燈,
所述led燈與所述cpld連接,當在規定時間內,所述cpld接收到所述目標芯片發送的串口信號,則控制所述led燈處于常亮狀態;
當在規定時間內,所述cpld未接收到所述目標芯片發送的串口信號,則根據所述中轉芯片的標識信息,控制所述led燈執行對應的操作。
在本發明實施例中,對于每一個中轉芯片,可以連接對應的電平轉換模塊,并將該電平轉換模塊與cpld連接,以便于cpld可以直接獲取到每個中轉芯片的輸入端和輸出端的信號。如圖4所示,以一路串口信號需要經過3個中轉芯片的處理為例,目標芯片產生的信號,需要依次經過中轉芯片c、中轉芯片b和中轉芯片a的處理,傳輸至cpld,再由cpld將該串口信號通過串口模塊發送至上位機。其中,每個中轉芯片連接有一個電平轉換模塊。led燈與cpld連接,當檢測出哪一個中轉芯片出現問題時,cpld可以控制led燈進行相應的閃爍。
圖3所對應實施例中特征的說明可以參見圖1所對應實施例的相關說明,這里不再一一贅述。
以上對本發明實施例所提供的一種基于cpld的串口信號檢測的方法、裝置與系統進行了詳細介紹。說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以對本發明進行若干改進和修飾,這些改進和修飾也落入本發明權利要求的保護范圍內。
專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(ram)、內存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術領域內所公知的任意其它形式的存儲介質中。