基于AT89C51CC01單片機的CAN-LIN網(wǎng)關(guān)設(shè)計-新品速遞_第1頁
基于AT89C51CC01單片機的CAN-LIN網(wǎng)關(guān)設(shè)計-新品速遞_第2頁
基于AT89C51CC01單片機的CAN-LIN網(wǎng)關(guān)設(shè)計-新品速遞_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯基于AT89C51CC01單片機的CAN—LIN網(wǎng)關(guān)設(shè)計-新品速遞引言現(xiàn)場總線技術(shù)已經(jīng)廣泛的應(yīng)用于工業(yè)控制中,尤其是CAN(ControlerAreaNerwork)總線由于具有可靠性高、成本低、容易實現(xiàn)等優(yōu)點,在現(xiàn)場總線的實際工程應(yīng)用中占有了較大的份額。伴隨著總線技術(shù)的發(fā)展,LIN(LocalInterconnectNetwork)總線作為一種低成本的串行通信網(wǎng)絡(luò),其目標(biāo)是為現(xiàn)有的現(xiàn)場總線控制網(wǎng)絡(luò)提供輔助功能,特別是汽車控制網(wǎng)絡(luò)中的總線應(yīng)用,因此必然存在一個LIN總線和其它總線的通信接口實現(xiàn),本文以CAN總線為例,提出了一種基于AT89C51CC03單片機的CAN-LIN網(wǎng)關(guān)設(shè)計方案。LIN是一種低成本的串行通訊網(wǎng)絡(luò)用于實現(xiàn)汽車中的分布式電子系統(tǒng)控制,LIN的目標(biāo)是為現(xiàn)有汽車網(wǎng)絡(luò)(例如CAN總線)提供輔助功能,因此LIN總線是一種輔助的總線網(wǎng)絡(luò),在不需要CAN總線的帶寬和多功能的場合比如智能傳感器和制動裝置之間的通訊,使用LIN總線可大大節(jié)省成本。LIN通訊是基于SCI(UART)數(shù)據(jù)格式,采用單主控制器/多從設(shè)備的模式,僅使用一根12V信號總線和一個無固定時間基準(zhǔn)的節(jié)點同步時鐘線。網(wǎng)關(guān)硬件設(shè)計整個網(wǎng)關(guān)模塊包括LIN接口、CAN接口、CAN波特率設(shè)置、LIN波特率設(shè)置、電源模塊、狀態(tài)燈六個子模塊(圖1)。圖1系統(tǒng)結(jié)構(gòu)框圖AT89C51CC03是Atmel公司的一款內(nèi)嵌CAN控制器的8位單片機。本設(shè)計中以AT89C51CC03單片機為基礎(chǔ),選擇TJA1020作為LIN總線收發(fā)器,采用單片機的UART接口,在CAN模塊設(shè)計部分選擇PCA82C250作為CAN總線收發(fā)器,具體的電路連接如圖2、圖3、圖4所示。圖2單片機電路圖3CAN接口電路圖4LIN接口電路在電路中我們設(shè)計了一個5位的撥碼開關(guān),由于在各個不同的工作系統(tǒng)中,LIN總線和CAN總線的傳輸是不一樣的,這就需要改換軟件,因此在此設(shè)計中用一個5位的撥碼開關(guān)用于波特率設(shè)置,三位用于LIN波特率設(shè)置,兩位用于CAN波特率設(shè)置。同時為了展示網(wǎng)關(guān)的工作狀態(tài),特意設(shè)計了工作指示燈,在接收和發(fā)送信號時分別以一定的頻率閃爍,當(dāng)有故障出現(xiàn)時,兩個燈同時點亮。為增強CAN節(jié)點的抗干擾能力,單片機的TXDC和RXDC引腳并不是直接與PCA82C250A的TXD和RXD引腳相連,而是通過高速光耦6N137相連(圖3)。這樣很好的實現(xiàn)了總線上各個節(jié)點間的電氣隔離,光耦部分電路所采用的兩個電源VCC和VDD必須是完全隔離的,否則采用光耦也就失去了意義。網(wǎng)關(guān)軟件設(shè)計網(wǎng)關(guān)的軟件設(shè)計主要包括主控程序模塊和CAN模塊軟件設(shè)計以及LIN模塊軟件設(shè)計,CAN模塊軟件設(shè)計主要有三個子函數(shù),一個是CAN初始化CAN_INIT(),另外兩個是CAN_RE_ISR()和CAN_SEND()。CAN_INIT()主要是設(shè)置CAN通信的波特率和CAN基本設(shè)置,波特率可以根據(jù)撥碼開關(guān)的值來設(shè)定,在系統(tǒng)上電之后通過自檢程序自動掃描,查預(yù)先設(shè)定好的波特率表格,設(shè)定CAN通信波特率。CAN_RE_ISR()負(fù)責(zé)信息的接收和處理,CAN_SEND()負(fù)責(zé)信息發(fā)送。LIN模塊軟件設(shè)計主要包括幾個文件:LIN.H、LIN.C、TEMR0.HTEMRO.C,其中LIN.H、LIN.C分別實現(xiàn)LIN規(guī)范的設(shè)定以及UART波特率的設(shè)定和LIN信息的接收與發(fā)送,TEMR0.HTEMRO.C用于產(chǎn)生LIN總線波特率。主控程序設(shè)計主要完成整個網(wǎng)關(guān)的信息轉(zhuǎn)發(fā)功能,當(dāng)CAN接收中斷發(fā)生時,置LIN發(fā)送標(biāo)志位,準(zhǔn)備轉(zhuǎn)發(fā)CAN信息到LIN網(wǎng)絡(luò);同樣,當(dāng)LIN接收中斷生時,置CAN發(fā)送標(biāo)志位,準(zhǔn)備發(fā)送LIN信息到CAN網(wǎng)絡(luò)。整個軟件以C51編寫,并利用KEIL公司的仿真軟件進行軟件調(diào)試,將完整程序燒寫到AT89C51CC01的flash空間。結(jié)語本文提出了基于AT89C51CC01單片機的CAN-LIN網(wǎng)關(guān)設(shè)計,解決了現(xiàn)場總線控制中的CAN總線控制網(wǎng)絡(luò)和LIN總線控制網(wǎng)絡(luò)之間的信息傳輸問題,為現(xiàn)場總線的靈活應(yīng)用提供了基礎(chǔ)。本設(shè)計經(jīng)過現(xiàn)場實驗,實驗結(jié)果表明網(wǎng)關(guān)運行良好,工作可靠穩(wěn)定,并已應(yīng)用到實際工作中。參考文獻:[1].AT89C51CC03datasheet/datasheet/AT89C51CC03_970769.html.[2].TJA1020datasheet/datasheet/TJA1020_649185.html.[3].PCA82C250datasheet/datasheet/PCA82C250_542618.html.[4].6N137datasheet/datasheet/6N137_91364.html.[5].AT89C51CC01datasheet/datasheet/AT89C51CC01_970701.html.[6].

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論