基于CAN總線(xiàn)的家庭控制器的設計與實(shí)現
在數據鏈路層中,規定了支持CAN協(xié)議的兩種幀類(lèi)型:數據幀和遠程幀。數據幀用來(lái)發(fā)送數據,用于一個(gè)節點(diǎn)傳送信息到其它任一或所有節點(diǎn);遠程幀用來(lái)“遠程發(fā)送請求”,用于一個(gè)節點(diǎn)主動(dòng)要求其它節點(diǎn)發(fā)送信息,兩種幀的具體格式如圖2所示。
硬件電路設計
本系統是由許多智能家庭控制器通過(guò)CAN總線(xiàn)相連而組成的一個(gè)控制器局部網(wǎng),因此,CAN總線(xiàn)的設計就顯得極為重要。其中,CAN控制器的選取、CAN收發(fā)器以及抗干擾措施將成為設計的關(guān)鍵。
?、貱AN控制器的選取
為了系統進(jìn)一步擴展的需要,可選取支持CAN2.0B通信協(xié)議的SJA1000。SJA1000是PHILIPS公司最新生產(chǎn)的既支持CAN2.0B又支持 CAN2.0A的CAN控制器,它與僅支持CAN2.0A的CAN控制器PCA82C200在硬件上和軟件上完全兼容。
?、贑AN收發(fā)器
PCA82C250是PHILIPS公司的CAN控制器和物理總線(xiàn)間的接口,提供對總線(xiàn)的差動(dòng)發(fā)送和接收能力。它與ISO11898標準完全兼容,有三種不同的工作方式即高速、斜率控制和待機,可根據實(shí)際情況選擇。
?、酃怆姼綦x
為了進(jìn)一步提高系統的抗干擾能力,在控制器SJA1000和收發(fā)器PCA82C250之間增加了由高速隔離器件6N137構成的隔離電路,電源采用DC-DC變換器。
硬件電路中使用PCA82C250是為了增大通信距離,提高系統的瞬間抗干擾能力,保護總線(xiàn),降低射頻干擾(RFI),實(shí)現熱防護等。
CAN器件與微處理器的硬件結構圖如圖3所示。
CAN接口適配卡和CAN總線(xiàn)中繼器
CAN接口適配卡完成CAN-PC總線(xiàn)的通信。適配卡由單片機89C51、CAN控制器SJA100、CAN收發(fā)器89C250及其控制電路組成。
由于CAN收發(fā)器的限制,在一個(gè)CAN總線(xiàn)網(wǎng)絡(luò )中,最多只能有110個(gè)CAN節點(diǎn),最多只能有110個(gè)CAN節點(diǎn)。利用中繼器可對CAN總線(xiàn)進(jìn)行擴展,不但可使CAN節點(diǎn)總數達到2032個(gè),而且可使CAN通信距離成倍增加,同時(shí)也可以把兩個(gè)不同速率的CAN網(wǎng)連接在一起,組成更復雜的CAN網(wǎng)絡(luò )。
評論