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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > CAN總線/RS232接口的設(shè)計

          CAN總線/RS232接口的設(shè)計

          作者: 時間:2009-08-28 來源:網(wǎng)絡(luò) 收藏

          SJAl000寄存器初始化,首先要將其模式寄存器(MOD)復(fù)位模式位置為l,再通過時鐘分頻寄存器(CDR)選擇Peli工作模式,同時關(guān)閉時鐘輸出(CLOCKOUT);通過中斷允許寄存器(IER)開啟發(fā)送中斷、溢出中斷和錯誤警告中斷;向接收屏蔽寄存器(AMR)和接收代碼(ACR)寄存器賦初值;通過定時寄存器0 (BTR0)和定時寄存器1(BTRl)設(shè)置波特率;為輸出控制寄存器(OCR)賦初值;通過接收緩沖器起始地址寄存器(RBSA)來設(shè)置接收緩沖器 FIF0的起始地址;清除發(fā)送錯誤計數(shù)寄存器(TXERR);清除錯誤代碼捕捉寄存器(ECC),最后再次選擇方式寄存器(MOD),設(shè)置單濾波,并返回工作狀態(tài)。

          4.2 RS232報文發(fā)送

          AT89C52內(nèi)含一組全雙工串行傳輸界面,可同時接收或傳輸外部數(shù)據(jù),其信號為TTL電平。由于與標準的RS232界面不兼容,須加電平準轉(zhuǎn)換IC才可與RS232相連。AT89C52串行發(fā)送及接收數(shù)據(jù)均是通過特殊功能暫存器SBUF完成,在設(shè)定通訊協(xié)議模式后,通過指令“MOV SUBF,A”就可將存儲在SBUF暫存器內(nèi)的數(shù)據(jù)由引腳TXD串行傳輸。

          4.3 RS232報文接收

          AT89C52串行傳輸控制暫存器是由特殊控制暫存器SCON控制,SCON設(shè)定串行傳輸工作模式,發(fā)送接收時其第9位及發(fā)送接收時中斷指示工作。通過指令“MOV A,SBUF”則將外界串行信號經(jīng)由RXD引腳讀入,并轉(zhuǎn)換成并列數(shù)據(jù)存入暫存器A。

          4.4 報文發(fā)送

          根據(jù)協(xié)議,報文傳輸是由獨立CAN控制器SJAl000完成。主控制器必須將要發(fā)送的數(shù)據(jù)按特定格式組合成一幀報文傳輸?shù)桨l(fā)送緩沖器,將命令寄存器中的“發(fā)送請求”置1,然后啟動SJAl000發(fā)送即可。

          4.5 CAN報文接收

          CAN報文接收子程序負責(zé)節(jié)點的報文接收和其他情況的處理。接收子程序在結(jié)構(gòu)上要比發(fā)送子程序復(fù)雜一些,因為在接收報文時,要對同處理諸如關(guān)閉、錯誤報警、接收溢出等情況。SJAl000報文接收和發(fā)送有兩種方式:中斷方式和查詢方式。查詢方式應(yīng)禁止接收中斷使能,而中斷方式一般用于實時性要求較高的情況。

          在中斷方式下,如果SJAl000已接收一個報文,而且報文通過驗收濾波器并存入接收FIFO,則產(chǎn)生一個接收中斷。因此主控制器立刻工作,將收到的報文發(fā)送到報文存儲器中,再通過置位命令寄存器的相應(yīng)標志“RRB”發(fā)送一個釋放接收緩沖器命令。接收 FIF0里的更多報文將產(chǎn)生一個新的接收中斷,因此不能將所有接收FIF0中的有效信息在一個中斷周期內(nèi)讀出。接收緩沖器釋放后,SJAl000會檢查狀態(tài)寄存器中接收緩沖器狀態(tài)(RBS)是否有更多報文,所有有效信息都將循環(huán)讀出。

          5 結(jié)語

          本系統(tǒng)采用SJAl000作為CAN獨立控制器,以CAN/RS232智能電平轉(zhuǎn)換器為實例,論述了CAN總線與單片機之間的連接,對CAN總線的實際應(yīng)用具有一定的參考價值。


          上一頁 1 2 3 下一頁

          評論


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