《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于CAN總線智能數據采集模塊設計
基于CAN總線智能數據采集模塊設計
摘要: 基于以上所述的軟、硬件設計實現了CAN協議所包括數據鏈路層和物理層,由于CAN總線協議沒有定義應用層,因此在實際的應用中有必要定義高層通信協議,即相應的命令、參數和數據的格式。國際上比較流行的基于CAN底層協議的高層協議有DeviceNet和CANopen,我們在簡單應用中,采用了自定義的簡單通信協議,在此不作敘述。設計的智能數據采集模塊應用于電液伺服控制系統以來,運行情況良好,由于CAN總線的應用,大大提高了分布式數據采集和控制系統的靈活性、可靠性和實時性,建立了一個有效的現場總線控制系統的實驗教學平臺。同時該數據采集模塊也可以方便地移植到工業上的其它控制系統中,與其它基于CAN總線的智能控制模塊組成CAN現場總線控制系統。
Abstract:
Key words :

  引言   

  基于集中管理、分散控制的分散控制系統(distributed control system)解決了集中式直接數字控制系統對控制器處理能力和可靠性要求過高的缺陷,但由于其具有一定的封閉性、各分散控制系統之間的不兼容性,集散控制系統難以實現網絡互連和信息共享。

現場總線的出現使得全數字化,全開放式,具有可互操作性,徹底分散的現場總線控制系統(fieldbus control system)得以實現,現場總線控制系統已成為自動化領域中的一個熱點,也將成為工業過程控制的一個重要發展方向。

控制器局域網CAN(controller areanet work)是德國Bosch公司在現代汽車電子技術領域中推出的一種多主控制器局域網絡技術,能有效支持分布式和實時控制,最早主要應用于汽車內部電子監測和控制器件數據通信。由于其高可靠性及高實時性而廣泛應用于工業現場控制等領域。其突出的特點是采用最長8個數據字節的短幀結構,傳輸時間短,實時性高;另外CAN協議取消了傳統的地址編碼概念,取而代之的是基于數據塊標識符的無損優先級仲裁,給分布式控制系統實現模塊間的信息共享帶來了極大的方便。

基于CAN總線的主要特點及發展趨勢,我校電液實驗室開放式電液伺服控制系統的改造中采用CAN總線作為現場總線標準,構建了一套基于CAN總線智能節點的現場總線控制系統。文中將詳細介紹智能數據采集模塊的軟硬件設計,該模塊可以實現控制現場的數字、模擬信號采集,現場數據預處理,數據傳送以及與監控計算機通訊等功能。

液壓伺服系統簡介   

開放式電液伺服控制系統包括數臺電液伺服位置控制實驗臺、電液比例轉速控制實驗臺、電液比例力控制實驗臺。各實驗臺配置1套基于CAN總線的智能數據采集模塊和內置控制算法的智能控制模塊,通過CAN總線將各分散的采集模塊和控制模塊組成一個控制網絡,1臺PC機通過內置的CAN適配卡接入局部網絡,模擬工業現場的過程控制,PC機作為擔任過程控制監控任務的控制站,可以實時顯示各實驗臺工作狀況及向各實驗臺發送啟停命令,同時還可以通過高速以太網將現場數據遠程傳輸至工程師站等管理級計算機,實現如圖1所示的分層現場總線控制系統。

  圖1 開放式電液伺服控制系統總體結構   

系統硬件設計   

數據采集模塊作為一種智能化現場儀表,主要包括硬件系統和控制軟件2大部分。模塊硬件部分以80C196KC單片機作為采集模塊的核心,外圍電路主要包括CAN總線接口,程序存儲器,電源監控及復位電路,GAL譯碼電路,DI、A/D轉換電路及模塊參數設置電路等。模塊結構如圖2所示。

  圖2 數據采集模塊結構   

80C196KC單片機簡介   

80C196KC是Intel公司推出的高性能16位單片機。和MCS51系列單片機相比,MCS196系列單片機具有更快的運算速度和更豐富的片上外圍設備,提高了控制系統的實時性,主要體現在以下幾個方面:   

a.可采用8/16位動態總線配置方式,增強系統的靈活性。

b.CPU中的算術邏輯單元不采用常規的累加器結構,改用寄存器-寄存器結構。CPU的操作直接面向256字節的寄存器,消除了51單片機中存在的累加器的瓶頸問題,提高了操作速度和數據吞吐能力。

c.有一套效率更高、執行速度更快的指令系統。可以對帶符號數和不帶符號數進行操作,16×16位只需1.4μs(20MHz),32÷16位只需2.4μs(20MHz),此外還有3操作數指令,大大提高指令效率。

選擇80C196KC單片機作為數據采集模塊的核心器件,可以滿足應用系統的要求,保證系統的可靠性和實時性。

CAN總線接口電路   

CAN總線接口由PHILIPS公司的獨立總線控制器SJA1000和接口芯片82C250組成。SJA1000在軟件上和引腳上都是與它的前款PCA82C200獨立控制器兼容的,并增加了許多新功能:標準幀數據結構和擴展幀數據結構,并且這2種幀格式都具有單/雙接收過濾器;64字節的接收FIFO;可讀錯誤計數器和可編程的出錯警告界限以及僅聽模式和自測試模式等。硬件連接上比較簡單:SJA1000的數據地址總線是分時復用的,可以直接與80C196KC的P3口連接,對應控制線相連即可。需注意的是,80C196KC是Intel公司的處理器,因此SJA1000工作在Intel方式,mode引腳應接電源正端,另外單片機的外部中斷只有正跳變有效,而SJA1000的中斷信號是低電平有效,因此需反相后才能連接單片機中斷引腳。

選擇3種不同的工作方式:高速、斜率控制和待機。在低速和總線長度較短時,一般采用斜率控制方式,限制上升和下降斜率,降低射頻干擾,斜率可通過由RS引腳至地連接的電阻進行控制。通信信號傳輸到導線的端點時會發生反射,反射信號會干擾正常信號的傳輸,因而總線兩端通常應接有終端電阻,以消除反射信號,其阻值約等于傳輸電纜的特性阻抗,一般取120Ω。

數字信號采集電路   

電液伺服實驗臺需要采集的物理量之一是液壓缸的位移,實驗室現有裝備的位移傳感器有2種:感應同步器和旋轉光電編碼器。二者都配有帶BCD碼輸出的數顯測量儀表,直接采集數顯表的數字量可以保證采集模塊具有儀表的高精度,避免因采集傳感器前端脈沖而帶來的誤差,同時也使電路更加簡潔。

數字顯示儀表的有效BCD碼位數為5位(個、十、百位及2位小數位),另帶一位符號位,共有21位二進制位。80C196KC片內不帶程序存儲器,因而用P3和P4口作為地址數據總線,單片機剩余有效IO口資源較少,因此必須擴展并口。并口擴展可以采用專用擴展芯片或通用74系列的邏輯芯片,為了簡化電路和編程,采用常見的可擴展24路IO口的82C55A并口擴展芯片。現場的數字顯示儀表的輸出是非標準的TTL電平,為了實現模塊與前端儀表兼容和隔離,對輸入的數字信號采用了TLP521光耦進行電平轉換和信號隔離。

A/D轉換電路電路   

本模塊中A/D轉換器選用AD1,它與AD574兼容,12位分辨率,輸入電壓范圍0~±10V或0~±5V單雙極性可選,轉換時間為10μs,單通道最大采集速率50KHz,片內帶基準電壓、三態緩沖器,且具有采樣保持電路,完全滿足設計的需要。

模擬電壓信號來自BLR1型拉壓式稱重傳感器,傳感器壓力測量量程為0~5000kg,輸出電壓信號0~16mV。為適應AD1輸入電壓范圍,需對傳感器的微弱電壓信號放大,但同時并存許多噪聲源:傳感器內阻、電纜電阻、放大器電路以及電路周圍的電磁干擾源。因此,電壓信號前端采用低通濾波器和差分放大器AD620等來抑制差模噪聲和共模噪聲,如圖3所示。

  圖3   

設Vs為傳感器的信號電壓,Vn1、Vn2為外部噪聲源在電纜線上的感應噪聲信號,Vns為電路噪聲。因此,差分放大器輸出電壓Vo為:   Vo=A(V1-V2)=A(Vs+Vns+(Vn1+Vn2));如果噪聲源與信號源頻譜不重疊,則經低通濾波電路后:Vf≈AVs。

GAL譯碼電路   

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

GAL16V8引腳分配及邏輯表達式如下:   

Input device‘P16V8AS’;   WR,RD,CAN,A12,A13,A14,A15,ADC   pin2,3,4,5,6,7,8,9;   BUSWIDTH,CSCAN,INTCAN,CEROM,CSADC, CS8255,NTADC,EADC   pin19,18,17,16,15,14,13,12;   EQUATI   !CEROM=!A15&!A14&A13&!A12#   !A15&!A14&A13&A12   #!A15&A14&!A13&!A12#!A15&   A14&!A13&A12   #!A15&A14&A13&!A12#!A15&   A14&A13&A12   #A15&!A14&!A13&!A12#A15&!   A14&!A13&A12;   !CSCAN=A15&!A14&A13&!A12;   !CS8255=A15&!A14&A13&A12;   !CSADC=A15&A14&!A13&!A12;   BUSWIDTH=A15&A14&!A13&!A12;   !INTCAN=CAN;   !INTADC=ADC;   !CEADC=WR&RD;   

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

軟件編程   

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

SJA1000的初始化主要是在SJA1000的復位模式下設置相應寄存器。在初始化CAN內部寄存器時應注意同一網絡中各模塊的通信速率的設置應一致。下面給出SJA1000工作在BasicCAN模式下的簡單的初始化源程序:   INIT-SJA1000:   LDB AL, #01H   STB AL, REG-CR ;復位SJA1000   LDB AL, #0AAH   STB AL, REG-OCR ;設置輸出寄存器為普通輸出模式   LDB AL, #048H   STB AL, REG-CDR ;使能內部比較器,禁止時鐘輸出   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,為了提高程序可靠性和容錯性,實際應用中應該讀出SJA1000寄存器內容并加以比較,從而判斷是否正確寫入。

結束語   

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

 

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线亚洲激情| 麻豆精品精华液| 亚洲精华国产欧美| 欧美在线综合| 亚洲永久免费视频| 一区二区三区免费观看| 亚洲毛片在线免费观看| 亚洲国产99| 亚洲国产午夜| 亚洲国产日韩一区| 亚洲国产色一区| 亚洲福利视频一区二区| 亚洲第一主播视频| 亚洲国产精品999| 最新69国产成人精品视频免费| 在线播放精品| 136国产福利精品导航网址| 黄色小说综合网站| 激情综合亚洲| 亚洲国产精品久久人人爱蜜臀| 亚洲国产高清在线观看视频| 亚洲高清在线精品| 亚洲精品国产精品乱码不99按摩| 亚洲精品久久久久久久久久久久久| 最新中文字幕亚洲| 一本不卡影院| 亚洲一区二区三区精品动漫| 亚洲女人天堂成人av在线| 欧美亚洲自偷自偷| 亚洲国产日韩综合一区| 日韩视频在线一区| 亚洲一区二区三区三| 亚洲欧美999| 久久www成人_看片免费不卡| 久久网站免费| 欧美韩国在线| 国产精品国产精品国产专区不蜜| 国产精品区一区| 国产三级欧美三级日产三级99| 好看不卡的中文字幕| 亚洲高清激情| 日韩亚洲视频| 亚洲欧美日韩在线综合| 亚洲高清一区二| 一本色道久久综合亚洲精品不| 亚洲综合色自拍一区| 久久精精品视频| 欧美不卡视频一区| 欧美日韩视频在线第一区| 国产精品视频内| 136国产福利精品导航网址| 亚洲毛片在线| 欧美在线视频日韩| 一本一本久久a久久精品综合妖精| 亚洲欧美高清| 美乳少妇欧美精品| 欧美午夜不卡视频| 国产一区二区av| 亚洲黄一区二区三区| 亚洲一二三区在线观看| 欧美在线视频播放| 国产精品99久久久久久白浆小说| 欧美一区二区在线观看| 欧美电影免费| 国产精品一区在线观看| 亚洲国产精品久久久久婷婷884| 中文日韩欧美| 91久久精品国产91久久| 亚洲欧美不卡| 欧美激情视频网站| 国产女人18毛片水18精品| 最新高清无码专区| 欧美亚洲综合网| 一区二区精品| 久久综合色综合88| 国产精品一区二区久久久久| 亚洲国产视频一区| 久久精彩免费视频| 亚洲视频欧美视频| 欧美~级网站不卡| 国产精品永久免费视频| 99re6这里只有精品| 久久岛国电影| 亚洲欧美日韩精品在线| 欧美成人精品h版在线观看| 国产欧美一区二区三区久久人妖| 亚洲日本一区二区三区| 久久国产主播| 欧美一区二区三区免费视频| 欧美日韩视频| 亚洲黑丝在线| 亚洲福利av| 欧美亚洲自偷自偷| 欧美午夜久久久| 91久久综合| 最近中文字幕mv在线一区二区三区四区| 午夜欧美大尺度福利影院在线看| 欧美另类99xxxxx| 激情一区二区三区| 欧美一激情一区二区三区| 亚洲女优在线| 欧美性大战久久久久| 亚洲黄色大片| 亚洲人人精品| 欧美成人中文| 欲香欲色天天天综合和网| 久久激情网站| 久久久久se| 国产一区二区三区在线播放免费观看| 亚洲天堂成人在线观看| 亚洲一区二区三区久久| 欧美日韩精品综合| 亚洲精品少妇30p| 亚洲免费电影在线| 欧美高清在线一区| 亚洲第一中文字幕| 亚洲黄网站在线观看| 久久亚洲美女| 狠狠色狠狠色综合日日tαg| 欧美一区二区精品在线| 欧美一级电影久久| 国产日韩精品视频一区| 先锋影院在线亚洲| 久久se精品一区精品二区| 国产伦精品一区二区三区高清| 中日韩男男gay无套 | 亚洲国产毛片完整版| 久久视频在线视频| 黄色成人av| 亚洲激情午夜| 欧美精品久久99久久在免费线| 亚洲片区在线| 一本色道久久加勒比88综合| 欧美日本乱大交xxxxx| 日韩一级成人av| 亚洲欧美国产另类| 国产日本欧美视频| 欧美在线国产精品| 美女精品在线| 亚洲全部视频| 亚洲图片在线观看| 国产精品亚洲第一区在线暖暖韩国| 亚洲一区二区在线| 久久九九久久九九| 136国产福利精品导航网址应用| 91久久精品美女高潮| 欧美激情一区| 亚洲婷婷国产精品电影人久久| 欧美综合77777色婷婷| 一区二区在线视频播放| aa成人免费视频| 国产精品红桃| 欧美一区视频在线| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲精品国产精品乱码不99按摩| 亚洲欧美电影在线观看| 国精品一区二区三区| 亚洲人成欧美中文字幕| 欧美视频精品在线| 欧美伊人久久久久久久久影院| 美女视频黄 久久| 99热在这里有精品免费| 性色av一区二区三区在线观看| 国产综合在线看| 一区二区三区产品免费精品久久75 | 欧美屁股在线| 亚洲一区二区三区欧美| 狼狼综合久久久久综合网| 99视频在线观看一区三区| 欧美在线观看视频在线| 亚洲国产合集| 新67194成人永久网站| 亚洲成人在线| 亚洲欧美日韩精品久久亚洲区 | 欧美一区二区在线免费播放| 亚洲高清一二三区| 午夜视频在线观看一区| 精品动漫一区二区| 亚洲午夜国产一区99re久久| 国产有码一区二区| 国产精品99久久久久久久久| 国产性猛交xxxx免费看久久| 夜夜嗨av一区二区三区| 国产字幕视频一区二区| 亚洲桃色在线一区| 激情久久久久久久久久久久久久久久| 一区二区三区国产在线| 国产一区二区三区电影在线观看| 日韩午夜激情av| 国产一区二区精品在线观看| 一区二区三区产品免费精品久久75| 国产日韩欧美在线| 亚洲视频日本| 亚洲国产精品久久久久久女王| 欧美一二三区精品| 亚洲免费不卡| 中文国产一区| 久久久夜精品| 蜜桃av综合| 久久www免费人成看片高清|