本技術(shù)涉及新能源汽車控制技術(shù)的,具體涉及一種基于中斷信號的數(shù)據(jù)讀取方法、終端、設(shè)備和存儲介質(zhì)。
背景技術(shù):
1、imu(inertial?measurement?unit,慣性測量單元)是一種pcb板載的mems傳感器,主要用于測量和反饋物體的三個方向和的基本線性運動(加速度)和三個方向的基本角運動(角速度)。相較于傳統(tǒng)的非板載的加速度傳感器或角度傳感器等,imu具有質(zhì)量輕,板載面積小,測量精確,成本低等優(yōu)勢。目前,imu被廣泛的應(yīng)用于汽車,無人機,vr等各領(lǐng)域。在汽車控制器上,車規(guī)級的imu芯片隨著電動汽車的日益普及、自動駕駛技術(shù)的躍進被廣泛應(yīng)用在包括懸架控制器、域控制器、車機等各種新型控制器上。
2、目前,mcu(microcontroller?unit,微控制器)主要通過在周期任務(wù)中發(fā)送通信信號訪問imu中的asic數(shù)據(jù)寄存器,來獲取imu中的數(shù)據(jù)。
3、然而,通過周期任務(wù)采集imu中數(shù)據(jù)的方式,具有如下缺點:1、數(shù)據(jù)更新的頻率受mcu配置的周期任務(wù)類型的限制,應(yīng)用層在取用驅(qū)動層數(shù)據(jù)時,需要采用更慢的周期任務(wù)進行數(shù)據(jù)采集,否則將會有數(shù)據(jù)更新滯后的風(fēng)險。2、對于數(shù)據(jù)實時性需求較高的應(yīng)用,受限于任務(wù)周期的上限,傳感器的數(shù)據(jù)更新較慢,數(shù)據(jù)有延遲。特別是對當下蓬勃發(fā)展的cdc懸架阻尼控制等實時性要求很高的應(yīng)用,從傳感器數(shù)據(jù)的獲取到執(zhí)行器響應(yīng)的時間要控制在10ms內(nèi),否則無法準確識別和響應(yīng)路面高頻激勵,如果傳感器數(shù)據(jù)有較大的延遲,就無法實現(xiàn)整體控制目標。
技術(shù)實現(xiàn)思路
1、為了解決上述問題,本技術(shù)提供了一種基于中斷信號的數(shù)據(jù)讀取方法、終端、設(shè)備和存儲介質(zhì)。
2、第一方面,本技術(shù)實施例提供了一種基于中斷信號的數(shù)據(jù)讀取方法,包括:
3、車載控制器在接收到慣性測量芯片發(fā)出的準備完成信號后,執(zhí)行預(yù)設(shè)有的中斷處理流程,所述準備完成信號為用于觸發(fā)所述中斷處理流程的中斷信號;
4、所述中斷處理流程包括:
5、向所述慣性測量芯片發(fā)送數(shù)據(jù)讀取指令,使得所述慣性測量芯片反饋當前存儲有的同步測量數(shù)據(jù);
6、接收所述同步測量數(shù)據(jù);
7、解析接收到的所述同步測量數(shù)據(jù),得到運動狀態(tài)數(shù)據(jù)并存儲;
8、向所述慣性測量芯片發(fā)送讀清指令,使得所述慣性測量芯片中的中斷狀態(tài)寄存器清零。
9、在一些實施例中,在所述車載控制器在接收到慣性測量芯片發(fā)出的準備完成信號后,執(zhí)行預(yù)設(shè)有的中斷處理流程之前,包括:
10、所述慣性測量芯片通過內(nèi)部傳感器測得加速度數(shù)據(jù)和角速度數(shù)據(jù);
11、所述慣性測量芯片對所述加速度數(shù)據(jù)和角速度數(shù)據(jù)進行同步處理,得到同步測量數(shù)據(jù);
12、在存儲完所述同步測量數(shù)據(jù),且內(nèi)部的所述中斷狀態(tài)寄存器處于清零狀態(tài)時,所述慣性測量芯片向所述車載控制器發(fā)送準備完成信號;
13、所述慣性測量芯片置位所述中斷狀態(tài)寄存器的標志位。
14、在一些實施例中,在所述慣性測量芯片獲取加速度數(shù)據(jù)和角速度數(shù)據(jù)之前,包括:
15、所述車載控制器向所述慣性測量芯片發(fā)送初始化報文,所述初始化報文中記錄有配置數(shù)據(jù);
16、所述慣性測量芯片依次將所述配置數(shù)據(jù)寫入內(nèi)部寄存器,完成所述慣性測量芯片的初始化設(shè)置。
17、在一些實施例中,在所述解析接收到的所述同步測量數(shù)據(jù),得到運動狀態(tài)數(shù)據(jù)并存儲之后,還包括:
18、所述車載控制器在接收到應(yīng)用層軟件發(fā)出的數(shù)據(jù)調(diào)取信號后,上傳所述運動狀態(tài)數(shù)據(jù)至所述應(yīng)用層軟件,以供所述應(yīng)用層軟件進行數(shù)據(jù)更新。
19、在一些實施例中,所述中斷處理流程還包括:
20、所述車載控制器在執(zhí)行發(fā)送目標指令的動作后,查詢所述目標指令的發(fā)送狀態(tài),所述目標指令為所述車載控制器向所述慣性測量芯片發(fā)送的任意指令,包括數(shù)據(jù)讀取指令、讀清指令;
21、當所述目標指令的發(fā)送狀態(tài)為未發(fā)送成功時,所述車載控制器停止所述目標指令的發(fā)送,并設(shè)置使能標志位;
22、當存在所述使能標志位時,所述車載控制器執(zhí)行預(yù)設(shè)有的周期性任務(wù),以周期性查詢內(nèi)部的通信接口驅(qū)動的狀態(tài),所述周期性任務(wù)不包含在所述中斷處理流程中;
23、當所述通信接口驅(qū)動的狀態(tài)為正常時,所述車載控制器再次向所述慣性測量芯片發(fā)送所述目標指令。
24、在一些實施例中,當所述目標指令的發(fā)送狀態(tài)為未發(fā)送成功,所述車載控制器還進行如下操作:
25、向所述應(yīng)用層軟件發(fā)送故障通知,使得所述應(yīng)用層軟件取消更新當前中斷處理流程中獲取到的所述運動狀態(tài)數(shù)據(jù)。
26、在一些實施例中,所述通信接口驅(qū)動為spi驅(qū)動。
27、第二方面,本技術(shù)實施例提供一種車載控制終端,所述車載控制終端信號連接有慣性測量芯片,所述車載控制終端包括中斷信號接收模塊、中斷處理觸發(fā)模塊、芯片通信模塊、數(shù)據(jù)解析模塊、數(shù)據(jù)存儲模塊,其中:
28、所述中斷處理觸發(fā)模塊用于在中斷信號接收模塊接收到慣性測量芯片發(fā)出的準備完成信號后,觸發(fā)中斷處理流程的執(zhí)行,所述準備完成信號為用于觸發(fā)所述中斷處理流程的中斷信號;
29、在所述中斷處理流程中,所述芯片通信模塊用于所述慣性測量芯片發(fā)送數(shù)據(jù)讀取指令,使得所述慣性測量芯片反饋當前存儲有的同步測量數(shù)據(jù);
30、所述芯片通信模塊還用于接收所述同步測量數(shù)據(jù);
31、所述數(shù)據(jù)解析模塊用于解析接收到的所述同步測量數(shù)據(jù),得到運動狀態(tài)數(shù)據(jù)并供所述數(shù)據(jù)存儲模塊存儲;
32、所述芯片通信模塊還用于向所述慣性測量芯片發(fā)送讀清指令,使得所述慣性測量芯片中的中斷狀態(tài)寄存器清零。
33、在一些實施例中,在所述中斷信號接收模塊接收到慣性測量芯片發(fā)出的準備完成信號,所述中斷處理觸發(fā)模塊觸發(fā)中斷處理流程的執(zhí)行之前,所述慣性測量芯片用于執(zhí)行如下處理:
34、獲取內(nèi)部傳感器測得的加速度數(shù)據(jù)和角速度數(shù)據(jù)
35、對所述加速度數(shù)據(jù)和角速度數(shù)據(jù)進行同步處理,得到同步測量數(shù)據(jù);
36、在存儲完所述同步測量數(shù)據(jù),且內(nèi)部的所述中斷狀態(tài)寄存器處于清零狀態(tài)時,向所述中斷信號接收模塊發(fā)送準備完成信號;
37、置位所述中斷狀態(tài)寄存器的標志位。
38、在一些實施例中,在所述慣性測量芯片獲取加速度數(shù)據(jù)和角速度數(shù)據(jù)之前,所述芯片通信模塊還用于向所述慣性測量芯片發(fā)送初始化報文,所述初始化報文中記錄有配置數(shù)據(jù);
39、所述慣性測量芯片還用于依次將所述配置數(shù)據(jù)寫入內(nèi)部寄存器,完成所述慣性測量芯片的初始化設(shè)置。
40、在一些實施例中,所述車載控制終端還包括數(shù)據(jù)上傳模塊,用于在接收到應(yīng)用層軟件發(fā)出的數(shù)據(jù)調(diào)取信號后,上傳所述運動狀態(tài)數(shù)據(jù)至所述應(yīng)用層軟件,以供所述應(yīng)用層軟件進行數(shù)據(jù)更新。
41、在一些實施例中,所述車載控制終端還包括信息狀態(tài)檢測模塊和周期任務(wù)處理模塊;
42、在所述芯片通信模塊執(zhí)行發(fā)送目標指令的動作后,所述信息狀態(tài)檢測模塊用于查詢所述目標指令的發(fā)送狀態(tài),所述目標指令為所述芯片通信模塊向所述慣性測量芯片發(fā)送的任意指令,包括數(shù)據(jù)讀取指令、讀清指令;
43、所述信息狀態(tài)檢測模塊還用于在所述目標指令的發(fā)送狀態(tài)為未發(fā)送成功時,停止所述目標指令的發(fā)送,并設(shè)置使能標志位;
44、周期任務(wù)處理模塊用于在存在所述使能標志位時,執(zhí)行預(yù)設(shè)有的周期性任務(wù),以周期性查詢內(nèi)部的通信接口驅(qū)動的狀態(tài),所述周期性任務(wù)不包含在所述中斷處理流程中;
45、芯片通信模塊還用于在所述當所述通信接口驅(qū)動的狀態(tài)為正常時,再次向所述慣性測量芯片發(fā)送所述目標指令。
46、在一些實施例中,所述車載控制終端還包括故障通知模塊,用于在所述目標指令的發(fā)送狀態(tài)為未發(fā)送成功,向所述應(yīng)用層軟件發(fā)送故障通知,使得所述應(yīng)用層軟件取消更新當前中斷處理流程中獲取到的所述運動狀態(tài)數(shù)據(jù)。
47、在一些實施例中,所述通信接口驅(qū)動為spi驅(qū)動。
48、第三方面,本技術(shù)實施例提供一種車載智能設(shè)備,所述車載智能設(shè)備應(yīng)用于新能源車輛中,其特征在于,所述車載智能設(shè)備包括處理器和存儲器,所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)如第一方面所述的基于中斷信號的數(shù)據(jù)讀取方法。
49、第四方面,本技術(shù)實施例提供存儲介質(zhì),所述存儲介質(zhì)上存儲有程序,所述程序被處理器執(zhí)行時,用于實現(xiàn)如第一方面所述的基于中斷信號的數(shù)據(jù)讀取方法。
50、本技術(shù)技術(shù)方案,至少包括如下優(yōu)點:
51、1、通過慣性測量芯片發(fā)出類型為中斷信號的準備完成信號,觸發(fā)車載控制器執(zhí)行預(yù)設(shè)有的中斷處理流程,并在中斷處理流程中從慣性測量芯片中獲取到實時的加速度數(shù)據(jù)和角速度數(shù)據(jù),使得對慣性測量芯片進行的數(shù)據(jù)采集的頻率不再受限于周期任務(wù),配合具有高頻采樣特性的慣性測量芯片,可以極大提升數(shù)據(jù)獲取的實時性;
52、2、通過在中斷處理流程中,查詢目標指令的發(fā)送狀態(tài),并在目標指令發(fā)送失敗后設(shè)置周期任務(wù)來確保目標指令的成功再次發(fā)送,提高了車載控制器和慣性測量芯片交互過程的魯棒性。