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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 基于80C196KC的CAN總線智能數(shù)據(jù)采集模塊設(shè)計(jì)

          基于80C196KC的CAN總線智能數(shù)據(jù)采集模塊設(shè)計(jì)

          作者: 時(shí)間:2009-09-09 來源:網(wǎng)絡(luò) 收藏
          模擬電壓信號來自BLR1型拉壓式稱重傳感器,傳感器壓力測量量程為0~5000kg,輸出電壓信號0~16mV。為適應(yīng)AD1674輸入電壓范圍,需對傳感器的微弱電壓信號放大,但同時(shí)并存許多噪聲源:傳感器內(nèi)阻、電纜電阻、放大器電路以及電路周圍的電磁干擾源。因此,電壓信號前端采用低通濾波器和差分放大器AD620等來抑制差模噪聲和共模噪聲,如圖3所示。

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


          圖3

          設(shè)Vs為傳感器的信號電壓,Vn1、Vn2為外部噪聲源在電纜線上的感應(yīng)噪聲信號,Vns為電路噪聲。因此,差分放大器輸出電壓Vo為:

          Vo=A(V1-V2)=A(Vs+Vns+(Vn1+Vn2));如果噪聲源與信號源頻譜不重疊,則經(jīng)低通濾波電路后:Vf≈AVs。

          GAL譯碼電路
          電路中,單片機(jī)擴(kuò)展外圍器件較多,有程序存儲器AT28C256、控制器SJA1000、并口擴(kuò)展82C55A和A/D轉(zhuǎn)換AD1674。196單片機(jī)在中主要工作于8位寬度下,由于AD1674采用了12位并行輸出模式,因此還需動態(tài)改變寬度。為了簡化電路,以及適應(yīng)196單片機(jī)較高速度的要求,譯碼電路放棄了傳統(tǒng)的門電路組合的方法,采用了可多次編程的通用陣列邏輯器件(generic array logic)GAL16V8。這樣可以減少元器件數(shù)量、降低線路復(fù)雜程度,同時(shí)降低故障機(jī)率及提高硬件的靈活性。

          GAL16V8引腳分配及邏輯表達(dá)式如下:
          Input device‘P16V8AS’;
          WR,RD,,A12,A13,A14,A15,ADC
          pin2,3,4,5,6,7,8,9;
          BUSWIDTH,CS,INTCAN,CEROM,CSADC, CS8255,NTADC,EADC
          pin19,18,17,16,15,14,13,12;

          EQUATIONS
          !CEROM=!A15!A14A13!A12#
          !A15!A14A13A12
          #!A15A14!A13!A12#!A15
          A14!A13A12
          #!A15A14A13!A12#!A15
          A14A13A12
          #A15!A14!A13!A12#A15!
          A14!A13A12;
          !CSCAN=A15!A14A13!A12;
          !CS8255=A15!A14A13A12;
          !CSADC=A15A14!A13!A12;
          BUSWIDTH=A15A14!A13!A12;
          !INTCAN=CAN;
          !INTADC=ADC;
          !CEADC=WRRD;

          由上述邏輯表達(dá)式可以看出,外圍器件地址基地址由最高4位地址A12~A15決定,AT28C256、SJA1000、82C55A及AD1674對應(yīng)基地址分別為:2000H,A000H,B000H,C000H。當(dāng)選通AD1674時(shí),單片機(jī)總線寬度控制引腳BUSWIDTH將置為高,動態(tài)調(diào)整到16位總線寬度,其余時(shí)刻,BUSWIDTH為低,單片機(jī)保持8位總線寬度。INTCAN和INTADC分別是對SJA1000和AD1674中斷請求信號取反。GAL表達(dá)式文件用ABEL軟件編譯形成JED文件,使用通用編程器燒入芯片,且可反復(fù)多次燒寫,方便調(diào)試。

          軟件編程

          控制軟件的合理實(shí)時(shí)、有效地完成及通信任務(wù)的關(guān)鍵,主要包括系統(tǒng)初始化、CAN信息處理、及處理等功能模塊。系統(tǒng)開放一個(gè)定時(shí)中斷,定時(shí)時(shí)間對應(yīng)上位機(jī)發(fā)送來的采樣周期。CAN報(bào)文的接收主要有2種方式:中斷和查詢方式。為提高系統(tǒng)的實(shí)時(shí)性,同時(shí)也保證接收緩沖器不出現(xiàn)數(shù)據(jù)溢出現(xiàn)象,模塊中采用中斷接收方式。CAN報(bào)文發(fā)送采用查詢方式,即當(dāng)需要發(fā)送數(shù)據(jù)時(shí),將預(yù)先組織好的數(shù)據(jù)幀按字節(jié)寫入SJA1000的發(fā)送緩沖寄存器中。

          SJA1000的初始化主要是在SJA1000的復(fù)位模式下設(shè)置相應(yīng)寄存器。在初始化CAN內(nèi)部寄存器時(shí)應(yīng)注意同一網(wǎng)絡(luò)中各模塊的通信速率的設(shè)置應(yīng)一致。下面給出SJA1000工作在BasicCAN模式下的簡單的初始化源程序:

          INIT-SJA1000:
          LDB AL, #01H
          STB AL, REG-CR??;復(fù)位SJA1000
          LDB AL, #0AAH
          STB AL, REG-OCR??;設(shè)置輸出寄存器為普通輸出模式
          LDB AL, #048H
          STB AL, REG-CDR??;使能內(nèi)部比較器,禁止時(shí)鐘輸出
          STB #01H, REG-BTR0??;設(shè)置波特率為
          250K(使用16M晶振)
          STB #1CH, REG-BTR1
          LDB AL, #00H
          STB AL, REG-ACR??;設(shè)置驗(yàn)收碼寄存器
          LDB AL, #0FFH
          STB AL, REG-AMR ;設(shè)置驗(yàn)收屏蔽碼寄存器
          LDB AL, REG-CR
          ANDB AL, #0FEH??;SJA1000退出復(fù)位模式
          LDB AL, #02H
          STB AL, REG-CR??;設(shè)置中斷寄存器,使能
          接收中斷
          RET
          以上程序段可以正確初始化SJA1000,為了提高程序可靠性和容錯(cuò)性,實(shí)際應(yīng)用中應(yīng)該讀出SJA1000寄存器內(nèi)容并加以比較,從而判斷是否正確寫入。

          結(jié)束語

          以上所述的軟、硬件實(shí)現(xiàn)了CAN協(xié)議所包括數(shù)據(jù)鏈路層和物理層,由于CAN總線協(xié)議沒有定義應(yīng)用層,因此在實(shí)際的應(yīng)用中有必要定義高層通信協(xié)議,即相應(yīng)的命令、參數(shù)和數(shù)據(jù)的格式。國際上比較流行的CAN底層協(xié)議的高層協(xié)議有DeviceNet和CANopen,我們在簡單應(yīng)用中,采用了自定義的簡單通信協(xié)議,在此不作敘述。設(shè)計(jì)的模塊應(yīng)用于電液伺服控制系統(tǒng)以來,運(yùn)行情況良好,由于CAN總線的應(yīng)用,大大提高了分布式數(shù)據(jù)采集和控制系統(tǒng)的靈活性、可靠性和實(shí)時(shí)性,建立了一個(gè)有效的現(xiàn)場總線控制系統(tǒng)的實(shí)驗(yàn)教學(xué)平臺。同時(shí)該數(shù)據(jù)采集模塊也可以方便地移植到工業(yè)上的其它控制系統(tǒng)中,與其它CAN總線的控制模塊組成CAN現(xiàn)場總線控制系統(tǒng)。


          上一頁 1 2 下一頁

          評論


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