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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 安全與國(guó)防 > 設(shè)計(jì)應(yīng)用 > 基于Cortex-M3內(nèi)核芯片LM3S2965的CAN總線(xiàn)節(jié)點(diǎn)設(shè)計(jì)

          基于Cortex-M3內(nèi)核芯片LM3S2965的CAN總線(xiàn)節(jié)點(diǎn)設(shè)計(jì)

          作者: 時(shí)間:2011-02-15 來(lái)源:網(wǎng)絡(luò) 收藏

            32個(gè)報(bào)文對(duì)象是相同的,優(yōu)先級(jí)除外。最小編號(hào)的報(bào)文對(duì)象具有最高的優(yōu)先級(jí)。優(yōu)先級(jí)以?xún)煞N方式影響操作:第一種,如果在同一時(shí)間準(zhǔn)備好多個(gè)操作,那么具有最高優(yōu)先級(jí)的報(bào)文對(duì)象將會(huì)首先發(fā)生;第二種,多個(gè)報(bào)文對(duì)象正在掛起中斷時(shí),如果讀取中斷狀態(tài),則具有最高優(yōu)先級(jí)的報(bào)文對(duì)象首先出現(xiàn)。由應(yīng)用負(fù)責(zé)把32個(gè)報(bào)文對(duì)象作為一個(gè)源來(lái)管理,并確定分配和釋放它們的最佳途徑。

            控制器在下列條件下能夠產(chǎn)生中斷:

           ?、佼?dāng)任何一個(gè)報(bào)文對(duì)象發(fā)送一個(gè)報(bào)文時(shí);

           ?、诋?dāng)任何一個(gè)報(bào)文對(duì)象接收一個(gè)報(bào)文時(shí);

           ?、蹪M(mǎn)足警告條件,如一個(gè)錯(cuò)誤計(jì)數(shù)器達(dá)到了限值,或出現(xiàn)多個(gè)總線(xiàn)錯(cuò)誤時(shí);

           ?、軡M(mǎn)足控制器錯(cuò)誤條件,如進(jìn)入總線(xiàn)關(guān)閉狀態(tài)時(shí)。

            圖3是總線(xiàn)節(jié)點(diǎn)的軟件流程。其中的對(duì)象就是一組數(shù)據(jù)的信息,包括下面結(jié)構(gòu)體的信息:

          c.JPG

            其中,ulMsglD用作11或29位標(biāo)識(shí)符的報(bào)文標(biāo)識(shí)符;ulMsgIDMask為在使能標(biāo)識(shí)符過(guò)濾器時(shí)所使用的報(bào)文標(biāo)識(shí)符屏蔽;ulFlags保存多個(gè)狀態(tài)標(biāo)志和tCANObjFlags所指定的設(shè)置;ulMsgLen是報(bào)文對(duì)象中的數(shù)據(jù)字節(jié)數(shù);pucMsgData是指向報(bào)文對(duì)象的數(shù)據(jù)的指針。

            此結(jié)構(gòu)是對(duì)與CAN控制器中一個(gè)CAN報(bào)文對(duì)象相關(guān)的項(xiàng)目進(jìn)行的壓縮??梢灾苯訉⑦@個(gè)對(duì)象的信息填充,即進(jìn)行對(duì)象的賦值工作。下面的代碼是程序中CAN接口部分的初始化部分:

          d.JPG


            上面的這些函數(shù)都已經(jīng)通過(guò)提供的API函數(shù)完成工作,CANConfigureNetwork函數(shù)要自己編寫(xiě),代碼如下:

          f.JPG

            這里僅僅是對(duì)前文介紹的對(duì)象進(jìn)行賦值,是將系統(tǒng)中真正用到的對(duì)象配置成我們需要的對(duì)象(包括是發(fā)送還是接收)。此處鑒于篇幅只給出了兩個(gè)對(duì)象,一個(gè)用于發(fā)送數(shù)據(jù),一個(gè)用于接收數(shù)據(jù)。上面的函數(shù)設(shè)置好后就可以通過(guò)CAN中斷控制器來(lái)接收和發(fā)送數(shù)據(jù)。上述程序代碼在Keil C3.78版本上調(diào)試編譯通過(guò),并且已經(jīng)成功用于產(chǎn)品中。

          結(jié)語(yǔ)

            本文介紹的CAN總線(xiàn)接口節(jié)點(diǎn)設(shè)計(jì)方案實(shí)現(xiàn)非常方便,硬件電路簡(jiǎn)單,軟件設(shè)計(jì)模塊化,可以應(yīng)用此方案設(shè)計(jì)實(shí)用的系統(tǒng)。本文的接口就是的一部分,可以直接將儀表與傳感器組成的稱(chēng)重系統(tǒng)接入現(xiàn)有的分布式網(wǎng)絡(luò)中。

          稱(chēng)重傳感器相關(guān)文章:稱(chēng)重傳感器原理

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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();