CAN總線智能傳感器節(jié)點(diǎn)設(shè)計_第1頁
CAN總線智能傳感器節(jié)點(diǎn)設(shè)計_第2頁
CAN總線智能傳感器節(jié)點(diǎn)設(shè)計_第3頁
CAN總線智能傳感器節(jié)點(diǎn)設(shè)計_第4頁
CAN總線智能傳感器節(jié)點(diǎn)設(shè)計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、27/28基于82527的CAN總線智能傳感器節(jié)點(diǎn)設(shè)計摘要:介紹一種以8051微操縱器和82527獨(dú)立CAN總線操縱器為核心組成的CAN總線智能傳感器節(jié)點(diǎn)的設(shè)計方法,并給出其硬件原理圖和初始化程序。 關(guān)鍵詞:CAN總線 82527 單片機(jī) 數(shù)據(jù)采集 智能節(jié)點(diǎn)引言CAN(Controller Area Network,操縱局域網(wǎng))屬于工業(yè)現(xiàn)場總線,是德國Bosch公司20世紀(jì)80年代初作為解決現(xiàn)代汽車中眾多的操縱與測試儀器間的數(shù)據(jù)交換而開發(fā)的一種通信協(xié)議。1993年11月,ISO正式頒布了高速通信操縱局域網(wǎng)(CAN)的國際標(biāo)準(zhǔn)(ISO11898)。CAN總線系統(tǒng)中現(xiàn)場數(shù)據(jù)的采集由傳感器完成,目前

2、,帶有CAN總線接口的傳感器種類還不多,價格也較貴。本文給出一種由8051單片機(jī)和82527獨(dú)立CAN總線操縱器為核心構(gòu)成的智能節(jié)點(diǎn)電路,在一般傳感器基礎(chǔ)上形成可接收8路模擬量輸入和智能傳感器節(jié)點(diǎn)。1 獨(dú)立CAN總線操縱器82527介紹82527是Intel公司生產(chǎn)的獨(dú)立CAN總線操縱器,可通過并行總線與Intel和Motrorola的操縱器接口;支持CAN規(guī)程2.0B標(biāo)準(zhǔn),具有接收和發(fā)送功能并可完成報文濾波。82527采納CHMOS 5V工藝制造,44腳PLCC封裝,使用溫度為-44+125,其引腳的排列和定義參見參考文獻(xiàn)1。(1)82527的時鐘信號82527的運(yùn)行由2種時鐘操縱:系統(tǒng)時鐘

3、SCLK和寄存器時鐘MCLK。SCLK由外部晶振獲得,MCLK對SCLK分頻獲得。CAN總線的位定時依據(jù)SCLK的頻率,而MCLK為寄存器操作提供時鐘。SCLK頻率能夠等于外部晶振XTAL,也能夠是其頻率的1/2;MCLK的頻率能夠等于SCLK或是其頻率的1/2。系統(tǒng)復(fù)位后的默認(rèn)設(shè)置是SCLK=XTAL/2,MCLK=SCLK/2。(2)82527的工作模式82527有5種工作模式:Intel方式8位分時復(fù)用模式;Intel方式16位分時復(fù)用模式;串行接口模式;非Intel方式8位分時復(fù)用模式;8位非分時復(fù)用模式。本文應(yīng)用Intel方式8位分時復(fù)用模式,現(xiàn)在82527的30和44腳接地。(3)

4、82527的寄存器結(jié)構(gòu)2 82527的寄存器地址為00FFH.下面依照需要對寄存器給予介紹。操縱寄存器(00H):765432100CCE00EIESIEIEINITCCE改變配置同意位,高電平有效。該位有效時同意CPU對配置寄存器1FH、2FH、3FH、4FH、9FH、AFH寫操作。EIE錯誤中斷同意位,高電平有效。該位一般置1,當(dāng)總線上產(chǎn)生異常數(shù)量的錯誤時中斷CPU。SIE狀態(tài)改變中斷同意位,高電平有效。該位一般置0。IE中斷同意位,高電平有效。INIT軟件初始化同意位,高電平有效。該位有效時,CAN停止收發(fā)報文,TX0和TX1為隱性電平1。在硬件復(fù)位和總線關(guān)閉時該位被置位。CPU接口寄存

5、器(02H):76543210RSTSTDSCDMCPWDSLEEPMUX0CENRSTST硬件復(fù)位狀態(tài)位。該位由82527寫入,為1時硬件復(fù)位激活,不同意對82527訪問;為0時同意對82527訪問。DSCSCLK分頻位。該位為1,SCLK=XTAL/2;為0,SCLK=XTAL。DMCMCLK分頻位。該位為1,MCLK=SCLK/2;為0,MCLK=SCLK。PWD掉電模式使能位,高電平有效。SLEEP睡眠模式使能位,高電平有效。MUX低速物理層復(fù)用標(biāo)志位。該位為1,ISO低速物理層激活,PIN24=VCC/2,PIN11=INT#(表示取反);該位為0,PIN24=INT#,PIN11=

6、P2.6。CEN時鐘輸出同意位,高電平有效。標(biāo)準(zhǔn)全局屏蔽寄存器(0607H)。該寄存器用于具有標(biāo)準(zhǔn)標(biāo)識符的報文,或XTD置0的報文寄存器。該方式稱為報文接收濾波。當(dāng)某位為1時,報文標(biāo)識符的相應(yīng)位必須匹配;為0時,不必匹配。擴(kuò)展全局屏蔽寄存器(080BH)。該寄存器用于擴(kuò)展報文格式,或XTD置1的報文寄存器,其作用與相同。765432100COBYPOL0DCT10DCR1DCR0總線配置寄存器(2FH):COBY旁路輸入比較器標(biāo)志位,高電平有效。POL極性標(biāo)志位。為1,假如旁路輸入比較器,RX0的輸入邏輯1為顯性,邏輯0為隱性;為0,則反之。DCT1TX1輸出切斷操縱位。為1,TX1輸出不被驅(qū)

7、動,該模式用于1根總線的情況,2根差分導(dǎo)線短路;為0,TX1輸出被驅(qū)動。DCR1RX1輸入切斷操縱位。為1,RX1與輸入比較器的反相端斷開,接至VCC/2;為0,RX1接至輸入比較器反相端。DCR0RX0輸入切斷操縱位。作用與DCR1相同,現(xiàn)在RX0接至比較器同相端。76543210SJWBRP位定時寄存器0(3FH);SJW同步跳轉(zhuǎn)寬度位場,編程值13。BRP波特率分頻位場,編程值063。76543210SPLTSEG2TSEG1位定時寄存器1(4FH):SPL采樣模式標(biāo)志位。1表示每位采樣3次;0表示每位采樣1次。TSEG1時刻段1位場,編程值215。TSEG1時刻段2位場,編程值17。波

8、特率=XTAL/(DSC+1)*(BRP+1)*(3+TSEG1+TSEG2)報文寄存器(把每個寄存器的第1字節(jié)地址作為基址BASE)。76543210BASE+0MSGVALTXIERXIEINTPNDBASE+1RMTPNDTXRQSTMSGLST/CPUUPDNEWDAT操縱寄存器0,1(BASE+0,BASET+1)MSGVAL報文寄存器有效標(biāo)志位,高電平有效。10置位,01復(fù)位。TXIE發(fā)送中斷同意標(biāo)志位,高電平有效。10置位,01復(fù)位。RXIE接收中斷同意標(biāo)志位,高電平有效,10置位,01復(fù)位。INTPND中斷申請標(biāo)志位,高電平有效。10置位,01復(fù)位。RMTPND遠(yuǎn)程幀申請標(biāo)志位

9、,高電平有效。10置位,01復(fù)位。TXRQST請求發(fā)送標(biāo)志位,高電平有效。10置位,01復(fù)位。MSGLST報文丟失標(biāo)志位,只用于接收報文寄存器。10表示未讀報文被新報文覆蓋,01表示未覆蓋。CPUUPDCPU更新標(biāo)志位,只用于發(fā)送報文寄存器。10報文不被發(fā)送,01報文可發(fā)送。NEWDAT新數(shù)據(jù)標(biāo)志位。10表示向寄存器寫入了新數(shù)據(jù),01表示無新數(shù)據(jù)寫入。仲裁寄存器0,1,2,3(BASE+2-BASE+5)存儲報文標(biāo)識符。76543210DLCDIRXTD保留報文配置寄存器(BASE+6)DLC數(shù)據(jù)長度編碼,編程值08。DIR方向標(biāo)志位。1發(fā)送,0接收。XTD標(biāo)準(zhǔn)/擴(kuò)展標(biāo)識符標(biāo)志位。1擴(kuò)展標(biāo)識符

10、,0標(biāo)準(zhǔn)標(biāo)識符。數(shù)據(jù)寄存器(BASE+7-BASE+14)82527存儲報文時,8個數(shù)據(jù)字節(jié)均被寫入,未用到的字節(jié)數(shù)據(jù)是隨機(jī)的。2 硬件電路設(shè)計智能節(jié)點(diǎn)的電路如圖1所示(圖中6264略去)。在硬件設(shè)計中,由ADC0809完成對8路模擬置的轉(zhuǎn)換,與8051的信息交換采納查詢方式,地址BFF8BFFFH,其時鐘可由ALE二分頻獲得;82527完成與CAN總線的信息交換。本設(shè)計中,旁路了輸入比較器,與8051的信息交換采納中斷方式,地址7F007FFFH,能夠用82527的P1口和P2口對開關(guān)量采集或?qū)^電器進(jìn)行操縱。82C250提供82527和物理總線間的接口,提高接收和發(fā)送能力??梢勒招枰獢U(kuò)展程

11、序存儲器。3 軟件設(shè)計本設(shè)計軟件采納MCS-51匯編語言編寫,程序框圖如圖2所示。82527的初始化程序如下:INT:MOV DPTR,0FF02HMOV A,00HMOVX DPTR,A ;SCLK=XTAL;MCLK=SCLK,CLKOUT無效MOV DPTR,0FF00HMOV A,41HMOVX DPTR,A ;置位CCE,INITMOV DPTR,0FF2FHMOV A,48HMOVX DPTR,A ;旁路輸入比較器設(shè)置1位隱性,0為顯性,RX1無效MOV DPTR,0FF3FH;MOV A,43H;MOVX DPTR,A ;SJW=2,BRP=3MOV DPTR,0FF4FHMOV

12、 A,0EAHMOVX DPTR,A ;SPL=1,TSEG1=7,TSEG2=6現(xiàn)在波特率為100KbpsMOV DPTR,#0FF00H;MOV A,01HMOVX DPTR,A ;禁止對配置寄存器的訪問MOV DPTR,0FF10H;MOV A,55H;MOVX DPTR,A;INC DPTR;MOVX DPTR,A;MOV DPTR,0FFF0H;MOV A,55H;MOVX DPTR,AINC DPTR;MOVX DPTR,A ;報文寄存器操縱位初始化MOV R0,06H;MOV DPTR,0FF06H;MOV A,0FFH;L1:MOVX DPTR,A ;報文標(biāo)識符需全部匹配INC

13、 DPTRDJNZ R0,L1;MOV DPTR,0FF16H;MOV A,8CH ;報文寄存器1可發(fā)送8個字節(jié)擴(kuò)展報文MOVX DPTR,A;MOV DPTR,#0FF26H;MOV A,#84H;MOVX DPTR,A ;報文寄存器2可接收8個字節(jié)擴(kuò)展報文MOV DPTR,0FF00H;MOV A,00H;MOVX DPTR,A ;初始化結(jié)束RET Lonworks現(xiàn)場總線由美國Echelon公司于1993年推出,由于其開放的網(wǎng)絡(luò)操作系統(tǒng)、標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信協(xié)議、豐富的介質(zhì)接口模板、支持多種介質(zhì)之間相互通信等特點(diǎn),在工業(yè)操縱領(lǐng)域得到了廣泛響應(yīng)。目前已有多種支持Lonworks技術(shù)的芯片,Ech

14、elon公司的神經(jīng)元芯片NeuronC31是一種集3個8位CPU及網(wǎng)絡(luò)通信協(xié)議(LonTalk協(xié)議)為一體的芯片。采納該芯片構(gòu)成的智能節(jié)點(diǎn)在Lonworks現(xiàn)場總線操縱網(wǎng)絡(luò)中起著舉足輕重的作用,它能使現(xiàn)場設(shè)備之間相互通信,快速地交換信息,以滿足系統(tǒng)實(shí)時監(jiān)控的要求。但由于3150神經(jīng)元芯片只提供11個通用I/O口,不能滿足采集量和操縱量要求較多的現(xiàn)場設(shè)備的要求,因此研究和開發(fā)基于神經(jīng)元芯片的多點(diǎn)I/O的智能節(jié)點(diǎn),是一項(xiàng)有意義的工作。1 NeuronC3150神經(jīng)元芯片的特點(diǎn)NeuronC芯片既是Lonworks技術(shù)的核心也是智能節(jié)點(diǎn)的核心,目前由Toshiba和Motorola兩家公司生產(chǎn),要緊

15、包括NeuronC3150和NeuronC3120兩種系列。3150芯片中包括E2PROM和RAM存儲器,同3120芯片區(qū)不在于它無內(nèi)部ROM,但具有訪問外部存儲器的接口,尋址空間可達(dá)64Kbyte。從這一點(diǎn)來講,3150比3120在節(jié)點(diǎn)開發(fā)上具有更好的靈活性。3150芯片內(nèi)部帶有3個8位微處理器:一個用于鏈路層的操縱,另一個用于網(wǎng)絡(luò)層的操縱,第三個用于執(zhí)行用戶的應(yīng)用程序。該芯片還包含11個I/O口和完整的LonTalk通信協(xié)議,它同時具有通信和操縱功能。2 基于神經(jīng)元芯片智能節(jié)點(diǎn)的開發(fā)方法基于神經(jīng)元芯片開發(fā)的智能節(jié)點(diǎn)具有結(jié)構(gòu)簡單、成本低等優(yōu)勢,其開發(fā)方法可分為兩種:(1)基于操縱模塊的硬件設(shè)

16、計方法。采納這一方法的優(yōu)勢是可縮短產(chǎn)品的開發(fā)周期,因?yàn)椴倏v模塊通常都集成了神經(jīng)元芯片、Flash程序存儲器、收發(fā)器以及RAM等,用戶只需設(shè)計自己的應(yīng)用電路即可完成節(jié)點(diǎn)開發(fā)。(2)基于收發(fā)器的硬件電路設(shè)計方法。采納這一方法能夠降低節(jié)點(diǎn)成本,提高節(jié)點(diǎn)的市場競爭力,然而這一方法需要在考慮應(yīng)用電路設(shè)計的同時考慮神經(jīng)元芯片與Flash存儲器及RAM的接口電路,這關(guān)于電路板的設(shè)計加工及生產(chǎn)工藝的要求都較高。3 智能節(jié)點(diǎn)的電路設(shè)計節(jié)點(diǎn)采納主、背板結(jié)構(gòu)。主板上集成有操縱電路、通信電路和其他附加電路,其結(jié)構(gòu)圖如圖1。背板設(shè)計為兩種多點(diǎn)I/O模塊(包括多點(diǎn)數(shù)字I/O模塊和多點(diǎn)模擬I/O模塊)。主、背板之間采納統(tǒng)一

17、標(biāo)準(zhǔn)的20針接口。采納主、背板結(jié)構(gòu)設(shè)計法,使得此智能節(jié)點(diǎn)的應(yīng)用領(lǐng)域更為廣泛,適應(yīng)性、通用性和功能都大大增強(qiáng),關(guān)于節(jié)點(diǎn)應(yīng)用程序的開發(fā)也更為靈活。3.1 主板電路設(shè)計3.1.1 操縱電路操縱電路要緊由神經(jīng)元芯片,主背板接口電路和片外存儲器等組成。各元器件功能如下:(1)神經(jīng)元芯片 采納Toshiba公司生產(chǎn)的3150芯片,它要緊用于提供對節(jié)點(diǎn)的操縱、實(shí)施與Lon網(wǎng)的通信、支持對現(xiàn)場信息的輸入輸出等應(yīng)用服務(wù)。(2)片外存儲器 采納Atmel公司生產(chǎn)的AT29C256(FLASH存儲器)。AT29C256共有32K字節(jié)的地址空間,其中低16K字節(jié)空間用來存放神經(jīng)元芯片的固件(包括LonTalk協(xié)議等)

18、。高16字節(jié)空間作為節(jié)點(diǎn)應(yīng)用程序的存儲區(qū)。采納ISSI公司生產(chǎn)的IS61C256作為神經(jīng)元芯片的外部RAM.。(3)主、背板接口電路 用于主板與多點(diǎn)I/O模塊的電氣連接。3.1.2 通信電路通信電路的核心收發(fā)器是智能節(jié)點(diǎn)與Lon網(wǎng)之間的接口。目前,Echelon公司和其他開發(fā)商均提供了用于多種通信介質(zhì)的收發(fā)器模塊。本智能節(jié)點(diǎn)采納Echelon公司生產(chǎn)的適用于雙絞線傳輸介質(zhì)的FTT-10A收發(fā)器模塊。3.1.3 附加電路附加電路要緊包括晶振電路、復(fù)位電路和Service電路等。晶振電路為3150神經(jīng)元芯片提供工作時鐘。復(fù)位電路用于在智能節(jié)點(diǎn)上電時產(chǎn)生復(fù)位操作。另外,節(jié)點(diǎn)還將一個低壓中斷設(shè)備與31

19、50的Reset管腳相連,構(gòu)成對神經(jīng)元芯片的低壓愛護(hù)設(shè)計,提高節(jié)點(diǎn)的可靠性和穩(wěn)定性。Service電路是專為下載應(yīng)用程序的電路,Service指示燈對診斷神經(jīng)元芯片固件狀態(tài)有指示作用。3.2 I/O擴(kuò)展電路設(shè)計3150神經(jīng)元芯片包含11個通用口,用戶可依照不同的需求進(jìn)行靈活配置,以便于同外部設(shè)備進(jìn)行接口。關(guān)于輸入和輸出(I/O)數(shù)量需求較大的外圍設(shè)備,11個I/O口顯然不能滿足。盡管能夠依靠增加節(jié)點(diǎn)數(shù)量來滿足外圍要求,然而如此做不僅成本價格高而且增加了安裝的工作量,維護(hù)也不方便。因此,通過增加外圍電路實(shí)現(xiàn)I/O擴(kuò)展,成為多點(diǎn)I/O智能節(jié)點(diǎn)開發(fā)的重要部分。I/O擴(kuò)展設(shè)計包括多點(diǎn)模擬模塊設(shè)計和多點(diǎn)

20、數(shù)字模塊設(shè)計。 3.2.1 多點(diǎn)模塊模塊設(shè)計多點(diǎn)模擬模塊主電路圖如圖2。TLC2543是支持SPI串行總線的11路模擬通道的12位逐次逼近型模/數(shù)轉(zhuǎn)換器。CS(Pin 15)片選信號端接IO0;DATA INPUT(Pin 17)為串行數(shù)據(jù)輸入,其中四位串行地址用來選擇下一個被轉(zhuǎn)換的模擬通道或測試電壓寄存器;DATA OUTPUT(Pin 16)輸出模/數(shù)轉(zhuǎn)換的結(jié)果;CLK是維持模/數(shù)轉(zhuǎn)換正常工作的時鐘。值得注意的是,時鐘信號頻率較高,任何一點(diǎn)干擾都可能阻礙模塊的正常工作。在CLK上串聯(lián)或并聯(lián)一支電阻能夠起到明顯的抗干擾效果,保證模/數(shù)模塊的穩(wěn)定。(本模塊中,CLK接IO8,DATA INPU

21、T接IO9,DATA OUTPUT接IO10)。TLC2543還有一個特點(diǎn):IO9輸入數(shù)據(jù)的同時,IO10輸出的是上一次模/數(shù)轉(zhuǎn)換的值,因此在編寫NeuronC源程序時要注意模/數(shù)轉(zhuǎn)換的時序。選通兩支旁路電路:一支47F電解電容,對低頻起濾波作用;另一支為0.1F,對高頻起濾波作用。此模/數(shù)模塊沒有選用電壓基準(zhǔn),故在模/數(shù)芯片的參考電壓邊上接了一支0.1F電容,用以去除高頻干擾。3.2.2 多點(diǎn)數(shù)字模塊設(shè)計多點(diǎn)數(shù)字模塊要緊包括:輸入部分、輸出部分、雙向I/O三部分。通過擴(kuò)展,模塊具16路數(shù)字輸入通道、15路數(shù)字輸出通道和3路雙向I/O通道。(1)輸入部分 采納兩片8選1數(shù)據(jù)選擇器74LS151

22、級聯(lián),并將NeuronC3150的IO0IO3定義為Nibble Output方式,即半字節(jié)輸出方式;IO4定義為Bit Input方式,即位輸入方式。IO0IO3作為16路輸入通道的地址選通信號,與74LS151的地址輸入端(E、A、B、C管腳)相連。IO4作為數(shù)字信號入口,與74LS151的輸出端連接。(具體電路如圖3)下面的NeuronC源程序可完成對16路數(shù)字通道的定時掃描,定時時刻為1s:IO_0 output nibble io_mselect:/定義半字節(jié)輸出IOIO_4 input bit io_tmp; /定義位輸入IOStimer repeating t_circle=1 ;/定義并初始化定時器When (timer_expires(t_circle)int i ;bit I_num,temp15;/定義循環(huán)變量通道狀態(tài)數(shù)組初始化通道號for(i=0;i16;i+)io_o

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論