裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是機(jī)械連接或電連接,也可以是兩個(gè)元件內(nèi)部的連通,可以是直接相連,也可以通過(guò)中間媒介間接相連,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語(yǔ)的具體含義。
[0026]參照下面的描述和附圖,將清楚本發(fā)明的實(shí)施例的這些和其他方面。在這些描述和附圖中,具體公開(kāi)了本發(fā)明的實(shí)施例中的一些特定實(shí)施方式,來(lái)表示實(shí)施本發(fā)明的實(shí)施例的原理的一些方式,但是應(yīng)當(dāng)理解,本發(fā)明的實(shí)施例的范圍不受此限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0027]下面參照附圖來(lái)描述根據(jù)本發(fā)明實(shí)施例提出的嵌入式前后臺(tái)系統(tǒng)以及該嵌入式前后臺(tái)系統(tǒng)的控制方法。
[0028]圖1為根據(jù)本發(fā)明一個(gè)實(shí)施例的嵌入式前后臺(tái)系統(tǒng)的方框示意圖。如圖1所示,該嵌入式前后臺(tái)系統(tǒng)包括:輸入模塊1、輸出模塊2和控制模塊3。其中,輸入模塊I用于接收第N循環(huán)周期的輸入信號(hào);輸出模塊2用于在控制模塊的控制之下在第N循環(huán)周期輸出控制模塊在第N-1循環(huán)周期產(chǎn)生的輸出信號(hào),其中,N為正整數(shù)。
[0029]如圖1所示,控制模塊3用于根據(jù)第N循環(huán)周期的輸入信號(hào)計(jì)算得到第N循環(huán)周期的輸出信號(hào)。其中,在第I循環(huán)周期中,控制模塊3控制輸入模塊I接收第I循環(huán)周期的輸入信號(hào),并控制輸出模塊2停止輸出,在第N+1循環(huán)周期中,控制模塊3控制輸出模塊2輸出第N循環(huán)周期的輸出信號(hào),之后控制模塊3控制輸入模塊I接收第N+1循環(huán)周期的輸入信號(hào),并根據(jù)輸入模塊I接收的第N+1循環(huán)周期的輸入信號(hào)生成第N+1循環(huán)周期的輸出信號(hào)。這樣,防止在第I循環(huán)周期中輸入模塊I尚未接收第I循環(huán)周期的輸入信號(hào)即進(jìn)行輸出,從而避免由此引發(fā)的輸出信號(hào)不正確。
[0030]也就是說(shuō),在第I循環(huán)周期中,只進(jìn)行信號(hào)輸入處理,不進(jìn)行信號(hào)輸出處理,控制模塊3根據(jù)輸入模塊I接收的第I循環(huán)周期的輸入信號(hào)計(jì)算得到的第I循環(huán)周期的輸出信號(hào)為下一循環(huán)周期的輸出模塊2所用,從第2循環(huán)周期開(kāi)始,控制模塊3先利用第N循環(huán)周期計(jì)算所得的第N輸出信號(hào),控制輸出模塊2進(jìn)行信號(hào)輸出處理,再控制輸入模塊I接收第N+1循環(huán)周期的輸入信號(hào)。這樣,把每個(gè)循環(huán)周期連貫起來(lái)看,總是先進(jìn)行輸入,然后才進(jìn)行輸出,而在每個(gè)循環(huán)周期內(nèi)都是先進(jìn)行輸出,再進(jìn)行輸入,無(wú)論信號(hào)輸入中有多少中斷處理函數(shù),都能保障輸出模塊的運(yùn)行時(shí)間的精度,例如輸出CAN總線報(bào)文的時(shí)間的精度。
[0031]在本發(fā)明的另一個(gè)實(shí)施例中,如圖2所示,嵌入式前后臺(tái)系統(tǒng)還包括:計(jì)時(shí)模塊4。其中,計(jì)時(shí)模塊4用于記錄每個(gè)循環(huán)周期的運(yùn)行時(shí)間,其中,在第I循環(huán)周期,計(jì)時(shí)模塊4在輸入模塊I接收第I循環(huán)周期的輸入信號(hào)之前,計(jì)時(shí)模塊4開(kāi)始計(jì)時(shí),在第N+1循環(huán)周期,計(jì)時(shí)模塊4在輸出模塊2輸出第N循環(huán)周期的輸出信號(hào)之前,計(jì)時(shí)模塊4開(kāi)始計(jì)時(shí)。
[0032]進(jìn)一步地,控制模塊3在判斷第I循環(huán)周期的運(yùn)行時(shí)間大于等于預(yù)設(shè)時(shí)間時(shí),啟動(dòng)第2循環(huán)周期,并控制計(jì)時(shí)模塊4開(kāi)始計(jì)時(shí)以記錄第2循環(huán)周期的運(yùn)行時(shí)間;控制模塊3在判斷第N+1循環(huán)周期的運(yùn)行時(shí)間大于等于預(yù)設(shè)時(shí)間時(shí),啟動(dòng)第N+2循環(huán)周期,并控制計(jì)時(shí)模塊4開(kāi)始計(jì)時(shí)以記錄第N+2循環(huán)周期的運(yùn)行時(shí)間。從而確保每個(gè)循環(huán)周期的實(shí)際運(yùn)行時(shí)間精確等于設(shè)計(jì)的運(yùn)行時(shí)間。
[0033]也就是說(shuō),每個(gè)循環(huán)周期都是從計(jì)時(shí)模塊4開(kāi)始計(jì)時(shí)時(shí)啟動(dòng),一直到循環(huán)周期的運(yùn)行時(shí)間達(dá)到設(shè)計(jì)的運(yùn)行時(shí)間時(shí)停止。
[0034]優(yōu)選地,在第I循環(huán)周期前,控制模塊3控制嵌入式前后臺(tái)系統(tǒng)進(jìn)行初始化。主要包括底層驅(qū)動(dòng)各模塊的初始化。
[0035]根據(jù)本發(fā)明實(shí)施例提出的嵌入式前后臺(tái)系統(tǒng),在第I循環(huán)周期中,控制模塊控制輸入模塊接收第I循環(huán)周期的輸入信號(hào),并控制輸出模塊停止輸出,在第N+1循環(huán)周期中,控制模塊控制輸出模塊輸出第N循環(huán)周期的輸出信號(hào),之后控制模塊控制輸入模塊接收第N+1循環(huán)周期的輸入信號(hào),并根據(jù)輸入模塊接收的第N+1循環(huán)周期的輸入信號(hào)生成第N+1循環(huán)周期的輸出信號(hào)。因此,該嵌入式前后臺(tái)系統(tǒng)通過(guò)在每個(gè)循環(huán)周期內(nèi)先控制輸出模塊進(jìn)行輸出,再控制輸入模塊進(jìn)行輸入,從而有效地確保輸出模塊運(yùn)行時(shí)間的穩(wěn)定性,保障CAN總線通信時(shí)間的精度。
[0036]圖3為根據(jù)本發(fā)明一個(gè)實(shí)施例的嵌入式前后臺(tái)系統(tǒng)的控制方法的流程圖。如圖3所示,該嵌入式前后臺(tái)系統(tǒng)的控制方法包括如下步驟:
[0037]SI,在第I循環(huán)周期中,接收第I循環(huán)周期的輸入信號(hào),并停止輸出。
[0038]也就是說(shuō),在嵌入式前后臺(tái)系統(tǒng)中,前臺(tái)主體程序在第I循環(huán)周期中,只進(jìn)行信號(hào)輸入處理,不進(jìn)行信號(hào)輸出處理。這樣,防止在第I循環(huán)周期中輸入模塊I尚未接收第I循環(huán)周期的輸入信號(hào)即進(jìn)行輸出,從而避免由此引發(fā)的輸出信號(hào)不正確。
[0039]S2,在第N+1循環(huán)周期中,輸出第N循環(huán)周期的輸出信號(hào),之后接收第N+1循環(huán)周期的輸入信號(hào),根據(jù)第N+1循環(huán)周期的輸入信號(hào)生成第N+1循環(huán)周期的輸出信號(hào)。其中,N為正整數(shù)。
[0040]也就是說(shuō),在嵌入式前后臺(tái)系統(tǒng)中,前臺(tái)主體程序在第2循環(huán)周期及以后的循環(huán)周期中,先進(jìn)行信號(hào)輸出處理,再進(jìn)行信號(hào)輸入處理。并且第N+1循環(huán)周期的輸出模塊使用第N循環(huán)周期中計(jì)算所得的輸出信號(hào)進(jìn)行輸出。
[0041]在一個(gè)實(shí)施例中,上述的嵌入式前后臺(tái)系統(tǒng)的控制方法還包括:記錄每個(gè)循環(huán)周期的運(yùn)行時(shí)間。其中,在第I循環(huán)周期,接收第I循環(huán)周期的輸入信號(hào)之前,開(kāi)始計(jì)時(shí);在第N+1循環(huán)周期,輸出第N循環(huán)周期的輸出信號(hào)之前,開(kāi)始計(jì)時(shí)。
[0042]進(jìn)一步地,在判斷第I循環(huán)周期的運(yùn)行時(shí)間大于等于預(yù)設(shè)時(shí)間時(shí),啟動(dòng)第2循環(huán)周期;在判斷第N+1循環(huán)周期的運(yùn)行時(shí)間大于等于預(yù)設(shè)時(shí)間時(shí),啟動(dòng)第N+2循環(huán)周期。從而確保每個(gè)循環(huán)周期的實(shí)際運(yùn)行時(shí)間精確等于設(shè)計(jì)的運(yùn)行時(shí)間。
[0043]優(yōu)選地,在第I循環(huán)周期前,控制嵌入式前后臺(tái)系統(tǒng)進(jìn)行初始化。
[0044]在本發(fā)明一個(gè)具體實(shí)施例中,如圖4所示,該嵌入式前后臺(tái)系統(tǒng)的控制方法包括如下步驟:
[0045]S401,控制嵌入式前后臺(tái)系統(tǒng)進(jìn)行初始化。
[0046]其中,主要包括底層驅(qū)動(dòng)各模塊的初始化。
[0047]S402,開(kāi)始計(jì)時(shí)。
[0048]S403,判斷是否為第I循環(huán)周期,如果是,則執(zhí)行步驟S407 ;如果否則執(zhí)行步驟S404。
[0049]S404,判斷第N循環(huán)周期的運(yùn)行時(shí)間是否大于等于預(yù)設(shè)時(shí)間,如果是,則執(zhí)行步驟S405 ;如果否,則繼續(xù)執(zhí)行步驟S404。
[0050]例如,在第I循環(huán)周期中,判斷第I循環(huán)周期的運(yùn)行時(shí)間是否大于等于預(yù)設(shè)時(shí)間。
[0051]S405,重新開(kāi)始計(jì)時(shí)。
[0052]S406,輸出第N-1循環(huán)周期的輸出信號(hào)。
[0053]具體地,輸出信號(hào)可以為CAN輸出報(bào)文等。并且,本次輸出的輸出信號(hào)來(lái)于上一循環(huán)周期對(duì)輸入信號(hào)進(jìn)行計(jì)算后得到的結(jié)果。
[0054]S407,接收第N循環(huán)周期的輸入信號(hào)。
[0055]S408,根據(jù)第N循環(huán)周期的輸入信號(hào)生成第N循環(huán)周期的輸出信號(hào),返回步驟S404。
[0056]根據(jù)本發(fā)明實(shí)施例提出的嵌入式前后臺(tái)系統(tǒng)的控制方法,在第I循環(huán)周期中,接收第I輸入信號(hào),并停止輸出;在第N+1循環(huán)周期中,輸出第N循環(huán)周期的輸出信號(hào),之后接收第N+1循環(huán)周期的輸入信號(hào),根據(jù)第N+1循環(huán)周期的輸入信號(hào)生成第N+1循環(huán)周期的輸出信號(hào),其中,N為正整數(shù)。因此,該嵌入式前后臺(tái)系統(tǒng)的控制方法通過(guò)在每個(gè)循環(huán)周期內(nèi)先進(jìn)行輸出,再進(jìn)行輸入,從而有效地確保輸出的運(yùn)行時(shí)間的穩(wěn)定性,保障CAN總線通信時(shí)間的精度。
[005