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