單片機與SJA1000 CAN控制器接口電路
圖為C8051F020型單片機與SJA1000型控制器的硬件連接電路原理。SJA1000占用了0x8000-0x80FF的外部RAM空間。當單片機訪問以上空間時片選信號會選中SJA1000。
本文引用地址:http://www.ex-cimer.com/article/201706/348421.htm
C8051F020有高低2個外部存儲器接口。因此,SJA1000的AD0-AD7連接到C8051F020的高端口P7口,CS連接到基址為0x8000的外部存儲器片選信號。當C8051F020訪問地址0x8000-0x80FF時,CPU可對SJA1000執(zhí)行相應(yīng)的讀/寫操作。SJA1000的RD、WR和ALE分別與C8051F020的對應(yīng)引腳相連,INT接C8051F020的INT0引腳,于是C8051F020可通過中斷方式訪問SJA1000。SJA1000的復(fù)位信號RST為低電平有效。C8051F020的AD0-AD7口用于地址/數(shù)據(jù)的輸入/輸出,將其配置為漏極開路方式,利用4.7kΩ上拉電阻器拉至5V。通過設(shè)置數(shù)字交叉開關(guān),將C8051F020的外部中斷引腳配置到P2.7口。
CAN能夠使用多種物理介質(zhì),例如雙絞線和光纖等。該設(shè)計方案采用雙絞線。信號以差分電壓傳送,2條信號線為CAN_H和CAN_L,靜態(tài)時為2.5V,此時狀態(tài)表示邏輯1,也叫做隱性。CAN_H比CAN_L高,表示邏輯0,稱為顯性,此時CAN_H=3.5V,CAN_L=1.5V。TJA1050型CAN總線收發(fā)器是CAN協(xié)議控制器和物理總線之間的接口,CAN總線上二端節(jié)點須加60Ω電阻器和47nF電容器將信號吸收,以避免信號反射。為了增強CAN總線節(jié)點的抗干擾能力,SJA1000的TX1與RX1通過6N137型高速光耦后與TJA1050相連。這樣就很好地實現(xiàn)了總線上各CAN節(jié)點間的電氣隔離。其中,光耦部分電路的2個電源VCC和V_CAN必須完全隔離,否則采用光耦就是失去了意義。電源的完全隔離可采用小功率電源隔離模塊和通過帶多個5V隔離輸出的開關(guān)電源模塊實現(xiàn)。
評論