Spi總線節點設備及其通信方法以及spi總線拓撲的制作方法
【技術領域】
[0001] 本發明主要涉及SPI總線,尤其涉及一種SPI總線節點設備及其通信方法以及SPI 總線拓撲。
【背景技術】
[0002] 串行外設接口(SerialPeripheralInterface,SPI)是一種高速、全雙工、同步的 通信總線。這種總線的優點是在芯片的管腳上只占用四根線,節約了芯片的管腳,同時為 PCB的布局上節省空間,提供了方便。但是這種總線的缺點也很明顯,即沒有指定的流控制, 沒有應答機制確認是否接收到數據。
[0003] 為了克服SPI總線的缺點,工程上都會在SPI總線協議的基礎上添加一個私有協 議,這個私有協議位于SPI總線協議的上層,也就是私有協議僅僅利用SPI總線實現數據的 收發,而數據的管理則由私有協議進行。
[0004]目前,私有協議大都由工程師自己定義,這樣定義的協議可靠性較差,效率較低, 而且不能通用。
【發明內容】
[0005] 本發明要解決的技術問題是提供一種SPI總線節點設備以及SPI總線拓撲,其具 有更高的可靠性和通用性。
[0006] 為解決上述技術問題,本發明提供了一種SPI總線節點設備,包括SPI總線接口、 接收數據緩存器、發送數據緩存器、CANopen協議單元以及存儲器,該CANopen協議單元連 接該接收數據緩存器和該發送數據緩存器且該CANopen協議單元中配置CANopen協議,使 該SPI總線節點設備在SPI總線協議上層的數據收發遵循CANopen協議,該存儲器連接該 CANopen協議單元且儲存對象字典,該對象字典用于和應用層交換數據。
[0007] 可選地,該對象字典的各條目為該SPI總線節點設備的各功能的映射。
[0008] 可選地,該SPI總線節點設備可以配置為主設備。
[0009] 可選地,該SPI總線節點設備可以配置為從設備。
[0010] 可選地,其特征在于,該SPI總線節點設備具有節點識別號。
[0011] 可選地,該SPI總線節點設備傳輸的數據包遵循CANOpen協議的規定。
[0012] 本發明還提出一種SPI總線拓撲,包括多個SPI總線節點設備,每一SPI總線節點 設備包括SPI總線接口、接收數據緩存器以及發送數據緩存器,其特征在于,該SPI總線節 點設備還包括CANopen協議單元和存儲器,該CANopen協議單元連接該接收數據緩存器和 該發送數據緩存器且該CANopen協議單元中配置CANopen協議,使該SPI總線節點設備在 SPI總線協議上層的數據收發遵循CANopen協議,該存儲器連接該CANopen協議單元且儲存 對象字典,該對象字典用于和應用層交換數據。
[0013] 可選地,該多個SPI總線節點設備包括一個主設備和至少一個從設備。
[0014] 可選地,該對象字典的各條目為該SPI總線節點設備的各功能的映射。
[0015] 可選地,每個SPI總線節點設備具有節點識別號,且各SPI總線節點設備的節點識 別號不同。
[0016] 可選地,各SPI總線節點設備之間傳輸的數據包遵循CANOpen協議的規定。
[0017] 本發明還提供一種SPI總線節點設備的通信方法,該方法包括以下步驟:在SPI總 線節點設備設置CANopen協議單元,CANopen協議單元連接SPI總線節點設備的接收數據 緩存器和發送數據緩存器,且CANopen協議單元中配置CANopen協議;在SPI總線節點設備 的存儲器中儲存對象字典,該存儲器連接CANopen協議單元;使用CANopen協議單元使得在 SPI總線協議上層的數據收發遵循CANopen協議;以及使用該對象字典和應用層交換數據。
[0018] 與現有技術相比,本發明通過在SPI總線節點設備中配置CANopen協議單元和儲 存對象字典的存儲器,使得各SPI總線節點設備能夠在SPI總線協議上運行CANopen協議, 從而模擬成CAN設備。由于CANOpen通信協議是成熟、穩定和高效的協議,將SPI總線節點 設備模擬成CAN設備,提高了SPI總線節點設備之間通信的可靠性,并且克服了私有協議缺 乏通用性的問題。
【附圖說明】
[0019] 圖1是本發明第一實施例的SPI總線拓撲結構圖。
[0020] 圖2是本發明第二實施例的SPI總線拓撲結構圖。
【具體實施方式】
[0021] 為讓本發明的上述目的、特征和優點能更明顯易懂,以下結合附圖對本發明的具 體實施方式作詳細說明。
[0022] 在下面的描述中闡述了很多具體細節以便于充分理解本發明,但是本發明還可以 采用其它不同于在此描述的其它方式來實施,因此本發明不受下面公開的具體實施例的限 制。
[0023] 第一實施例
[0024] 圖1是本發明第一實施例的SPI總線拓撲結構圖。參考圖1所示,本實施例的SPI 總線拓撲結構100包括SPI總線節點設備110和120,二者間通過SPI總線130連接。SPI 總線節點設備110是主設備,SPI總線節點設備120是從設備。SPI總線130典型地包括 4根線,它們是MOSI(數據輸入)線、MISO(數據輸出)線、SCLK(時鐘)線、SS(片選)線。 MOSI是用于主設備110的數據輸出,從設備120的數據輸入。MISO用于主設備110的數據 輸入,從設備120的數據輸出。SCLK是時鐘信號,由主設備110產生。SS用于發送從設備 120的使能信號,由主設備110控制。
[0025] SPI總線節點設備110包括SPI總線接口 111、接收數據緩存器112以及發送數據 緩存器113這些SPI總線節點設備的基本配置。SPI總線接口 111連接SPI總線130,因此 SPI總線接口 111對應的配備4個針腳。SPI總線接口 111可以發送和接收數據,發送時鐘 信號和從設備使能信號。接收數據緩存器112連接SPI總線接口 111,負責接收數據的緩 存。發送數據緩存器113也連接SPI總線接口 111,負責發送數據的緩存。
[0026] 在本實施例中,SPI總線節點設備110還包括CANopen協議單元114和存儲器115。 CANopen協議單元114連接接收數據緩存器112和發送數據緩存器113。CANopen協議單元 114中配置CANopen協議,使SPI總線節點設備110數據收發遵循CANopen協議。CANopen協議是一種架構在控制局域網絡(ControllerAreaNetwork,CAN)上的高層通訊協議,具 有成熟、穩定和高效的特點。在此,CANopen協議是運行在SPI總線協議的上層,用來彌補 SPI總線協議沒有指定的流控制,沒有應答機制確認是否接收