一種汽車開關量信號的檢測方法
2023-09-21 16:44:25 1
一種汽車開關量信號的檢測方法
【專利摘要】一種汽車開關量信號的檢測方法,包括:步驟1:建立檢測電路;步驟2:將檢測電路接入CPU:二極體D1的負端作為輸入端,用以接收汽車的開關量信號INPUT;三極體Q1的集電極連接CPU的IO口,用以向CPU輸入TTL電平信號OUTPUT;三極體Q2的基極串聯電阻R6後連接CPU的IO口,用以接收CPU的定時掃描信號PULL_DOWN;步驟3:CPU產生定時掃描信號PULL_DOWN來控制輸入端的INPUT是否由下拉電阻R4連接到地,每做一次切換讀取一次IO口的值,然後再與上一次讀取的OUTPUT進行比較:如果兩次讀取的OUTPUT相同,則:CPU讀到OUTPUT為1,則判斷INPUT為低電平;讀到OUTPUT為0,則INPUT為高電平;如果兩次讀取的OUTPUT不同,則INPUT為懸空狀態,當有下拉電阻時,判斷OUTPUT為高電平;當無下拉電阻時,判斷OUTPUT為低電平。
【專利說明】一種汽車開關量信號的檢測方法
【技術領域】
[0001]本發明屬於狀態檢測電路,特別涉及一種汽車開關量信號的檢測電路。
【背景技術】
[0002]目前,在汽車上的開關信號檢測當中存在有三種狀態:高電平(連接到汽車電瓶正極)、低電平(搭鐵、接到電瓶負極)、懸空,而有效的狀態有兩種:高有效和低有效。針對汽車的開關信號檢測傳統的有幾種方案:用光耦隔離轉化、二極體隔離轉化和AD採集等,而這些傳統的方案中只能做到只針對一種有效狀態(即一個電路只能單獨檢測高有效或者低有效),而且一個CPU的IO只能識別兩種狀態,無法做到高有效或者低有效同時兼容的方案,其中採用電阻分壓,由AD 口採集方案可以實現,但是比較佔用CPU資源、成本較高。
[0003]為此,一篇申請號為201210338759.1的發明專利,公開了一種開關狀態檢測電路,解決現有單片機使用I/o 口不能同時檢測低速開關接電源、接地和懸空三種狀態的問題。該發明中,時鐘發生模塊產生周期性觸發信號,分別送到方波發生模塊和判斷模塊;方波發生模塊產生周期性翻轉的高、低電平,送到電平轉換電路,電平轉換電路進行電平轉換後的電信號,送到驅動電路進行電壓和電流放大,驅動電路輸出通過N個依次串聯的第一、第二限流電阻連接N個模數轉換模塊,N個模數轉換模塊輸出數字量,送到判斷模塊進行判斷。本發明只使用CPU的I/O 口,不用A/D 口,可以檢測出開關的高/低/懸空三種狀態。
[0004]該專利提出的方案雖然也可以用於汽車開關量信號的檢測電路中,但是其提供的檢測電路沒有有效的措施進行保護,直接由電阻引入CPU的IO 口,可能損壞CPU,而且該電路結構複雜,增加成本。
【發明內容】
[0005]因此,針對上述的問題,本發明提出一種汽車開關量信號的檢測方法,可以同時識另拙高電平、低電平和懸空三種狀態,實現N+1個IO 口就可以識別N路低速開關信號,並且電路對於高、低電平的判斷閾值可以單獨配置,同時,其實現電路簡單,且具有更好的抗幹擾、大電壓的能力,有效的保護CPU的IO 口,從而解決現有技術之不足。
[0006]為了解決現有技術之不足,本發明所採用的技術方案是,一種汽車開關量信號的檢測方法,包括以下步驟:
步驟1:建立檢測電路,該檢測電路包括二極體D1、二極體D2、三極體Q1、三極體Q2、電阻R1、電阻R2、電阻R3、電阻R4、電阻R5、電阻R6和電容Cl,二極體Dl的負端和電阻R4的一端連接,電阻R4的另一端連接三極體Q2的集電極,三極體Q2的基極串聯電阻R6,三極體Q2的發射極接地;二極體Dl的正端連接電阻R2的一端和二極體D2的正端,電阻R2的另一端連接電源VCC ;二極體D2的負端串聯電阻R3後連接電容Cl的一端、電阻R5的一端和三極體Ql的基極,電容Cl的另一端、電阻R5的另一端和三極體Ql的發射極接地,三極體Ql的集電極串聯電阻Rl後連接電源VCC ;
步驟2:將檢測電路接入CPU:二極體Dl的負端作為輸入端,用以接收汽車的開關量信號INPUT ;三極體Ql的集電極連接CPU的IO ロ,用以向CPU輸入TTL電平信號OUTPUT ;三極體Q2的基極串聯電阻R6後連接CPU的IO ロ,用以接收CPU的定時掃描信號PULL_D0WN ;其中,電阻R6是三極體Q2的限流電阻,通用做法,CPU—般會輸出3.3V,如果直接接到三極體Q2會損壞;
步驟3:CPU通過檢測電路進行檢測,具體檢測過程如下:首先由CPU產生定時掃描信號PULL_D0WN來控制輸入端的INPUT是否由下拉電阻R4連接到地;CPU對定時掃描信號PULL_D0WN每進行一次高低電平的切換(實現INPUT由電阻R4連接到地的切換),同時讀取一次連接電平信號OUTPUT的IO ロ的值,然後將兩次讀取的電平信號OUTPUT進行比較:如果兩次讀取的電平信號OUTPUT相同,則判斷如下:CPU讀到的電平信號OUTPUT為1,則判斷開關量信號INPUT為低電平;CPU讀到電平信號OUTPUT為0,則判斷開關量信號INPUT為高電平;
如果兩次讀取的電平信號OUTPUT不同,則開關量信號INPUT為懸空狀態,當有下拉電阻時,則電平信號OUTPUT為高電平;當無下拉電阻時,則電平信號OUTPUT為低電平。具體的,當有下拉電阻時,相當於將INPUT信號拉低,類似於輸入低電平,OUTPUT將輸出高電平到CPU ;當無下拉電阻時,INPUT將懸空,相當於輸入高電平,OUTPUT將輸出低電平到CPU。
[0007]其中,判斷開關量信號INPUT是否懸空狀態時,由於當外部信號切換時也會出現兩次採集回來的電平不同,因此,需要進行多次(至少三次)的採集判斷,以濾除該幹擾。
[0008]另外,在檢測過程中,OUTPUT信號為標準的TTL電平信號,判斷開關量信號INPUT為I或者0是通過預先設置的閾值進行判斷的,例如開關量信號INPUT在0-2V之間判斷為0,大於2V則為1,當然也可以根據不同的需求設置其他的區間。其判斷的閾值可以通過調整電阻R2、電阻R4、電阻R3和電阻R5的阻值進行配置:高低電平閾值的配置即為配置三極體進入飽和導通的狀態,通過配置合適的電壓值,使接ロ達到判斷閾值時,三極體剛好進入導通狀態。其中,電阻R4為電路的輸入電阻,根據開關信號的驅動能力選取阻值較大的電阻,提高輸入阻抗。電阻R2與電阻R4構成分壓,故電阻R2的阻值可以略大於電阻R4。最後通過調節電阻R3和電阻R5可以控制三極體進入飽和區的電壓即可配置開關信號判斷的閾值。
[0009]上述方法中,檢測電路對於汽車開關信號三種狀態的檢測原理如下:
a、INPUT輸入高電平時,ニ極管Dl截止、D2導通,三極體Ql飽和導通,OUTPUT輸出TTL低電平;
b、INPUT輸入低電平(搭鐵或接地)吋,ニ極管Dl導通,D2截止,三極體Ql截止,OUTPUT輸出TTL高電平;
c、INPUT輸入懸空時,需要有ー個接地來探測該狀態,該接地由一個電阻R4加ー個三極體Q2實現,CPU的10 ロ輸出ー個定時掃描信號roLL_D0WN來控制三極體下拉電阻。懸空吋,當有下拉電阻吋,ニ極管Dl導通,D2截止,三極體Ql截止,OUTPUT輸出高電平;當無下拉電阻時,ニ極管Dl截止、D2導通,三極體Ql導通,OUTPUT輸出低電平。這樣CPU通過PULL_D0WN輸出控制,將下拉電阻R4進行下拉與不下拉的掃描,就可以識別出當前的輸入信號是否為懸空,判斷原則為如果每次掃描採集回來的電平不同即為INPUT輸入為懸空,為了防止誤判斷(因為當高、低電平切換時也會出現兩次採集回來的電平不同),這需要多次掃描採集來做大數判斷,濾除幹擾。[0010]本發明通過上述方法,與現有技術相比,具有如下優點:
1、通過普通的IO口即可識別開關信號的三種狀態:高電平、低電平、懸空,而不用比較 浪費資源的AD 口 ;
2、如果需要檢測N路的開關量,就需要有N個的這樣的電路,就需要有N個的IO口,然 後加上I個的roLL_D0WN這個IO 口就是N+1的IO 口了,因此,由N+1個的IO 口就可以檢 測N路的低速開關信號;
3、由二極體Dl和D2實現隔離,可以較好的抑制外部的幹擾(如該路埠可以耐大電 壓、可通過浪湧200V/200mS和靜電接觸放電等試驗不損壞);
4、對於高電平或低電平的判斷閾值可以通過電阻R2、R3、R4和R5進行單獨配置;
5、與【背景技術】中的發明專利(申請號為201210338759.1)相比,本發明中的檢測電路的 接口可以有更好的抗幹擾、大電壓的能力,有效的保護CPU的IO 口。
【專利附圖】
【附圖說明】
[0011]圖1為本發明的電路原理圖。
【具體實施方式】
[0012]現結合附圖和【具體實施方式】對本發明進一步說明。
[0013]本發明的一種汽車開關量信號的檢測方法,通過在CPU和汽車輸出開關量信號的 接口之間設置檢測電路而實現,如圖1所示,該檢測電路包括二極體D1、二極體D2、三極體 Ql、三極體Q2、電阻R1、電阻R2、電阻R3、電阻R4、電阻R5、電阻R6和電容Cl,二極體Dl的 負端和電阻R4的一端連接,電阻R4的另一端連接三極體Q2的集電極,三極體Q2的基極串 聯電阻R6,三極體Q2的發射極接地;二極體Dl的正端連接電阻R2的一端和二極體D2的正 端,電阻R2的另一端連接電源VCC ;二極體D2的負端串聯電阻R3後連接電容Cl的一端、 電阻R5的一端和三極體Ql的基極,電容Cl的另一端、電阻R5的另一端和三極體Ql的發 射極接地,三極體Ql的集電極串聯電阻Rl後連接電源VCC。二極體Dl的負端作為輸入端, 用以接收汽車的開關量信號INPUT ;三極體Ql的集電極作為輸出端,連接CPU的IO 口,用 以向CPU輸入TTL電平信號OUTPUT ;三極體Q2的基極串聯電阻R6後連接CPU的IO 口,用 以接收CPU的定時掃描信號roLL_D0WN。
[0014]其中,INPUT為汽車接口開關量信號輸入,OUTPUT為輸入CPU的TTL電平信號,二 極管Dl和二極體D2為隔離二極體,防止損壞CPU的IO 口,其中二極體Dl隔離正向高壓的 幹擾,二極體D2隔離負向高壓的幹擾。通過INPUT輸入的高、低電平為穩定可靠的信號,可 使OUTPUT輸出固定的TTL電平,而當INPUT懸空時,輸入的效果等效於高電平輸入,故需要 有個接地的信號(這裡採用由CPU控制三極體Q2實現接地)來探測該懸空狀態,如果每次 INPUT接地後OUTPUT電平也隨之改變,則表明INPUT此時為懸空狀態。為防止是輸入高電 平時出現接地短路,於輸入與三極體集電極接了限流電阻R4。通過配置電阻R2、電阻R3、電 阻R4、電阻R5的阻值可以設置高低電平判斷的閾值。
[0015]該檢測電路對於汽車開關信號三種狀態(高電平(連接到汽車電瓶正極)、低電平 (搭鐵、接到電瓶負極)、懸空)的檢測原理:
a、INPUT輸入高電平時,二極體Dl截止、D2導通,三極體Ql飽和導通,OUTPUT輸出TTL低電平; b、INPUT輸入低電平(搭鐵或接地)時,二極體Dl導通,D2截止,三極體Ql截止,OUTPUT輸出TTL高電平; c、INPUT輸入懸空時,需要有一個接地來探測該狀態,該接地由一個電阻R4加一個三極體Q2實現,CPU的IO 口輸出一個定時掃描信號roLL_D0WN來控制三極體下拉電阻。懸空時,當有下拉電阻時,二極體Dl導通,D2截止,三極體Ql截止,OUTPUT輸出高電平;當無下拉電阻時,二極體Dl截止、D2導通,三極體Ql導通,OUTPUT輸出低電平。這樣CPU通過PULL_D0WN輸出控制,將下拉電阻R4進行下拉與不下拉的掃描,就可以識別出當前的輸入信號是否為懸空,判斷原則為如果每次掃描採集回來的電平不同即為INPUT輸入為懸空,為了防止誤判斷(因為當高、低電平切換時也會出現兩次採集回來的電平不同),這需要多次掃描採集來做大數判斷,濾除幹擾。[0016]具體的,CPU的工作過程如下:由CPU產生定時PULL_D0WN控制信號來控制輸入埠的INPUT是否由下拉電阻R4連接到地(PULL_D0WN控制三極體Q2來使INPUT通過R4連接到地。連接地是為了探測懸空狀態,懸空相當於接高電平,所以通過模擬接地來判斷,如果接地後OUTPUT輸出的電平發生變化,則INPUT此時為懸空),每做一次切換讀取一次IO口的值,然後在與上一次讀取的電平進行比較:如果不變,則CPU讀到的電平信號OUTPUT為1,則判斷開關量信號INPUT為低電平;CPU讀到電平信號OUTPUT為0,則判斷開關量信號INPUT為高電平;如果不一樣,則開關量信號INPUT可能為懸空狀態,但需進行多次採集判斷(由於當外部信號切換時也會出現兩次採集回來的電平不同,因此,這需要多次採集判斷,濾除該幹擾),判斷邏輯如表1所示:
【權利要求】
1.一種汽車開關量信號的檢測方法,其特徵在於:包括以下步驟: 步驟1:建立檢測電路,該檢測電路包括ニ極管D1、ニ極管D2、三極體Q1、三極體Q2、電阻R1、電阻R2、電阻R3、電阻R4、電阻R5、電阻R6和電容Cl,ニ極管Dl的負端和電阻R4的一端連接,電阻R4的另一端連接三極體Q2的集電極,三極體Q2的基極串聯電阻R6,三極體Q2的發射極接地;ニ極管Dl的正端連接電阻R2的一端和ニ極管D2的正端,電阻R2的另一端連接電源VCC ;ニ極管D2的負端串聯電阻R3後連接電容Cl的一端、電阻R5的一端和三極體Ql的基板,電容Cl的另一端、電阻R5的另一端和三極體Ql的發射極接地,三極體Ql的集電極串聯電阻Rl後連接電源VCC ; 步驟2:將檢測電路接入CPU: ニ極管Dl的負端作為輸入端,用以接收汽車的開關量信號INPUT ;三極體Ql的集電極連接CPU的IO ロ,用以向CPU輸入TTL電平信號OUTPUT ;三極體Q2的基極串聯電阻R6後連接CPU的IO ロ,用以接收CPU的定時掃描信號PULL_D0WN ; 步驟3:CPU通過檢測電路進行檢測,具體檢測過程如下:首先由CPU產生定時掃描信號PULL_D0WN來控制輸入端的INPUT是否由下拉電阻R4連接到地;CPU對定時掃描信號PULL_D0WN每進行一次高低電平的切換,同時讀取一次連接電平信號OUTPUT的IO ロ的值,然後將兩次讀取的電平信號OUTPUT進行比較: 如果兩次讀取的電平信號OUTPUT相同,則判斷如下:CPU讀到的電平信號OUTPUT為1,則判斷開關量信號INPUT為低電平;CPU讀到電平信號OUTPUT為0,則判斷開關量信號INPUT為高電平; 如果兩次讀取的電平信號OUTPUT不同,則開關量信號INPUT為懸空狀態,當有下拉電阻時,則電平信號OUTPUT為高電平;當無下拉電阻時,則電平信號OUTPUT為低電平。
2.根據權利要求1所述的汽車開關量信號的檢測方法,其特徵在於:所述步驟3中,判斷開關量信號INPUT是否懸空狀態時,至少對電平信號OUTPUT採集三次進行判斷,以濾除幹擾。
3.根據權利要求1所述的汽車開關量信號的檢測方法,其特徵在於:所述步驟3中,判斷開關量信號INPUT為I或者0是通過預先設置的閾值進行判斷的,判斷開關量信號INPUT的閾值通過調整電阻R2、電阻R4、電阻R3和電阻R5的阻值進行配置。
【文檔編號】G01R31/00GK103605017SQ201310541408
【公開日】2014年2月26日 申請日期:2013年11月6日 優先權日:2013年11月6日
【發明者】葉志聰, 蔡運文, 吳振達, 陳茹濤, 肖振隆 申請人:廈門雅迅網絡股份有限公司