1 、引言
近年來(lái),隨著土地資源不斷的被開(kāi)發(fā)利用,我國(guó)基礎(chǔ)建設(shè)的規(guī)模也進(jìn)一步擴(kuò)大,工程機(jī)械市場(chǎng)呈現(xiàn)持續(xù)增長(zhǎng)態(tài)勢(shì),但是國(guó)內(nèi)的工程機(jī)械行業(yè)仍處于一種相對(duì)落后的生產(chǎn)方式,所以工程機(jī)械行業(yè)需要適合本行業(yè)要求的,智能的,性能優(yōu)越的監(jiān)控產(chǎn)品。嵌入式技術(shù)、總線技術(shù)和網(wǎng)絡(luò)技術(shù)等高新技術(shù)融入到工程機(jī)械行業(yè)的監(jiān)控系統(tǒng)中來(lái),是十分必要的。為此,本文設(shè)計(jì)了一種基于嵌入式系統(tǒng)和總線技術(shù)的工程機(jī)械監(jiān)控系統(tǒng)終端,詳細(xì)討論了監(jiān)控系統(tǒng)終端的構(gòu)成和CAN總線的設(shè)計(jì)。
2 、監(jiān)控系統(tǒng)終端的總體構(gòu)成
監(jiān)控終端負(fù)責(zé)前端控制系統(tǒng)所有單元的監(jiān)控,包括安全監(jiān)控、電液比例等單元并通過(guò)液晶顯示器和鍵盤(pán)進(jìn)行人機(jī)交互,同時(shí),連接視頻監(jiān)控設(shè)備,隨時(shí)監(jiān)控現(xiàn)場(chǎng)的情況。
如圖1所示,監(jiān)控系統(tǒng)終端包括:車(chē)載監(jiān)控系統(tǒng)控制模塊、人機(jī)交互模塊、存儲(chǔ)模塊、視頻監(jiān)控模塊、CAN總線控制模塊。
圖1監(jiān)控系統(tǒng)終端的總體構(gòu)成
各部分的功能如下:
1.載監(jiān)控系統(tǒng)控制模塊是整個(gè)終端的核心部件,采用ARM720TDMA內(nèi)核的嵌入式處理器ARM7202,完成整個(gè)系統(tǒng)的控制功能。
2.儲(chǔ)模塊用來(lái)進(jìn)行操作系統(tǒng)內(nèi)核、引導(dǎo)程序和應(yīng)用程序、以及驅(qū)動(dòng)程序的存儲(chǔ),并緩存執(zhí)行過(guò)程中產(chǎn)生的各種數(shù)據(jù),使系統(tǒng)能穩(wěn)定的運(yùn)行。
3.機(jī)交互模塊包括液晶顯示器和鍵盤(pán)輸入,用戶通過(guò)人機(jī)交互模塊進(jìn)行直觀的監(jiān)測(cè)和控制。
4.為了對(duì)現(xiàn)場(chǎng)工作狀況進(jìn)行直接監(jiān)控,系統(tǒng)集成了視頻監(jiān)控模塊,通過(guò)視頻采集卡連接攝像機(jī),將采集到的圖像轉(zhuǎn)換成數(shù)字信號(hào)并壓縮成JPEG格式文件,輸入到處理器中,供用戶進(jìn)行監(jiān)測(cè)。
5.系統(tǒng)通過(guò)CAN總線實(shí)現(xiàn)前端各個(gè)單元控制系統(tǒng)的監(jiān)測(cè)。
3 、硬件設(shè)計(jì)
3.1 硬件總體結(jié)構(gòu)
如圖2 所示,監(jiān)控終端分成包括:嵌入式處理器7202、存儲(chǔ)系統(tǒng)、復(fù)位電路和晶振電路, JTAG調(diào)試接口、LCD顯示接口、RS-232串行接口、CAN總線接口。
圖2載監(jiān)控終端硬件結(jié)構(gòu)圖
各部分的功能如下:
1.晶振電路為系統(tǒng)提供工作時(shí)鐘。
2.復(fù)位電路用于完成系統(tǒng)上電復(fù)位和在系統(tǒng)工作時(shí)用戶按鍵復(fù)位。
3.存儲(chǔ)系統(tǒng)由FLASH存儲(chǔ)器、SDRAM存儲(chǔ)器組成。FLASH存儲(chǔ)器用于存放己調(diào)試好的用戶應(yīng)用程序、嵌入式操作系統(tǒng)和其他在系統(tǒng)掉電后需要保存的用戶數(shù)據(jù)等。SDRAM存儲(chǔ)器作為系統(tǒng)運(yùn)行時(shí)的主要區(qū)域。
4.JTAG接口可對(duì)芯片內(nèi)部的所有部件進(jìn)行訪問(wèn),通過(guò)該接口可對(duì)系統(tǒng)進(jìn)行調(diào)試、編程等。
5.LCD接口用于連接人機(jī)交互所需要的顯示裝置。
6.CAN控制器為系統(tǒng)提供CAN總線接口,與前端各單元控制系統(tǒng)進(jìn)行數(shù)據(jù)和指令的傳遞。
7.RS-232串行通信接口用于視頻壓縮卡的連接,傳輸視頻圖像。
3.2 CAN模塊的硬件設(shè)計(jì)
通過(guò)CAN模塊接口,ARM處理器可以直接訪問(wèn)CAN寄存器組,這些寄存器可以配置CAN核心模塊、CAN信息處理模塊以及訪問(wèn)信息RAM的方式。本系統(tǒng)采用飛利浦公司的TJA1050作為收發(fā)器,在CAN接口和CAN總線之間的收發(fā)器,作用是將3.3V的邏輯電平轉(zhuǎn)換為CAN的邏輯電平,也就是將發(fā)送和接收到的信號(hào)轉(zhuǎn)換成CAN總線和ARM可以識(shí)別的信號(hào)。
圖3 CAN模塊的電路設(shè)計(jì)
4 、ARM中CAN模塊的軟件設(shè)計(jì)
在構(gòu)造和特性上,7202的CAN控制器與標(biāo)準(zhǔn)的CAN模塊基本沒(méi)有區(qū)別,只是在寄存器的個(gè)數(shù)與基地址的偏移上有些不同。
如圖4,在開(kāi)始進(jìn)行總線操作前需要做好4步工作。首先要使能CAN模塊,向CAN Enable Register寫(xiě)入0X01,由于ARM的引腳是復(fù)用的,所以在使能CAN模塊以前,先要將CAN模塊占用的引腳切換到特殊模式。然后要初始化CAN模塊,主要是正確的配置Command Mask Register,這個(gè)寄存器的作用是用來(lái)配置CAN模塊收發(fā)的信息體。接著,配置波特率,通過(guò)所想達(dá)到的CAN總線波特率,計(jì)算出計(jì)算公式各個(gè)變量的值,而CAN的波特率計(jì)算公式如下:(Tseg2+Tseg1+SJW+3)* BRP = CAN_CLK/Fbps。左邊的4個(gè)變量在BRP寄存器中,而等式右邊的CAN_CLK是一個(gè)固定值,在這里是48MHz。最后,配置信息存儲(chǔ)器,信息體的配置是與具體的應(yīng)用信息相關(guān)的,具體到信息緩沖寄存器組中的每一個(gè)寄存器的設(shè)置。需要提出的是,前面三步都是在初始化模式下完成的,而最后一步則是在正常模式下進(jìn)行。在進(jìn)行完這四部以后,就可以對(duì)CAN模塊進(jìn)行操作了。
圖4 CAN模塊操作順序
linux操作系統(tǒng)把對(duì)CAN的操作看成是對(duì)文件的操作,對(duì)于文件,最基本的操作是打開(kāi)、關(guān)閉、讀和寫(xiě)。對(duì)于CAN模塊,讀與寫(xiě)操作分別實(shí)現(xiàn)接收數(shù)據(jù)的讀取和發(fā)送,打開(kāi)和關(guān)閉文件則分別實(shí)現(xiàn)CAN模塊的一些硬件資源的初始化和釋放先前所占有的資源,配置波特率、配置信息模式等配置特性的操作,則由ioctl函數(shù)完成的。
static int _int can_init(void)
{
初始化默認(rèn)波特率、注冊(cè)驅(qū)動(dòng)程序
}
int can_open(struct inode *inode, struct file *filp)
{
設(shè)置CAN工作寄存器、初始化讀操作隊(duì)列、注冊(cè)CAN模塊中斷
}
static int can_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
{
根據(jù)cmd參數(shù)選擇相應(yīng)的操作
}
上面列舉出了對(duì)CAN操作的初始化、打開(kāi)、和配置函數(shù),其他的還有讀、寫(xiě)、關(guān)閉等函數(shù),最后所要實(shí)現(xiàn)的功能就是CAN模塊中斷,在中斷中主要完成對(duì)于讀寫(xiě)位置標(biāo)志的改變,以實(shí)現(xiàn)阻塞型I/O操作,這樣,用戶通過(guò)應(yīng)用這些操作函數(shù)就完成了CAN總線的使用了。
5 、結(jié)語(yǔ)
本設(shè)計(jì)利用嵌入式系統(tǒng)和CAN總線,實(shí)現(xiàn)工程機(jī)械的車(chē)載監(jiān)控的集成化、信息化和智能化,通過(guò)在嵌入式系統(tǒng)CAN總線的應(yīng)用,可以方便的實(shí)現(xiàn)前端安全監(jiān)控、電液比例等單元監(jiān)控,并且可以進(jìn)行人機(jī)交互和圖像采集,有很好的應(yīng)用前景。
責(zé)任編輯:gt
-
處理器
+關(guān)注
關(guān)注
68文章
19168瀏覽量
229153 -
嵌入式
+關(guān)注
關(guān)注
5068文章
19021瀏覽量
303329 -
CAN總線
+關(guān)注
關(guān)注
145文章
1936瀏覽量
130631
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論