新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的CAN和以太網(wǎng)接口設(shè)計(jì)

基于DSP的CAN和以太網(wǎng)接口設(shè)計(jì)

作者: 時(shí)間:2014-03-19 來源:網(wǎng)絡(luò) 收藏

摘要:浮點(diǎn)型以豐富的外設(shè),較高的主頻在工業(yè)控制領(lǐng)域得到廣泛的應(yīng)用,總線設(shè)備構(gòu)成的現(xiàn)場(chǎng)總線與以太網(wǎng)構(gòu)成的高速通信網(wǎng)絡(luò)已成為工業(yè)控制領(lǐng)域的發(fā)展趨勢(shì)。介紹了一種基于的總線與以太網(wǎng)互聯(lián)系統(tǒng)的設(shè)計(jì)方法,給出了系統(tǒng)各組成部分的硬件及軟件的設(shè)計(jì)與實(shí)現(xiàn)。控制部分采用TI公司的TMS320F28335,總線接口模塊采用TI公司的0,以太網(wǎng)接口模塊控制芯片采用Realtek公司的RTL8019AS。該設(shè)計(jì)具有可擴(kuò)展性好和性價(jià)比高的優(yōu)點(diǎn)。

本文引用地址:http://butianyuan.cn/article/234981.htm

0 引言

工業(yè)現(xiàn)場(chǎng)設(shè)備復(fù)雜化,單一的串行通信使系統(tǒng)越來越復(fù)雜,總線控制也成為控制系統(tǒng)的主流,而CAN總線以其高速率,高抗干擾性成為最有前途的總線之一?;谝蕴W(wǎng)的工業(yè)控制網(wǎng)絡(luò)具有數(shù)據(jù)傳輸率高,可靠性好,易維護(hù),可遠(yuǎn)程傳輸?shù)葍?yōu)點(diǎn)。隨著互聯(lián)網(wǎng)技術(shù)的普及與推廣,以太網(wǎng)通信速率的提高,交換技術(shù)的發(fā)展,使得它受到了全球的擁護(hù)和軟硬件的支持,因此,基于以太網(wǎng)的工業(yè)控制網(wǎng)絡(luò)是工業(yè)控制系統(tǒng)的發(fā)展趨勢(shì)。本文通過主流控制器TMS320F28335在已有豐富外設(shè)的基礎(chǔ)上,擴(kuò)展了CAN總線和以太網(wǎng)接口,具有重要的工程價(jià)值。

1 系統(tǒng)硬件設(shè)計(jì)

TMS320F28335型單精度浮點(diǎn)主頻可達(dá)150 MHz,內(nèi)核電壓1.9 V,I/O電壓3.3 V;片上帶有256 KB的16位FLASH和34 KB的16位SAR AM,并有128位安全密碼鑰匙鎖,保護(hù)FLASH防止固件反向工程。片上通信端口豐富,集成有3個(gè)SCI串口輸出通道,并帶有16 B的FIFO,2個(gè)多通道McBSP串口,2個(gè)增強(qiáng)型CAN,1個(gè)SPI總線。還帶有16通道的12位A/D轉(zhuǎn)換器等資源口(具體原理圖限于篇幅只畫CAN和以太網(wǎng)部分)。

CAN驅(qū)動(dòng)器選用TI公司的,供電電壓為3.3 V,CAN接口部分原理圖如圖1所示。

 

 

以太網(wǎng)控制器選用Realtek公司的RTL8019AS,其具有集成度高,支持全雙工通信,與NE2000相兼容等特性,具有廣泛應(yīng)用場(chǎng)合。以太網(wǎng)接口部分原理圖如圖2所示。

 

 

2 系統(tǒng)軟件設(shè)計(jì)

本文中的軟件設(shè)計(jì)主要包括三個(gè)部分:CAN驅(qū)動(dòng)通信程序,RTL8019AS驅(qū)動(dòng)程序和以太網(wǎng)協(xié)議棧移植。程序的編寫在集成開發(fā)環(huán)境CCS 3.3下完成。

2.1 CAN總線驅(qū)動(dòng)

2.1.1 初始化

CAN模塊使用前必須初始化,初始化需要完成的主要工作有:引腳配置;郵箱配置;波特率配置;中段功能設(shè)置。限于篇幅,初始化程序從略。

2.1.2 CAN發(fā)送

本文采用郵箱0進(jìn)行數(shù)據(jù)的發(fā)送,郵箱0的ID在初始化函數(shù)中已設(shè)置(程序解釋以注釋的形式給出,下文同):

 

 

2.1.3 CAN接收

為保證數(shù)據(jù)能及時(shí)接收,像其他串行通信一樣,接收一般在中斷中完成:

 

 

 

基于TMS320F28335的CAN和以太網(wǎng)接口設(shè)計(jì)

 

實(shí)際工作中通過PCCAN軟件觀察到的CAN發(fā)送和接收數(shù)據(jù),如圖3所示。

 

 

2.2 以太網(wǎng)驅(qū)動(dòng)

RTL8019AS工作在網(wǎng)絡(luò)中的數(shù)據(jù)鏈路層,完成數(shù)據(jù)鏈路層及網(wǎng)絡(luò)層的協(xié)議轉(zhuǎn)換,數(shù)據(jù)的發(fā)送和接收等任務(wù),主要有兩個(gè)基本函數(shù):數(shù)據(jù)幀的發(fā)送和接收函數(shù)。

2.2.1 初始化函數(shù)

RTL8019AS的初始化函數(shù)操作步驟依次為:

(1)使芯片處于停止工作模式;

(2)選中PAGE1,設(shè)置組播和MAC地址;

(3)選中PAGE0,使芯片處于正常工作模式;

(4)啟動(dòng)芯片,開始工作并清除所有中斷標(biāo)志。

2.2.2 數(shù)據(jù)包發(fā)送

RTL8019AS發(fā)送數(shù)據(jù)包遵循IEEE 802.3協(xié)議,發(fā)送數(shù)據(jù)函數(shù)操作步驟依次為:

(1)設(shè)置以太網(wǎng)協(xié)議類型,目的地址、源地址;

(2)將數(shù)據(jù)幀發(fā)送到RTL8019AS發(fā)送緩沖區(qū);

(3)進(jìn)行數(shù)據(jù)包發(fā)送。

如圖4所示,完成了從源(192.168.0.250)到目的(192.168.0.160)的TCP傳輸。

 

 

2.2.3 數(shù)據(jù)包接收

RTL8019AS接收數(shù)據(jù)函數(shù)操作步驟依次為:

(1)進(jìn)行中斷服務(wù)程序設(shè)置;

(2)產(chǎn)生中斷后,查看RTL8019AS寄存器得知接收數(shù)據(jù)長(zhǎng)度、存放地址等信息;

(3)使用遠(yuǎn)程DMA將接收數(shù)據(jù)從RTL8019AS內(nèi)部RAM移植到TMS320F28335內(nèi)部RAM。

3 結(jié)語

本文使用通用控制器TMS320F28335在自帶眾多串行接口的基礎(chǔ)上外擴(kuò)了CAN和以太網(wǎng)接口,既能根據(jù)工程實(shí)際需要使用某一兩種外設(shè),又能完成各種協(xié)議的轉(zhuǎn)換,是一種低成本、應(yīng)用性強(qiáng)的CAN總線和以太網(wǎng)設(shè)計(jì)方案。



關(guān)鍵詞: DSP CAN

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉