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