本申請屬于機車運行控制技術(shù)領(lǐng)域,尤其涉及一種多功能車輛總線控制器。
背景技術(shù):
mvb(multifunctionvehiclebus,多功能車輛總線)是一種主要用于有互操作性和互換性要求的互聯(lián)設(shè)備之間的串行數(shù)據(jù)通信總線,是tcn(traincommunicationnet,列車通信網(wǎng))的一部分。mvb已經(jīng)廣泛應(yīng)用于高速列車、地鐵列車以及車載信號設(shè)備中。列車中的分布式子系統(tǒng),如傳動控制單元、制動控制單元和車載信號系統(tǒng)都通過mvb通信。mvb控制器是列車通信設(shè)備的關(guān)鍵部件。
目前我國軌道交通快速發(fā)展,列車控制系統(tǒng)越來越復(fù)雜,列車通信數(shù)據(jù)量越來越大,對mvb控制器的性能要求也越來越高,如何提供一種具有較高性能的mvb控制器,是本領(lǐng)域技術(shù)人員面臨的技術(shù)難題。
技術(shù)實現(xiàn)要素:
有鑒于此,本申請的目的在于提供一種具有較高性能的多功能車輛總線控制器。
為實現(xiàn)上述目的,本申請?zhí)峁┤缦录夹g(shù)方案:
本申請?zhí)峁┮环N多功能車輛總線控制器,包括:通過總線連接的主控單元、存儲器接口單元、報文分析和中斷邏輯單元、以及總線收發(fā)單元;
所述主控單元用于控制所述多功能車輛總線控制器與外部存儲器之間的數(shù)據(jù)傳輸過程,控制所述存儲器接口單元、所述報文分析和中斷邏輯單元、以及所述總線收發(fā)單元的運行;
所述存儲器接口單元用于控制所述多功能車輛總線控制器和cpu對外部存儲器的訪問鑒權(quán),防止所述多功能車輛總線控制器或所述cpu長期占用外部存儲器;
所述報文分析和中斷邏輯單元用于檢測報文結(jié)構(gòu),記錄報文錯誤,并對發(fā)生的報文錯誤進(jìn)行處理,用于產(chǎn)生中斷信號,所述中斷信號包括從幀檢測中斷信號、以及超時檢測及中斷信號;
所述總線收發(fā)單元用于按照多功能車輛總線的通信介質(zhì)要求,對從所述外部存儲器獲取到的數(shù)據(jù)進(jìn)行編碼形成數(shù)據(jù)幀,將所述數(shù)據(jù)幀向所述多功能車輛總線發(fā)送,用于從所述多功能車輛總線獲取數(shù)據(jù)幀,對獲取到的數(shù)據(jù)幀進(jìn)行解碼得到總線數(shù)據(jù),所述總線數(shù)據(jù)由所述存儲器接口單元存儲至所述外部存儲器,所述總線收發(fā)單元設(shè)置有發(fā)送緩沖區(qū)和接收緩沖區(qū),所述發(fā)送緩沖區(qū)用于緩存從所述外部存儲器讀取到的數(shù)據(jù),所述接收緩沖區(qū)用于緩存解碼得到的總線數(shù)據(jù)。
可選的,上述多功能車輛總線控制器還包括調(diào)試接口單元,所述調(diào)試接口單元用于測試所述多功能車輛總線控制器內(nèi)部的寄存器和管腳。
可選的,上述多功能車輛總線控制器中,所述主控單元包括:
狀態(tài)控制子單元,用于控制所述多功能車輛總線控制器的工作狀態(tài)切換,用于響應(yīng)所述cpu的命令控制數(shù)據(jù)的發(fā)送和接收;
端口監(jiān)控邏輯子單元,用于監(jiān)控所述多功能車輛總線控制器在各個端口的數(shù)據(jù)收發(fā)情況,當(dāng)所述端口有過程數(shù)據(jù)傳輸時,更新所述端口對應(yīng)的狀態(tài)寄存器的內(nèi)容;
收發(fā)控制子單元,用于建立所述總線收發(fā)單元與所述外部存儲器的快速訪問通道,控制所述總線收發(fā)單元的數(shù)據(jù)收發(fā)過程。
可選的,上述多功能車輛總線控制器中,所述總線收發(fā)單元包括:
發(fā)送緩沖區(qū),用于緩存從所述外部存儲器獲取到的數(shù)據(jù);
編碼器,用于從所述發(fā)送緩沖區(qū)獲取并行數(shù)據(jù),將獲取到的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),根據(jù)所述多功能車輛總線的通信介質(zhì)類型將所述串行數(shù)據(jù)處理為具有相應(yīng)格式的數(shù)據(jù)幀,將所述數(shù)據(jù)幀向多功能車輛總線發(fā)送;
解碼器,用于從多功能車輛總線獲取數(shù)據(jù)幀,對獲取到的數(shù)據(jù)幀進(jìn)行解碼得到總線數(shù)據(jù);
接收緩沖區(qū),用于緩存所述解碼器解碼得到的總線數(shù)據(jù)。
可選的,上述多功能車輛總線控制器中,所述存儲器接口單元包括:
仲裁邏輯子單元,用于控制所述cpu和所述多功能車輛總線控制器對所述外部存儲器的訪問鑒權(quán);
地址生成邏輯子單元,在所述多功能車輛總線控制器訪問所述外部存儲器時,所述地址生成邏輯子單元用于按照預(yù)存的映射規(guī)則生成地址,在所述cpu訪問所述外部存儲器或者訪問所述多功能車輛總線控制器內(nèi)部的寄存器時,所述地址生成邏輯子單元用于按照預(yù)存的映射規(guī)則生成相應(yīng)的地址;
存儲器接口子單元,在所述仲裁邏輯子單元允許所述多功能車輛總線控制器訪問所述外部存儲器的情況下,所述存儲器接口子單元基于所述地址生成邏輯子單元生成的地址,實現(xiàn)所述多功能車輛總線控制器對所述外部存儲器的訪問,在所述仲裁邏輯子單元允許所述cpu訪問所述外部存儲器的情況下,所述存儲器接口子單元基于所述地址生成邏輯子單元生成的地址,實現(xiàn)所述cpu對所述外部存儲器的訪問,在所述cpu請求訪問所述多功能車輛總線控制器內(nèi)部的寄存器的情況下,所述存儲器接口子單元實現(xiàn)所述cpu對所述多功能車輛總線控制器內(nèi)部的寄存器的訪問;
設(shè)備邏輯子單元,負(fù)責(zé)所述多功能車輛總線控制器在class1模式下的控制;
控制器子單元,用于對所述存儲器接口單元的狀態(tài)進(jìn)行控制。
可選的,上述多功能車輛總線控制器中,所述報文分析和中斷邏輯單元包括:
時鐘產(chǎn)生單元,用于利用外部輸入的時鐘信號產(chǎn)生所述多功能車輛總線控制器的內(nèi)部工作時鐘和總線編解碼時鐘,產(chǎn)生同步信號;
報文分析單元,用于檢測報文結(jié)構(gòu),記錄報文錯誤,并對發(fā)生的報文錯誤進(jìn)行處理,用于產(chǎn)生中斷信號,所述中斷信號包括從幀檢測中斷信號、超時機制檢測及中斷信號;
中斷邏輯單元,用于收集內(nèi)部中斷信號和外部中斷信號,并依據(jù)中斷寄存器的配置產(chǎn)生中斷狀態(tài)值和中斷向量值。由此可見,本申請的有益效果為:
本申請公開的多功能車輛總線控制器,包括通過總線連接的主控單元、存儲器接口單元、報文分析和中斷邏輯單元、以及總線收發(fā)單元;其中,存儲器接口單元控制多功能車輛總線控制器和cpu對外部存儲器的訪問鑒權(quán),防止多功能車輛總線控制器或cpu長期占用外部存儲器,能夠減少多功能車輛總線控制器和cpu對外部存儲器的訪問沖突;總線收發(fā)單元設(shè)置有發(fā)送緩沖區(qū)和接收緩沖區(qū),在通信負(fù)載較高時能夠降低數(shù)據(jù)丟失的概率;并且,本申請公開的多功能車輛總線控制器能夠兼容不同通信介質(zhì)的多功能車輛總線。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本申請公開的一種多功能車輛總線控制器的結(jié)構(gòu)圖;
圖2為本申請公開的多功能車輛總線控制器中主控單元的結(jié)構(gòu)圖;
圖3為本申請公開的多功能車輛總線控制器中總線收發(fā)單元的結(jié)構(gòu)圖;
圖4為本申請公開的多功能車輛總線控制器中存儲器接口單元的結(jié)構(gòu)圖;
圖5為本申請公開的多功能車輛總線控制器中報文分析和中斷邏輯單元的結(jié)構(gòu)圖;
圖6為本申請公開的另一種多功能車輛總線控制器的結(jié)構(gòu)圖;
圖7為本申請中多功能車輛總線控制器的應(yīng)用架構(gòu)示意圖。
具體實施方式
下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護(hù)的范圍。
本申請公開一種多功能車輛總線控制器,能夠減少對外部存儲器的訪問沖突,同時能夠降低數(shù)據(jù)丟失的概率,并且能夠兼容不同通信介質(zhì)的多功能車輛總線。
參見圖1和圖7,圖1為本申請公開的一種多功能車輛總線控制器的結(jié)構(gòu)圖,圖7為本申請中多功能車輛總線控制器的應(yīng)用架構(gòu)示意圖。多功能車輛總線控制器包括:主控單元100、存儲器接口單元200、報文分析和中斷邏輯單元300、以及總線收發(fā)單元400。
其中,主控單元100、存儲器接口單元200、報文分析和中斷邏輯單元300、以及總線收發(fā)單元400通過總線連接。需要說明的是,該總線為多功能車輛總線控制器的內(nèi)部總線,包括數(shù)據(jù)總線、地址總線、控制總線和狀態(tài)總線。
主控單元100用于:控制多功能車輛總線控制器與外部存儲器之間的數(shù)據(jù)傳輸過程,控制存儲器接口單元200、報文分析和中斷邏輯單元300、以及總線收發(fā)單元400的運行。其中,該外部存儲器可以為通信存儲器(即trafficmemory)。
存儲器接口單元200用于:控制多功能車輛總線控制器和cpu對外部存儲器的訪問鑒權(quán),防止多功能車輛總線控制器或cpu長期占用外部存儲器,從而防止數(shù)據(jù)丟失或者cpu命令丟失。
具體應(yīng)用中,如果多功能車輛總線控制器長期占用外部存儲器,會導(dǎo)致cpu命令丟失,如果cpu長期占用外部存儲器,會導(dǎo)致數(shù)據(jù)丟失。本申請中的存儲器接口單元200根據(jù)工作環(huán)境要求,使得cpu或者多功能車輛總線控制器中的一個具有訪問外部存儲器的較高優(yōu)先級,從而防止多功能車輛總線控制器或cpu長期占用外部存儲器。
例如,在通信壓力較大的情況下,需要保證多功能車輛總線控制器接收的數(shù)據(jù)能夠完全存儲,此時存儲器接口單元200將多功能車輛總線控制器配置為具有訪問外部存儲器的較高優(yōu)先級。
或者,存儲器接口單元200采用混合優(yōu)先模式選擇cpu和多功能車輛總線控制器中的一個具有訪問外部存儲器的較高優(yōu)先級。具體的,存儲器接口單元200根據(jù)通信壓力(如通信負(fù)載的大小)選擇cpu和多功能車輛總線控制器中的一個具有訪問外部存儲器的較高優(yōu)先級。
報文分析和中斷邏輯單元300用于:檢測報文結(jié)構(gòu),記錄報文錯誤,并對發(fā)生的報文錯誤進(jìn)行處理,用于產(chǎn)生中斷信號,其中,中斷信號包括從幀檢測中斷信號、以及超時檢測及中斷信號。
總線收發(fā)單元400設(shè)置有發(fā)送緩沖區(qū)和接收緩沖區(qū)。總線收發(fā)單元400用于按照多功能車輛總線的通信介質(zhì)要求,對從外部存儲器獲取到的數(shù)據(jù)進(jìn)行編碼形成數(shù)據(jù)幀,將編碼得到的數(shù)據(jù)幀向多功能車輛總線發(fā)送,用于從多功能車輛總線獲取數(shù)據(jù)幀,對獲取到的數(shù)據(jù)幀進(jìn)行解碼得到總線數(shù)據(jù)。其中,發(fā)送緩沖區(qū)用于緩存從外部存儲器讀取到的數(shù)據(jù),接收緩沖區(qū)用于緩存解碼到的總線數(shù)據(jù)。
這里需要說明的是:由存儲器接口單元200從外部存儲器獲取數(shù)據(jù),并將獲取到的數(shù)據(jù)向總線收發(fā)單元400發(fā)送,由存儲器接口單元200將總線收發(fā)單元400解碼得到的總線數(shù)據(jù)存儲至外部存儲器。
在通信負(fù)載較高的情況下,多功能車輛總線控制器需要頻繁的訪問外部存儲器,同時cpu也需要對外部存儲器進(jìn)行訪問以讀取數(shù)據(jù)幀并發(fā)送命令。本申請中的總線收發(fā)單元400設(shè)置大容量的發(fā)送緩沖區(qū)和接收緩沖區(qū),在cpu占用外部存儲器的情況下,可以保證不丟失數(shù)據(jù),并且延長了切換外部存儲器訪問權(quán)的時間間隔,從而避免頻繁的切換外部存儲器的訪問權(quán),能夠有效提高多功能車輛總線控制器的工作效率。
另外,需要說明的是:多功能車輛總線的通信介質(zhì)主要包括esd和emd,esd即電氣短距離通信介質(zhì),其英文全稱為electricalshortdistance,emd即電氣中距離通信介質(zhì),其英文全稱為electricalmiddledistance。
在多功能車輛總線的通信介質(zhì)為esd的情況下,總線收發(fā)單元400將從外部存儲器獲取到的數(shù)據(jù)進(jìn)行編碼形成具有esd格式的數(shù)據(jù)幀;在多功能車輛總線的通信介質(zhì)為emd的情況下,總線收發(fā)單元400將從外部存儲器獲取到的數(shù)據(jù)進(jìn)行編碼形成具有emd格式的數(shù)據(jù)幀。也就是說,本申請公開的多功能車輛總線控制器能夠兼容不同通信介質(zhì)的多功能車輛總線。
本申請公開的多功能車輛總線控制器,包括通過總線連接的主控單元100、存儲器接口單元200、報文分析和中斷邏輯單元300、以及總線收發(fā)單元400;其中,存儲器接口單元200控制多功能車輛總線控制器和cpu對外部存儲器的訪問鑒權(quán),防止多功能車輛總線控制器或cpu長期占用外部存儲器,能夠減少多功能車輛總線控制器和cpu對外部存儲器的訪問沖突;總線收發(fā)單元400設(shè)置有發(fā)送緩沖區(qū)和接收緩沖區(qū),在通信負(fù)載較高時能夠降低數(shù)據(jù)丟失的概率;并且,本申請公開的多功能車輛總線控制器能夠兼容不同通信介質(zhì)的多功能車輛總線。
下面對本申請公開的多功能車輛總線控制器中各組成單元的功能和結(jié)構(gòu)進(jìn)行更為詳細(xì)的說明。
參見圖2,圖2為本申請公開的多功能車輛總線控制器中主控單元的結(jié)構(gòu)圖。主控單元100包括狀態(tài)控制子單元101、端口監(jiān)控邏輯子單元102和收發(fā)控制子單元103。
狀態(tài)控制子單元101用于:控制多功能車輛總線控制器的工作狀態(tài)切換,響應(yīng)cpu的命令控制數(shù)據(jù)的發(fā)送和接收。
其中,多功能車輛總線控制器的工作狀態(tài)包括:復(fù)位狀態(tài)(包括上電復(fù)位狀態(tài)和軟件復(fù)位狀態(tài))、等待狀態(tài)(包括主設(shè)備等待狀態(tài)和從設(shè)備等待狀態(tài))、發(fā)送主幀狀態(tài)、接收狀態(tài)和發(fā)送從幀狀態(tài)。
這里需要說明的是,一個通信系統(tǒng)包括多個多功能車輛總線控制器,其中的一個多功能車輛總線控制器被配置為主設(shè)備(也就是主模式控制器),其他的多功能車輛總線控制器被配置為從設(shè)備(也就是從模式控制器)。
狀態(tài)控制子單元101根據(jù)外部管腳的復(fù)位信號或者根據(jù)cpu的命令進(jìn)行復(fù)位操作,根據(jù)該多功能車輛總線控制器的配置進(jìn)入主設(shè)備等待狀態(tài)或者從設(shè)備等待狀態(tài)。具體的,狀態(tài)控制子單元101進(jìn)行復(fù)位操作之后,如果多功能車輛總線控制器被配置為主設(shè)備,則進(jìn)入主設(shè)備等待狀態(tài),根據(jù)cpu的命令,啟動發(fā)送主幀操作,并接收從設(shè)備的響應(yīng)。狀態(tài)控制子單元101進(jìn)行復(fù)位操作之后,如果多功能車輛總線控制器被配置為從設(shè)備,則進(jìn)入從設(shè)備等待狀態(tài),等待主幀,并根據(jù)主幀要求進(jìn)行響應(yīng)。
cpu對于通信行為的撤銷有兩種方式:一種是立即終止發(fā)送數(shù)據(jù),另一種是取消等待隊列主幀。在cpu有更高級別任務(wù)需要執(zhí)行或認(rèn)為當(dāng)前發(fā)送的數(shù)據(jù)錯誤(如外部總線通信數(shù)據(jù)沖突,紊亂,無設(shè)備響應(yīng))需要立即停止當(dāng)前發(fā)送的數(shù)據(jù)的情況下,狀態(tài)控制子單元101立即中斷外部輸出。在cpu將多功能車輛總線控制器的控制狀態(tài)寄存器配置為取消等待隊列主幀的情況下,狀態(tài)控制子單元101取消數(shù)據(jù)發(fā)送,即:若當(dāng)前總線上有一個主幀正在發(fā)送,則將此幀發(fā)送完,但取消總線收發(fā)單元400的發(fā)送緩沖區(qū)中剩余主幀的發(fā)送。
端口監(jiān)控邏輯子單元102用于:監(jiān)控多功能車輛總線控制器在各個端口的數(shù)據(jù)收發(fā)情況,當(dāng)端口有過程數(shù)據(jù)傳輸時,更新該端口對應(yīng)的狀態(tài)寄存器的內(nèi)容。
本申請公開的多功能車輛總線控制器在邏輯上最多可配置4096個端口,每個端口分別配置有對應(yīng)的狀態(tài)寄存器。某一個設(shè)備可能作為多功能車輛總線上數(shù)據(jù)接收的部分,例如:如果多功能車輛總線控制器接收100個外部傳感器的數(shù)據(jù),那么需要利用100個端口,本節(jié)點的hostcpu需要知道每個節(jié)點的數(shù)據(jù),端口監(jiān)控邏輯子單元102實現(xiàn)對最多4096個端口的狀態(tài)和數(shù)據(jù)的監(jiān)控。
實施中,可以為每個端口分別配置pcs寄存器(即端口控制狀態(tài)寄存器),pcs寄存器位于外部存儲器中,邏輯上與多功能車輛總線控制器的內(nèi)部存儲器統(tǒng)一編址。pcs寄存器記錄本端口(即該pcs寄存器對應(yīng)的端口)所對應(yīng)的數(shù)據(jù)長度,是發(fā)送數(shù)據(jù)還是接收數(shù)據(jù)。在發(fā)生數(shù)據(jù)傳輸或者接收數(shù)據(jù)發(fā)生錯誤時產(chǎn)生中斷,端口監(jiān)控邏輯子單元102更新該pcs寄存器中的一個字段。
收發(fā)控制子單元103用于:建立總線收發(fā)單元400與外部存儲器的快速訪問通道,控制總線收發(fā)單元400的數(shù)據(jù)收發(fā)過程。
作為一種實施方式,在發(fā)送數(shù)據(jù)過程中,收發(fā)控制子單元103發(fā)送命令給存儲器接口單元200,存儲器接口單元200響應(yīng)該命令從外部存儲器讀取數(shù)據(jù)并傳輸至發(fā)送緩沖區(qū)402,之后收發(fā)控制子單元103發(fā)送命令給編碼器401,編碼器401響應(yīng)該命令從發(fā)送緩沖區(qū)獲取數(shù)據(jù),將獲取到的數(shù)據(jù)處理為數(shù)據(jù)幀,向多功能車輛總線發(fā)送數(shù)據(jù)幀,之后收發(fā)控制子單元103再執(zhí)行下一個數(shù)據(jù)發(fā)送周期。
作為一種實施方式,在接收數(shù)據(jù)過程中,收發(fā)控制子單元103發(fā)送命令給解碼器404,解碼器響應(yīng)該命令從多功能車輛總線獲取數(shù)據(jù)幀,對獲取到的數(shù)據(jù)幀進(jìn)行解碼得到總線數(shù)據(jù),將解碼得到的總線數(shù)據(jù)存儲至接收緩沖區(qū)403,之后收發(fā)控制子單元103發(fā)送命令給存儲器接口單元200,存儲器接口單元200響應(yīng)該命令從接收緩沖區(qū)403讀取總線數(shù)據(jù)并存儲至外部存儲器。
具體應(yīng)用中,存儲器接口單元200從外部存儲器傳輸至發(fā)送緩沖區(qū)402的數(shù)據(jù)長度和編碼器401發(fā)送的數(shù)據(jù)長度一致,為了避免收發(fā)控制子單元103一直被占用,本申請?zhí)峁┮环N優(yōu)選實施方式。
具體的:
收發(fā)控制子單元103利用單次訪問,將數(shù)據(jù)接收控制命令/數(shù)據(jù)發(fā)送控制命令、數(shù)據(jù)長度、以及存儲地址/訪問地址同時提供給存儲器接口單元200和總線收發(fā)單元400,由存儲器接口單元200和總線收發(fā)單元400完成數(shù)據(jù)接收和數(shù)據(jù)發(fā)送,主控單元100被釋放以執(zhí)行下一任務(wù)。
下面分別對數(shù)據(jù)發(fā)送過程和數(shù)據(jù)接收過程進(jìn)行說明。
在數(shù)據(jù)發(fā)送過程中:
收發(fā)控制子單元103將數(shù)據(jù)發(fā)送控制命令、發(fā)送的數(shù)據(jù)長度和訪問地址一次性發(fā)送至內(nèi)部總線;存儲器接口單元200響應(yīng)數(shù)據(jù)發(fā)送控制命令,根據(jù)訪問地址從外部存儲器讀取數(shù)據(jù),將讀取到的數(shù)據(jù)傳輸至發(fā)送緩沖區(qū)402;編碼器401響應(yīng)數(shù)據(jù)發(fā)送控制命令,等待數(shù)據(jù)被傳輸至發(fā)送緩沖區(qū)402,編碼器401從發(fā)送緩沖區(qū)獲取數(shù)據(jù),將獲取到的數(shù)據(jù)處理為數(shù)據(jù)幀,向多功能車輛總線發(fā)送數(shù)據(jù)幀。
在數(shù)據(jù)發(fā)送過程中,主控單元100在存儲器接口單元200和編碼器401執(zhí)行數(shù)據(jù)發(fā)送的過程,可以執(zhí)行下一個任務(wù)。例如,主控單元100可以執(zhí)行下一個數(shù)據(jù)發(fā)送周期,實現(xiàn)流水線操作,在通信壓力較高的情況下能夠有效提高通信效率。
在數(shù)據(jù)接收過程中:
收發(fā)控制子單元103將數(shù)據(jù)接收控制命令、接收的數(shù)據(jù)長度和存儲地址一次性發(fā)送至內(nèi)部總線;解碼器404響應(yīng)數(shù)據(jù)接收控制命令,從多功能車輛總線獲取數(shù)據(jù)幀,對獲取到的數(shù)據(jù)幀進(jìn)行解碼得到總線數(shù)據(jù),將解碼得到的總線數(shù)據(jù)存儲至接收緩沖區(qū)403;存儲器接口單元200響應(yīng)數(shù)據(jù)接收控制命令,等待總線數(shù)據(jù)被傳輸至接收緩沖區(qū)403,存儲器接口單元200從接收緩沖區(qū)403讀取總線數(shù)據(jù),根據(jù)該存儲地址存儲至外部存儲器的相應(yīng)存儲空間。
在數(shù)據(jù)接收過程中,主控單元100在存儲器接口單元200和解碼器404執(zhí)行數(shù)據(jù)接收的過程中,可以執(zhí)行下一任務(wù)。例如,主控單元100可以執(zhí)行下一個數(shù)據(jù)接收周期,實現(xiàn)流水線操作,在通信壓力較高的情況下能夠有效提高通信效率。
參見圖3,圖3為本申請公開的多功能車輛總線控制器中總線收發(fā)單元的結(jié)構(gòu)圖??偩€收發(fā)單元400包括編碼器401、發(fā)送緩沖區(qū)402、接收緩沖區(qū)403和解碼器404。
發(fā)送緩沖區(qū)402用于緩存從外部存儲器讀取到的數(shù)據(jù)。存儲器接口單元200從外部存儲器讀取數(shù)據(jù),并傳輸至發(fā)送緩沖區(qū)402進(jìn)行緩存。
編碼器401用于從發(fā)送緩沖區(qū)402獲取并行數(shù)據(jù),將獲取到的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),根據(jù)多功能車輛總線的通信介質(zhì)類型將串行數(shù)據(jù)處理為具有相應(yīng)格式的數(shù)據(jù)幀,將數(shù)據(jù)幀向多功能車輛總線發(fā)送。具體的,在多功能車輛總線的通信介質(zhì)為esd的情況下,編碼器401將串行數(shù)據(jù)處理為具有esd格式的數(shù)據(jù)幀;在多功能車輛總線的通信介質(zhì)為emd的情況下,編碼器401將串行數(shù)據(jù)處理為具有emd格式的數(shù)據(jù)幀。
解碼器404用于從多功能車輛總線獲取數(shù)據(jù)幀,對獲取到的數(shù)據(jù)幀進(jìn)行解碼得到總線數(shù)據(jù)。
接收緩沖區(qū)403用于緩存解碼器404解碼得到的總線數(shù)據(jù)。存儲器接口單元200將接收緩沖區(qū)403緩存的總線數(shù)據(jù)傳輸至外部存儲器。
實施中,編碼器401將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并為串行數(shù)據(jù)增加與多功能車輛總線的通信介質(zhì)類型對應(yīng)的起始位、主幀幀頭和幀尾/從幀幀頭和幀尾、以及檢驗序列,形成具有相應(yīng)格式的數(shù)據(jù)幀。
作為一種實施方式,編碼器401將16位的并行數(shù)據(jù)轉(zhuǎn)換為1.5mbit/s的串行manchesterbiphasel編碼,并為串行manchesterbiphasel編碼增加起始位、主/從幀幀頭和幀尾、以及校驗序列,形成數(shù)據(jù)幀。
參見圖4,圖4為本申請公開的多功能車輛總線控制器中存儲器接口單元的結(jié)構(gòu)圖。存儲器接口單元200包括仲裁邏輯子單元201、地址生成邏輯子單元202、存儲器接口子單元203、設(shè)備邏輯子單元204和控制器子單元205。
其中,仲裁邏輯子單元201用于:控制cpu和多功能車輛總線控制器對外部存儲器的訪問鑒權(quán),防止多功能車輛總線控制器或cpu長期占用外部存儲器。
地址生成邏輯子單元202用于:在多功能車輛總線控制器訪問外部存儲器時,按照預(yù)存的映射規(guī)則生成地址;在cpu訪問外部存儲器或者訪問多功能車輛總線控制器內(nèi)部的寄存器時,按照預(yù)存的映射規(guī)則生成相應(yīng)的地址。
存儲器接口子單元203用于:在仲裁邏輯子單元201允許多功能車輛總線控制器訪問外部存儲器的情況下,基于地址生成邏輯子單元202生成的地址,實現(xiàn)多功能車輛總線控制器對外部存儲器的訪問;在仲裁邏輯子單元201允許cpu訪問外部存儲器的情況下,基于地址生成邏輯子單元202生成的地址,實現(xiàn)cpu對外部存儲器的訪問;在cpu請求訪問多功能車輛總線控制器內(nèi)部的寄存器的情況下,存儲器接口子單元203實現(xiàn)cpu對多功能車輛總線控制器內(nèi)部的寄存器的訪問。
設(shè)備邏輯子單元204用于:負(fù)責(zé)多功能車輛總線控制器在class1模式下的控制。本申請公開的多功能車輛總線控制器可以工作在iec61375協(xié)議規(guī)定的class1模式-class4模式下。其中,當(dāng)本申請公開的多功能車輛總線控制器工作在class1模式下時只能作為從設(shè)備,不需要外部cpu的參與,其數(shù)據(jù)來源和啟動方式與其他幾種工作模式完全不同,在功能上只能實現(xiàn)設(shè)備狀態(tài)報告和過程數(shù)據(jù)傳輸,為了降低多功能車輛總線控制器在class1模式下的功耗,申請人單獨設(shè)計設(shè)備邏輯子單元204,在class1模式下,關(guān)閉主控單元100,由設(shè)備邏輯子單元204生成設(shè)備狀態(tài)報告、實現(xiàn)過程數(shù)據(jù)的傳輸。
控制器子單元205用于:對存儲器接口單元200的狀態(tài)進(jìn)行控制。
參見圖5,圖5為本申請公開的多功能車輛總線控制器中報文分析和中斷邏輯單元的結(jié)構(gòu)圖。報文分析和中斷邏輯單元300包括:兩個時鐘產(chǎn)生單元、報文分析單元301和中斷邏輯單元302。
兩個時鐘產(chǎn)生單元用于:利用外部輸入的時鐘信號產(chǎn)生多功能車輛總線控制器的內(nèi)部工作時鐘和總線編解碼時鐘,產(chǎn)生同步信號。
報文分析單元301,用于檢測報文結(jié)構(gòu),記錄報文錯誤,并對發(fā)生的報文錯誤進(jìn)行處理,用于產(chǎn)生中斷信號,其中,中斷信號包括從幀檢測中斷信號、以及超時機制檢測及中斷信號。
報文分析單元301位于解碼端。報文分析單元301檢測解碼器404從多功能車輛總線接收到的數(shù)據(jù)幀是否符合iec61375協(xié)議,并相應(yīng)地產(chǎn)生數(shù)據(jù)幀接收正確信號或者數(shù)據(jù)幀錯誤信號。報文分析單元301產(chǎn)生數(shù)據(jù)幀錯誤信號時,會分析錯誤類型(例如:校驗錯誤、數(shù)據(jù)幀長度錯誤),并通知主控單元100該錯誤類型,另外,報文分析單元301產(chǎn)生對應(yīng)的從幀檢測中斷信號并更新中斷寄存器提供給cpu。報文分析單元301的內(nèi)部有計時邏輯,利用內(nèi)部時鐘,對發(fā)送數(shù)據(jù)幀或接收數(shù)據(jù)幀的時間點計時,當(dāng)計時長度超過協(xié)議值后產(chǎn)生超時中斷信號,此時cpu認(rèn)為多功能車輛總線上出現(xiàn)通信錯誤,并恢復(fù)多功能車輛總線控制器的狀態(tài)。
中斷邏輯單元302,用于收集內(nèi)部中斷信號和外部中斷信號,并依據(jù)中斷寄存器的配置產(chǎn)生中斷狀態(tài)值和中斷向量值。
作為一種優(yōu)選方案,在本申請上述公開的多功能車輛總線控制器中,還可以進(jìn)一步設(shè)置調(diào)試接口單元500,如圖6中所示。調(diào)試接口單元500用于測試多功能車輛總線控制器內(nèi)部的寄存器和管腳。
調(diào)試接口單元500采用jtag掃描鏈實現(xiàn),采用特定測試向量輸入,以測試多功能車輛總線控制器內(nèi)部的寄存器和管腳,實現(xiàn)設(shè)計測試人員對多功能車輛總線控制器的檢測。作為一種實施方式,調(diào)試接口單元500采用10條鏈路。
本申請公開的多功能車輛總線控制器的工作過程如下:
s1、硬件異步復(fù)位,配置寄存器使多功能車輛總線控制器進(jìn)入配置模式;
s2、配置存儲器大小,狀態(tài)控制寄存器,配置主從設(shè)備,初始化定時器參數(shù);
s3、外部存儲器自檢,初始化邏輯地址空間端口索引表和設(shè)備地址空間端口索引表,復(fù)位全部端口的pcs寄存器,并設(shè)置設(shè)備地址;
s4、配置設(shè)備進(jìn)入自檢測模式,利用內(nèi)部循環(huán)路徑進(jìn)行數(shù)據(jù)收發(fā)操作,之后復(fù)位pcs寄存器;
s5、初始化全部的過程數(shù)據(jù)端口和邏輯地址空間;
s6、初始化消息數(shù)據(jù)配置;
s7、初始化監(jiān)視數(shù)據(jù)端口;
s8、對于主設(shè)備,初始化主幀數(shù)據(jù)表;
s9、配置多功能車輛總線控制器進(jìn)入正常工作模式,多功能車輛總線控制器進(jìn)入等待狀態(tài),準(zhǔn)備開始通信。
本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本申請將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。