基于P87C591單片機(jī)的信號采集節(jié)點的設(shè)計
介紹了CAN總線和P87C591單片機(jī)的特點,給出了基于P87C591單片機(jī)的信號采集節(jié)點的軟、硬件設(shè)計,指出了硬件電路設(shè)計中應(yīng)注意的問題,在軟件設(shè)計中重點介紹了節(jié)點初始化、報文發(fā)送和報文接收等子程序。
本文引用地址:http://www.ex-cimer.com/article/173074.htm1 引言
在工程機(jī)械液壓系統(tǒng)狀態(tài)監(jiān)測與故障診斷中,傳感器信號的調(diào)理、采集和信號的特征提取,以及把采集的數(shù)據(jù)發(fā)送給主機(jī)(中心處理單元)要由信號采集單元實現(xiàn)。本文介紹了基于P87C591的CAN總線系統(tǒng)信號采集節(jié)點的設(shè)計。
CAN是1986年2月在SAE (汽車工程人員協(xié)會)大會上, 由Rober Bosch公司提出的新總線系統(tǒng),稱之為“汽車串行控制局域網(wǎng)”(Automotive Se.rial Controller Area Network),它是最主要的總線協(xié)議之一。由于CAN總線采用了許多新技術(shù)及獨特的設(shè)計,使得它與一般的通信總線相比具有突出的可靠性、實時性和靈活性,從而使其應(yīng)用范圍不斷擴(kuò)展。目前,CAN已經(jīng)形成國際標(biāo)準(zhǔn),并被公認(rèn)為是最有前途的現(xiàn)場總線之一。
P87C591是Philips半導(dǎo)體公司推出的單片8位高性能微控制器,具有片內(nèi)CAN控制器,是從80C51微控制器家族派生而來。它采用80C51指令集并包括了Philips公司SJA1000 CAN控制器的PeliCAN功能。P87C591微控制器采用先進(jìn)的CMOS工藝,設(shè)計用于汽車和通用的工業(yè)應(yīng)用。 P87C591組合了P87C554 (微控制器)和SJAIO00(獨立的CAN控制器)的功能,還具有以下增強型特性:
增強的CAN接收中斷
擴(kuò)展的驗收濾波器
驗收濾波器可動態(tài)變化
2 信號采集節(jié)點硬件電路設(shè)計
2.1 硬件電路設(shè)計
信號采集節(jié)點直接固定在工程機(jī)械液壓系統(tǒng)的主要測點上,主要由MCU、信號調(diào)理、A/D轉(zhuǎn)換、數(shù)字量輸入模塊、存儲器和CAN總線接口組成。信號采集節(jié)點選擇具有片內(nèi)CAN控制器的高性能8位單片機(jī)P87C591作為處理器,可以完成基本的模擬量和數(shù)字量的采集及CAN總線通訊。該采集模塊有8路模擬輸入和4路光電耦合數(shù)字(開關(guān))量輸入,模擬輸入前3路是專為ICP振動傳感器設(shè)計,其余5路均可通過跳線選擇0 V~5 V電壓輸入或4mA~20 mA電流環(huán)輸入.以適應(yīng)不同類型傳感器的需要。圖1為信號采集節(jié)點硬件結(jié)構(gòu)示意圖。
圖1 信號采集節(jié)點硬件結(jié)構(gòu)。
信號采集單元與主機(jī)(中心處理單元)之間通過四芯電纜連接,其中兩芯為CAN總線信號線(CANH和CANL).另外兩芯為電源線,可為信號采集單元各部分提供電源。
2.2 電路設(shè)計需要注意的問題
TJA1050是高速CAN收發(fā)器.是控制器區(qū)域網(wǎng)絡(luò)(CAN)協(xié)議控制器與物理總線之間的接口。
TJA1050可以為總線提供不同的發(fā)送性能,為CAN控制器提供不同的接收性能O TJA1050可以選擇兩種工作模式:高速模式和靜音模式。高速模式是普通的工作模式,將引腳8接地可以進(jìn)入高速模式,如果引腳8沒有連接.高速模式則為默認(rèn)的工作模式。將引腳8連接到Vcc可以進(jìn)入靜音模式,靜音模式可以防止在CAN控制器不受控制時對網(wǎng)絡(luò)通訊造成堵塞,在靜音模式中,發(fā)送器是禁止的,但是器件的其他功能可以繼續(xù)使用。
總線的兩端要連接兩個120 n 的電阻,對匹配總線阻抗起著重要的作用。如果忽略掉它們,會使數(shù)據(jù)通信的抗干擾性及可靠性大大降低,甚至無法通信。
3 信號采集節(jié)點軟件設(shè)計
信號采集節(jié)點的軟件設(shè)計主要有:節(jié)點初始化、報文發(fā)送、報文接收、CAN總線錯誤處理、CAN總線中斷處理等。本文重點介紹節(jié)點初始化、報文發(fā)送和報文接收。
3.1 節(jié)點初始化
在上電或硬件復(fù)位后,CAN控制器處于復(fù)位模式。如果CAN控制器不處于復(fù)位模式,置位模式寄存器RM位使其進(jìn)入復(fù)位模式。CAN控制器復(fù)位后,必須初始化實現(xiàn)CAN通信,其內(nèi)容主要有:操作模式、驗收濾波器、總線定時及中斷等。其中,定時器用來設(shè)置CAN總線上數(shù)據(jù)傳輸?shù)牟ㄌ芈?,注意總線上各節(jié)點的波特率須一致,否則將導(dǎo)致數(shù)據(jù)傳輸錯誤。信號采集節(jié)點初始化流程如圖2所示。
評論