<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于80C196KC的CAN總線(xiàn)智能數據采集模塊設計

基于80C196KC的CAN總線(xiàn)智能數據采集模塊設計

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

本文引用地址:http://dyxdggzs.com/article/163590.htm


圖3

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

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

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

GAL16V8引腳分配及邏輯表達式如下:
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;

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

軟件編程

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

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

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

結束語(yǔ)

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>