一種多機同步通信系統(tǒng)及方法
【技術領域】
[0001] 本發(fā)明涉及通信技術領域,具體涉及一種多機同步通信系統(tǒng)及其通信方法。
【背景技術】
[0002] 現(xiàn)有的同步通信系統(tǒng)多基于SPI通訊總線系統(tǒng),該總線系統(tǒng)主要包括MOSI(主機 輸出/從機輸入)、MISO(主機輸入/從機輸出)、SCLK時鐘線及SS片選線。工作方式為,主 機通過SCLK發(fā)送時鐘信號,SS片選線發(fā)送片選信號,MOSI向從機發(fā)送控制命令、參數(shù)地址 和數(shù)據(jù)等信息,從機通過MISO響應主機命令。
[0003] 這種協(xié)議下,每臺從機單獨占用一條SS片選線,僅僅用來選通,這種方式造成了 信道的浪費,且線路的增加不光增加了設備IO口的負擔,而且在從設備較多、線路較長、走 線緊張的應用中,帶來布線復雜、抗干擾性降低,維護麻煩,成本增加等負面問題。
[0004] 標準SPI協(xié)議上,從設備以總線方式回傳數(shù)據(jù),多個設備掛載在一條MISO上,例如 當主機發(fā)送廣播命令時,從機只能輪流進行信息的反饋,大大降低了響應實時性,尤其在時 延敏感的控制系統(tǒng)中,成了技術瓶頸。
[0005] 在隔離設備間,長距離傳輸?shù)某R?guī)SPI通訊模塊下,由于隔離芯片、特征阻抗不匹 配等原因會引起線路時延,邊沿失真,且這些問題具有離散性,如通訊速率過高,各根線硬 件傳輸帶來的這些差異性難以忽視,存在讀錯位的風險,因此通訊速率受限。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的是提供一種多機同步通信系統(tǒng)及多機同步通信方法,通過改變現(xiàn)有 的總線連接方式,提高線路利用率和通訊速度。
[0007] 為實現(xiàn)上述發(fā)明目的,本發(fā)明采用如下技術方案: 一種多機同步通信系統(tǒng),包含: 同步通信的一主機設備和至少一從機設備; 至少一條數(shù)據(jù)發(fā)送線,從主機設備傳輸數(shù)據(jù)給各從機設備; 與各從機設備一一對應的至少一條數(shù)據(jù)接收線,從各從機設備傳輸數(shù)據(jù)給主機設備; 其特征在于:各從機設備的片選信號和控制類信號通過同一條數(shù)據(jù)發(fā)送線發(fā)送。
[0008] -種多機同步通信方法,設置同步通信的一主機設備和至少一從機設備,主機設 備通過至少一條數(shù)據(jù)發(fā)送線傳輸數(shù)據(jù)給各從機設備;從各從機設備通過與其一一對應的數(shù) 據(jù)接收線傳輸數(shù)據(jù)給主機設備;其特征在于各從機設備的片選信號和控制類信號通過同一 條數(shù)據(jù)發(fā)送線發(fā)送。
[0009] 本發(fā)明的多機同步通信系統(tǒng)及多機同步通信方法取消了現(xiàn)有同步通信系統(tǒng)總線 中功能單一數(shù)量眾多的SS片選信號線,采用至少一條數(shù)據(jù)發(fā)送線(M0SI線)、多條數(shù)據(jù)接收 線(MIS0線,每臺從機各一條)實現(xiàn)一種新的同步通信系統(tǒng)總線,在單根MOSI線上除實現(xiàn)片 選功能外,還傳輸了控制類信號,這種總線方式線路利用率高,傳輸速率高,數(shù)據(jù)吞吐量大, 實時信號與非實時信號分開傳輸,非常適用于采集控制系統(tǒng)中。
[0010] 每個從機利用單獨的MISO線響應主機命令,傳輸從機數(shù)據(jù)及狀態(tài)信息,主機可以 并行處理多從機信息,具有高實時性和高數(shù)據(jù)傳輸量的特點,非常適用于一主多從,廣播類 監(jiān)控,高數(shù)據(jù)吞吐量應用的需求。
[0011] 本發(fā)明的一種實施例中,將實時性要求高的數(shù)據(jù)與實時性要求較低的數(shù)據(jù)通過不 同數(shù)據(jù)發(fā)送線傳輸,控制信號相對狀態(tài)信號在時序上靠后,可實現(xiàn)在單幀時間內(nèi)完成系統(tǒng) 對關鍵點的監(jiān)控,非常適用于采集控制系統(tǒng)。
【附圖說明】
[0012] 圖1為本發(fā)明通信系統(tǒng)總線連接示意圖; 圖2為本發(fā)明通訊時序圖; 圖3為相位校準時序圖; 圖4為設備通信連接圖。
【具體實施方式】
[0013] 下面結合附圖和具體實施例對本發(fā)明技術方案進行詳細說明。
[0014] 如圖1所示,一種多機同步通信系統(tǒng),由一臺主機設備和n臺從機設備構成,n為 大于等于1的整數(shù)。本實施例取消了現(xiàn)有總線結構中功能單一的SS片選信號線,采用兩 條數(shù)據(jù)發(fā)送線MOSI線(數(shù)據(jù)流向從主機設備到從機設備,M0SI1、M0SI2)、多條數(shù)據(jù)接收線 MISO線(數(shù)據(jù)流向從從機設備到主機設備,與從機設備一一對應,每個從機設備各一條)、1 條SCLK時鐘信號線實現(xiàn)一種新的多機同步通信總線。
[0015] 如圖2,其中MOSIl傳輸?shù)臄?shù)據(jù)含幀頭(幀頭為連續(xù)多個1或0信號,除幀頭以外的 其他數(shù)據(jù)段用與幀頭相反邏輯的〇或1進行間隔,每個有效數(shù)據(jù)段長度小于幀頭長度,以 區(qū)分幀頭)、從機片選信號(由與各從機設備 對應的片選位數(shù)據(jù)組成,可以多選,片選位 有效時,對應的從機設備被同時選通與主機建立通信,響應M0SI2線上讀寫指令或數(shù)據(jù))和 控制類信號(含同步信號和觸發(fā)信號,同步信號用于同步多臺從機的控制操作信號,例如啟 停機控制同步信號。觸發(fā)信號用于觸發(fā)各從機相應功能模塊,如采樣模塊)。M0SI2為主機 讀寫指令、讀寫地址和讀寫數(shù)據(jù)信號線。MISO上傳從機狀態(tài)類信號、從機采集數(shù)據(jù)及響應主 機讀寫指令數(shù)據(jù)。SCLK為時鐘信號線,由主機產(chǎn)生,各從機不但利用該時鐘同步提取通訊信 號,并將該信號送入FPGA內(nèi)部鎖相環(huán)(PLL),作為從機工作時鐘。
[0016] 主從機通訊模塊均采用FPGA實現(xiàn),利用FPGA的并行處理能力,邊讀取位數(shù)據(jù)邊分 析處理。時序上,幀格式設計片選信號在幀中靠前位置,從機提取出本機片選位數(shù)據(jù),識別 該位為選通狀態(tài)時,將接收處理M0SI2線上讀寫指令及數(shù)據(jù)。同樣,MOSIl線控制類信號相 對于MISO線上狀態(tài)類信號在時序上靠后,在一幀信號傳輸過程中,主機先讀取分析各從機 狀態(tài),根據(jù)狀態(tài)發(fā)送相應控制信號,利用這種安排,主機可以在一幀內(nèi)完成對從機的實時監(jiān) 控。
[0017] 幀協(xié)議原理: 本協(xié)議分成常規(guī)協(xié)議和校驗協(xié)議,常規(guī)協(xié)議為默認工作協(xié)議,用來傳輸正常數(shù)據(jù);當主 機上電或操作性復位時將以檢驗協(xié)議產(chǎn)生MOSIl與M0SI2的相位校準數(shù)據(jù)幀,從機識別出 該幀后,將對相位校準參數(shù)進行更新,并產(chǎn)生校準應答信號,用來供主機對MISO線路相位 校準。
[0018] 常規(guī)協(xié)議(常規(guī)工作模式): 主機通過MOSIl傳送幀頭、片選、觸發(fā)控制類信號,通過M0SI2傳送讀寫命令、參數(shù)地 址和數(shù)據(jù)類信號。從機通過MISO傳送狀態(tài)標志、采集數(shù)據(jù)或讀寫響應數(shù)據(jù)。
[0019] 從機利用FPGA對接收的數(shù)據(jù)進行實時分析處理,當在MOSIl上檢測到幀頭(對應 圖2、圖3中的起始數(shù)據(jù)段,本實施例為11111)時,將對MOSIl線的同步計數(shù)信號清零,之后 每接收到一個SCLK,同步計數(shù)信號將加一,其他數(shù)據(jù)線也以此進行同步,作為幀中提取數(shù)據(jù) 的位索引。為了區(qū)分MOSIl中幀頭與其他數(shù)據(jù)段,其他數(shù)據(jù)段之間用0進行間隔,每個有效 數(shù)據(jù)段需小于幀頭長度,如圖2中,片選信號有兩個數(shù)據(jù)段CH_SEL0和CH_SEL1,每個數(shù)據(jù) 段設置4bits,對應8個從機,1表示選中,數(shù)據(jù)段之間用0間隔。TRIG0~TRIG7對應8個從 機設備的觸發(fā)信號,每個數(shù)據(jù)段設置4bits,不同數(shù)據(jù)位對應從機設備中不同模塊的觸發(fā)控 制。
[0020] 當提取出本機片選位數(shù)據(jù),并且該位為選通狀態(tài)時,將接收處理傳輸中的M0SI2 線上讀寫指令及數(shù)據(jù),并通過MISO線CMD(命令)和DAT(數(shù)據(jù))段將讀寫指令的反饋信號 和數(shù)據(jù)發(fā)送給主機。MOSIl與數(shù)據(jù)線M0SI2、MIS0幀尾不對齊,M0SI2和MISO幀間銜接無間 隔,這種方式減少了信道的浪費,提高了單幀傳輸信息量。
[0021] 從機還通過MISO主動上傳本機狀態(tài)標志TRIG-I(觸發(fā)類狀態(tài))和STAT(其他狀 態(tài))至主機,這類信號與片選無關,不管選不選通都將作為必傳信息上傳主機,主機實時處 理從機狀態(tài)標志,通過MOSIl發(fā)送觸發(fā)控制信號(TRIG1~TRIG8)至從機,利用這種安排, 實現(xiàn)在一幀時間內(nèi)完成對從機的實時監(jiān)控。
[0022] 從機在采集數(shù)據(jù)主動上傳模式激活后,即使沒被片選信號選中,也將主動在MISO線CMD和DAT數(shù)據(jù)段傳輸采集到的數(shù)據(jù)。這種方式減少了M0SI2線上信息傳輸量,降低了 誤碼風險和EMI干擾。
[0023] SCLK時鐘被送至鎖相環(huán),產(chǎn)生新的通訊SCLK(25M)和從機工作時鐘(100M),利用 鎖相環(huán)使得SCLK與系統(tǒng)工作時鐘同源,同相位,保證系統(tǒng)工作同步性,提高穩(wěn)定性。
[0024] 相位校準協(xié)議(相位校驗模式): 從機校驗 如圖3所示,在相位校驗模式下(當主機設備上電或操作性復位時),主機設備在數(shù)據(jù)發(fā) 送線上發(fā)送相位校準數(shù)據(jù)幀,各從機設備識別出校驗地址位有效時,對MOSIl、M0SI2線相 位校準數(shù)據(jù)幀中包含的相位識別特征數(shù)(本實施例規(guī)定為1010,共4bits)以SCLK的N倍頻 率信號(倍數(shù)越高,校準精度越高,本實施例N=4)進行同步讀取,獲得32bits(兩根線)含相 位偏移信息的數(shù)據(jù)(該高頻信號和SCLK利用鎖相環(huán)同相處理),并將該相位偏移數(shù)據(jù)上傳 CPU系統(tǒng),CPU分析處理后,產(chǎn)生可在SCLK邊沿觸發(fā)(上升沿或下降沿,本實施例為下降沿) 時各根數(shù)據(jù)線讀取準確數(shù)據(jù)的移相數(shù)據(jù),該移相數(shù)據(jù)包含相位后移值(對MOSIl線和M0SI2 線均有效)和滯后標志數(shù)(對M0SI2線有效,當M0SI2相位滯后MOSIl時有效),分別下傳至 相位校驗模塊和RXD接收模塊,實現(xiàn)移相功能。
[0025] 主機設備和從機設備的結構及其連接關系如圖4所示,相位校驗模塊通過4倍SCLK的高頻信號同步,根據(jù)相位后移值對MOSIl和M0SI2進行鎖存延時,在4倍SCLK高頻 信號同步下,每延遲一個bit,對應SCLK頻率下,相位延遲90度,使其在SCLK邊沿觸發(fā)時 信號均處于當前位中間位置,在該位置RXD模塊提取信號可靠性最高。單周期內(nèi)最優(yōu)相位 點確定之后,還需以MOSIl幀頭為參考,對M0SI2信號