版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、基于CAN總線的RSRS-232轉換裝置 摘要:闡述了CAN總線在232串口設備遠程通信或自組網(wǎng)絡中的應用,介紹了CAN到RS-232轉換裝置的軟硬件設計方法。重點對軟件設計中CAN波特率的設置、串口波特率的自動檢測以及數(shù)據(jù)流控制等作為詳細的敘述。 關鍵詞:CAN 波特率 流控制1 引言工業(yè)設備通信通常涉及到很多硬件和軟件產(chǎn)品以及用于連通標準計算機平臺(個人計算機或工作站)和工業(yè)自動化應用設備的協(xié)議,而且所使用設備和協(xié)議的種類繁多。因此,大部分自動化應用設備都希望執(zhí)行簡單的串行命令,并希望這些命令同個人計算機或者附加的串行端口板上的
2、標準串行端口兼容。RS-232是目前PC機與通信工業(yè)中應用最廣泛的一種串行接口。RS-232被定義為一種在低速率串行通訊中增加通訊距離的單端標準。由于RS-232的發(fā)送端與接收端之間有公共信號地,所以它不能使用雙端信號,否則,共模噪聲會耦合到信號系統(tǒng)中。RS-232標準規(guī)定,其最大距離僅為15m,信號傳輸速率最高為20kbit/s。CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應用最廣泛的現(xiàn)場總線之一,一個由CAN總線構成的單一網(wǎng)絡受到網(wǎng)絡硬件電氣特性的限制。CAN作為一種多主方式的串行通訊總線,其基本設計規(guī)范要求高位速率和較高的抗電磁干擾性能,而且
3、要能夠檢測出通訊總線上產(chǎn)生的任何錯誤。當信號傳輸距離達10km時,CAN仍可提供高達50kbit/s的數(shù)據(jù)傳輸速率。表1為CAN總線上任意兩個節(jié)點之間最大傳輸距離與其位速率之間的對應關系。表1 CAN總線系統(tǒng)任意兩節(jié)鼎足之勢之間的最大距離位速率/kbps1000500250125100最大距離/m40130270530620位速率/kbps5020105最大距離/m13003300670010000由此可見,無論從實時性、適應性、靈活性,還是可靠性上來看,CAN總線都是一種比RS-232更為優(yōu)秀的串行總線。當兩臺串口設備的相距較遠,不能直接用RS-232把它們連接起來時,就可以把RS-232轉
4、換為CAN,通過CAN總線來實現(xiàn)串口設備的網(wǎng)絡互連。但是,RS-232和CAN在電平和幀格式上都是很大的不同。具體表現(xiàn)如下:RS-232標準電平采用負邏輯,規(guī)定+3V+15V之間的任意電平為邏輯“0”電平,-3V-15V之間的任意電平為邏輯“1”電平。而CAN信號則使用差分電壓傳送,兩條信號線稱為“CAN_H”和“CAM_L”,靜態(tài)時均為2.5V左右,此時的狀態(tài)表示為邏輯“1”,也可以叫做“隱性”;用CAN_H比CAN_L高表示邏輯“0”,稱為“顯性”。顯性時,通常電壓值為:CAN_H=3.5V,CAN_L=1.5V;RS-232串口的幀格式為:一位起始位,八位數(shù)據(jù)位,一位可編程的第九位(此位
5、為發(fā)送和接收的地址/數(shù)據(jù)位),一位停止位。而CAN的數(shù)據(jù)幀格式為:幀信息+ID+數(shù)據(jù)(可分為標準幀和擴展幀兩種格式)。 因此,設計時就需要有一個微控制器來實現(xiàn)電平和幀格式等的轉換。其轉換方式如圖1所示。2 RS-232到CAN轉換的硬件設計在設計RS-232到CAN的轉換裝置時,用單片機AT89C52作為微處理器;用SJA1000作為CAN微控制器,SJA1000中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可被動局面對通信數(shù)據(jù)的幀處理;AT82C250作為CAN控制器和物理總線之間的接口,用于提供總線的差動發(fā)送能力和CAN控制器的差動接收能力,通過AT82C
6、250的引腳3可選擇三種不同的工作方式(高速、斜率控制和待機)。其中引腳3接地時為高速方式;高速光隔用6N137實現(xiàn),其作用是防止串入信號干擾;MAX232用來完成232電平到微控制器接口芯片TTL電平的轉換。具體的硬件接口電路參見SJA1000的有關資源,這里不再多做說明。但有以下幾點需要注意。(1)CAN總線兩端接有一個120的電阻,其作用是匹配總線阻抗,提高數(shù)據(jù)通信的抗干擾性及可靠行。但實際上只需保證CAN網(wǎng)絡中“CAN_H”和“CAN_L”之間的跨接電阻為60即可。(2)SJA1000的20引腳RX1在不使用時可接地(具體原因見軟件設計),配合CDR.6的置位可使總線長度大大增加。(3
7、)引腳TX0、TX1的接法決定了串行輸出的電平。具體關系可參考輸出控制寄存器OCR的設置。(4)AT82C250的RS引腳與地間接有一個斜率電阻。電阻大小可根據(jù)總線通信速度作適當調(diào)整,一般在16k140k之間。(5)MAX232外圍需要四個電解電容C1、C2、C3、C4,這些電容也是內(nèi)部電源轉換所需電容,其取值均為1F/25V,宜選用鉭電容并且位置應用量靠近芯片,電源VCC和地之間要接一個0.1F的去耦電容。3 RS-232到CAN轉換的軟件設計在微處理控制下,RS-232和CAN進行數(shù)據(jù)交換時,采用串口接收和CAN中斷方式可提高工作效率。其主程序流程圖如圖2所示。SJA1000的初始化在復位
8、模式下才可以進行,主要包括工作方式的設置、時鐘分頻和驗收濾波寄存器的設置、波特率參數(shù)的設置以及中斷允許寄存器的設置等。數(shù)據(jù)能否準確傳遞還取決于波特率和流量控制,這也是軟件設計時不可忽略的地方。因此接下來主要介紹CAN波特率的設置、串口波特率的自動檢測、串口數(shù)據(jù)流量控制。31 CAN濾波率的設置CAN協(xié)議中的要素之一是波特率。用戶可以設置位周期中的位采樣點位置和采樣次數(shù),以使用戶可以自由地優(yōu)化應用網(wǎng)絡性能,但在優(yōu)化過程中,要注意位定時參數(shù)基準參考振蕩器的容差和系統(tǒng)中不同信號傳播延遲之間的關系。系統(tǒng)的位速率fBil表示每單位時間傳輸數(shù)據(jù)位的量,即波特率fBit=1/tBit。額定的位定時由3個互不
9、重疊的段SYNC_SEG、TSEG1和TSEG2組成,這3個時間段分別是TSYNC_SEG、TSEG1和TSEG2組成,這3個時間段分別是tSYNC_SEG、tTSEG1和tTSEG2。所以,額定位周期tBit是3個時間段的和。tBit=tSYNC_SEG+tTSEG1+tTSEG2位周期中這些段都用整數(shù)個基本時間單位來表示。該時間單位叫時間份額TQ,時間份額的持續(xù)時間是CAN系統(tǒng)時鐘的一個周期tSCL,可從振蕩器時鐘周期tCLK取得。通過編程預分頻因數(shù)(波特率預設值BRP)可以調(diào)整CAN系統(tǒng)時鐘。具體如下:tSCL=BRP×2tCLK=2BPR/fCLK對CAN位定時計算的另一個很
10、重要的時間段是同步跳轉寬度(SJW),持續(xù)時間是tSJW。SJW段并不是位周期的一段,只是定義了在重同步事件中被增長或縮短的位周期的最大TQ數(shù)量。此外,CAN協(xié)議還允許用戶指定位采樣模式(SAM),分別是單次采樣和三次采樣模式(在3個采樣結果中選出1個)。在單次采樣模式中,采樣點在TESG1段的末端。而三次采樣模式比單次采樣多取兩個采樣點,它們在TSEG1段末端的前面,之間相差一個TQ。上面所提到的BPR、SJW、SAM、TESG1、TESG2都可由用戶通過CAN控制器的內(nèi)裝中寄存器BTR0和BTR1來定義。具體如圖3所示。設置好BTR0和BTR1后,實際傳輸?shù)牟ㄌ芈史秶鸀椋鹤畲?1/(tBi
11、t-tSJW),最小=1/(tBit+tSJW)3.2 串口波特率檢測當串口設備是主機時,如需檢測此時轉換裝置的串口波特率,首先可對主機的接收波特率(以9600波特為例)進行設定,并在終端發(fā)送一個特定的字符(以回車符為例),這樣,主機根據(jù)接收到的字符信息就可以確定轉換裝置的通信波特率。回車符的ASCII值是0DH,在不同波特率下接收到的值如表2所列。表2 不同波特率下接收的字節(jié)波特率(bit/s)接收字節(jié)(十六進制)波特率(bit/s)接收字節(jié)(十六進制)1200804800E61800F096000D24007819200F*33 串口流控制此處講到的“流“指的是數(shù)據(jù)流。數(shù)據(jù)在兩個串口之間的
12、傳輸時,常常會出現(xiàn)丟失數(shù)據(jù)的現(xiàn)象。由于單片機緩沖區(qū)有限,如接收數(shù)據(jù)時緩沖區(qū)已滿,那么此時繼續(xù)發(fā)送來的數(shù)據(jù)就會丟失。而流控制能有效地解決該問題,當接收端數(shù)據(jù)處理不過來時,流控制系統(tǒng)就會發(fā)出“不再接收”的信號,而使發(fā)送端停止發(fā)送,直到收到“可以繼續(xù)發(fā)送”的信號再發(fā)送數(shù)據(jù)。因此流控制可以控制數(shù)據(jù)傳輸?shù)倪M程,防止數(shù)據(jù)丟失。常用的兩種流控制是硬件流控制(包括RTS/CTS、DTR/CTS等)和軟件流控制XON/XOFF(繼續(xù)/停止),下面僅就硬件流控制RTS/CTS加以說明。采用硬件進行流控制時,串口終端RTS、CTS接到單片機的I/O口,通過置I/O口為1或0來接收和發(fā)出起停信號。數(shù)據(jù)終端設備(如計算
13、機)使用RTS來起始單片機發(fā)出的數(shù)據(jù)流,而單片機則用CTS來起動和暫停來自計算機的數(shù)據(jù)流。實現(xiàn)這種硬件握手方式時,在編程時根據(jù)接收端緩沖區(qū)的大小設置一個高位標志和一個低位標志,當緩沖區(qū)內(nèi)數(shù)據(jù)量達到高位時,就在接收端將CTS線置低(送邏輯0),而當發(fā)送端的程序檢測到CTS為低后,就停止發(fā)送數(shù)據(jù),直到接收端緩沖區(qū)的數(shù)據(jù)量低于低位而將CTS置高為止。RTS則用來標明接收設備有沒有準確好接收數(shù)據(jù)。 34 CAN接收子程序PeliCAN格式既可以發(fā)送標準幀也可以送擴展幀,利用時鐘分頻寄存器中的CDR.7可以調(diào)協(xié)CAN模式(0-BasicCAN,1-PeliCAN),接
14、收CAN數(shù)據(jù)時,可根據(jù)幀信息中的FF位來判斷是標準幀還是擴展幀,并且RTR位來判斷是遠程幀還是數(shù)據(jù)幀。以下是CAN接收子程序:;/;/CAN數(shù)據(jù)接收/統(tǒng)一成2個字節(jié)ID的幀格式/;/RECAN:MOV R0,#C_RE ;單片機內(nèi)緩沖區(qū)起始地址MOV DPTR,#RXBUF ;讀取并保存接收緩沖區(qū)的內(nèi)容MOVX A,DPTR ;讀取CAN緩沖區(qū)的2號字節(jié)MOV R0,A ;保存JB ACC.7,EFF_RE ;FF位,0-SFF,1-EFFMOV R2,#0SJMP SFF_RE ;ID數(shù)目不同,截取“數(shù)據(jù)字節(jié)”的位置不同EFF_RE:MOV R2,#2SFF_RE:MOV R2,#2SFF_
15、RE:JB ACC.6,EXIT_RECAN ;RTR位判斷,1-遠程幀,則跳出ANL A,#0FHMOV R3,A ;這時截取中間4位是數(shù)據(jù)長度MOV C_NUM,A ;R3,R5中存放接收幀的長度RDATA0:INC DPTR ;2個字節(jié)IDINC R0MOVX A,DPTRMOV R0,AINC DPTRMOVX A,R0,AINC DPTRMOVX A,DPTRMOV R0,AMOV A,R2 ;如果是EFF則跳過兩個字節(jié)IDJZ DRATA1INC DPTRINC DPTRDATA1: ;數(shù)據(jù)字節(jié)INC DPTRINC R0MOVX A,DPTRMOV R0,ADJNZ R3,RDATA1EX
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度集合大合集人員管理篇
- 單位管理制度匯編大合集人力資源管理
- 《家具導購圣經(jīng)》課件
- 單位管理制度分享匯編職員管理篇十篇
- 單位管理制度分享大全職工管理十篇
- 2024教科室工作計劃
- 單位管理制度呈現(xiàn)合集職工管理篇十篇
- 《投資管理復習》課件
- 《市場考察報告》課件
- 《廣告效果的測定》課件
- 快速響應客戶需求機制
- 環(huán)境影響評價技術方案
- 皖醫(yī)大兒科學習題及答案
- 劉鐵敏《金融專業(yè)英語》(第2版)-習題參考答案20
- 《公路工程建設監(jiān)理》課件
- 2023-2024學年黑龍江省哈爾濱一中高一(上)期末數(shù)學試卷
- 2024年管理學理論考核試題及答案
- 地理信息系統(tǒng)試卷及答案
- 干部考察延伸談話范圍
- (新)公共常識知識考試復習題庫800題(含答案)
- 叉車維修檢驗原始記錄
評論
0/150
提交評論