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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的PC/104-CAN通訊板設(shè)計

          基于FPGA的PC/104-CAN通訊板設(shè)計

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

          1.2 設(shè)計
          QuartusⅡ是Altera公司在21世紀(jì)初推出的FP-GA/CPLD開發(fā)環(huán)境,是Altera前一代/CPLD集成開發(fā)環(huán)境MAx+PlusⅡ的更新?lián)Q代產(chǎn)品,其功能強大,界面友好,使用便捷。QuartusⅡ軟件集成了Al-tera的/CPLD開發(fā)流程中所涉及的所有工具和第三方軟件接口。QuartusⅡ軟件的開發(fā)流程如圖2所示。

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

          采用原理圖輸入和硬件描述語言相結(jié)合的方式,進行編譯后寫人器件中;同時可在線更改寫入內(nèi)容,修改和調(diào)試簡單易行。FPGA的設(shè)計主要由兩部分組成:第一部分實現(xiàn)時序邏輯控制信號的轉(zhuǎn)換,第二部分實現(xiàn)地址譯碼和地址數(shù)據(jù)線的復(fù)用。QuartusⅡ圖表文件及器件管腳如圖3所示。

          由于PC/的地址總線和數(shù)據(jù)總線是各自獨立的,SJA1000T的地址總線和數(shù)據(jù)總線是分時復(fù)用的,所以它們之間不能直接相連,必須通過時序邏輯控制,再配合軟件來實現(xiàn)讀/寫操作。對SJA1000T的操作方法是:首先,對地址為首地址+0(A2A1A0=000)的端口進行寫操作(WR為低,有效),ALE為高,有效,此時復(fù)用的地址、數(shù)據(jù)總線上的數(shù)據(jù)被視為地址信號,進入SJA1000T內(nèi)部鎖存器;然后,對地址為cAN首地址+1(A2A1A0=001)的端口進行讀或?qū)懖僮?RD/WR為低,有效),ALE為低,上述中的地址信號已被鎖存,此時復(fù)用的地址、數(shù)據(jù)總線上的數(shù)據(jù)被視為數(shù)據(jù)信號,這樣即可完成對SJA1000T的各個寄存器和緩沖區(qū)的讀或?qū)懖僮鳌?br />1.3 硬件電路測試
          主要檢測硬件結(jié)構(gòu)及電路板設(shè)計是否正確。建立一個簡單的通訊連接,將兩個連接進行測試,用A作為輸出,B作為輸入。編程通過通訊板A發(fā)送數(shù)據(jù),內(nèi)容為8個隨機數(shù),檢測通訊板B接收數(shù)據(jù),如果不同則作加1計數(shù)。反之將通訊板B作為輸出,通訊板A作為輸入,進行相同測試。測試200萬次循環(huán)未見異常。


          2 軟件設(shè)計
          2.1 軟件流程圖
          在該通訊板的設(shè)計中,控制部分的核心采用了PC/嵌入式計算機系統(tǒng)。由于PC/嵌入式計算機系統(tǒng)幾乎具有和一般的PC機一樣的強大功能,所以該通訊板的開發(fā)是在和系統(tǒng)模塊棧接在一起后,直接在嵌入式計算機上進行的。這些工作都是采用C語言進行編程設(shè)計的。采用C語言的優(yōu)點在于其快速性、高效性。在利用嵌入式計算機強大資源的條件下,C語言能滿足模塊的實時性要求。在系統(tǒng)軟件的設(shè)計中,采用了結(jié)構(gòu)化、模塊化的設(shè)計方法,滿足了儀器功能的要求。本接口系統(tǒng)的軟件任務(wù)基本為在CAN協(xié)議芯片SJA1000T有中斷發(fā)生時,根據(jù)SJA1000T的中斷寄存器的內(nèi)容完成相應(yīng)的操作(如發(fā)送、接收數(shù)據(jù)幀等)。其流程圖如圖4所示。

          系統(tǒng)設(shè)計中要進行接口驅(qū)動程序的設(shè)計,為保證操作系統(tǒng)的穩(wěn)定和安全,驅(qū)動程序必須按一定的規(guī)范來編寫。本系統(tǒng)的驅(qū)動程序主要考慮以下內(nèi)容:設(shè)置端口和中斷號,設(shè)置通訊板通訊默認(rèn)參數(shù),通訊板內(nèi)存分配,映射I/O地址,創(chuàng)建通訊板事件和數(shù)據(jù)接收事件,初始化中斷等。
          SJA1000T初始化只有在復(fù)位模式下才能進行,初始化主要包括:工作方式的設(shè)置、接收濾波方式的設(shè)置、接收屏蔽寄存器和接收代碼寄存器的設(shè)置、波特率設(shè)置和中斷允許寄存器的設(shè)置等。SJA1000T在完成初始化后就可以回到工作狀態(tài)進行正常的通訊任務(wù)了。



          關(guān)鍵詞: FPGA 104 CAN 通訊板

          評論


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