<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>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 基于PIC18單片機的CAN RS485轉換器的設計

基于PIC18單片機的CAN RS485轉換器的設計

作者: 時(shí)間:2012-04-14 來(lái)源:網(wǎng)絡(luò ) 收藏

基于 的設計

RS-485總線(xiàn)以雙絞線(xiàn)為物理介質(zhì),工作在半雙工的通信狀態(tài)下,即同一時(shí)刻總線(xiàn)上只能有一個(gè)節點(diǎn)成為主節點(diǎn)而處于發(fā)送狀態(tài),其它所有節點(diǎn)必須處于接收狀態(tài)。如果同一時(shí)刻有兩個(gè)以上的節點(diǎn)處于發(fā)送狀態(tài),將導致所有發(fā)送方的數據發(fā)送失敗,即總線(xiàn)沖突。

為了避免這種總線(xiàn)沖突問(wèn)題,RS-485總線(xiàn)必須具備:

①以工作模式來(lái)說(shuō),一般的RS-485總線(xiàn)工作在主從模式下;

②從通信節點(diǎn)來(lái)講,RS-485總線(xiàn)上的節點(diǎn)必須具備可以將自己的驅動(dòng)器切換到高阻態(tài)的功能。

以上是為適應RS-485總線(xiàn)的特殊之處而采用的措施,這樣同時(shí)也帶來(lái)了一些不足。首先,這種總線(xiàn)工作方式在很多對實(shí)時(shí)性、可靠性要求高的工業(yè)控制場(chǎng)合有較大的局限性;其次,對驅動(dòng)器實(shí)行的“發(fā)送態(tài)—高阻態(tài)”切換以及切換延遲等功能要求會(huì )使編程變得復雜。同時(shí)在上電瞬間、CPU損壞或者程序跑飛的情況下,還需要考慮復雜的故障保護等問(wèn)題,否則將容易引起總線(xiàn)故障。

控制器局域網(wǎng)-bus (Controller Area Network)是國際上應用最廣泛的現場(chǎng)總線(xiàn)之一。最初-bus被設計作為汽車(chē)環(huán)境中的微控制器通訊,意在車(chē)載各電子控制裝置ECU之間交換信息,從而形成汽車(chē)電子控制網(wǎng)絡(luò )。如今,作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠程網(wǎng)絡(luò )通訊控制方式,CAN-bus已被廣泛應用到各個(gè)自動(dòng)化控制系統中。而且它在通信能力、可靠性、實(shí)時(shí)性、靈活性、易用性、傳輸距離等方面較RS-485總線(xiàn)有著(zhù)明顯的優(yōu)勢,因而用CAN總線(xiàn)取代RS-485總線(xiàn)將是大勢所趨。

基于RS-485網(wǎng)絡(luò )在現場(chǎng)的廣泛應用,目前完全放棄RS-485網(wǎng)絡(luò )系統是不現實(shí)的。但可以考慮一種折衷的辦法.就是在系統保留現有RS-485系統硬件結構的基礎上添加一個(gè)CAN-bus接口,本設計的CAN485智能就具有這樣的現實(shí)意義。它可以實(shí)現RS-485網(wǎng)絡(luò )與CAN網(wǎng)絡(luò )的互聯(lián),其系統原理框圖如圖1所示。



1 CAN-485原理

圖2所示是一種CAN-485智能轉換器的原理框圖,本設計采用F258為核心,該自帶CAN收發(fā)接口,因此可簡(jiǎn)化硬件設計,提高運行效率。F258的主要特征如下:

◇通過(guò)ISO CAN標準測試;

◇執行CAN協(xié)議:CAN1.2 CAN2.0ACAN2.0B;

◇標準和擴展數據模式;

◇0-8位數據長(cháng)度;

◇可編程速率高達1 Mbps;

◇2個(gè)數據接收緩沖器;

◇6個(gè)完全接收濾波器,2個(gè)對應高優(yōu)先權緩沖器,4個(gè)對應低優(yōu)先權緩沖器;

◇2個(gè)完全接收掩碼器;

◇3個(gè)具有優(yōu)先權的發(fā)送緩沖器。



由于單片機的輸出電流比較弱,難以驅動(dòng)光電隔離器,為保險起見(jiàn),信號輸入光耦前要經(jīng)過(guò)74HC573鎖存;同樣為了增加信號驅動(dòng)能力,經(jīng)過(guò)隔離的信號要再次經(jīng)過(guò)74HC573鎖存。

2 軟件設計

系統的軟件設計主要包括初始化程序、CAN接收中斷服務(wù)程序、USART接收中斷服務(wù)程序、主程序及應用層通信協(xié)議轉換程序等。

初始化程序用于設置CAN模塊的通信波特率、工作方式、發(fā)送的優(yōu)先級、接收郵箱和發(fā)送郵箱及對應的接收過(guò)濾器和接收屏蔽器等。其初始化程序流程圖如圖3所示。



CAN接收中斷服務(wù)程序主要用來(lái)接收CAN總線(xiàn)傳輸過(guò)來(lái)的數據幀,并對其進(jìn)行幀校驗,如果出錯則要求重發(fā),若數據幀正確接收,則將完整的數據幀存人到提前開(kāi)辟的環(huán)形緩沖器中,為后面的數據處理和協(xié)議轉換做好準備。其CAN接收中斷服務(wù)程序流程圖如圖4所示。



USART接收中斷服務(wù)程序主要用于接收來(lái)自RS-485總線(xiàn)的串行數據,并將完整的數據幀傳送到另外一個(gè)環(huán)形緩沖器。其流程圖和設計思想與CAN接收中斷程序類(lèi)似,不再例舉。

協(xié)議轉換程序需要參照現場(chǎng)RS-485系統原有的協(xié)議,然后由用戶(hù)通過(guò)配套軟件對通信幀的格式進(jìn)行相應的設置。進(jìn)行配置時(shí),PC機必須通過(guò)RS-485接口來(lái)訪(fǎng)問(wèn)RS-485/CAN智能轉換器,通常PC機的RS-232接口使用RS-232/RS-485轉換器。成功設置后,就可以實(shí)現RS-485與CAN通信幀格式的相互轉換。

本系統的主程序部分的設計比較簡(jiǎn)單,主要為調用初始化程序,掃描發(fā)送緩沖器是否為空,不空則在空閑時(shí)根據其優(yōu)先級將CAN通信幀或RS-485串行通信幀發(fā)送出去,并不斷掃描,等待中斷的產(chǎn)生。

3結束語(yǔ)

利用CAN485智能轉換器可實(shí)現RS-485網(wǎng)絡(luò )與CAN網(wǎng)絡(luò )的互連,且智能轉換器的通信波特率可調,工作模式也可控制,對于不同協(xié)議的RS-485網(wǎng)絡(luò ),只需通過(guò)軟件對轉換器進(jìn)行相應的初始化設置,而不必對硬件進(jìn)行改動(dòng),因此可以滿(mǎn)足絕大多數場(chǎng)合的使用要求。但是該方案不能充分體現CAN系統的優(yōu)越性,僅適合新系統與舊系統并存、整體性能要求不太高的場(chǎng)所。因此,用CAN總線(xiàn)取代RS-485總線(xiàn)將是大勢所趨。



關(guān)鍵詞: PIC18 單片機 CAN RS485 轉換器

評論


相關(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>