基于TMS320F28335的CAN和以太網(wǎng)接口設(shè)計(jì)
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é)議類型,目的地址、源地址;
(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ì)方案。
評(píng)論