基于TMS320F28335的CAN和以太網(wǎng)接口設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:浮點(diǎn)型DSP以豐富的外設(shè),較高的主頻在工業(yè)控制領(lǐng)域得到廣泛的應(yīng)用,CAN總線設(shè)備構(gòu)成的現(xiàn)場(chǎng)總線與以太網(wǎng)構(gòu)成的高速通信網(wǎng)絡(luò)已成為工業(yè)控制領(lǐng)域的發(fā)展趨勢(shì)。介紹了一種基于TMS320F28335的CAN總線與以太網(wǎng)互聯(lián)系統(tǒng)的設(shè)計(jì)方法,給出了系統(tǒng)各組成部分的硬件及軟件的設(shè)計(jì)與實(shí)現(xiàn)??刂撇糠植捎肨I公司的TMS320F28335,CAN總線接口模塊采用TI公司的SN65HVD230,以太網(wǎng)接口模塊控制芯片采用Realtek公司的RTL8019AS。該設(shè)計(jì)具有可擴(kuò)展性好和性?xún)r(jià)比高的優(yōu)點(diǎn)。
0 引言
工業(yè)現(xiàn)場(chǎng)設(shè)備復(fù)雜化,單一的串行通信使系統(tǒng)越來(lái)越復(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ì)。本文通過(guò)主流控制器TMS320F28335在已有豐富外設(shè)的基礎(chǔ)上,擴(kuò)展了CAN總線和以太網(wǎng)接口,具有重要的工程價(jià)值。
1 系統(tǒng)硬件設(shè)計(jì)
TMS320F28335型單精度浮點(diǎn)DSP主頻可達(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)換器等資源口(具體原理圖限于篇幅只畫(huà)CAN和以太網(wǎng)部分)。
CAN驅(qū)動(dòng)器選用TI公司的SN65HVD230,供電電壓為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é)議棧移植。程序的編寫(xiě)在DSP集成開(kāi)發(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í)接收,像其他串行通信一樣,接收一般在中斷中完成:
實(shí)際工作中通過(guò)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)芯片,開(kāi)始工作并清除所有中斷標(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é)議類(lèi)型,目的地址、源地址;
(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é)語(yǔ)
本文使用通用控制器TMS320F28335在自帶眾多串行接口的基礎(chǔ)上外擴(kuò)了CAN和以太網(wǎng)接口,既能根據(jù)工程實(shí)際需要使用某一兩種外設(shè),又能完成各種協(xié)議的轉(zhuǎn)換,是一種低成本、應(yīng)用性強(qiáng)的CAN總線和以太網(wǎng)設(shè)計(jì)方案。