絕對(duì)式光電軸角編碼器CAN總線(xiàn)接口
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引 言
絕對(duì)式光電軸角編碼器是一種數(shù)字測(cè)角裝置,實(shí)時(shí)測(cè)量轉(zhuǎn)軸所處的角位置及角速度,它把軸角信息轉(zhuǎn)換成度、分、秒形式的數(shù)字代碼,與控制系統(tǒng)中的總線(xiàn)連接可實(shí)現(xiàn)實(shí)時(shí)測(cè)量。它具有工作可靠性高,抗干擾能力強(qiáng),精度高,斷電記憶等優(yōu)點(diǎn)。在靶場(chǎng)設(shè)備、數(shù)字經(jīng)緯儀、雷達(dá)及一些大型軍用設(shè)備等數(shù)字化測(cè)量跟蹤和定位系統(tǒng)中得到廣泛應(yīng)用。
在這些實(shí)際應(yīng)用的控制系統(tǒng)中由于各分系統(tǒng)傳感器和探測(cè)器輸出的數(shù)據(jù)結(jié)構(gòu)不同,絕對(duì)式光電軸角編碼器會(huì)用到不同的內(nèi)部數(shù)據(jù)通信方式,主要有RS232、RS485/488串口,并口等。但在具體工程應(yīng)用項(xiàng)目中,上述通信方式常會(huì)受到傳輸距離、通信速率等方面限制。近幾年來(lái)串行通信快速發(fā)展,出現(xiàn)了多種控制系統(tǒng)現(xiàn)場(chǎng)總線(xiàn)形式,CAN總線(xiàn)就是其中應(yīng)用最為廣泛的一種,它是控制器局域網(wǎng)總線(xiàn)的簡(jiǎn)稱(chēng),是一種有效支持分布式控制和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。由于CAN總線(xiàn)的高性能、高可靠性及獨(dú)特的設(shè)計(jì),已成為目前國(guó)內(nèi)外普及和實(shí)時(shí)性最高的現(xiàn)場(chǎng)總線(xiàn)??刂葡到y(tǒng)中內(nèi)部通信方式的發(fā)展變化,使得用作測(cè)量角位移和角速度的編碼器要提供CAN總線(xiàn)接口以滿(mǎn)足整個(gè)控制系統(tǒng)的現(xiàn)場(chǎng)總線(xiàn)設(shè)計(jì)要求。
2 編碼器工作原理和數(shù)據(jù)傳輸
2.1工作原理
編碼器由數(shù)據(jù)采集裝置和數(shù)據(jù)處理裝置兩部分組成。結(jié)構(gòu)原理框圖如1所示。單片機(jī)是編碼器電路系統(tǒng)的核心部分,它將編碼器的信號(hào)(粗碼、中精碼、精碼)采集到后,經(jīng)精碼細(xì)分、碼道校正、數(shù)字量相加、電調(diào)零、度分秒轉(zhuǎn)換等軟件處理,最后顯示及實(shí)現(xiàn)與控制系統(tǒng)接口。
2.2數(shù)據(jù)傳輸
編碼器與控制系統(tǒng)的數(shù)據(jù)傳輸可以采用并行和串行兩種方式。并行傳輸通過(guò)并口傳遞數(shù)據(jù),每位數(shù)據(jù)需要數(shù)據(jù)電纜一芯,例如對(duì)于24位分辨率的編碼器就需要一根24芯的電纜,因此使用空間受到限制,僅適用于短距離傳輸和特殊要求的場(chǎng)合。串行傳輸,數(shù)據(jù)信息通過(guò)一根雙絞線(xiàn)實(shí)現(xiàn)串行傳送,根據(jù)不同通信協(xié)議再加些附加位實(shí)現(xiàn)糾錯(cuò)等功能,這一功能可擴(kuò)大應(yīng)用于數(shù)據(jù)總線(xiàn)系統(tǒng)中。串行傳輸用線(xiàn)少,硬件少,成本低,傳輸距離遠(yuǎn),數(shù)據(jù)安全可靠。
2.3 提出編碼器CAN總線(xiàn)接口
在對(duì)各種現(xiàn)場(chǎng)總線(xiàn)的綜合比較中,基于CAN總線(xiàn)構(gòu)建的通信系統(tǒng)具有很多優(yōu)異的特性:數(shù)據(jù)信號(hào)采用差分電壓傳輸;總線(xiàn)傳輸介質(zhì)可用雙絞線(xiàn)、同軸電纜和光纖;可以多主方式工作,通信方式靈活;可以點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)及全局廣播方式傳送接收數(shù)據(jù);網(wǎng)絡(luò)上的節(jié)點(diǎn)信息可分成不同的優(yōu)先級(jí),滿(mǎn)足不同的實(shí)時(shí)要求;采用非破壞性總線(xiàn)仲裁技術(shù);數(shù)據(jù)采用短幀結(jié)構(gòu),每一幀為8Byte,數(shù)據(jù)出錯(cuò)率低;通信協(xié)議中數(shù)據(jù)鏈路層的MAC子層具有嚴(yán)格的錯(cuò)誤檢測(cè)能力;具有國(guó)際標(biāo)準(zhǔn),開(kāi)放性好。因此,在對(duì)光電跟蹤系統(tǒng)內(nèi)部通信方式改造中采用CAN總線(xiàn)作為數(shù)據(jù)通信總線(xiàn)結(jié)構(gòu),進(jìn)而提出編碼器CAN總線(xiàn)接口。
3 編碼器CAN總線(xiàn)接口在光電跟蹤系統(tǒng)中的應(yīng)用
3.1編碼器用于光電跟蹤系統(tǒng)位置檢測(cè)
絕對(duì)式光電軸角編碼器是光電跟蹤系統(tǒng)中光電跟瞄架測(cè)量方位角和俯仰角角度傳感器,將光電跟蹤系統(tǒng)內(nèi)部總線(xiàn)結(jié)構(gòu)改造為CAN總線(xiàn)通信方式,編碼器的CAN總線(xiàn)接口發(fā)揮其接口靈活,節(jié)省線(xiàn)路的特點(diǎn),同時(shí)它本身帶有微處理器,可以作為系統(tǒng)中的一個(gè)智能節(jié)點(diǎn),直接向其他設(shè)備發(fā)送遠(yuǎn)程幀,實(shí)現(xiàn)智能控制。圖2為基于CAN總線(xiàn)的光電跟蹤系統(tǒng)通信結(jié)構(gòu)圖。光電跟蹤系統(tǒng)使用CAN總線(xiàn)單一串行總線(xiàn)結(jié)構(gòu)代替多種通信方式的并行結(jié)構(gòu),兩個(gè)光電編碼器測(cè)得的方位角和俯仰角經(jīng)總線(xiàn)發(fā)送到主控制機(jī),主控制機(jī)將數(shù)據(jù)進(jìn)行相應(yīng)處理后,通過(guò)總線(xiàn)控制伺服控制系統(tǒng),所有的分系統(tǒng)都可以通過(guò)一對(duì)雙絞線(xiàn)連接在一起,簡(jiǎn)化了系統(tǒng)布線(xiàn),提高整個(gè)系統(tǒng)總線(xiàn)利用率、數(shù)據(jù)傳輸實(shí)時(shí)性和系統(tǒng)擴(kuò)充性,同時(shí)誤碼率大大降低。
3.2 編碼器節(jié)點(diǎn)CAN總線(xiàn)接口硬件組成
CAN總線(xiàn)接口主要有單片機(jī)、CAN總線(xiàn)控制器、CAN總線(xiàn)驅(qū)動(dòng)器及光電隔離等硬件組成。CAN總線(xiàn)通信接口具體電路如圖3所示。
單片機(jī)選擇Intel80C196KC, 它是16位嵌入式微控制器,更適合復(fù)雜的實(shí)時(shí)控制場(chǎng)合,它同時(shí)負(fù)責(zé)對(duì)編碼器的數(shù)據(jù)處理和對(duì)CAN總線(xiàn)節(jié)點(diǎn)的初始化。CAN控制器選擇Philips半導(dǎo)體公司的SJA1000,實(shí)現(xiàn)總線(xiàn)與主控機(jī)(控制計(jì)算機(jī))之間數(shù)據(jù)通信的接口,支持CAN2.0A和CAN2.0B協(xié)議,有擴(kuò)展64字節(jié)接收緩沖器,支持先進(jìn)先出(FIFO)原則,支持11位和29位標(biāo)識(shí)碼,通信位速率可達(dá)1Mbps,可以工作在BasicCAN模式和PeliCAN模式。CAN總線(xiàn)驅(qū)動(dòng)器選擇Philips的TJA1050,它是高速CAN總線(xiàn)驅(qū)動(dòng)器,提供CAN控制器和物理總線(xiàn)之間的接口,實(shí)現(xiàn)對(duì)CAN總線(xiàn)的差動(dòng)發(fā)送和接收功能,具有強(qiáng)電磁干擾下,寬共模范圍的差動(dòng)接收能力,輸入電平與3.3V器件兼容,未上電節(jié)點(diǎn)不會(huì)干擾總線(xiàn)。加入TJA1050能夠保證數(shù)據(jù)的高速通信。為了安全性和提高抗干擾能力,利用TJA1050對(duì)稱(chēng)性能好的特點(diǎn),使用分離終端。CANH和CANL與地之間并聯(lián)了兩個(gè)30pF的小電容,起到濾除總線(xiàn)上的高頻干擾和一定的防電磁輻射能力。為了進(jìn)一步提高系統(tǒng)的抗干擾能力,在CAN控制器SJA1000和CAN驅(qū)動(dòng)器TJA1050之間使用了高速光耦6N137構(gòu)成隔離電路,實(shí)現(xiàn)電流隔離接法,6N137兩側(cè)電源VCC和VDD完全隔離,這樣可以防止線(xiàn)路間的串?dāng)_,同時(shí)在總線(xiàn)兩端要接2個(gè)120Ω的總線(xiàn)阻抗匹配電阻。
3.3節(jié)點(diǎn)軟件設(shè)計(jì)
絕對(duì)式光電軸角編碼器的角度信息(度、分、秒)從CAN控制器發(fā)送到CAN總線(xiàn)或從CAN總線(xiàn)到CAN接收緩沖器都是由SJA1000總線(xiàn)控制器自動(dòng)完成的。它的CAN總線(xiàn)接口通信程序由初始化子程序、發(fā)送子程序和接收子程序構(gòu)成。首先根據(jù)實(shí)際系統(tǒng)需要選擇CAN總線(xiàn)工作模式,這里選擇PeliCAN模式,12MHz晶振,總線(xiàn)數(shù)據(jù)傳輸速率設(shè)為500Kbits/s,各個(gè)總線(xiàn)節(jié)點(diǎn)要設(shè)置相同的數(shù)據(jù)傳輸速率,以保證正常通信。判斷SJA1000與單片機(jī)物理連接可靠,然后初始化SJA1000控制器,在SJA1000復(fù)位模式下,設(shè)定各個(gè)寄存器的初始狀態(tài)。初始化流程圖如圖4。實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收由發(fā)送子程序和接收子程序完成,由報(bào)文ID判斷節(jié)點(diǎn)數(shù)據(jù)的流向,發(fā)送數(shù)據(jù)時(shí),報(bào)文ID接收標(biāo)志位段的設(shè)置原則為:需要接收的節(jié)點(diǎn)其相應(yīng)的ID位為0,其余位為1 。接收數(shù)據(jù)時(shí)則相反,通過(guò)ID判斷是否為發(fā)送給自己的信息,是則接收,不是濾除。
4 結(jié)束語(yǔ)
CAN總線(xiàn)作為現(xiàn)場(chǎng)設(shè)備級(jí)的通信總線(xiàn),有很高的可靠性和性能價(jià)格比,帶有CAN總線(xiàn)接口的絕對(duì)式光電軸角編碼器使它更加靈活運(yùn)用于控制系統(tǒng)中。
本文創(chuàng)新:提出編碼器的CAN總線(xiàn)接口及其在光電跟蹤系統(tǒng)中的應(yīng)用