• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于S3C6410的CAN總線設(shè)計(jì)

      2013-09-03 07:33:26邢榮峰
      河北農(nóng)機(jī) 2013年5期
      關(guān)鍵詞:接收數(shù)據(jù)寄存器總線

      邢榮峰

      太原航空儀表有限公司 030000

      CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,是由德國Bosch公司最早提出的[1]。它是一種多主方式的串行通訊總線,基本設(shè)計(jì)規(guī)范要求有較高的位速率、高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯(cuò)誤。當(dāng)信號傳輸距離達(dá)到10km時(shí),CAN仍可提供50Kbit/s的數(shù)據(jù)傳輸速率。其總線規(guī)范已被ISO國際標(biāo)注化組織制定為國際標(biāo)準(zhǔn)ISO11898(高速應(yīng)用)和ISO11519(低速應(yīng)用)。

      因?yàn)镃AN總線具有很高的實(shí)時(shí)性能,所以它在汽車電子、航空工業(yè)、工業(yè)控制、安全防護(hù)等領(lǐng)域中得到廣泛應(yīng)用。但是,在常用的微處理器中有很多微處理器內(nèi)部并沒有集成CAN控制器,如基于ARM1176JZF-S內(nèi)核的微處理器S3C6410。因此,將這類微處理器和CAN獨(dú)立控制進(jìn)行組合設(shè)計(jì)就成為必要。

      1 微處理器S3C6410和CAN獨(dú)立控制器SJA1 000T介紹

      微處理器S3C6410是基于ARM1176JZF-S內(nèi)核的16/32-bit RISC微處理器,具有低成本、低功耗、高性能的特點(diǎn)。S3C6410具有極佳的外部存儲(chǔ)器接口,同時(shí)提供了豐富的硬件外設(shè)接口,非常適合對成本、功耗敏感的應(yīng)用。

      SJA1000T是使用較為廣泛的一種CAN獨(dú)立控制器,主要用于移動(dòng)目標(biāo)和一般的工業(yè)環(huán)境[2]。SJA1000T與微處理器的接口可設(shè)置為Intel模式或Motorola模式。本文的接口設(shè)計(jì)是基于Intel模式的,在此模式下,SJA1000T的數(shù)據(jù)和地址信號是分時(shí)復(fù)用的。

      2 節(jié)點(diǎn)的硬件設(shè)計(jì)

      S3C6410和SJA1000T之間的硬件設(shè)計(jì)需要解決兩個(gè)問題,一個(gè)是電平轉(zhuǎn)換問題,一個(gè)是讀寫時(shí)序問題。

      S3C6410的工作電壓是3.3V,而SJA1000T是5V供電,兩者之間不能直接相連,需要進(jìn)行電平轉(zhuǎn)換。如果需要總線雙向傳輸數(shù)據(jù),則在S3C6410和SJA1000T之間需要使用帶有方向控制的轉(zhuǎn)換芯片,例如SN74LVC245。如果總線是單向傳輸數(shù)據(jù)的,則可以使用SN74LVC541實(shí)現(xiàn)兩者的相連。

      前面已提到SJA1000T的接口在Intel模式下數(shù)據(jù)和地址信號是分時(shí)復(fù)用的,而S3C6410為數(shù)據(jù)和地址信號分離的結(jié)構(gòu)[3],且S3C6410不提供ALE信號。因此,設(shè)計(jì)的關(guān)鍵就是S3C6410要把SJA1000T的地址當(dāng)成數(shù)據(jù)寫入并同時(shí)產(chǎn)生ALE信號,S3C6410的地址信號只作為譯碼控制信號使用。本設(shè)計(jì)使用S3C6410的NGCS4對應(yīng)的地址空間(地址范圍為0x20000000~0x27FFFFFF)、地址總線ADDR0、NOE和NWE來實(shí)現(xiàn)SJA1000T的ALE、寫使能控制信號)讀使能控制信號)和片選信號)。

      對于SJA1000T,ALE信號需要在發(fā)送其地址是有效(此時(shí)為高有效),在發(fā)送和接收其數(shù)據(jù)時(shí)無效。規(guī)定當(dāng)ADDR0=1時(shí)發(fā)送地址,ALE可以通過如下邏輯組合實(shí)現(xiàn):

      3 節(jié)點(diǎn)的軟件設(shè)計(jì)

      對于微處理器而言,CAN獨(dú)立控制器是基于事件觸發(fā)的。CAN獨(dú)立控制器會(huì)在本身狀態(tài)發(fā)生改變時(shí),將變化的結(jié)果通知微處理器。因此微處理器處理CAN信息時(shí),可以采用中段的方式,也可以采用輪詢的方式來完成相應(yīng)處理。在軟件編寫之前先確定SJA1000T的基地址及復(fù)位引腳,然后正確初始化SJA1000T,填寫要發(fā)送的報(bào)文,使能發(fā)送請求,即可進(jìn)行CAN接收和發(fā)送。

      SJA1000T的初始化流程見圖1。其中,配置CAN工作模式和設(shè)定中斷使能這兩個(gè)步驟可以根據(jù)需要進(jìn)行裁剪,其余步驟則是必須的初始化工作。

      圖1 SJA1000T的初始化流程

      當(dāng)完成SJA1000T的初始化后,就可以使用發(fā)送緩存寄存器和接收緩存寄存器進(jìn)行報(bào)文數(shù)據(jù)的接收和發(fā)送。

      CAN總線將數(shù)據(jù)發(fā)送到發(fā)送緩存寄存器,然后對發(fā)送緩存寄存器賦值以啟動(dòng)發(fā)送。CAN獨(dú)立控制器只負(fù)責(zé)發(fā)送,不保證發(fā)送成功。要驗(yàn)證發(fā)送是否成功,可以查詢SJA1000T狀態(tài)寄存器的TCS位,或者配合中斷來判斷。

      CAN總線接收數(shù)據(jù)時(shí),先通過讀取狀態(tài)寄存器信息來確認(rèn)當(dāng)前緩存器中是否有數(shù)據(jù)。當(dāng)有數(shù)據(jù)時(shí),將數(shù)據(jù)讀出并放入CAN接收數(shù)據(jù)存儲(chǔ)區(qū),待需要時(shí)從該存儲(chǔ)區(qū)讀出。

      4 結(jié)束語

      本文介紹了微處理器S3C6410和CAN獨(dú)立控制器SJA1000T之間接口的差異,提出了SJA1000T和S3C6410總線設(shè)計(jì)方案。該設(shè)計(jì)方案可以作為內(nèi)部沒有集成CAN控制器的微處理器和CAN獨(dú)立控制器之間組合設(shè)計(jì)的參考。

      [1]饒?jiān)茲?,鄒繼軍,鄭勇蕓.現(xiàn)場總線CAN原理及應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2003.

      [2]NXP Company.SJA1000 Data Shee t[Z].2004.

      [3]Samsung Electronics Company.S3C6410X USER'SMANUAL[Z].2008.

      猜你喜歡
      接收數(shù)據(jù)寄存器總線
      沖激噪聲背景下基于幅度預(yù)處理的測向新方法*
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      低復(fù)雜度多輸入多輸出雷達(dá)目標(biāo)角度估計(jì)方法
      基于PCI Express總線的xHC與FPGA的直接通信
      機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      單片機(jī)模擬串口數(shù)據(jù)接收程序的實(shí)現(xiàn)及優(yōu)化
      多通道ARINC429總線檢查儀
      基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計(jì)
      河南科技(2014年16期)2014-02-27 14:13:22
      高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
      扎鲁特旗| 溧水县| 兴隆县| 堆龙德庆县| 卓资县| 呼伦贝尔市| 射阳县| 新源县| 治县。| 光山县| 太湖县| 湖北省| 北海市| 小金县| 门头沟区| 中宁县| 滦平县| 尖扎县| 祥云县| 新绛县| 南澳县| 沂水县| 南郑县| 赤城县| 古交市| 涡阳县| 金华市| 招远市| 油尖旺区| 临沂市| 随州市| 威远县| 丽江市| 宁明县| 喀喇| 大足县| 吴忠市| 县级市| 邓州市| 泰来县| 清新县|