CPLD應(yīng)用于嵌入式系統(tǒng)與CAN總線網(wǎng)絡(luò)通信
1.引言
可編程邏輯器件PLD(Programmable logic Device)就是由用戶進行編程實現(xiàn)所需邏輯功能的數(shù)字專用集成電路ASIC??删幊踢壿嬈骷诂F(xiàn)代電子工程設(shè)計中得到了廣泛應(yīng)用。它是在 PAL,GAL等邏輯器件的基礎(chǔ)上發(fā)展起來的,具有高密度,高速度,低功耗體系結(jié)構(gòu)和邏輯單元,靈活以及運用范圍寬等特點,同時還具有設(shè)計周期短,制造成本低,開發(fā)工具先進,標準產(chǎn)品無需測試,質(zhì)量穩(wěn)定及可實時布線檢驗等優(yōu)點。
現(xiàn)場總線技術(shù)廣泛應(yīng)用于工業(yè)和軍用測控局域網(wǎng)中,它可以實現(xiàn)較遠距離、較快速度的信息傳輸,而且只需要雙絞線作為傳輸媒介,簡單可靠。但是,在該技術(shù)應(yīng)用中總線控制器與微機之間的接口電路一般采用單片機來實現(xiàn)。采用這種方式將導(dǎo)致較長的研發(fā)周期和龐大的電路,且難于實現(xiàn)高速數(shù)據(jù)傳輸。本文利用CPLD成功地實現(xiàn)了嵌入式系統(tǒng)與CAN總線網(wǎng)絡(luò)的通信,速度快,易于實現(xiàn),而且非常穩(wěn)定。
本系統(tǒng)采用的器件是Altera公司的CPLD,屬于MAX7000系列。Altera公司的CPLD器件主要包括MAX系列、ACEX系列、FLEX系列和APEX系列。其中MAX系列器件為高速實
際應(yīng)用提供了非常高的性價比,這基于它先進的MAX架構(gòu)。MAX7000系列提供了速度最快的可編程邏輯器件解決方案,它基于CMOS EEPROM工藝,傳播延遲最小為3.5ns。
2.CPLD實現(xiàn)接口電路
實時控制系統(tǒng)中,測控局域網(wǎng)利用CAN控制器實現(xiàn)微機間的數(shù)據(jù)傳輸。其基本的設(shè)計思想是:由于PC總線協(xié)議與 CAN控制器不一致,因而在它們中間設(shè)計了一個硬件電路作為接口來實現(xiàn)轉(zhuǎn)換。PC地址與數(shù)據(jù)總線是分離的,而CAN控制器數(shù)據(jù)與地址線通過分時復(fù)用來實現(xiàn)地址與數(shù)據(jù)分離,剛好與單片機一致。單片機技術(shù)雖然較成熟,但是,由于涉及單片機編程和開發(fā)的周期較長,且采用單片機系統(tǒng)需要較龐大的外圍電路,不利于研制系統(tǒng)應(yīng)用于嵌入式系統(tǒng)中。因此,用可編程邏輯器件設(shè)計接口電路,可以有效解決這些問題。
本系統(tǒng)采用“主-從”式點對點通信。系統(tǒng)硬件由兩臺PC104主機和兩塊CAN總線通信模塊組成,如圖1所示。主機采用CPU主頻為300MHz的奔騰處理器;CAN總線控制器位SJA1000T;一帶屏蔽的雙絞線作為系統(tǒng)總線;通信波特率可用軟件設(shè)置為 1Mbps;為了提高通信的可靠性,用CAN控制器的報文篩選器對報文進行篩選,來對由于干擾而產(chǎn)生的錯誤報文進行濾波。
圖1 系統(tǒng)硬件組成
本系統(tǒng)主要是利用主機PC(PC104)采集多個下位機從被控對象得到的數(shù)據(jù),并進行實時控制和綜合調(diào)度,其原理框圖如圖2所示。
圖2 原理框圖
其中CPLD完成從CAN控制器到PC總線的數(shù)據(jù)轉(zhuǎn)換。CAN控制器負責(zé)從總線上采集數(shù)據(jù)??偩€驅(qū)動部分由89C250完成總線驅(qū)動;光電隔離器完成CAN控制器與傳輸電纜的信號隔離,防止電纜上的非規(guī)則信號對CAN控制器產(chǎn)生干擾。
3.MAX+PLUSⅡ程序設(shè)計
Altera公司的MAX+PLUS Ⅱ是一個高效實用的工具。直接采用原理圖輸入方式,進行編譯后寫入器件中;同時可在線更改寫入內(nèi)容,修改和調(diào)試簡單易行。利用MAX+PLUS Ⅱ可以對輸入輸出關(guān)系進行在線調(diào)試和仿真,開發(fā)和調(diào)試周期短而高效。MAX+PLUSⅡ的軟件設(shè)計的流程包括設(shè)計輸入、功能仿真、編譯、后仿真、編程驗證幾個部分。
本文所論述的系統(tǒng)已經(jīng)實現(xiàn)并進行通信測試,在最高通信速度、通信距離、熱冗余和冷冗余實驗等測試中都取得了良好的表現(xiàn)。這里僅論述邏輯設(shè)計輸入和功能仿真。
CPLD主要用于實現(xiàn)PC接口板的地址選擇比較器和CAN控制器到PC總線的數(shù)據(jù)轉(zhuǎn)換,其設(shè)計輸入如圖3所示。
圖3 設(shè)計輸入
其中compare完成選址功能,MUX2×8完成總線轉(zhuǎn)換。
4.仿真實驗
為簡明起見,這里僅給出核心的部分時序仿真圖形,如圖4所示。
圖4 核心的部分時序仿真圖形
由仿真波形可知,在PC總線的讀寫操作進行時,地址和數(shù)據(jù)很好的實現(xiàn)了轉(zhuǎn)換,讀寫的周期完整,觸發(fā)迅速,保證轉(zhuǎn)換的準確和迅速,滿足了設(shè)計的要求。
5.結(jié)論
可編程邏輯器件的應(yīng)用已經(jīng)成為現(xiàn)代電子電路設(shè)計中的高效方式,它可以實現(xiàn)高效率、可靠的設(shè)計,也可以進一步提高電路的集成度;使用它設(shè)計的CAN通信卡可以作為通信接口而滿足嵌入式系統(tǒng)的要求。同時,基于PC104系統(tǒng)的CAN通信的通信效率較高,具有較強的實時性,可以滿足工業(yè)現(xiàn)場高速通信的需要,也可為復(fù)雜控制系統(tǒng)實現(xiàn)實時控制提供強有力的工具。