《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于AT89C51單片機的CAN/LIN網(wǎng)關(guān)設(shè)計
基于AT89C51單片機的CAN/LIN網(wǎng)關(guān)設(shè)計
摘要: LIN(LocalInterconnectNetwork)總線作為一種低成本串行通信網(wǎng)絡(luò),其目標是為現(xiàn)有現(xiàn)場總線控制網(wǎng)絡(luò)提供輔助功能,特別是汽車控制網(wǎng)絡(luò)中總線應(yīng)用,因此必然存在一個LIN總線和其它總線通信接口實現(xiàn),本文以CAN總線為例,提出了一種基于AT89C51CC03單片機CAN-LIN網(wǎng)關(guān)設(shè)計方案。
Abstract:
Key words :

 引言

現(xiàn)場總線技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)控制中,尤其是CAN(Controler Area Nerwork)總線由于具有可靠性高、成本低、容易實現(xiàn)等優(yōu)點,在現(xiàn)場總線實際工程應(yīng)用中占有了較大份額。伴隨著總線技術(shù)發(fā)展,LIN(Local Interconnect Network)總線作為一種低成本串行通信網(wǎng)絡(luò),其目標是為現(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目標是為現(xiàn)有汽車網(wǎng)絡(luò)(例如CAN總線)提供輔助功能,因此LIN總線是一種輔助總線網(wǎng)絡(luò),在不需要CAN總線帶寬和多功能場合比如智能傳感器和制動裝置之間通訊,使用LIN總線可大大節(jié)省成本。LIN通訊是基于SCI(UART)數(shù)據(jù)格式,采用單主控制器/多從設(shè)備模式,僅使用一根12V信號總線和一個無固定時間基準節(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 單片機電路

圖3 CAN接口電路

圖4 LIN接口電路

在電路中我們設(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ā)送信號時分別以一定頻率閃爍,當有故障出現(xiàn)時,兩個燈同時點亮。

為增強CAN節(jié)點抗干擾能力,單片機TXDC和RXDC引腳并不是直接與PCA82C250ATXD和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()負責(zé)信息接收和處理,CAN_SEND()負責(zé)信息發(fā)送。

LIN模塊軟件設(shè)計主要包括幾個文件:LIN.H、LIN.C、TEMR0.H TEMRO.C,其中LIN.H、LIN.C分別實現(xiàn)LIN規(guī)范設(shè)定以及UART波特率設(shè)定和LIN信息接收與發(fā)送,TEMR0.H TEMRO.C用于產(chǎn)生LIN總線波特率。主控程序設(shè)計主要完成整個網(wǎng)關(guān)信息轉(zhuǎn)發(fā)功能,當CAN接收中斷發(fā)生時,置LIN發(fā)送標志位,準備轉(zhuǎn)發(fā)CAN信息到LIN網(wǎng)絡(luò);同樣,當LIN接收中斷生時,置CAN發(fā)送標志位,準備發(fā)送LIN信息到CAN網(wǎng)絡(luò)。

整個軟件以C51編寫,并利用KEIL公司仿真軟件進行軟件調(diào)試,最后將完整程序燒寫到AT89C51CC01flash空間。

結(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)用到實際工作中。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 动漫人物将机机桶机机网站| 国产美女被爆羞羞视频| 亚洲va中文字幕无码久久| 精品国产欧美一区二区| 国产成社区在线视频观看| chinesevideo普通话对白| 日本强好片久久久久久aaa| 亚洲欧美日韩综合久久| 美国亚洲成年毛片| 国产成人精品动图| 99久久国语露脸精品国产| 成年女人毛片免费播放人 | 免费国产成人午夜电影| 野花香高清在线观看视频播放免费 | 亚洲成a人片在线不卡一二三区| 精品国产电影久久九九| 国产夜趣福利免费视频| 521色香蕉网站在线观看| 女女同性一区二区三区四区| 久久丫精品国产亚洲AV不卡| 杨幂一级做a爰片性色毛片| 亚洲精品国精品久久99热一| 精品综合一区二区三区| 国产在线观看精品一区二区三区91 | 最近免费高清版电影在线观看| 亚洲精品无码你懂的网站| 精品福利一区二区三区免费视频| 国产午夜视频在线观看第四页| 呦交小u女国产秘密入口| 大伊香蕉精品一区视频在线| 三上悠亚在线观看免费| 日本b站一卡二不卡三卡四卡| 五月综合色婷婷影院在线观看| 欧美精品亚洲精品日韩1818| 偷看各类wc女厕嘘在线观看| 美女bbbb精品视频| 国产亚洲欧美在线视频| 黑人异族日本人hd| 国产精品99精品久久免费| 97精品伊人久久大香线蕉| 女人疯狂喷水爽视频|