李忠濤 中國電子科技集團公司第五十四研究所
SJA2512屬于獨立CAN總線控制器,其屬于最先的總線控制器替代產品,其主要是在原本產品的基礎上添加全新的工作模式。在本文所研究的系統中使用外接晶振能夠實現系統時鐘,并且在數據地址復用總線引腳和DSP相互連接。其中的地址鎖存信號、芯片都能夠實現信號的讀取,其中的MODE引腳能夠和高電平相互連接,使其能夠在Inter時序中工作。圖1為CAN總線控制器的模塊工作原理結構。

圖1 CAN總線控制器的模塊工作原理結構
總線收發器屬于總線控制器與物理總線的接口,其屬于較為長線的總線收發器,其能夠對總線提供差動發送能力,并且還能夠對總線控制器提供相應的差動接收能力。其中的RS引腳主要是在高速工作及斜率控制兩種模式中工作,因為系統總線比較短,并且波特率比較低,所以此引腳主要是利用外部鏈接47k電阻實現,從而使芯片能夠在斜率控制模式中工作。
因為FPGA中I/O口輸入和輸出電平都是標準信號,SJA引腳輸入輸出點評都是電平信號,兩者無法實現直接連接及數據傳輸,要利用兩片電平轉換芯片,能夠實現以上兩個芯片的相互轉換。因為總線控制器數據地址的復用總線總線不僅能夠從FPGA中實現數據的接收,也能夠對FPGA實現數據的發送。所以就將復用總線在芯片中連接,其他的控制信號在另外的芯片中連接,從而實現電平轉換方向的控制。因為控制信號引腳要通過FPGA中進行命令的接收,所以就要將其方向引腳到低電平中接收。
在該系統中,對于數字信號處理芯片的選用,選擇了具有高性能的TMS320C67x系列,其由TI公司推出,在工作頻率方面能夠達到1GHz,這種較強的數據處理能力,可以確保高速數據傳輸的要求得到基本滿足。對于DSP來說,受其地址線與數據線是分開的影響,不能直接同DO-D7相連,因此將其地址線AO作為數據選擇線,在AO=0情況下,以DSP數據線上的數據為地址對SJAl000進行寫入,在A0=1情況下,以DSP數據線上的數據為數據對SJAl000進行寫入。在該系統中,DSP模塊主要負責對SJAl000初始化過程的完成及對發送過程的控制。因SJAl000內部大部分寄存器的讀寫必須處于復位模式,為此在對SJAl000實施初始化前,需對其處理使其處于復位模式。完成配置后,確保SJAl000重新進入正常操作模式,等待對數據進行發送或接收。對SJAl000進行發送時,需對狀態寄存器sR中的值進行讀取,主要為TCS和TBS位的值,保證在SJAl000最近一次發送上已經獲得成功,同時需保證發送緩沖器處在釋放狀態。之后面向發送緩沖器TXB對TX標識碼進行寫入、對TX結構信息進行寫入、對待發送的數據進行寫入;在最后,需面向命令寄存器CMR的TR位,對1進行寫入,對發送請求進行置位,對發送操作進行完成。
該系統在芯片的選擇上,選擇了低功耗處理器,即EPlC6Q240C8型芯片,其由Altera公司提供,可對185個I/0接口進行提供,在處理速度上較快,且具有靈活、可靠等優勢。對于FPGA模塊來說,其主要負責對SJAl000地址鎖存信號ALE的時序控制,完成對芯片使能信號CS的時序控制,并完成對讀有效RD的時序控制,以及完成對寫有效WR的時序控制。在DSP向SJAl000對數據進行寫入時,trl數值為0,對于3.3VTTL標準信號,會使其轉換成5VCOMS電平信號;在DSP向SJAl000對數據進行讀出時,trl數值為1,對于5VCOMS電平信號,會使其轉換成3.3VTTL標準信號。
信息的完整性指的是信號線中信號的質量,信號破損并不是因為某個因素導致的,其是因為多種因素導致的,信號完整性問題和振鈴、反射、串擾,實際上在對高速數字信息進行處理過程設計一直都是CAN總線通信系統的設計難點。信號通過PCB進行傳輸,在信號走線比信號波長要大的時候,此走線也可以稱之為傳輸線,要對PCB線際互聯及板層特性對于電氣新能影響進行全面的考慮。對于本文所設計的總線通信系統進行調試,首先要實現電路的調試。在對系統調試之后,表示系統的總線節點能夠實現數據測試的接收,并且還能夠解決其他中斷程序對CAN總線接收的干擾,表示本文所設計的CAN總線程序能夠有效執行
為了使CAN總線的能夠實現多節點可靠高速性傳輸,本文基于FPGA和DSP對CAN總線通信系統進行了設計。FPGA和DSP下的CAN總線通信系統設計,在硬件部分對DSP+FPGA加以采用,將其作為核心通訊處理單元,在軟件部分對DSP模塊程序與FPGA模塊程序進行設計,具有很好的實時性,還能夠確保系統數據在傳輸過程中穩定可靠。