SN65HVD230型CAN總線收發器的原理及應用
關鍵詞:收發器 CAN CAN收發器
本文引用地址:http://www.104case.com/article/164158.htm引言
CAN總線以其較高的通訊速率、良好的抗電磁干擾能力可實現高可靠性串行通信,因而在實際應用中具有極高的應用價值。但是,隨著集成技術的不斷發展,為了節省功耗,縮小電路體積,一些新型CAN總線控制器的邏輯電平均采用LVTTL,這就需要與之相適應的總線收發器。TI公司生產的SN65HVD230型電路很好地解決了這個問題。
1 SN65HVD230簡介
SN65HVD230是德州儀器公司生產的3.3CAN總線收發器,主要是與帶有CAN控制器的TMS320Lx240x系列DSP配套使用,該收發器具有差分收發能力,最高速率可達1Mb/s。廣泛用于汽車、工業自動化、UPS控制等領域。
1.1 主要特點及引腳功能 SN65HVD230采用PSOP8封裝,具體引腳排列及其邏輯功能如圖1所示,表1所列是其引腳功能。
表1 SN65HVD230的引腳功能 各種控制功能主要通過調用系統的通用函數和功能函數來實現。其中,系統通用函數用于系統的初始化及一些通用功能的實現。首先對CAN系統進行初始化,同時完成端口配置、位時間確定、消息體的配置等。其節點初始化函數如下:
SN65HVD230可用于較高干擾環境下。該器件在不同的速率下均有良好的收發能力,其主要特點如下:
?完全兼容ISO11898標準;
?高輸入阻抗,允許120個節點;
?低電流等待模式,典型電流為370μA;
?信號傳輸速率最高可達1Mb/s;
?具有熱保護,開路失效保護功能;
?具有抗瞬間干擾,保護總線的功能;
?斜率控制,降低射頻干擾(RFI);
?差分接收器,具有抗寬范圍的共模干擾、電磁干擾(EMI)能力。
引腳號 | 引腳名稱 | 引腳功能 | 描 述 |
1 | D | 輸入 | CAN控制器發送數據輸入端 |
2 | GND | 地 | 接地 |
3 | Vcc | +3V電源 | +3V電源電壓 |
4 | R | 輸出 | CAN總線接收數據輸出端 |
5 | VREF | 參考電壓 | 參考電壓輸出 |
6 | CANL | CAN總線低 | 低電平CAN電壓輸入/輸出 |
7 | CANH | CAN總線高 | 高電平CAN電壓輸入/輸出 |
8 | Rs | 方式選擇 | 斜率電阻器輸入 |
1.2 工作模式和控制邏輯
SN65HVD230具有高速、斜率和等待3種不同的工作模式。其工作模式控制可通過Rs控制引腳來實現。圖2是SN65HVD230在CAN總線系統中的典型應用圖。由圖中可以看出,CAN控制器的輸出引腳Tx接到SN65HVD230的數據輸入端D,可將此CAN節點發送的數據傳送到CAN網絡中;而CAN控制器的接收引腳Rx與SN65HVD230的數據輸出端R相連,用于接收數據。SN65HVD230方式選擇端口Rs通過跳線和一端接地的斜率電阻器連接,通過硬件方式可實現3種工作模式的選擇,其中斜率電阻器為0~100kΩ的電位器。VRs為加在Rs引腳上的電壓。具體工作模式的選擇如表2所列。
表2 SN65HVD230的工作模式選擇
Vrs | 工作模式 |
VRs≥0.75Vcc | 等待模式 |
10kΩ到100kΩ接地 | 斜率控制模式 |
VRs≤1V | 高速模式 |
使Rs接邏輯低電平可以使收發器工作在高速模式。在高速模式下,收發器的通信速率達到最高,此時沒有內部輸出上升斜率和下降斜率的限制,但在該方式下,最大速率的限制與電纜的長度有關。
而在有些場合中,考慮到系統成本等問題,使用非屏蔽電纜時,收發器必須滿足電磁兼容等條件。為了減少因電平快速上升而引起的電磁干擾,在SN65HVD230中引入了斜率控制方式。這種控制方式可通過連接在Rs引腳上的串聯斜率電阻器來實現。電壓轉換和斜率電阻的關系如圖2所示。
在Rs引腳加上邏輯高電平(≥0.75Vcc),可使器件進入等待模式,處于待機狀態,系統只“聽”發送過來的消息。在“聽”狀態下,收發器的發送功能處于關斷狀態,接收功能仍處于有效狀態。此時,接收器對于總線來說總是隱性的。
1.3 控制邏輯
SN65HVD230采用正邏輯控制方式,有接收和發送二種方式,具體控制邏輯如表3所列。
表3 SN65HVD2304的控制邏輯
發 送 | 接 收 | ||||||
輸入D | Rs | 輸出 | 總線狀態 | 差分輸入 | Rs | 輸出R | |
CANH | CANL | ||||||
L | XRs≤1.2V | H | L | 顯性 | VIN≥0.9V | X | L |
H | Z | Z | 隱性 | 0.5VVID0.9V | X | ? | |
Open | X | Z | Z | 隱性 | VID≤0.5V | X | H |
X | VRS≥0.75Vcc | Z | Z | 隱性 | Open | X | H |
其中,Z表示高阻狀態,?表示未定狀態,X表示無關。
2 實際應用
某自動測試系統需要多路實時可控的交流供電電源,為此,筆者設計了基于CAN總線的智能電源控制器。該系統的主控計算機中安裝了CAN總線通信控制卡,電源控制器中裝有CAN總線通信適配卡,故可通過控制卡與適配卡來實現計算機與各智能電源控制器之間的通信,從而完成對各電源控制器的控制及對各電源控制器輸出狀態的檢測。
2.1 系統原理
該電源控制器采用SN65HVD230型CAN總線收發器和Cygnal公司生產的具有3.3V集成式CAN控制器的C8051F040型單片機來設計CAN總線通信控制卡及CAN總線通信適配卡。其原理框圖如圖4所示,通過PC控制各個網絡節點來實現其具體的控制功能,并以此組成網絡控制系統。
2.2 CAN總線通信控制卡的設計
在整個CAN控制網絡中,CAN總線通信控制卡起著非常重要的作用。該卡主要包括C8051F040型單片機、雙口RAM及其控制電路、中斷申請電路、復位電路和CAN驅動電路。該控制卡的結構框圖如圖5所示。CAN通信控制卡通過CAN總線將各個節點串聯起來,從而將一個等網絡變成一個簡單的“一主多從”控制網絡。PC通過CAN總線通信控制卡向網絡中各個具有不同地址的節點發送各種格式的控制命令字,并將各網絡節點中代表各節點狀態的數據字讀回,以此實現整個CAN網絡的控制。
2.3 CAN節點的設計
在整個CAN控制網絡中,節點是整個網絡的“從者”,它通過相應的地址匹配來識別控制卡發來的信息。若信息不是發送給自己的,則不進行任何動作,若信息是發給自己的,則該節點接收信息,并執行相應的操作。在CAN控制網絡中,信息通過幀模式進行傳送。CAN節點根據設定的幀格式內容進入相應的控制程序,以對外圍電路進行操作控制。CAN節點系統框圖如圖6所示。
2.4 混合電平電路抗干擾設計
由于智能電源控制器本身是一個混合電平系統,內部有多路220V/50Hz交流電、控制電路的3.3V直流電平、CAN控制網絡接口電平等不同電平,因此必須實現不同電平信號的隔離,以增強系統的抗干擾能力。
本系統通過對C8051F040控制信號進行光隔離和驅動處理后控制繼電器,以實現對交流電源的輸出控制,從而確保了大功率交流電源與內部控制電路之間的有效隔離。而CAN接口在收發器和控制器之間采用了LVTTL/LVCMOS兼容高速光隔離來實現不同電平之間的電氣隔離。
2.5 系統軟件設計
系統軟件主要由CAN總線通信控制卡控制程序和各個節點控制程序二部分組成。CAN總線通信控制卡控制程序是基于Windows的編程,這里不再多述,本文主要給出各個節點的控制程序。
WDTCN=0xde; //關watch dog
WDTCN=0xad;
config_IO(void); //端口配置函數,實現控制模塊的控制引腳的分配
Clock(void); //時鐘及CAN總線速度定義函數
clear_msg_objects(void);//各個消息體的清除函數
msg_objects_init(void);//CAN消息體初始化函數
……
startCAN(); //系統允許進行CAN通訊
EA=1; //系統開中斷;
3 結束語
在實際工程應用中,SN65HVD230作為一種新型CAN總線收發器,具有高速率和高抗電磁干擾等特點,加之其電氣連接十分簡單,因而具有良好的實用性。
評論