基于A(yíng)DSP2181的CAN總線(xiàn)通訊設計
現在CAN總線(xiàn)除了被用于汽車(chē)系統內部的數據通訊與控制,他已在工業(yè)自動(dòng)化、各種控制設備、交通工具、醫療儀器以及建筑、環(huán)境控制等各領(lǐng)域得到廣泛的應用。而這里被用于成套測井儀器中各儀器之間的數據通訊。
本文引用地址:http://dyxdggzs.com/article/90167.htm1 CAN與DSP的接口電路
以ADSP2181和SJA1000芯片設計的接口電路如圖1所示。圖1中,用1片GAL16V8作為邏輯轉換電路。為突出接口電路,其他部分從略。
用FM書(shū)寫(xiě)的設計文件如下:
2 波特率的設定
BTR0和BTR1是總線(xiàn)定時(shí)寄存器,通過(guò)對這2個(gè)寄存器的設置可以惟一地確定波特率和同步跳轉寬度。BTR0各位功能如圖2所示。BTR1各位功能如圖3所示。
總線(xiàn)長(cháng)度在40 m以?xún)?滿(mǎn)足這里的設計需求),CAN總線(xiàn)的位速率可達到1 Mb/s,這里需要的波特率為1 Mb/s,晶體震蕩頻率為24 MHz,設BTR0=00H,BTR1=18H,計算總線(xiàn)傳輸速率。由給定的BTR0和BTR1可知:BRP.5,BRP.4,BRP.3,BRP.2,BRP.1和BRP.0以及TSEG2.1,TSEG2.0,TSEG1.3均為0;另外,TSEG2.2,TSEG1.2,TSEG1.1,TSEG1.0均為1。因此有:
而波特率為1/tB,即為1 Mb/s。
3 初始化子程序
SJA1000的初始化只有在復位模式下才可以進(jìn)行。初始化主要包括工作方式的設置、接收濾波方式的設置、接收屏蔽寄存器AMR和接收代碼寄存器ACR的設置、波特率參數設置和中斷允許寄存器IER的設置等。在完成SJA1000的初始化設置以后,SJA1000就可以回到工作狀態(tài),進(jìn)行正常的通信任務(wù)。下面提供SJA1000初始化的ADSP匯編源程序。程序中寄存器符號表示的是SJA1000相應寄存器占用的片外存儲器地址,這些符號可在程序的頭部用偽指令對其定義。需要注意的事SJA_PORT位I/O接口,其地址為0x0600。
4 結 語(yǔ)
CAN總線(xiàn)已在測井儀器系統中得到初步的應用,隨著(zhù)測井事業(yè)發(fā)展的需求,由于其良好的性能,他的使用將會(huì )更為廣泛和深入。
評論