現(xiàn)場總線技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)控制中,尤其是CAN(Controler Area Nerwork)總線由于具有可靠性高、成本低、容易實(shí)現(xiàn)等優(yōu)點(diǎn),在現(xiàn)場總線實(shí)際工程應(yīng)用中占有了較大份額。伴隨著總線技術(shù)發(fā)展,LIN(Local Interconnect Network)總線作為一種低成本串行通信網(wǎng)絡(luò),其目標(biāo)是為現(xiàn)有現(xiàn)場總線控制網(wǎng)絡(luò)提供輔助功能,特別是汽車控制網(wǎng)絡(luò)中總線應(yīng)用,因此必然存在一個(gè)LIN總線和其它總線通信接口實(shí)現(xiàn),本文以CAN總線為例,提出了一種基于AT89C51CC03單片機(jī)CAN-LIN網(wǎng)關(guān)設(shè)計(jì)方案。
LIN是一種低成本串行通訊網(wǎng)絡(luò)用于實(shí)現(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信號總線和一個(gè)無固定時(shí)間基準(zhǔn)節(jié)點(diǎn)同步時(shí)鐘線。
網(wǎng)關(guān)硬件設(shè)計(jì)
整個(gè)網(wǎng)關(guān)模塊包括LIN接口、CAN接口、CAN波特率設(shè)置、LIN波特率設(shè)置、電源模塊、狀態(tài)燈六個(gè)子模塊(圖1)。
圖1 系統(tǒng)結(jié)構(gòu)框圖
AT89C51CC03是Atmel公司一款內(nèi)嵌CAN控制器8位單片機(jī)。本設(shè)計(jì)中以AT89C51CC03單片機(jī)為基礎(chǔ),選擇TJA1020作為LIN總線收發(fā)器,采用單片機(jī)UART接口,在CAN模塊設(shè)計(jì)部分選擇PCA82C250作為CAN總線收發(fā)器,具體電路連接如圖2、圖3、圖4所示。
圖2 單片機(jī)電路
圖4 LIN接口電路
在電路中我們設(shè)計(jì)了一個(gè)5位撥碼開關(guān),由于在各個(gè)不同工作系統(tǒng)中,LIN總線和CAN總線傳輸是不一樣,這就需要改換軟件,因此在此設(shè)計(jì)中用一個(gè)5位撥碼開關(guān)用于波特率設(shè)置,三位用于LIN波特率設(shè)置,兩位用于CAN波特率設(shè)置。同時(shí)為了展示網(wǎng)關(guān)工作狀態(tài),特意設(shè)計(jì)了工作指示燈,在接收和發(fā)送信號時(shí)分別以一定頻率閃爍,當(dāng)有故障出現(xiàn)時(shí),兩個(gè)燈同時(shí)點(diǎn)亮。
為增強(qiáng)CAN節(jié)點(diǎn)抗干擾能力,單片機(jī)TXDC和RXDC引腳并不是直接與PCA82C250ATXD和RXD引腳相連,而是通過高速光耦6N137相連(圖3)。這樣很好實(shí)現(xiàn)了總線上各個(gè)節(jié)點(diǎn)間電氣隔離,光耦部分電路所采用兩個(gè)電源VCC和VDD必須是完全隔離,否則采用光耦也就失去了意義。
網(wǎng)關(guān)軟件設(shè)計(jì)
網(wǎng)關(guān)軟件設(shè)計(jì)主要包括主控程序模塊和CAN模塊軟件設(shè)計(jì)以及LIN模塊軟件設(shè)計(jì),CAN模塊軟件設(shè)計(jì)主要有三個(gè)子函數(shù),一個(gè)是CAN初始化CAN_INIT(),另外兩個(gè)是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è)計(jì)主要包括幾個(gè)文件:LIN.H、LIN.C、TEMR0.H TEMRO.C,其中LIN.H、LIN.C分別實(shí)現(xiàn)LIN規(guī)范設(shè)定以及UART波特率設(shè)定和LIN信息接收與發(fā)送,TEMR0.H TEMRO.C用于產(chǎn)生LIN總線波特率。主控程序設(shè)計(jì)主要完成整個(gè)網(wǎng)關(guān)信息轉(zhuǎn)發(fā)功能,當(dāng)CAN接收中斷發(fā)生時(shí),置LIN發(fā)送標(biāo)志位,準(zhǔn)備轉(zhuǎn)發(fā)CAN信息到LIN網(wǎng)絡(luò);同樣,當(dāng)LIN接收中斷生時(shí),置CAN發(fā)送標(biāo)志位,準(zhǔn)備發(fā)送LIN信息到CAN網(wǎng)絡(luò)。
整個(gè)軟件以C51編寫,并利用KEIL公司仿真軟件進(jìn)行軟件調(diào)試,最后將完整程序燒寫到AT89C51CC01flash空間。
結(jié)語
本文提出了基于AT89C51CC01單片機(jī)CAN-LIN網(wǎng)關(guān)設(shè)計(jì),解決了現(xiàn)場總線控制中CAN總線控制網(wǎng)絡(luò)和LIN總線控制網(wǎng)絡(luò)之間信息傳輸問題,為現(xiàn)場總線靈活應(yīng)用提供了基礎(chǔ)。本設(shè)計(jì)經(jīng)過現(xiàn)場實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明網(wǎng)關(guān)運(yùn)行良好,工作可靠穩(wěn)定,并已應(yīng)用到實(shí)際工作中。
容-源-電-子-網(wǎng)-為你提供技術(shù)支持本文地址:http://www.189yp.com/dz/22/15791389023612.shtml
本文標(biāo)簽:
猜你感興趣:
運(yùn)用單片機(jī)便是了解單片機(jī)硬件結(jié)構(gòu),以及內(nèi)部資源的運(yùn)用,在匯編或C語言中學(xué)會各種功用的初始化設(shè)置,以及完成各種功用的程序編制。 運(yùn)用按鈕輸入信號,發(fā)光二極管顯現(xiàn)輸出
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
我的答案是:不可以原因如下:一、軟件仿真多用于教學(xué),把更多精力用在軟件的實(shí)現(xiàn)上由于學(xué)生學(xué)習(xí)時(shí)間寶貴,焊接一套單片機(jī)實(shí)驗(yàn)板又比較花時(shí)間,并且實(shí)驗(yàn)項(xiàng)目太多,所以為了
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
對于新手來說,首先根據(jù)自己學(xué)的什么樣單片機(jī)就選什么類型的單片機(jī),熟悉什么類型的單片機(jī)就選什么類型的單片機(jī)。因?yàn)閱纹瑱C(jī)不僅要設(shè)計(jì)電路,還要設(shè)計(jì)控制軟件。選自己熟悉的單片機(jī)上手最快,也最容易獲得成功。下面介紹如何選擇最適合的單片機(jī)。
關(guān)鍵詞: 所屬欄目:設(shè)計(jì)編程
單片機(jī)晶振的作用是什么
在初學(xué)單片機(jī)的時(shí)候,總是伴隨很多有關(guān)于晶振的問題,其實(shí)晶振就是如同人的心臟,是血液的脈搏,把單片機(jī)的晶振問題搞明白了,51單片機(jī)的其他問題
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
Keil單片機(jī)編程軟件Keil C51是單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯
關(guān)鍵詞:51單片機(jī)PIC單片機(jī) 所屬欄目:設(shè)計(jì)編程
詳解51單片機(jī)運(yùn)行過程 注:1.ROM:只讀存儲器,單片機(jī)的只讀存儲區(qū)大多用于存儲程序固又稱程序存儲器。51單片機(jī)是EPROM,所謂的EPROM是可擦除的只
關(guān)鍵詞: 所屬欄目:設(shè)計(jì)編程
pic單片機(jī)和c51有什么區(qū)別(區(qū)別1)總線結(jié)構(gòu):MCS-51單片機(jī)的總線結(jié)構(gòu)是馮-諾依曼型,計(jì)算機(jī)在同一個(gè)存儲空間取指令和數(shù)據(jù),兩者不能同時(shí)進(jìn)行;而PIC單片機(jī)的總線結(jié)構(gòu)是哈佛結(jié)構(gòu)
關(guān)鍵詞:單片機(jī)PIC單片機(jī)51單片機(jī) 所屬欄目:設(shè)計(jì)編程
實(shí)例分析51單片機(jī)出現(xiàn)故障及解決辦法。詳細(xì)如下:
故障現(xiàn)象:做了一個(gè)單片機(jī)溫度監(jiān)測系統(tǒng),仿真機(jī)上一切正常,燒寫芯片無法工作。相關(guān)電路框圖: 用51做處理器,外圍電路如
關(guān)鍵詞:單片機(jī)51單片機(jī) 所屬欄目:設(shè)計(jì)編程
PIC單片機(jī)匯編語言指令詳解
pic單片機(jī)為最常用單片機(jī)之一,許多程序均基于pic單片機(jī)進(jìn)行開發(fā)。因此,熟練pic單片機(jī)編程尤為重要。為保證大家能準(zhǔn)確、熟練掌握pic單片機(jī)的使
關(guān)鍵詞:PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
三種51單片機(jī)程序下載方法介紹
一般只能通過三種方式下載程序到單片機(jī)中:1.JTAG 2.ISP 3.IAP1.JTAG要使用JTAG方式下載程序,不管是使用J-LINK、ULINK、ST-LINK,只需要把
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
I2C每一位信號的時(shí)序流程,而I2C通信在字節(jié)級的傳輸中,也有固定的時(shí)序要求。I2C通信的起始信號(Start)后,首先要發(fā)送一個(gè)從機(jī)的地址,這個(gè)地址一共有 7位,緊跟著的第 8
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
越來越多的測量儀器提供GPIB(General Purpose Intefface Bus)總線接口,通過該總線可以方便快捷地連接帶有GPIB接口的儀器及計(jì)算機(jī),組成一個(gè)GPlB網(wǎng)絡(luò)。GPIB設(shè)備與計(jì)算機(jī)連
關(guān)鍵詞:PIC單片機(jī)51單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
每個(gè)單片機(jī)系統(tǒng)里都有晶振,全程是叫晶體震蕩器,在單片機(jī)系統(tǒng)里晶振的作用非常大,他結(jié)合單片機(jī)內(nèi)部的電路,產(chǎn)生單片機(jī)所必須的時(shí)鐘頻率,單片機(jī)的一切指令的執(zhí)行都是建立
關(guān)鍵詞:51單片機(jī)PIC單片機(jī)單片機(jī) 所屬欄目:設(shè)計(jì)編程
引言變頻調(diào)速作為交流電機(jī)調(diào)速的主要手段已經(jīng)在工業(yè)領(lǐng)域中應(yīng)用的十分廣泛,其具有的調(diào)速范圍寬、穩(wěn)速精度高、動態(tài)響應(yīng)快、適用范圍廣、運(yùn)行可靠等技術(shù)性能,已逐步取代直流
關(guān)鍵詞:單片機(jī)變頻器 所屬欄目:設(shè)計(jì)編程
電子密碼鎖按照輸入密碼方式的不同可分為好多種,其中最常用的一種是用數(shù)字鍵盤輸入密碼的電子密碼鎖。這一講主要介紹用ATmega8和LCD1602液晶顯示器等組成的電子密碼鎖,這
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計(jì)編程
1.實(shí)驗(yàn)任務(wù)如圖所示,監(jiān)視開關(guān)K1(接在P3.0端口上),用發(fā)光二極管L1(接在單片機(jī)P1.0端口上)顯示開關(guān)狀態(tài),如果開關(guān)合上,L1亮,開關(guān)打開,L1熄滅。2.電路原理圖3.系統(tǒng)
關(guān)鍵詞:單片機(jī)LEDLED電路圖 所屬欄目:設(shè)計(jì)編程
近日,有媒體報(bào)道稱,北京微電子技術(shù)研究所日前成功研制出國內(nèi)首個(gè)自主可控的宇航用千萬門級高性能高可靠FPGA(現(xiàn)場可編程門陣列)芯片。FPGA一直是國內(nèi)的短板,市場基本被
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計(jì)編程
怎么學(xué)單片機(jī)?也常看到有人說學(xué)了好幾個(gè)月可就是沒有什么進(jìn)展。當(dāng)然,受限于每個(gè)人受到的教育水平不同和個(gè)人理解能力的差異,學(xué)習(xí)起來會有快慢之分,但我感覺最重的就是學(xué)
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計(jì)編程
在單片機(jī)中有一些獨(dú)立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。 <特殊功能寄存器地址映象表(一)> <特殊功能寄存器地址映象表(二)> <
關(guān)鍵詞:單片機(jī)寄存器 所屬欄目:設(shè)計(jì)編程
倒立擺作為一種典型的控制系統(tǒng)實(shí)驗(yàn)裝置,具有非線性、自然不穩(wěn)定等特性,常用來作為檢驗(yàn)?zāi)撤N控制理論或方法是否合理的典型方案。一階倒立擺系統(tǒng)能用多種理論和方法來實(shí)現(xiàn)其
關(guān)鍵詞:單片機(jī) 所屬欄目:設(shè)計(jì)編程