陳林
【摘要】 介紹CAN總線,提出基于CAN總線的汽車儀表數(shù)據(jù)采集系統(tǒng)。通過CAN總線節(jié)點來完成汽車儀表上顯示信息的數(shù)據(jù)采集。本文主要對數(shù)據(jù)采集模塊的軟硬件設(shè)計作詳細(xì)說明。
【關(guān)鍵詞】 CAN總線 汽車儀表 數(shù)據(jù)采集
近年來,隨著汽車電子技術(shù)的不斷發(fā)展,汽車儀表板上顯示的信息不斷增加,為滿足需要,計算機、微電子和各種現(xiàn)場總線通信技術(shù)都廣泛應(yīng)用于其中。本文將講述基于CAN總線的汽車儀表數(shù)據(jù)采集系統(tǒng)的軟硬件設(shè)計。運用CAN節(jié)點實時采集車況信息并通過CAN總線將各節(jié)點連接和進行數(shù)據(jù)傳輸。
一、CAN總線概述
CAN最初出現(xiàn)在80年代末的汽車工業(yè)中,由德國Bosch公司最先提出。CAN全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN被設(shè)計作為汽車環(huán)境中的微控制器通訊,在車載電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。
CAN是一種多主方式的串行通訊總線,基本設(shè)計規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯誤。當(dāng)信號傳輸距離達到10Km時,CAN 仍可提供高達50Kbit/s的數(shù)據(jù)傳輸速率。
二、數(shù)據(jù)采集系統(tǒng)硬件設(shè)計
汽車儀表上顯示的數(shù)據(jù)信息,都是要通過其相應(yīng)的傳感器來得到的。這些傳感器的信號轉(zhuǎn)變?yōu)殡娦盘柡螅梢苑譃槊}沖信號(開關(guān)量信號)和模擬信號。
2.1 脈沖信號采集模塊
發(fā)動機的轉(zhuǎn)速由霍爾傳感器來測量,輸出信號采用光電耦合器整形為標(biāo)準(zhǔn)的方波信號,脈沖量(開關(guān)量)均應(yīng)在4.5V~5V之間,經(jīng)行電平轉(zhuǎn)換為5V后送至STC12C5A60AD控制器。然后計數(shù)成每秒脈沖數(shù),每秒脈沖數(shù)變換成公里/小時值。
2.2 模擬信號采集測量模塊
模擬信號采集測量模塊是通過測量冷卻液水溫、燃油液位、機油壓力和蓄電池電壓等模擬量的電壓信號大小來監(jiān)測各個參數(shù)的變化情況。
冷卻液水溫的傳感器是一種熱敏電阻式傳感器。通過放大電路將熱敏電阻隨溫度阻值變化量轉(zhuǎn)化為電壓信號,最后通過A/D轉(zhuǎn)換采集。
燃油液位傳感器是用于檢測燃油箱的油量,該傳感器將浮標(biāo)高度位置量轉(zhuǎn)化為電壓信號輸出,供控制系統(tǒng)識別以檢測油箱油位高度值。機油壓力傳感器采用應(yīng)變片傳感器,裝在主油管道孔內(nèi)的感應(yīng)塞把壓力轉(zhuǎn)換為電量輸出。蓄電池電壓本身就是一個波動范圍在+10V~+15V的模擬量。因STC12C5A60AD中的A/D輸入端輸入電壓最大為5V,故需將蓄電池電壓進行處理后再送入A/D的輸入引腳。
被測信號若以變化的電阻來體現(xiàn),一般較弱,需將變化的電阻轉(zhuǎn)換為電壓信號并放大處理后送到A/D中。信號調(diào)整到5V范圍內(nèi)再進行相應(yīng)的A/D轉(zhuǎn)換。
2.3 CAN總線節(jié)點
CAN節(jié)點由微控制器STC12C5A60AD、獨立CAN控制器SJA1000和隔離CAN收發(fā)器CTM1050組成。電源采用+5V電源輸入,上電復(fù)位芯片(CAT810L)可保證上電時正確的啟動系統(tǒng)。電路圖如圖1所示。
三、數(shù)據(jù)采集系統(tǒng)軟件設(shè)計
3.1 脈沖信號采集
對采集車速和發(fā)動機的轉(zhuǎn)速脈沖的測量,直接用STC12C5A60AD的外部中斷引腳INT0/INT1對車速和發(fā)動機的轉(zhuǎn)速脈沖進行測量。因為兩個脈沖之間的時間就是車輪轉(zhuǎn)一周所花的時間,所以將兩個脈沖之間的時間計算出來就可以得到速度了。同時程序還要比較相鄰兩次的速度變化值,若太大,還通過郵箱向USB記錄任務(wù)發(fā)送數(shù)據(jù),使汽車能在速度驟然變化的情況下記錄車況。車速和發(fā)動機轉(zhuǎn)速脈沖測量流程圖如圖2所示。
3.2 模擬信號采集
STC12C5A60AD的模數(shù)轉(zhuǎn)換模塊ADC是10位轉(zhuǎn)換精度,有8個模擬輸入通道。這里選用8個通道自動排序。對模擬量在一次自動排序周期中分別采樣8次,在軟件中即可以在一次A/D轉(zhuǎn)換中得到同一個參數(shù)的8個值,求出其均值,這樣就可以進一步消除干擾信號。當(dāng)8路AD循環(huán)采樣轉(zhuǎn)換任務(wù)完成一個循環(huán)采樣后,它即會給儀表顯示模塊發(fā)送一個消息,把相應(yīng)的所采集的數(shù)據(jù)傳送給儀表顯示任務(wù)中相應(yīng)的程序段。此時8路A/D循環(huán)采樣轉(zhuǎn)換任務(wù)掛起,由另外一個CAN節(jié)點采集其他模擬信號量。8路AD循環(huán)采樣轉(zhuǎn)換任務(wù)流程圖如圖3所示。
四、結(jié)束語
基于CAN總線的汽車儀表數(shù)據(jù)采集系統(tǒng)能將汽車工況信息準(zhǔn)確、實時的采集來滿足駕駛員需要。儀表運用CAN總線有利于與其它的電子集中控制系統(tǒng)進行數(shù)據(jù)交換,有利于汽車集中控制系統(tǒng)的發(fā)展和實現(xiàn),使得汽車儀表的安全性、可靠性、舒適性、功能擴展得到更好的提高和改善。endprint
【摘要】 介紹CAN總線,提出基于CAN總線的汽車儀表數(shù)據(jù)采集系統(tǒng)。通過CAN總線節(jié)點來完成汽車儀表上顯示信息的數(shù)據(jù)采集。本文主要對數(shù)據(jù)采集模塊的軟硬件設(shè)計作詳細(xì)說明。
【關(guān)鍵詞】 CAN總線 汽車儀表 數(shù)據(jù)采集
近年來,隨著汽車電子技術(shù)的不斷發(fā)展,汽車儀表板上顯示的信息不斷增加,為滿足需要,計算機、微電子和各種現(xiàn)場總線通信技術(shù)都廣泛應(yīng)用于其中。本文將講述基于CAN總線的汽車儀表數(shù)據(jù)采集系統(tǒng)的軟硬件設(shè)計。運用CAN節(jié)點實時采集車況信息并通過CAN總線將各節(jié)點連接和進行數(shù)據(jù)傳輸。
一、CAN總線概述
CAN最初出現(xiàn)在80年代末的汽車工業(yè)中,由德國Bosch公司最先提出。CAN全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN被設(shè)計作為汽車環(huán)境中的微控制器通訊,在車載電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。
CAN是一種多主方式的串行通訊總線,基本設(shè)計規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯誤。當(dāng)信號傳輸距離達到10Km時,CAN 仍可提供高達50Kbit/s的數(shù)據(jù)傳輸速率。
二、數(shù)據(jù)采集系統(tǒng)硬件設(shè)計
汽車儀表上顯示的數(shù)據(jù)信息,都是要通過其相應(yīng)的傳感器來得到的。這些傳感器的信號轉(zhuǎn)變?yōu)殡娦盘柡螅梢苑譃槊}沖信號(開關(guān)量信號)和模擬信號。
2.1 脈沖信號采集模塊
發(fā)動機的轉(zhuǎn)速由霍爾傳感器來測量,輸出信號采用光電耦合器整形為標(biāo)準(zhǔn)的方波信號,脈沖量(開關(guān)量)均應(yīng)在4.5V~5V之間,經(jīng)行電平轉(zhuǎn)換為5V后送至STC12C5A60AD控制器。然后計數(shù)成每秒脈沖數(shù),每秒脈沖數(shù)變換成公里/小時值。
2.2 模擬信號采集測量模塊
模擬信號采集測量模塊是通過測量冷卻液水溫、燃油液位、機油壓力和蓄電池電壓等模擬量的電壓信號大小來監(jiān)測各個參數(shù)的變化情況。
冷卻液水溫的傳感器是一種熱敏電阻式傳感器。通過放大電路將熱敏電阻隨溫度阻值變化量轉(zhuǎn)化為電壓信號,最后通過A/D轉(zhuǎn)換采集。
燃油液位傳感器是用于檢測燃油箱的油量,該傳感器將浮標(biāo)高度位置量轉(zhuǎn)化為電壓信號輸出,供控制系統(tǒng)識別以檢測油箱油位高度值。機油壓力傳感器采用應(yīng)變片傳感器,裝在主油管道孔內(nèi)的感應(yīng)塞把壓力轉(zhuǎn)換為電量輸出。蓄電池電壓本身就是一個波動范圍在+10V~+15V的模擬量。因STC12C5A60AD中的A/D輸入端輸入電壓最大為5V,故需將蓄電池電壓進行處理后再送入A/D的輸入引腳。
被測信號若以變化的電阻來體現(xiàn),一般較弱,需將變化的電阻轉(zhuǎn)換為電壓信號并放大處理后送到A/D中。信號調(diào)整到5V范圍內(nèi)再進行相應(yīng)的A/D轉(zhuǎn)換。
2.3 CAN總線節(jié)點
CAN節(jié)點由微控制器STC12C5A60AD、獨立CAN控制器SJA1000和隔離CAN收發(fā)器CTM1050組成。電源采用+5V電源輸入,上電復(fù)位芯片(CAT810L)可保證上電時正確的啟動系統(tǒng)。電路圖如圖1所示。
三、數(shù)據(jù)采集系統(tǒng)軟件設(shè)計
3.1 脈沖信號采集
對采集車速和發(fā)動機的轉(zhuǎn)速脈沖的測量,直接用STC12C5A60AD的外部中斷引腳INT0/INT1對車速和發(fā)動機的轉(zhuǎn)速脈沖進行測量。因為兩個脈沖之間的時間就是車輪轉(zhuǎn)一周所花的時間,所以將兩個脈沖之間的時間計算出來就可以得到速度了。同時程序還要比較相鄰兩次的速度變化值,若太大,還通過郵箱向USB記錄任務(wù)發(fā)送數(shù)據(jù),使汽車能在速度驟然變化的情況下記錄車況。車速和發(fā)動機轉(zhuǎn)速脈沖測量流程圖如圖2所示。
3.2 模擬信號采集
STC12C5A60AD的模數(shù)轉(zhuǎn)換模塊ADC是10位轉(zhuǎn)換精度,有8個模擬輸入通道。這里選用8個通道自動排序。對模擬量在一次自動排序周期中分別采樣8次,在軟件中即可以在一次A/D轉(zhuǎn)換中得到同一個參數(shù)的8個值,求出其均值,這樣就可以進一步消除干擾信號。當(dāng)8路AD循環(huán)采樣轉(zhuǎn)換任務(wù)完成一個循環(huán)采樣后,它即會給儀表顯示模塊發(fā)送一個消息,把相應(yīng)的所采集的數(shù)據(jù)傳送給儀表顯示任務(wù)中相應(yīng)的程序段。此時8路A/D循環(huán)采樣轉(zhuǎn)換任務(wù)掛起,由另外一個CAN節(jié)點采集其他模擬信號量。8路AD循環(huán)采樣轉(zhuǎn)換任務(wù)流程圖如圖3所示。
四、結(jié)束語
基于CAN總線的汽車儀表數(shù)據(jù)采集系統(tǒng)能將汽車工況信息準(zhǔn)確、實時的采集來滿足駕駛員需要。儀表運用CAN總線有利于與其它的電子集中控制系統(tǒng)進行數(shù)據(jù)交換,有利于汽車集中控制系統(tǒng)的發(fā)展和實現(xiàn),使得汽車儀表的安全性、可靠性、舒適性、功能擴展得到更好的提高和改善。endprint
【摘要】 介紹CAN總線,提出基于CAN總線的汽車儀表數(shù)據(jù)采集系統(tǒng)。通過CAN總線節(jié)點來完成汽車儀表上顯示信息的數(shù)據(jù)采集。本文主要對數(shù)據(jù)采集模塊的軟硬件設(shè)計作詳細(xì)說明。
【關(guān)鍵詞】 CAN總線 汽車儀表 數(shù)據(jù)采集
近年來,隨著汽車電子技術(shù)的不斷發(fā)展,汽車儀表板上顯示的信息不斷增加,為滿足需要,計算機、微電子和各種現(xiàn)場總線通信技術(shù)都廣泛應(yīng)用于其中。本文將講述基于CAN總線的汽車儀表數(shù)據(jù)采集系統(tǒng)的軟硬件設(shè)計。運用CAN節(jié)點實時采集車況信息并通過CAN總線將各節(jié)點連接和進行數(shù)據(jù)傳輸。
一、CAN總線概述
CAN最初出現(xiàn)在80年代末的汽車工業(yè)中,由德國Bosch公司最先提出。CAN全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN被設(shè)計作為汽車環(huán)境中的微控制器通訊,在車載電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。
CAN是一種多主方式的串行通訊總線,基本設(shè)計規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯誤。當(dāng)信號傳輸距離達到10Km時,CAN 仍可提供高達50Kbit/s的數(shù)據(jù)傳輸速率。
二、數(shù)據(jù)采集系統(tǒng)硬件設(shè)計
汽車儀表上顯示的數(shù)據(jù)信息,都是要通過其相應(yīng)的傳感器來得到的。這些傳感器的信號轉(zhuǎn)變?yōu)殡娦盘柡螅梢苑譃槊}沖信號(開關(guān)量信號)和模擬信號。
2.1 脈沖信號采集模塊
發(fā)動機的轉(zhuǎn)速由霍爾傳感器來測量,輸出信號采用光電耦合器整形為標(biāo)準(zhǔn)的方波信號,脈沖量(開關(guān)量)均應(yīng)在4.5V~5V之間,經(jīng)行電平轉(zhuǎn)換為5V后送至STC12C5A60AD控制器。然后計數(shù)成每秒脈沖數(shù),每秒脈沖數(shù)變換成公里/小時值。
2.2 模擬信號采集測量模塊
模擬信號采集測量模塊是通過測量冷卻液水溫、燃油液位、機油壓力和蓄電池電壓等模擬量的電壓信號大小來監(jiān)測各個參數(shù)的變化情況。
冷卻液水溫的傳感器是一種熱敏電阻式傳感器。通過放大電路將熱敏電阻隨溫度阻值變化量轉(zhuǎn)化為電壓信號,最后通過A/D轉(zhuǎn)換采集。
燃油液位傳感器是用于檢測燃油箱的油量,該傳感器將浮標(biāo)高度位置量轉(zhuǎn)化為電壓信號輸出,供控制系統(tǒng)識別以檢測油箱油位高度值。機油壓力傳感器采用應(yīng)變片傳感器,裝在主油管道孔內(nèi)的感應(yīng)塞把壓力轉(zhuǎn)換為電量輸出。蓄電池電壓本身就是一個波動范圍在+10V~+15V的模擬量。因STC12C5A60AD中的A/D輸入端輸入電壓最大為5V,故需將蓄電池電壓進行處理后再送入A/D的輸入引腳。
被測信號若以變化的電阻來體現(xiàn),一般較弱,需將變化的電阻轉(zhuǎn)換為電壓信號并放大處理后送到A/D中。信號調(diào)整到5V范圍內(nèi)再進行相應(yīng)的A/D轉(zhuǎn)換。
2.3 CAN總線節(jié)點
CAN節(jié)點由微控制器STC12C5A60AD、獨立CAN控制器SJA1000和隔離CAN收發(fā)器CTM1050組成。電源采用+5V電源輸入,上電復(fù)位芯片(CAT810L)可保證上電時正確的啟動系統(tǒng)。電路圖如圖1所示。
三、數(shù)據(jù)采集系統(tǒng)軟件設(shè)計
3.1 脈沖信號采集
對采集車速和發(fā)動機的轉(zhuǎn)速脈沖的測量,直接用STC12C5A60AD的外部中斷引腳INT0/INT1對車速和發(fā)動機的轉(zhuǎn)速脈沖進行測量。因為兩個脈沖之間的時間就是車輪轉(zhuǎn)一周所花的時間,所以將兩個脈沖之間的時間計算出來就可以得到速度了。同時程序還要比較相鄰兩次的速度變化值,若太大,還通過郵箱向USB記錄任務(wù)發(fā)送數(shù)據(jù),使汽車能在速度驟然變化的情況下記錄車況。車速和發(fā)動機轉(zhuǎn)速脈沖測量流程圖如圖2所示。
3.2 模擬信號采集
STC12C5A60AD的模數(shù)轉(zhuǎn)換模塊ADC是10位轉(zhuǎn)換精度,有8個模擬輸入通道。這里選用8個通道自動排序。對模擬量在一次自動排序周期中分別采樣8次,在軟件中即可以在一次A/D轉(zhuǎn)換中得到同一個參數(shù)的8個值,求出其均值,這樣就可以進一步消除干擾信號。當(dāng)8路AD循環(huán)采樣轉(zhuǎn)換任務(wù)完成一個循環(huán)采樣后,它即會給儀表顯示模塊發(fā)送一個消息,把相應(yīng)的所采集的數(shù)據(jù)傳送給儀表顯示任務(wù)中相應(yīng)的程序段。此時8路A/D循環(huán)采樣轉(zhuǎn)換任務(wù)掛起,由另外一個CAN節(jié)點采集其他模擬信號量。8路AD循環(huán)采樣轉(zhuǎn)換任務(wù)流程圖如圖3所示。
四、結(jié)束語
基于CAN總線的汽車儀表數(shù)據(jù)采集系統(tǒng)能將汽車工況信息準(zhǔn)確、實時的采集來滿足駕駛員需要。儀表運用CAN總線有利于與其它的電子集中控制系統(tǒng)進行數(shù)據(jù)交換,有利于汽車集中控制系統(tǒng)的發(fā)展和實現(xiàn),使得汽車儀表的安全性、可靠性、舒適性、功能擴展得到更好的提高和改善。endprint