當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]LPC2131基于CPLD的CAN接口設(shè)計

引 言

Philips公司的LPC213l是基于ARM7TDMI-S的高性能32位RISC微控制器。它具有ARM處理器的所有優(yōu)點——低功耗、高性能和較為豐富的片上資源,但LPC2131內(nèi)部沒有集成CAN控制器,而無法利用CAN總線來進行通信。為了使得LPC2131能夠利用CAN總線進行通信,可以通過外部擴展來實現(xiàn)其功能。目前,比較普通的方法是在LPC2131的外部采用CAN控制器設(shè)計CAN總線接口。LPC2131與CAN控制器的接口電路如圖1所示。

這種方法中,LPC2131是通過GPIO口與CAN控制器SJA1000相連實現(xiàn)數(shù)據(jù)交互的。LPC2131通過寄存器IOSET/IOCLR來設(shè)定I/O口的高/低狀態(tài),雖然可以同時置位/拉低選定的引腳,但不能同時將某些口線拉高而將某些口線拉低。假定P0[15:8]初始狀態(tài)為0xa5,若將P0[15:8]同時變?yōu)?x5a,則必須通過IO0SET和IO0CLR兩次進行。程序?qū)崿F(xiàn)如下:

PINSEL0=0x00000000;

IO0DIR=0x0000FF00;

IO0SET=0x5a00;

IO0CLR=0xa500;

P0[15:8]上會出現(xiàn)0xFF的中間狀態(tài)。在高速通信系統(tǒng)中,這些中間狀態(tài)可能會造成損失。雖然可以通過IO0PIN進行操作來消除這樣的中間狀態(tài),但是Philips公司不推薦這種做法,非必要時盡量不要使用。

CAN驅(qū)動器接口芯片與LPC2131的串口接口電平上是相互匹配的,因此理論上可以將二者直接連接,采用串行通信方式實現(xiàn)。采用CAN總線通信,在長距離通信時,CAN總線兩端要加終端電阻。其作用是避免數(shù)據(jù)傳輸又反射回來,產(chǎn)生反射波而使數(shù)據(jù)遭到破壞;同時,能提高總線傳輸?shù)目垢蓴_能力。理論上,在每個接收數(shù)據(jù)信號的中點進行采樣時,只要反射信號在開始采樣時衰減到足夠低就可以不考慮匹配。通常判斷原則是根據(jù)數(shù)據(jù)速率和電纜長度進行匹配的,但這在實際中難以掌握,一般都是依據(jù)經(jīng)驗進行設(shè)計。

可編程邏輯器件(PLD)是20世紀(jì)70年代在ASIC設(shè)計的基礎(chǔ)上發(fā)展起來的一種新型邏輯器件。20世紀(jì)80年代末,美國Altera和Xilinx公司分別推出大規(guī)模和超大規(guī)模的復(fù)雜可編程邏輯器件(CPLD)及現(xiàn)場可編程邏輯門陣列器件(FPGA)。自從進入20世紀(jì)90年代以來,可編程邏輯器件得到了飛速發(fā)展,向高度集成、高速度和低價位方向不斷邁進;其應(yīng)用領(lǐng)域不斷擴大,可用于狀態(tài)機、同步、譯碼、解碼、計數(shù)、總線接口和串并轉(zhuǎn)換等很多方面。使用CPLD可以提高系統(tǒng)集成度,降低噪聲,增強系統(tǒng)可靠性并降低成本。

CPLD技術(shù)的出現(xiàn),為我們提供了一種有效的解決辦法:在CAN驅(qū)動器接口與LPC2131之間接一塊CPLD,對CPLD進行功能編程,使其負責(zé)串行總線的數(shù)據(jù)傳輸和防止CAN發(fā)送反射。

選擇Altera公司MAX3000A系列的型號為EPM3128ATC100-7(簡稱“EPM3128”)的CPLD芯片。此芯片兼容3.3 V和5 V的I/O 口。這樣,LPC2131、EPM3128和TJA1040在I/O電平上是相互匹配的。

1 EPM3128接口定義

EPM3128設(shè)置成雙向串行總線通道。其中,2個I/O口被定義為CANRXD(IN)、CANTXD(OUT),分別連接CAN收發(fā)器TJA1040的RXD和TXD端,構(gòu)成CAN總線上接收數(shù)據(jù)和發(fā)送數(shù)據(jù)通道;另外2個I/O口被定義為ARMRXD(IN)、ARMTXD(OUT),分別連接LPC2131的RXD1和TXD1端,構(gòu)成處理器的串口接收數(shù)據(jù)和發(fā)送數(shù)據(jù)通道。整個數(shù)據(jù)的傳輸過程中,并不改變串行數(shù)據(jù)的協(xié)議和格式,接口電路全為TTL電平,期問不需要進行任何的處理。通信數(shù)據(jù)的校驗、報錯均交給通信兩端的處理器完成。LPC2131、EPM3128和TJA1040的接口框圖如圖2所示。

2 EPM3128功能實現(xiàn)

圖3是采用功能塊編程實現(xiàn)EPM3128的數(shù)據(jù)傳輸和屏蔽CAN發(fā)送反射的內(nèi)部邏輯。圖中txArm2、rxCan2定義為輸入變量,分別對應(yīng)外部的ARMTXD、CANRXD引腳;txCan2、rxArm2定義為輸出變量,分別對應(yīng)外部的CANTXD、ARMRXD引腳??偩€空閑時,總線上的狀態(tài)一直保持為“1”,即txArm2、rxCan2、txCan2、rxArm2的值全部為“1”。當(dāng)輸入總線收到一個狀態(tài)“0”信號時,表示總線開始傳輸數(shù)據(jù)。如果LPC2131要發(fā)送數(shù)據(jù),則LPC2131先向ARMTXD端口發(fā)送一個“0”起始信號,占據(jù)總線并在下一個時鐘開始發(fā)送數(shù)據(jù)幀;如果TJA1040從現(xiàn)場接收到新數(shù)據(jù),則TJA1040先向CANRXD端口發(fā)送一個“0”起始信號,占據(jù)總線并在下一個時鐘開始發(fā)送數(shù)據(jù)幀。以此,完成正常通信過程中數(shù)據(jù)位從串口到串口的傳輸。

程序屏蔽CAN發(fā)送反射,就是屏蔽CAN總線接收到的從輸出總線上反射的“0”信號,因為接口從高阻態(tài)被喚醒是靠一個“0”的起始信號。如果LPC2131正在發(fā)送數(shù)據(jù),此時輸人端口ARMTXD通過變量txArm2傳送一位為“0”的信號到變量txCan2,并從輸出口CANTXD送出。受總線輻射影響CANRXD輸入口會從CAN總線接收到一個“0”信號,并將“0”信號傳送給變量rxCan2,此時rXCan2收到的這個“0”信號是錯誤信號。經(jīng)邏輯判斷,程序?qū)⒆兞縭xArm2維持為1,端口ARMRXD仍保持高阻態(tài)“1”。反射的“0”信號雖然被接收到,但在CPLD內(nèi)部被屏蔽處理掉。如果沒有屏蔽處理,那么這個錯誤的“0”信號將接收總線從高阻態(tài)喚醒,直接影響數(shù)據(jù)的通信。程序中D觸發(fā)器的用途有兩方面:一是緩存輸入和輸出,平滑信號的毛刺;二是實現(xiàn)控制信號的功能,如輸出的復(fù)位和同步等。

用QuartusII軟件編譯程序,并用仿真工具仿真。如圖4所示,波特率為115 200 bps,編輯輸入點txArm2、rxCan2的波形,查看輸出點txCan2、rxArm2的波形。為方便識圖,仿真中將數(shù)據(jù)端口傳輸占用的時間參數(shù)置0。

首先,論證輸出波形的有效性。觀察圖4中的txCan2和rxArm2的波形,可以看出所有時刻的數(shù)值都是確定的,從而證明系統(tǒng)處于穩(wěn)定狀態(tài),波形是有效的。

然后,論證輸出波形的邏輯性。根據(jù)程序的邏輯設(shè)計,txArm2通道的數(shù)據(jù)發(fā)送享有優(yōu)先權(quán),始終保持txCan2=txArm2。從仿真結(jié)果可以看出,txCan2的波形與txArm2波形完全一致;當(dāng)txArm2通道為“0”時,屏蔽rxCan2輸入的數(shù)據(jù),并保持rxArm2輸出一直為“1”,觀察圖4中任何時刻所有輸入/輸出的波形,可以看出仿真結(jié)果正確。

最后,驗證輸出波形的時序性。這部分程序是一個組合邏輯的設(shè)計,也就是所有的輸出隨著相應(yīng)的輸入的變化而變化。由圖4可知,仿真結(jié)果的時序正確。

結(jié) 語

本文基于CPLD技術(shù)實現(xiàn)了LPC2131與CAN總線之間的串行通信。該方法實現(xiàn)簡單,并且穩(wěn)定性較好,適合于采用CAN總線的多路串行通信系統(tǒng)。該技術(shù)已應(yīng)用到實際中,接受實踐的檢驗。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉