<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時(shí)間:2014-03-05 來(lái)源:網(wǎng)絡(luò) 收藏
          基于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傳輸。

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

          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移植到內(nèi)部RAM。

          3 結(jié)語(yǔ)

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


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();