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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于CAN通信的卡車語音報(bào)警器的設(shè)計(jì)

          基于CAN通信的卡車語音報(bào)警器的設(shè)計(jì)

          作者: 時(shí)間:2010-01-07 來源:網(wǎng)絡(luò) 收藏

          1.模塊軟件

          本文引用地址:http://www.ex-cimer.com/article/157686.htm

          模塊使用了ISD4002芯片。單片機(jī)通過I/O接口與ISD4002建立連接,并通過命令字的方式控制播放的地址,實(shí)現(xiàn)語音播放的控制。

          2.模塊軟件

          總線編程時(shí),需要定義一系列的控制字配置,并要在裝置上進(jìn)行配置。其具體步驟包括:定義控制寄存器、定義位定時(shí)、定義信息體屏蔽方式、信息體的初始化、信息體發(fā)送數(shù)據(jù)和信息體接收數(shù)據(jù)。

          (1)MSCAN08模塊的初始化

          MSCAN08模塊的初始化主要是定義速率。配置位定時(shí)寄存器以確定CAN的速率、配置全域屏蔽寄存器以確定濾波策略、初始化每個(gè)信息體。初始化信息體需要確定信息體類型(發(fā)送還是接收),設(shè)定符合CAN協(xié)議的ID、SRR、IDE和RTR。CAN通信首先要進(jìn)行初始化。在完成 MSCAN08模塊的初始化以后,MSCAN08模塊就可以回到工作狀態(tài),進(jìn)行正常的通信任務(wù)。

          (2)數(shù)據(jù)的接收與發(fā)送

          報(bào)文的發(fā)送由CAN控制器獨(dú)立完成,微控制器只要將發(fā)送的數(shù)據(jù)傳送到發(fā)送MSCAN08模塊相應(yīng)的發(fā)送信息體中,然后將命令寄存器中的“發(fā)送請(qǐng)求”標(biāo)志置位即可。報(bào)文發(fā)送流程圖如圖5所示,在發(fā)送之前先做判斷。發(fā)送程序分為發(fā)送遠(yuǎn)程幀和數(shù)據(jù)幀兩種。遠(yuǎn)程幀無數(shù)據(jù)場(chǎng),其程序流程圖如圖5(左)所示。

          newmaker.com
          圖5 CAN發(fā)送和接收流程圖(左為發(fā)送流程,右為接收流程)
          MSCAN08模塊的接收非常靈活。如果根據(jù)CAN總線應(yīng)用層協(xié)議規(guī)定好ID的含義,就可以通過設(shè)定3個(gè)屏蔽寄存器(1個(gè)全局的,2個(gè)特殊的)將需要的數(shù)據(jù)接收到消息緩沖區(qū),將不需要的過濾掉,再通過讀當(dāng)前消息緩沖區(qū)的ID確定數(shù)據(jù)所代表的含義。AN82527報(bào)文接收主要有兩種方式:中斷方式和查詢方式,在該系統(tǒng)中采用了中斷方式。報(bào)文接收流程圖如圖5(右)所示。

          小結(jié)

          語音報(bào)警系統(tǒng)已經(jīng)在臺(tái)架上進(jìn)行了實(shí)驗(yàn),并在與其他控制器的臺(tái)架實(shí)驗(yàn)中取得了良好的通信效果,能實(shí)現(xiàn)良好的語音報(bào)警功能。此外,該還需進(jìn)行進(jìn)一步的實(shí)車驗(yàn)證,其基本設(shè)計(jì)思路也可應(yīng)用于轎車中。


          上一頁 1 2 3 4 下一頁

          評(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); })();