基于節(jié)點級聯的主從同步串行通訊總線及其實現方法
【專利摘要】基于節(jié)點級聯的主從同步串行通訊總線及其實現方法,涉及一種主從同步串行通訊總線,本發(fā)明為解決現有同步串行通訊采用主從節(jié)點復用時鐘和數據總線的方式,導致節(jié)點數量、通訊距離和速率均受限的問題。本發(fā)明所述基于節(jié)點級聯的主從同步串行通訊裝置,該通訊裝置包括主節(jié)點和n個從節(jié)點,n為正整數,主節(jié)點包括主節(jié)點控制器和隔離差分模塊,主節(jié)點控制器包括主發(fā)送模塊M_TX和主接收模塊M_RX,每個從節(jié)點包括從節(jié)點控制器和兩個隔離差分模塊,從節(jié)點控制器包括第一從接收模塊RX1、第二從接收模塊RX2、第一從發(fā)送模塊TX1和第二從發(fā)送模塊TX2。本發(fā)明用于同步串行通訊中。
【專利說明】基于節(jié)點級聯的主從同步串行通訊總線及其實現方法
【技術領域】
[0001] 本發(fā)明涉及一種主從同步串行通訊總線。
【背景技術】
[0002] 同步串行通訊是一種連續(xù)串行傳輸數據的通訊方式,相比異步通訊更適合大量數 據的傳輸,如SPI同步串行通訊等。這類通訊方式往往采用主從節(jié)點復用時鐘和數據總線 的方式構建一主多從通訊網絡,且各個節(jié)點數據的收發(fā)時鐘來源于主節(jié)點。因此受接口芯 片負載能力和通訊線路時延的影響,從節(jié)點的數量、通訊距離和速率均受到限制。
【發(fā)明內容】
[0003] 本發(fā)明目的是為了解決現有同步串行通訊采用主從節(jié)點復用時鐘和數據總線的 方式,導致節(jié)點數量、通訊距離和速率均受限的問題,提供了一種基于節(jié)點級聯的主從同步 串行通訊總線及其實現方法。
[0004] 本發(fā)明所述基于節(jié)點級聯的主從同步串行通訊裝置,該通訊裝置包括主節(jié)點和η 個從節(jié)點,η為正整數,主節(jié)點包括主節(jié)點控制器和隔離差分模塊,主節(jié)點控制器包括主發(fā) 送模塊Μ_ΤΧ和主接收模塊M_RX,每個從節(jié)點包括從節(jié)點控制器和兩個隔離差分模塊,從節(jié) 點控制器包括第一從接收模塊RX1、第二從接收模塊RX2、第一從發(fā)送模塊TXl和第二從發(fā) 送模塊TX2 ;
[0005] 主發(fā)送模塊M_TX和主節(jié)點的隔離差分模塊通過能信號線M_TXD_EN、時鐘信號線 M_TXD_CLK和數據信號線M_TXD相連接;
[0006] 主接收模塊M_RX和主節(jié)點的隔離差分模塊通過時鐘信號線M_RXD_CLK和數據信 號線M_RXD相連接;
[0007] 相鄰節(jié)點之間的隔離差分模塊通過信號差分線CLK和、數據信號差分線DATA 和0Χ?Χ、隔離地線S_GND相連接;所述相鄰節(jié)點包括主節(jié)點和第1個從節(jié)點、第n-1個從 節(jié)點和第η個從節(jié)點;
[0008] 第一從接收模塊RXl與前端隔離差分模塊通過時鐘信號線S1_RXD_CLK和數據信 號線S1_RXD相連接;
[0009] 第一從發(fā)送模塊TXl與前端隔離差分模塊通過使能信號線S1_TXD_EN、時鐘信號 線S1_TXD_CLK和數據信號線SljXD相連接;
[0010] 第二從接收模塊RX2與后端隔離差分模塊通過時鐘信號線S2_RXD_CLK和數據信 號線S2_RXD相連接;
[0011] 第二從發(fā)送模塊TX2與后端隔離差分模塊通過使能信號線S2_TXD_EN、時鐘信號 線S2_TXD_CLK和數據信號線S2_TXD相連接。
[0012] 從節(jié)點控制器內,第一從接收模塊RXl和第二從發(fā)送模塊TX2通過差分總線狀 態(tài)標識信號線IDLEFI ag、后端從節(jié)點接收標識信號線BackF I ag、主節(jié)點接收標識信號線 S2MFlag、時鐘信號線CLKl和數據信號線DATAl相連接;第二從接收模塊RX2和第一從發(fā) 送模塊TXl通過地址匹配標識信號線EqualFlag、使能標識信號線EnableFlag、時鐘信號線 CLK2和數據信號線DATA2相連相連接;第一從接收模塊RXl將時鐘信號線S1_RXD_CLK和 數據信號線S1_RXD上的信號分別賦值給時鐘信號線CLKl和數據信號線DATAl ;第二從發(fā) 送模塊TX2將時鐘信號線CLKl和數據信號線DATAl上的信號分別賦值給時鐘信號線S2_ TXD_CLK和數據信號線S2_TXD ;第二從接收模塊RX2將時鐘信號線S2_RXD_CLK和數據信號 線S2_RXD上的數據分別賦值給時鐘信號線CLK2和數據信號線DATA2。
[0013] 基于節(jié)點級聯的主從同步串行通訊裝置的實現方法,該實現方法的具體過程為:
[0014] 主節(jié)點控制器周期性地讀取主接收模塊M_RX接收到的有效數據,然后將待發(fā)送 的有效數據組和控制指令發(fā)送給主發(fā)送模塊M_TX,通過將發(fā)送結束標識位取反賦值給發(fā)送 開始標識位的方式啟動主發(fā)送模塊M_TX,在主發(fā)送模塊M_TX啟動后,將有效數據組裝成多 個數據幀,連同時鐘信號通過差分總線分時串行發(fā)送給各個節(jié)點;
[0015] 主節(jié)點控制器根據系統時鐘通過地址總線和數據總線配置主接收模塊M_RX中的 數量寄存器組、數據包起始標識寄存器、復位標識寄存器和地址寄存器組,讀取雙口存儲器 RAM ;主接收模塊M_RX中的接收控制模塊、總線狀態(tài)監(jiān)控器、計數器、CRC校驗模塊、接收移 位器、NRZI解碼模塊和雙口存儲器RAM的寫操作均受控于同一時鐘信號M_RXD_CLK,且下降 沿觸發(fā);
[0016] 主節(jié)點控制器根據系統時鐘通過地址總線和數據總線配置主發(fā)送模塊M_TX中的 發(fā)送開始標識位、時刻寄存器組、數量寄存器組、復位標識寄存器、數據包起始標識寄存器 和地址寄存器組,并將待發(fā)送的有效數據組寫入雙口存儲器RAM ;主發(fā)送模塊M_TX中發(fā)送 結束標識位、發(fā)送控制模塊、定時器、計數器、CRC校驗模塊、發(fā)送移位器、NRZI編碼模塊和 雙口存儲器RAM的讀取操作均受控于同一時鐘信號M_TXD_CLK,且上升沿觸發(fā);
[0017] 從節(jié)點控制器在接收到第一從接收模塊RXl發(fā)出的中斷請求后,先將發(fā)送結束標 識位取反賦值給發(fā)送開始標識位,啟動第一從發(fā)送模塊TX1,然后讀取第一從接收模塊RXl 的雙口存儲器RAM中的有效數據;
[0018] 從節(jié)點控制器根據系統時鐘和中斷信號通過地址總線和數據總線配置第一從接 收模塊RXl中的數量寄存器、數據包起始標識寄存器、復位標識寄存器、地址寄存器、通訊 周期寄存器和中斷清除位,并完成雙口存儲器RAM的讀操作;第一從接收模塊RXl中的超時 標識位、定時器和處理器均受控于系統時鐘;第一從接收模塊RXl中的中斷設置位、差分總 線空閑標識位、主節(jié)點接收標識位、后端從節(jié)點接收標識位、地址匹配標識位、接收控制模 塊、總線狀態(tài)監(jiān)控器、計數器、CRC校驗模塊、接收移位器、NRZI解碼模塊和雙口存儲器RAM 的寫操作均受控于時鐘信號線S1_RXD_CLK,且下降沿觸發(fā);
[0019] 第二從發(fā)送模塊TX2的處理器受控于系統時鐘信號,根據差分總線空閑標識信號 線、接收數據包地址域標識信號線上的信號狀態(tài)控制使能信號線S2_TXD_EN的狀態(tài);
[0020] 從節(jié)點控制器根據系統時鐘通過地址總線和數據總線配置第二從接收模塊RX2 中的數據包起始標識寄存器、復位標識寄存器、地址寄存器和通訊周期寄存器;第二從接收 模塊RX2中的超時標識位、定時器和處理器均受控于系統時鐘;第二從接收模塊RX2中的差 分總線空閑標識位、主節(jié)點接收標識位、后端從節(jié)點接收標識位、地址匹配標識位、接收控 制模塊、總線狀態(tài)監(jiān)控器、接收移位器和NRZI解碼模塊均受控于時鐘信號線S2_RXD_CLK, 且下降沿觸發(fā);
[0021] 從節(jié)點控制器根據系統時鐘通過地址總線和數據總線配置第一從發(fā)送模塊TXl 中的發(fā)送開始標識位、數量寄存器、復位標識寄存器、數據包起始標識寄存器和地址寄存 器,并將待發(fā)送的有效數據組寫入雙口存儲器RAM ;第一從發(fā)送模塊TXl中的多路開關受控 于地址匹配標識信號線EqualFlag ;第一從發(fā)送模塊TXl中的發(fā)送結束標識位、發(fā)送控制模 塊、計數器、CRC校驗模塊、發(fā)送移位器、NRZI編碼模塊和雙口存儲器RAM的讀取操作均受控 于系統時鐘分頻的時鐘信號LCLK,且上升沿觸發(fā)。
[0022] 本發(fā)明的優(yōu)點:本發(fā)明提出一種基于節(jié)點級聯的主從同步串行通訊裝置及其實現 方法。該方法采用主從節(jié)點級聯的方式構建一主多從通訊網絡,從而從節(jié)點的數量不受接 口芯片負載能力限制,相比復用時鐘和數據總線的方式通訊距離顯著提高;采用數據與時 鐘信號同節(jié)點發(fā)送模式,有效保證了數據與時鐘信號之間的時序關系,消除了通訊線路時 延對通訊速率的影響。主從節(jié)點之間通訊的數據的發(fā)送采取了直接發(fā)送和NRZI編碼發(fā)送 相結合的方式,確保了主從節(jié)點接收模塊對數據總線狀態(tài)的監(jiān)控;節(jié)點間時鐘和數據信號 的收發(fā)采用了隔離差分總線傳輸,有效延長網絡通訊距離和抗干擾能力。
【專利附圖】
【附圖說明】
[0023] 圖1是本發(fā)明所述基于節(jié)點級聯的主從同步串行通訊裝置的結構示意圖;
[0024] 圖2是本發(fā)明數據幀結構定義及數據流向框圖;
[0025] 圖3是本發(fā)明所述主發(fā)送模塊M_TX的結構示意圖;
[0026] 圖4是本發(fā)明所述主接收模塊M_RX的結構示意圖;
[0027] 圖5是本發(fā)明所述從節(jié)點控制模塊的結構示意圖。
【具體實施方式】
【具體實施方式】 [0028] 一:下面結合圖1說明本實施方式,本實施方式所述基于節(jié)點級聯 的主從同步串行通訊裝置,該通訊裝置包括主節(jié)點和η個從節(jié)點,η為正整數,主節(jié)點包括 主節(jié)點控制器1和隔離差分模塊2,主節(jié)點控制器1包括主發(fā)送模塊Μ_ΤΧ和主接收模塊Μ_ RX,每個從節(jié)點包括從節(jié)點控制器3和兩個隔離差分模塊2,從節(jié)點控制器3包括第一從接 收模塊RXl、第二從接收模塊RX2、第一從發(fā)送模塊TXl和第二從發(fā)送模塊ΤΧ2 ;
[0029] 主發(fā)送模塊Μ_ΤΧ和主節(jié)點的隔離差分模塊2通過能信號線M_TXD_EN、時鐘信號線 M_TXD_CLK和數據信號線M_TXD相連接;
[0030] 主接收模塊M_RX和主節(jié)點的隔離差分模塊2通過時鐘信號線M_RXD_CLK和數據 信號線M_RXD相連接;
[0031] 相鄰節(jié)點之間的隔離差分模塊2通過信號差分線CLK和·^、數據信號差分線 DATA和5Χ?Ι、隔離地線S_GND相連接;所述相鄰節(jié)點包括主節(jié)點和第1個從節(jié)點、第n-1 個從節(jié)點和第η個從節(jié)點;
[0032] 第一從接收模塊RXl與前端隔離差分模塊2通過時鐘信號線S1_RXD_CLK和數據 信號線S1_RXD相連接;
[0033] 第一從發(fā)送模塊TXl與前端隔離差分模塊2通過使能信號線S1_TXD_EN、時鐘信號 線S1_TXD_CLK和數據信號線SljXD相連接;
[0034] 第二從接收模塊RX2與后端隔離差分模塊2通過時鐘信號線S2_RXD_CLK和數據 信號線S2_RXD相連接;
[0035] 第二從發(fā)送模塊TX2與后端隔離差分模塊2通過使能信號線S2_TXD_EN、時鐘信號 線S2_TXD_CLK和數據信號線S2_TXD相連接。
【具體實施方式】 [0036] 二:下面結合圖2說明本實施方式,本實施方式對實施方式一作進 一步說明,從節(jié)點控制器3內,第一從接收模塊RXl和第二從發(fā)送模塊TX2通過差分總線 狀態(tài)標識信號線IDLEFlag、后端從節(jié)點接收標識信號線BackFlag、主節(jié)點接收標識信號線 S2MFlag、時鐘信號線CLKl和數據信號線DATAl相連接;第二從接收模塊RX2和第一從發(fā) 送模塊TXl通過地址匹配標識信號線EqualFlag、使能標識信號線EnableFlag、時鐘信號線 CLK2和數據信號線DATA2相連相連接;第一從接收模塊RXl將時鐘信號線S1_RXD_CLK和 數據信號線S1_RXD上的信號分別賦值給時鐘信號線CLKl和數據信號線DATAl ;第二從發(fā) 送模塊TX2將時鐘信號線CLKl和數據信號線DATAl上的信號分別賦值給時鐘信號線S2_ TXD_CLK和數據信號線S2_TXD ;第二從接收模塊RX2將時鐘信號線S2_RXD_CLK和數據信號 線S2_RXD上的數據分別賦值給時鐘信號線CLK2和數據信號線DATA2。
【具體實施方式】 [0037] 三:下面結合圖3-圖5說明本實施方式,本實施方式所述基于節(jié)點 級聯的主從同步串行通訊裝置的其實現方法,該實現方法的具體過程為:
[0038] 主節(jié)點控制器1周期性地讀取主接收模塊M_RX接收到的有效數據,然后將待發(fā)送 的有效數據組和控制指令發(fā)送給主發(fā)送模塊M_TX,通過將發(fā)送結束標識位取反賦值給發(fā)送 開始標識位的方式啟動主發(fā)送模塊M_TX,在主發(fā)送模塊M_TX啟動后,將有效數據組裝成多 個數據幀,連同時鐘信號通過差分總線分時串行發(fā)送給各個節(jié)點;
[0039] 主節(jié)點控制器1根據系統時鐘通過地址總線和數據總線配置主接收模塊M_RX中 的數量寄存器組、數據包起始標識寄存器、復位標識寄存器和地址寄存器組,讀取雙口存儲 器RAM ;主接收模塊M_RX中的接收控制模塊、總線狀態(tài)監(jiān)控器、計數器、CRC校驗模塊、接收 移位器、NRZI解碼模塊和雙口存儲器RAM的寫操作均受控于同一時鐘信號M_RXD_CLK,且下 降沿觸發(fā);
[0040] 主節(jié)點控制器1根據系統時鐘通過地址總線和數據總線配置主發(fā)送模塊M_TX中 的發(fā)送開始標識位、時刻寄存器組、數量寄存器組、復位標識寄存器、數據包起始標識寄存 器和地址寄存器組,并將待發(fā)送的有效數據組寫入雙口存儲器RAM ;主發(fā)送模塊M_TX中發(fā) 送結束標識位、發(fā)送控制模塊、定時器、計數器、CRC校驗模塊、發(fā)送移位器、NRZI編碼模塊 和雙口存儲器RAM的讀取操作均受控于同一時鐘信號M_TXD_CLK,且上升沿觸發(fā);
[0041] 從節(jié)點控制器3在接收到第一從接收模塊RXl發(fā)出的中斷請求后,先將發(fā)送結束 標識位取反賦值給發(fā)送開始標識位,啟動第一從發(fā)送模塊TX1,然后讀取第一從接收模塊 RXl的雙口存儲器RAM中的有效數據;
[0042] 從節(jié)點控制器3根據系統時鐘和中斷信號通過地址總線和數據總線配置第一從 接收模塊RXl中的數量寄存器、數據包起始標識寄存器、復位標識寄存器、地址寄存器、通 訊周期寄存器和中斷清除位,并完成雙口存儲器RAM的讀操作;第一從接收模塊RXl中的 超時標識位、定時器和處理器均受控于系統時鐘;第一從接收模塊RXl中的中斷設置位、差 分總線空閑標識位、主節(jié)點接收標識位、后端從節(jié)點接收標識位、地址匹配標識位、接收控 制模塊、總線狀態(tài)監(jiān)控器、計數器、CRC校驗模塊、接收移位器、NRZI解碼模塊和雙口存儲器 RAM的寫操作均受控于時鐘信號線S1_RXD_CLK,且下降沿觸發(fā);
[0043] 第二從發(fā)送模塊TX2的處理器受控于系統時鐘信號,根據差分總線空閑標識信號 線、接收數據包地址域標識信號線上的信號狀態(tài)控制使能信號線S2_TXD_EN的狀態(tài);
[0044] 從節(jié)點控制器3根據系統時鐘通過地址總線和數據總線配置第二從接收模塊RX2 中的數據包起始標識寄存器、復位標識寄存器、地址寄存器和通訊周期寄存器;第二從接收 模塊RX2中的超時標識位、定時器和處理器均受控于系統時鐘;第二從接收模塊RX2中的差 分總線空閑標識位、主節(jié)點接收標識位、后端從節(jié)點接收標識位、地址匹配標識位、接收控 制模塊、總線狀態(tài)監(jiān)控器、接收移位器和NRZI解碼模塊均受控于時鐘信號線S2_RXD_CLK, 且下降沿觸發(fā);
[0045] 從節(jié)點控制器3根據系統時鐘通過地址總線和數據總線配置第一從發(fā)送模塊TXl 中的發(fā)送開始標識位、數量寄存器、復位標識寄存器、數據包起始標識寄存器和地址寄存 器,并將待發(fā)送的有效數據組寫入雙口存儲器RAM ;第一從發(fā)送模塊TXl中的多路開關受控 于地址匹配標識信號線EqualFlag ;第一從發(fā)送模塊TXl中的發(fā)送結束標識位、發(fā)送控制模 塊、計數器、CRC校驗模塊、發(fā)送移位器、NRZI編碼模塊和雙口存儲器RAM的讀取操作均受控 于系統時鐘分頻的時鐘信號LCLK,且上升沿觸發(fā)。
[0046] 本實施方式中,系統時鐘表示為sys_clk,中斷信號表示為IRQ,地址總線表示為 address_bus,數據總線表示為data_bus,時刻寄存器組表示為Schedule_S_registers,數 量寄存器組表示為Number_S_registers,復位標識寄存器表示為ResetFlag_register,數 據包起始標識寄存器表示為SOPFlag_register,地址寄存器組表示為ADDR_S_registers, 發(fā)送開始標識位表示為TransCMDFlag_bit,發(fā)送結束標識位表示為TransEndFlag_bit, 發(fā)送控制模塊表示為TX_controller,定時器表示為Timer,計數器表示為Counter,發(fā)送 移位器表示為TX_shifter,接收控制模塊表示為RX_controller,總線狀態(tài)監(jiān)控器表示為 Status_detecter,接收移位器表示為RX_shifter,數量寄存器表示為Number_register, 地址寄存器表示為ADDR_register,通訊周期寄存器表示為Period_register,中斷設置位 表示為SetIRQ_bit,中斷清除位表示為ClearIRQ_bit,超時標識位表示為OverFlag_bit, 差分總線空閑標識位表示為IDLEFlag_bit,后端從節(jié)點接收標識位表示為BackFlag_bit, 主節(jié)點接收標識位表示為S2MFlag_bit,處理器表示為Processer,地址匹配標識位表示為 EqualFlag_bit,多路開關表不為 Multiplexer。
【具體實施方式】 [0047] 四:下面結合圖3說明本實施方式,本實施方式對實施方式三作進 一步說明,主發(fā)送模塊M_TX啟動后的工作過程為:
[0048] 步驟1-1、啟動定時器;
[0049] 步驟1-2、判斷定時器的Timer是否等于時刻寄存器組中的值,如果否則重復執(zhí)行 步驟1 -2,如果是則執(zhí)彳丁步驟1_3 ;
[0050] 步驟1-3、記錄時刻寄存器組中與定時器等值的單元的相對位置j,清空計數器, 并將使能信號線M_TXD_EN的信號置為" 1" ;
[0051] 步驟1-4、將復位標識寄存器中的數據串行發(fā)送到數據信號線1^乂0上,復位主 從節(jié)點的接收模塊到接收等待狀態(tài);所述接收模塊包括主接收模塊M_RX、第一從接收模塊 RXl和第二從接收模塊RX2 ;
[0052] 步驟1-5、判斷數據發(fā)送是否完成,如果否則重復執(zhí)行步驟1-5,如果是則執(zhí)行步 驟 1-6 ;
[0053] 步驟1-6、將數據包起始標識寄存器中的數據賦值給發(fā)送移位器,經過NRZI編碼 模塊串行發(fā)送到數據信號線M_TXD ;
[0054] 步驟1-7、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟1-7, 如果是則執(zhí)行步驟1-8 ;
[0055] 步驟1-8、將地址寄存器組第j個單元中的數據賦值給發(fā)送移位器,經過NRZI編碼 模塊串行發(fā)送到數據信號線M_TXD ;
[0056] 步驟1-9、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟1-9, 如果是則執(zhí)行步驟1 _1〇 ;
[0057] 步驟1-10、根據數量寄存器組的前j-Ι單元中的數據及計數器中數據的累加值讀 取雙口存儲器RAM中的數據,并將讀取的數據賦值給發(fā)送移位器和CRC校驗模塊,然后經過 NRZI編碼模塊串行發(fā)送到數據信號線M_TXD ;
[0058] 步驟1-11、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟 I-11,如果是則執(zhí)行步驟卜12 ;
[0059] 步驟1-12、計數器中的數值加1 ;
[0060] 步驟1-13、判斷計數器中的數值是否等于數量寄存器組第j個單元中的數值,如 果否則返回執(zhí)行步驟1-10,如果是則執(zhí)行步驟1-14 ;
[0061] 步驟1-14、將CRC校驗模塊產生的校驗碼賦值給發(fā)送移位器,然后經過NRZI編碼 模塊串行發(fā)送到數據信號線M_TXD ;
[0062] 步驟1-15、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟 1-15,如果是則執(zhí)彳丁步驟1_16 ;
[0063] 步驟1-16、將NULL標識賦值給發(fā)送移位器,然后經過NRZI編碼模塊串行發(fā)送到數 據信號線M_TXD ;
[0064] 步驟1-17、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟 1-17,如果是則執(zhí)行步驟1_18 ;
[0065] 步驟1-18、將復位標識寄存器中的數據串行發(fā)送到數據信號線M_TXD上;
[0066] 步驟1-19、判斷數據串行發(fā)送是否完成,如果否則返回執(zhí)行步驟1-19,如果是則 執(zhí)行步驟1 _20 ;
[0067] 步驟1-20、將使能信號線M_TXD_EN的信號置為"0",結束數據幀發(fā)送,復位CRC校 驗豐吳塊;
[0068] 步驟1-21、判斷定時器的Timer是否大于η個時刻寄存器組中的最大值,如果否則 返回執(zhí)行步驟1-2,如果是則執(zhí)行步驟1-22 ;
[0069] 步驟1-22、將發(fā)送開始標識位賦值給發(fā)送結束標識位,清空和關閉定時器。
[0070] 本實施方式中,NULL標識表示一個位數大于等于1小于等于8的任意二進制數。
【具體實施方式】 [0071] 五:下面結合圖4說明本實施方式,本實施方式對實施方式三作進 一步說明,主接收模塊M_RX啟動后的工作過程為:
[0072] 對于總線狀態(tài)監(jiān)控器:
[0073] 步驟2-1-1、將數據信號線M_RXD連接到總線狀態(tài)監(jiān)控器;
[0074] 步驟2-1-2、判斷總線狀態(tài)監(jiān)控器接收到的數據和復位標識寄存器中的數據是否 匹配,如果否則設置數據總線忙狀態(tài)為"真",重復執(zhí)行步驟2-1-2,如果是則設置數據總線 忙狀態(tài)變量為"假",重復執(zhí)行步驟2-1-2 ;
[0075] 對于接收控制模塊:
[0076] 步驟2-2-1、將數據信號線M_RXD連接到NRZI解碼模塊;
[0077] 步驟2-2-2、判斷數據總線忙狀態(tài)變量是否為"真",如果否則復位CRC校驗模塊, 設置數據包起始標識匹配變量、地址匹配變量和地址匹配任務已執(zhí)行變量為"假",重復執(zhí) 行步驟2_2_2,如果是則執(zhí)彳丁步驟2_2_3 ;
[0078] 步驟2-2-3、判斷數據包起始標識匹配變量是否為"真",如果否則執(zhí)行步驟 2-2_4,如果是則執(zhí)彳丁步驟2_2_5 ;
[0079] 步驟2-2-4、判斷經過NRZI解碼模塊輸入給接收移位器中的數據是否與數據包起 始標識寄存器中的數據匹配,如果否則返回執(zhí)行步驟2-2-2,如果是則設置數據包起始標識 匹配變量為"真",然后返回執(zhí)行步驟2-2-2 ;
[0080] 步驟2-2-5、判斷接收移位器是否完成下一組數據接收,如果否則重復執(zhí)行步驟 2-2_2,如果是則執(zhí)彳丁步驟2_2_6 ;
[0081] 步驟2-2-6、判斷地址匹配變量是否為"真",如果否則執(zhí)行步驟2-2-7,如果是則 執(zhí)行步驟2_2_9 ;
[0082] 步驟2-2-7、判斷地址匹配任務已執(zhí)行變量是否為"真",如果否則設置地址匹配任 務已執(zhí)行變量為"真",并執(zhí)行步驟2-2-8,如果是則返回執(zhí)行步驟2-2-2 ;
[0083] 步驟2-2-8、判斷接收移位器中的數據與地址寄存器組中的數據是否匹配,如果否 則返回執(zhí)行步驟2-2-2,如果是則設置地址匹配變量為"真",記錄地址寄存器組中的匹配單 元的相對位置j,并清空計數器,然后返回執(zhí)行步驟2-2-2 ;
[0084] 步驟2-2-9、判斷計數器中的數值是否小于等于數量寄存器組第j個單元中的數 值,如果否則返回執(zhí)行步驟2-2-2,如果是則執(zhí)行步驟2-2-10 ;
[0085] 步驟2-2-10、判斷計數器中的數值和數量寄存器組第j個單元中的數值是否相 等,如果否則執(zhí)行步驟2-2-11,如果是則執(zhí)行步驟2-2-12 ;
[0086] 步驟2-2-11、將接收的數據賦值給CRC校驗模塊,并根據數量寄存器組前j-Ι個單 元中的數據各自加1及計數器中數據的累加值,將數據寫入雙口存儲器RAM,并將計數器中 的數值加1,然后返回執(zhí)行步驟2-2-2 ;
[0087] 步驟2-2-12、根據數量寄存器組前j-Ι個單元中的數據各自加1及計數器中的數 據的累加值,將CRC校驗模塊產生的校驗碼寫入雙口存儲器RAM,然后返回執(zhí)行步驟2-2-2。
【具體實施方式】 [0088] 六:下面結合圖5說明本實施方式,本實施方式對實施方式三作進 一步說明,第一從接收模塊RXl啟動后的工作過程為:
[0089] 對于總線狀態(tài)監(jiān)控器:
[0090] 步驟3-1-1、將數據信號線S1_RXD連接到總線狀態(tài)監(jiān)控器;
[0091] 步驟3-1-2、判斷總線狀態(tài)監(jiān)控器接收到的數據與復位標識寄存器中的數據是否 匹配,如果否則將差分總線空閑標識位置為"0",重復執(zhí)行步驟3-1-2,如果是則將差分總 線空閑標識位置為" 1",重復執(zhí)行步驟3-1-2 ;
[0092] 對于定時器:
[0093] 步驟3-2-1、啟動定時器;
[0094] 步驟3-2-2、判斷差分總線空閑標識位是否為"1",如果否則執(zhí)行3-2-3,如果是則 執(zhí)行3-2-4 ;
[0095] 步驟3-2-3、清空定時器;
[0096] 步驟3-2-4、判斷定時器中的數值是否大于通訊周期寄存器中的數值,如果否則將 超時標識位置為"〇",返回執(zhí)行步驟3-2-2,如果是則將超時標識位置為" 1",返回執(zhí)行步驟 3-2-2 ;
[0097] 對于處理器:
[0098] 步驟3-3-1、判斷超時標識位是否為" 1",如果否則執(zhí)行3-3-2,如果是則執(zhí)行 3-3-3 ;
[0099] 步驟3-3-2、根據差分總線狀態(tài)標識位、后端從節(jié)點接收標識位和主節(jié)點接收標 識位的狀態(tài)分別設置差分總線狀態(tài)標識信號線IDLEFlag、后端從節(jié)點接收標識信號線 BackFlag和主節(jié)點接收標識信號線S2MFlag的狀態(tài),然后返回執(zhí)行步驟3-3-1 ;
[0100] 步驟3-3-3、將差分總線狀態(tài)標識信號線IDLEFlag和主節(jié)點接收標識信號線 S2MFlag的狀態(tài)設置為"1",然后返回執(zhí)行3-3-1 ;
[0101] 對于接收控制模塊:
[0102] 步驟3-4-1、將數據信號線S1_RXD連接到NRZI解碼模塊;
[0103] 步驟3-4-2、判斷差分總線空閑標識位是否為"1",如果否則執(zhí)行3-4-3,如果是則 復位CRC校驗模塊,設置數據包起始標識匹配變量、地址匹配變量和地址匹配任務已執(zhí)行 變量為"假",重復執(zhí)行3-4-2 ;
[0104] 步驟3-4-3、判斷數據包起始標識匹配變量是否為"真",如果否則執(zhí)行步驟 3-4-4,如果是則執(zhí)行步驟3-4-5 ;
[0105] 步驟3-4-4、判斷經NRZI解碼模塊輸入給接收移位器的數據與數據包起始標識寄 存器中的數據是否匹配,如果否則返回執(zhí)行步驟3-4-2,如果是則設置數據包起始標識匹配 變量為"真",然后返回執(zhí)行步驟3-4-2 ;
[0106] 步驟3-4-5、判斷接收移位器是否完成下一組數據接收,如果否則返回執(zhí)行步驟 3-4-2,如果是則執(zhí)行步驟3-4-6 ;
[0107] 步驟3-4-6、判斷地址匹配變量是否為"真",如果否則執(zhí)行步驟3-4-7,如果是則 執(zhí)行步驟3-4-11 ;
[0108] 步驟3-4-7、判斷地址匹配任務已執(zhí)行變量是否為"真",如果否則設置地址匹配任 務已執(zhí)行變量為"真",并執(zhí)行步驟3-4-8,如果是則返回執(zhí)行步驟3-4-2 ;
[0109] 步驟3-4-8、判斷接收移位器中的數據是否處于主節(jié)點接收地址域,如果否則將主 節(jié)點接收標識位置為"〇",并執(zhí)行步驟3-4-9,如果是則將主節(jié)點接收標識位置為" 1",然后 返回執(zhí)行步驟3-4-2 ;
[0110] 步驟3-4-9、判斷接收移位器中的數據是否處于當前從節(jié)點的后端從節(jié)點接收地 址域,如果否則將后端從節(jié)點接收標識位置為"0",然后返回執(zhí)行步驟3-4-10,如果是則后 端從節(jié)點接收標識位置為"1",然后返回執(zhí)行步驟3-4-2 ;
[0111] 步驟3-4-10、判斷接收移位器中的數據與地址寄存器組中的數據是否匹配,如果 否則返回執(zhí)行步驟3-4-2,如果是則設置地址匹配變量為"真",清空計數器,返回執(zhí)行步驟 3-4-2 ;
[0112] 步驟3-4-11、判斷計數器中的數值是否小于等于數量寄存器中的數值,如果否則 返回執(zhí)彳丁步驟3_4_2,如果是則執(zhí)彳丁步驟3_4_12 ;
[0113] 步驟3-4-12、判斷計數器中的數值和數量寄存器中的數值是否相等,如果否則執(zhí) 行步驟2_2_13,如果是則執(zhí)彳丁步驟2_2_14 ;
[0114] 步驟3-4-13、將接收的數據賦值給CRC校驗模塊,同時根據計數器中的數值將接 收的數據寫入雙口存儲器RAM,并將計數器中的數值加1,返回執(zhí)行步驟3-4-2 ;
[0115] 步驟3-4-14、根據計數器中的數值,將CRC校驗模塊產生的校驗碼寫入雙口存儲 器RAM,將中斷清除位中的數值取反賦值給中斷設置位,發(fā)出中斷請求信號,返回執(zhí)行步驟 3 _4_2 〇
【具體實施方式】 [0116] 七:下面結合圖5說明本實施方式,本實施方式對實施方式三作進 一步說明,第二從接收模塊RX2啟動后的工作過程為:
[0117] 對于總線狀態(tài)監(jiān)控器:
[0118] 步驟4-1-1、將數據信號線S2_RXD連接到總線狀態(tài)監(jiān)控器;
[0119] 步驟4-1-2、判斷總線狀態(tài)監(jiān)控器接收到的數據與復位標識寄存器中的數據是否 匹配,如果否則將差分總線空閑標識位置為"〇",重復執(zhí)行步驟4-1-2,如果是則將差分總 線空閑標識位置為"1",重復執(zhí)行步驟4-1-2 ;
[0120] 對于定時器:
[0121] 步驟4-2-1、啟動定時器;
[0122] 步驟4-2-2、判斷差分總線空閑標識位是否為"1",如果否則執(zhí)行4-2-3,如果是則 執(zhí)行4-2-4 ;
[0123] 步驟4-2-3、清空定時器;
[0124] 步驟4-2-4、判斷定時器中的數值是否大于通訊周期寄存器中的數值,如果否則將 超時標識位置為"0",返回執(zhí)行步驟4-2-2,如果是則將超時標識位置為" 1",返回執(zhí)行步驟 4-2-2 ;
[0125] 對于處理器:
[0126] 步驟4-3-1、判斷超時標識位是否為" 1",如果否則執(zhí)行4-3-2,如果是則執(zhí)行 4-3-6 ;
[0127] 步驟4-3-2、根據地址匹配標識位的狀態(tài)設置地址匹配標識信號線EnableFlag的 狀態(tài);
[0128] 步驟4-3-3、判斷差分總線空閑標識位是否為"1",如果否則返回執(zhí)行步驟4-3-1, 如果是則執(zhí)行4-3-4 ;
[0129] 步驟4-3-4、判斷主節(jié)點接收標識位是否為" 1",如果否則執(zhí)行步驟4-3-5,如果是 則延遲Λ t時間后將使能標識信號線EnableFlag的狀態(tài)設置為"0",返回執(zhí)行步驟4-3-1, 所述Λ t為不小于主從節(jié)點模塊串行發(fā)送數據時的最大發(fā)送時鐘周期系統時鐘周期;
[0130] 步驟4-3-5、判斷后端從節(jié)點接收標識位是否為"1",如果否則返回執(zhí)行步驟 4-3-1,如果是則延遲Λ t時間后將使能標識信號線EnableFlag的狀態(tài)設置為"1",返回執(zhí) 行步驟4-3-1
[0131] 步驟4-3-6、將地址匹配標識信號線EqualFlag和使能標識信號線EnableFlag的 狀態(tài)設置為"〇",然后返回執(zhí)行4-3-1 ;
[0132] 對于接收控制模塊:
[0133] 步驟4-4-1、將數據信號線S2_RXD連接到NRZI解碼模塊;
[0134] 步驟4-4-2、判斷差分總線空閑標識位是否為"1",如果否則執(zhí)行4-4-3,如果是則 設置數據包起始標識匹配變量、地址匹配變量和地址匹配任務已執(zhí)行變量為"假",重復執(zhí) 行 4-4-2 ;
[0135] 步驟4-4-3、判斷數據包起始標識匹配變量是否為"真",如果否則執(zhí)行步驟 4-4-4,如果是則執(zhí)行步驟4-4-5 ;
[0136] 步驟4-4-4、判斷經NRZI解碼模塊輸入給接收移位器的數據與數據包起始標識寄 存器中的數據是否匹配,如果否則返回執(zhí)行步驟4-4-2,如果是則設置數據包起始標識匹配 變量為"真",然后返回執(zhí)行步驟4-4-2 ;
[0137] 步驟4-4-5、判斷接收移位器是否完成下一組數據接收,如果否則返回執(zhí)行步驟 4-4-2,如果是則執(zhí)行步驟4-4-6 ;
[0138] 步驟4-4-6、判斷地址匹配變量是否為"真",如果否則執(zhí)行步驟4-4-7,如果是則 執(zhí)行步驟4-4-11 ;
[0139] 步驟4-4-7、判斷地址匹配任務已執(zhí)行變量是否為"真",如果否則設置地址匹配任 務已執(zhí)行變量為"真",并執(zhí)行步驟4-4-8,如果是則返回執(zhí)行步驟4-4-2 ;
[0140] 步驟4-4-8、判斷接收移位器中的數據是否處于主節(jié)點接收地址域,如果否則將主 節(jié)點接收標識位置為"〇",并執(zhí)行步驟4-4-9,如果是則將主節(jié)點接收標識位置為" 1",返回 執(zhí)行步驟4-4-2 ;
[0141] 步驟4-4-9、判斷接收移位器中的數據是否處于當前從節(jié)點的后端從節(jié)點接收地 址域,如果否則將后端從節(jié)點接收標識位置為"0",執(zhí)行步驟3-4-10,如果是則后端從節(jié)點 接收標識位置為" 1",返回執(zhí)行步驟4-4-2 ;
[0142] 步驟4-4-10、判斷接收移位器中的數據與地址寄存器組中的數據是否匹配,如果 否則將地址匹配標識位置為"0",返回執(zhí)行步驟4-4-2,如果是則將地址匹配標識位置為 " 1",設置地址匹配變量為"真",返回執(zhí)行步驟4-4-2。
【具體實施方式】 [0143] 八:下面結合圖5說明本實施方式,本實施方式對實施方式三作進 一步說明,第一從發(fā)送模塊TXl啟動后的工作過程為:
[0144] 對于多路開關:
[0145] 步驟5-1-1、判斷地址匹配標識信號線EqualFlag的狀態(tài)是否為"1",如果否則執(zhí) 行步驟5_1_2,如果是則執(zhí)彳丁步驟5_1_3 ;
[0146] 步驟5-1-2、將使能標識信號線EnableFlag、時鐘信號線C1K2和數據信號線DATA2 分別連接到使能信號線S1_TXD_EN、時鐘信號線S1_TXD_CLK和數據信號線S1_TXD,返回執(zhí) 行步驟5-1-1 ;
[0147] 步驟5-1-3、斷開步驟5-1-2中的連接,將系統時鐘分頻得到的時鐘信號LCLK直接 賦值給時鐘信號線S1_TXD_CLK。
[0148] 對于發(fā)送控制模塊:
[0149] 步驟5-2-1、判斷發(fā)送開始標識位和發(fā)送結束標識位是否相等,如果否則重復執(zhí)行 步驟5_2_1,如果是則執(zhí)彳丁步驟5_2_2 ;
[0150] 步驟5-2-2、將使能信號線S1_TXD_EN的使能信號置為"1",將復位標識寄存器中 的數據串行發(fā)送到數據信號線S1_TXD上,復位所有主從節(jié)點的接收模塊到等待狀態(tài);
[0151] 步驟5-2-3、判斷數據發(fā)送是否完成,如果否則重復執(zhí)行步驟5-2-3,如果是則執(zhí) 行步驟5-2-4 ;
[0152] 步驟5-2-4、將數據包起始標識寄存器中的數據賦給發(fā)送移位器,經NRZI編碼模 塊串行發(fā)送到數據信號線SljXD ;
[0153] 步驟5-2-5、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟 5-2_5,如果是則執(zhí)彳丁步驟5_2_6 ;
[0154] 步驟5-2-6、將地址寄存器中的數據賦給發(fā)送移位器,經NRZI編碼模塊串行發(fā)送 到數據信號線SljXD ;
[0155] 步驟5-2-7、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟 5-2_7,如果是則執(zhí)彳丁步驟5_2_8 ;
[0156] 步驟5-2-8、根據計數器讀取雙口存儲器RAM中的數據,并將讀取的數據賦值給發(fā) 送移位器和CRC校驗模塊,經NRZI編碼模塊串行發(fā)送到數據信號線SljXD ;
[0157] 步驟5-2-9、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟 5-2_9,如果是則執(zhí)彳丁步驟5_2_10 ;
[0158] 步驟5-2-10、計數器中的數值加1 ;
[0159] 步驟5-2-11、判斷計數器中的數值與數量寄存器中的數值是否相等,如果否則重 復執(zhí)彳丁步驟5_2_8,如果是則執(zhí)彳丁步驟5_2_12 ;
[0160] 步驟5-2-12、將CRC校驗模塊產生的校驗碼賦值給發(fā)送移位器,經NRZI編碼模塊 串行發(fā)送到數據信號線SljXD ;
[0161] 步驟5-2-13、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟 5-2_13,如果是則執(zhí)彳丁步驟5_2_14 ;
[0162] 步驟5-2-14、將NULL標識賦值給發(fā)送移位器,然后經過NRZI編碼模塊串行發(fā)送到 數據信號線SljXD ;
[0163] 步驟5-2-15、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟 5-2-15,如果是則執(zhí)行步驟5-2-16 ;
[0164] 步驟5-2-16、將復位標識寄存器中的數據直接串行發(fā)送到數據信號線S1_TXD ;
[0165] 步驟5-2-17、判斷數據發(fā)送是否完成,如果否則重復執(zhí)行步驟5-2-17,如果是則 執(zhí)行步驟5_2_18 ;
[0166] 步驟5-2-18、將使能信號線S1_TXD_EN置為"0",同時將發(fā)送開始標識位賦值給發(fā) 送結束標識位,清空計數器,復位CRC校驗模塊,返回執(zhí)行步驟5-1-1。
【具體實施方式】 [0167] 九:下面結合圖5說明本實施方式,本實施方式對實施方式三作進 一步說明,第二從發(fā)送模塊TX2啟動后的工作過程為:
[0168] 步驟6-1、判斷差分總線空閑標識位是否為"1",如果否則返回執(zhí)行步驟6-1,如果 是則執(zhí)行6_2 ;
[0169] 步驟6-2、判斷主節(jié)點接收標識位是否為" 1",如果否則執(zhí)行步驟6-3,如果是則延 遲Λ t時間后將使能標識信號線S2_TXD_EN的狀態(tài)設置為" 1",返回執(zhí)行步驟6-1,所述Λ t 為不小于主從節(jié)點模塊串行發(fā)送數據時的最大發(fā)送時鐘周期系統時鐘周期;
[0170] 步驟6-3、判斷后端從節(jié)點接收標識位是否為"1",如果否則返回執(zhí)行步驟6-1, 如果是則延遲Λ t時間后將使能標識信號線S2_TXD_EN的狀態(tài)設置為"0",返回執(zhí)行步驟 6-1 ο
[0171] 本發(fā)明中,從節(jié)點的控制器上電后,初始化第一從接收模塊RX1、第一從發(fā)送模 塊TX1、第二從接收模塊RX2和第二從發(fā)送模塊TX2,使從節(jié)點前端差分總線脫離第一從發(fā) 送模塊TXl的控制,同時使從節(jié)點后端差分總線處于第二從發(fā)送模塊TX2的控制下。差 分總線狀態(tài)標識信號線IDLEFlag、主節(jié)點接收標識信號線S2MFlag、地址匹配標識信號線 EqualFlag和使能標識信號線EnableFlag的初始化狀態(tài)分別為"1"、" 1"、"0"、和"0"。從 節(jié)點控制器正常運行后,如果第一從接收模塊RXl在一個通訊周期內檢測不到接收模塊復 位標識,則復位差分總線狀態(tài)標識信號線IDLEFlag和主節(jié)點接收標識位S2MFlag到初化始 態(tài);如果第二從接收模塊RX2在一個通訊周期內檢測不到接收模塊復位標識,則將地址匹 配標識信號線EqualFlag和使能標識信號線EnableFlag復位到初始化狀態(tài)。
[0172] 本發(fā)明中,主從節(jié)點間通訊周期、有效數據組大小和從節(jié)點數量等參數均是可配 置的。對于主節(jié)點而言:在一個通訊周期內,主節(jié)點控制器首先讀取主接收模塊1_1?接收 到的有效數據,然后將待發(fā)送的有效數據組和控制指令發(fā)送給主發(fā)送模塊M_TX,最后主發(fā) 送模塊M_TX將該有效數據組封裝成多個數據幀,并連同時鐘信號通過差分總線分時串行 發(fā)送給各個從節(jié)點。對于從節(jié)點而言:通過第一從接收模塊RXl和第二從接收模塊RX2監(jiān) 控數據總線狀態(tài),并分別輸出控制信號、數據信號和時鐘信號給第二從發(fā)送模塊TX2和第 一從發(fā)送模塊TXl,而后這兩個模塊根據接收到的控制信號完成對差分信號線的控制。當第 一從接收模塊RXl接收到有效數據存儲后,產生中斷請求信號。從節(jié)點控制器響應請求后, 首先清中斷,然后將待回傳的有效數據組和控制指令發(fā)送給第一從發(fā)送模塊TX1,最后讀取 第一從接收模塊RXl接收到的有效數據。第一從發(fā)送模塊TXl啟動后,將該有效數據組封裝 成數據幀,并連同時鐘信號經差分線及上級各從節(jié)點串行發(fā)送給主接收模塊M_RX。在主從 節(jié)點之間,數據的發(fā)送采取了直接發(fā)送和非歸零反相(No Return Zero-Inverse :NRZI)編 碼發(fā)送相結合的方式,確保了各個節(jié)點接收模塊對數據總線狀態(tài)的監(jiān)控。通過采用時鐘與 數據信號同節(jié)點發(fā)送的方式,保證了兩種信號之間的時序關系不受通訊線路時延的影響。 通過節(jié)點間級聯和通訊信號隔離差分傳輸,可有效延長網絡通訊距離和抗干擾能力。
【權利要求】
1. 基于節(jié)點級聯的主從同步串行通訊裝置,其特征在于,該通訊裝置包括主節(jié)點和η 個從節(jié)點,η為正整數,主節(jié)點包括主節(jié)點控制器(1)和隔離差分模塊(2),主節(jié)點控制器 (1)包括主發(fā)送模塊1_1乂和主接收模塊M_RX,每個從節(jié)點包括從節(jié)點控制器(3)和兩個隔 離差分模塊(2),從節(jié)點控制器(3)包括第一從接收模塊RX1、第二從接收模塊RX2、第一從 發(fā)送模塊TXl和第二從發(fā)送模塊TX2 ; 主發(fā)送模塊M_TX和主節(jié)點的隔離差分模塊(2)通過能信號線M_TXD_EN、時鐘信號線M_TXD_CLK和數據信號線M_TXD相連接; 主接收模塊M_RX和主節(jié)點的隔離差分模塊(2)通過時鐘信號和數據信 號線M_RXD相連接; 相鄰節(jié)點之間的隔離差分模塊(2)通過信號差分線CLK和0?Ζ、數據信號差分線DATA和5Χ?Χ、隔離地線S_GND相連接;所述相鄰節(jié)點包括主節(jié)點和第1個從節(jié)點、第n-1個從 節(jié)點和第η個從節(jié)點; 第一從接收模塊RXl與前端隔離差分模塊(2)通過時鐘信號線S1_RXD_CLK和數據信 號線S1_RXD相連接; 第一從發(fā)送模塊TXl與前端隔離差分模塊(2)通過使能信號線S1_TXD_EN、時鐘信號線S1_TXD_CLK和數據信號線SljXD相連接; 第二從接收模塊RX2與后端隔離差分模塊(2)通過時鐘信號線S2_RXD_CLK和數據信 號線S2_RXD相連接; 第二從發(fā)送模塊TX2與后端隔離差分模塊(2)通過使能信號線S2_TXD_EN、時鐘信號線S2_TXD_CLK和數據信號線S2_TXD相連接。
2. 根據權利要求1所述基于節(jié)點級聯的主從同步串行通訊裝置,其特征在于,從節(jié)點 控制器(3)內,第一從接收模塊RXl和第二從發(fā)送模塊TX2通過差分總線狀態(tài)標識信號線 IDLEFlag、后端從節(jié)點接收標識信號線BackFlag、主節(jié)點接收標識信號線S2MFlag、時鐘信 號線CLKl和數據信號線DATAl相連接;第二從接收模塊RX2和第一從發(fā)送模塊TXl通過地 址匹配標識信號線EqualFlag、使能標識信號線EnableFlag、時鐘信號線CLK2和數據信號 線DATA2相連相連接;第一從接收模塊RXl將時鐘信號線S1_RXD_CLK和數據信號線S1_RXD 上的信號分別賦值給時鐘信號線CLKl和數據信號線DATAl;第二從發(fā)送模塊TX2將時鐘信 號線CLKl和數據信號線DATAl上的信號分別賦值給時鐘信號線S2_TXD_CLK和數據信號線 S2_TXD;第二從接收模塊RX2將時鐘信號線S2_RXD_CLK和數據信號線S2_RXD上的數據分 別賦值給時鐘信號線CLK2和數據信號線DATA2。
3. 基于權利要求2所述主從同步串行通訊裝置的實現方法,其特征在于,該實現方法 的具體過程為: 該實現方法的具體過程為: 主節(jié)點控制器(1)周期性地讀取主接收模塊M_RX接收到的有效數據,然后將待發(fā)送的 有效數據組和控制指令發(fā)送給主發(fā)送模塊M_TX,通過將發(fā)送結束標識位取反賦值給發(fā)送開 始標識位的方式啟動主發(fā)送模塊M_TX,在主發(fā)送模塊M_TX啟動后,將有效數據組裝成多個 數據幀,連同時鐘信號通過差分總線分時串行發(fā)送給各個節(jié)點; 主節(jié)點控制器(1)根據系統時鐘通過地址總線和數據總線配置主接收模塊M_RX中的 數量寄存器組、數據包起始標識寄存器、復位標識寄存器和地址寄存器組,讀取雙口存儲器RAM;主接收模塊M_RX中的接收控制模塊、總線狀態(tài)監(jiān)控器、計數器、CRC校驗模塊、接收移 位器、NRZI解碼模塊和雙口存儲器RAM的寫操作均受控于同一時鐘信號M_RXD_CLK,且下降 沿觸發(fā); 主節(jié)點控制器(1)根據系統時鐘通過地址總線和數據總線配置主發(fā)送模塊M_TX中的 發(fā)送開始標識位、時刻寄存器組、數量寄存器組、復位標識寄存器、數據包起始標識寄存器 和地址寄存器組,并將待發(fā)送的有效數據組寫入雙口存儲器RAM;主發(fā)送模塊M_TX中發(fā)送 結束標識位、發(fā)送控制模塊、定時器、計數器、CRC校驗模塊、發(fā)送移位器、NRZI編碼模塊和 雙口存儲器RAM的讀取操作均受控于同一時鐘信號M_TXD_CLK,且上升沿觸發(fā); 從節(jié)點控制器(3)在接收到第一從接收模塊RXl發(fā)出的中斷請求后,先將發(fā)送結束標 識位取反賦值給發(fā)送開始標識位,啟動第一從發(fā)送模塊TX1,然后讀取第一從接收模塊RXl 的雙口存儲器RAM中的有效數據; 從節(jié)點控制器(3)根據系統時鐘和中斷信號通過地址總線和數據總線配置第一從接 收模塊RXl中的數量寄存器、數據包起始標識寄存器、復位標識寄存器、地址寄存器、通訊 周期寄存器和中斷清除位,并完成雙口存儲器RAM的讀操作;第一從接收模塊RXl中的超時 標識位、定時器和處理器均受控于系統時鐘;第一從接收模塊RXl中的中斷設置位、差分總 線空閑標識位、主節(jié)點接收標識位、后端從節(jié)點接收標識位、地址匹配標識位、接收控制模 塊、總線狀態(tài)監(jiān)控器、計數器、CRC校驗模塊、接收移位器、NRZI解碼模塊和雙口存儲器RAM 的寫操作均受控于時鐘信號線S1_RXD_CLK,且下降沿觸發(fā); 第二從發(fā)送模塊TX2的處理器受控于系統時鐘信號,根據差分總線空閑標識信號線、 接收數據包地址域標識信號線上的信號狀態(tài)控制使能信號線S2_TXD_EN的狀態(tài); 從節(jié)點控制器(3)根據系統時鐘通過地址總線和數據總線配置第二從接收模塊RX2中 的數據包起始標識寄存器、復位標識寄存器、地址寄存器和通訊周期寄存器;第二從接收模 塊RX2中的超時標識位、定時器和處理器均受控于系統時鐘;第二從接收模塊RX2中的差分 總線空閑標識位、主節(jié)點接收標識位、后端從節(jié)點接收標識位、地址匹配標識位、接收控制 模塊、總線狀態(tài)監(jiān)控器、接收移位器和NRZI解碼模塊均受控于時鐘信號線S2_RXD_CLK,且 下降沿觸發(fā); 從節(jié)點控制器(3)根據系統時鐘通過地址總線和數據總線配置第一從發(fā)送模塊TXl中 的發(fā)送開始標識位、數量寄存器、復位標識寄存器、數據包起始標識寄存器和地址寄存器, 并將待發(fā)送的有效數據組寫入雙口存儲器RAM;第一從發(fā)送模塊TXl中的多路開關受控于 地址匹配標識信號線EqualFlag;第一從發(fā)送模塊TXl中的發(fā)送結束標識位、發(fā)送控制模 塊、計數器、CRC校驗模塊、發(fā)送移位器、NRZI編碼模塊和雙口存儲器RAM的讀取操作均受控 于系統時鐘分頻的時鐘信號LCLK,且上升沿觸發(fā)。
4.根據權利要求3所述的主從同步串行通訊裝置的實現方法,其特征在于,主發(fā)送模 塊M_TX啟動后的工作過程為: 步驟1-1、啟動定時器; 步驟1-2、判斷定時器的Timer是否等于時刻寄存器組中的值,如果否則重復執(zhí)行步驟 卜2,如果是則執(zhí)行步驟1_3 ; 步驟1-3、記錄時刻寄存器組中與定時器等值的單元的相對位置j,清空計數器,并將 使能信號線M_TXD_EN的信號置為" 1" ; 步驟1-4、將復位標識寄存器中的數據串行發(fā)送到數據信號上,復位主從節(jié)點 的接收模塊到接收等待狀態(tài);所述接收模塊包括主接收模塊M_RX、第一從接收模塊RXl和 第二從接收模塊RX2 ; 步驟1-5、判斷數據發(fā)送是否完成,如果否則重復執(zhí)行步驟1-5,如果是則執(zhí)行步驟 1-6 ; 步驟1-6、將數據包起始標識寄存器中的數據賦值給發(fā)送移位器,經過NRZI編碼模塊 串行發(fā)送到數據信號 步驟1-7、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟1-7,如果 是則執(zhí)行步驟1_8 ; 步驟1-8、將地址寄存器組第j個單元中的數據賦值給發(fā)送移位器,經過NRZI編碼模塊 串行發(fā)送到數據信號 步驟1-9、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟1-9,如果 是則執(zhí)行步驟1_1〇 ; 步驟1-10、根據數量寄存器組的前j-ι單元中的數據及計數器中數據的累加值讀取雙 口存儲器RAM中的數據,并將讀取的數據賦值給發(fā)送移位器和CRC校驗模塊,然后經過NRZI 編碼模塊串行發(fā)送到數據信號線M_TXD; 步驟1-11、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟1-11,如 果是則執(zhí)行步驟1-12 ; 步驟1-12、計數器中的數值加1 ; 步驟1-13、判斷計數器中的數值是否等于數量寄存器組第j個單元中的數值,如果否 則返回執(zhí)行步驟1-10,如果是則執(zhí)行步驟1-14 ; 步驟1-14、將CRC校驗模塊產生的校驗碼賦值給發(fā)送移位器,然后經過NRZI編碼模塊 串行發(fā)送到數據信號 步驟1-15、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟1-15,如 果是則執(zhí)行步驟1-16 ; 步驟1-16、將NULL標識賦值給發(fā)送移位器,然后經過NRZI編碼模塊串行發(fā)送到數據信 號線M_TXD; 步驟1-17、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟1-17,如 果是則執(zhí)行步驟1-18 ; 步驟1-18、將復位標識寄存器中的數據串行發(fā)送到數據信號線M_TXD上; 步驟1-19、判斷數據串行發(fā)送是否完成,如果否則返回執(zhí)行步驟1-19,如果是則執(zhí)行 步驟1-20 ; 步驟1-20、將使能信號線M_TXD_EN的信號置為"0",結束數據幀發(fā)送,復位CRC校驗模 塊; 步驟1-21、判斷定時器的Timer是否大于η個時刻寄存器組中的最大值,如果否則返回 執(zhí)行步驟1_2,如果是則執(zhí)行步驟1_22 ; 步驟1-22、將發(fā)送開始標識位賦值給發(fā)送結束標識位,清空和關閉定時器。
5.根據權利要求3所述的主從同步串行通訊裝置的實現方法,其特征在于,主接收模 塊M_RX啟動后的工作過程為: 對于總線狀態(tài)監(jiān)控器: 步驟2-1-1、將數據信號線M_RXD連接到總線狀態(tài)監(jiān)控器; 步驟2-1-2、判斷總線狀態(tài)監(jiān)控器接收到的數據和復位標識寄存器中的數據是否匹配, 如果否則設置數據總線忙狀態(tài)為"真",重復執(zhí)行步驟2-1-2,如果是則設置數據總線忙狀態(tài) 變量為"假",重復執(zhí)行步驟2-1-2 ; 對于接收控制模塊: 步驟2-2-1、將數據信號線M_RXD連接到NRZI解碼模塊; 步驟2-2-2、判斷數據總線忙狀態(tài)變量是否為"真",如果否則復位CRC校驗模塊,設置 數據包起始標識匹配變量、地址匹配變量和地址匹配任務已執(zhí)行變量為"假",重復執(zhí)行步 驟2_2_2,如果是則執(zhí)彳丁步驟2_2_3 ; 步驟2-2-3、判斷數據包起始標識匹配變量是否為"真",如果否則執(zhí)行步驟2-2-4,如 果是則執(zhí)行步驟2_2_5 ; 步驟2-2-4、判斷經過NRZI解碼模塊輸入給接收移位器中的數據是否與數據包起始標 識寄存器中的數據匹配,如果否則返回執(zhí)行步驟2-2-2,如果是則設置數據包起始標識匹配 變量為"真",然后返回執(zhí)行步驟2-2-2 ; 步驟2-2-5、判斷接收移位器是否完成下一組數據接收,如果否則重復執(zhí)行步驟 2-2_2,如果是則執(zhí)彳丁步驟2_2_6 ; 步驟2-2-6、判斷地址匹配變量是否為"真",如果否則執(zhí)行步驟2-2-7,如果是則執(zhí)行 步驟2-2-9 ; 步驟2-2-7、判斷地址匹配任務已執(zhí)行變量是否為"真",如果否則設置地址匹配任務已 執(zhí)行變量為"真",并執(zhí)行步驟2-2-8,如果是則返回執(zhí)行步驟2-2-2 ; 步驟2-2-8、判斷接收移位器中的數據與地址寄存器組中的數據是否匹配,如果否則返 回執(zhí)行步驟2-2-2,如果是則設置地址匹配變量為"真",記錄地址寄存器組中的匹配單元的 相對位置j,并清空計數器,然后返回執(zhí)行步驟2-2-2 ; 步驟2-2-9、判斷計數器中的數值是否小于等于數量寄存器組第j個單元中的數值,如 果否則返回執(zhí)行步驟2-2-2,如果是則執(zhí)行步驟2-2-10 ; 步驟2-2-10、判斷計數器中的數值和數量寄存器組第j個單元中的數值是否相等,如 果否則執(zhí)行步驟2-2-11,如果是則執(zhí)行步驟2-2-12 ; 步驟2-2-11、將接收的數據賦值給CRC校驗模塊,并根據數量寄存器組前j-Ι個單元中 的數據各自加1及計數器中數據的累加值,將數據寫入雙口存儲器RAM,并將計數器中的數 值加1,然后返回執(zhí)行步驟2-2-2 ; 步驟2-2-12、根據數量寄存器組前j-Ι個單元中的數據各自加1及計數器中的數據的 累加值,將CRC校驗模塊產生的校驗碼寫入雙口存儲器RAM,然后返回執(zhí)行步驟2-2-2。
6.根據權利要求3所述的主從同步串行通訊裝置的實現方法,其特征在于,第一從發(fā) 送模塊RXl啟動后的工作過程為: 對于總線狀態(tài)監(jiān)控器: 步驟3-1-1、將數據信號線S1_RXD連接到總線狀態(tài)監(jiān)控器; 步驟3-1-2、判斷總線狀態(tài)監(jiān)控器接收到的數據與復位標識寄存器中的數據是否匹配, 如果否則將差分總線空閑標識位置為"〇",重復執(zhí)行步驟3-1-2,如果是則將差分總線空閑 標識位置為" 1",重復執(zhí)行步驟3-1-2 ; 對于定時器: 步驟3-2-1、啟動定時器; 步驟3-2-2、判斷差分總線空閑標識位是否為" 1",如果否則執(zhí)行3-2-3,如果是則執(zhí)行 3-2-4 ; 步驟3-2-3、清空定時器; 步驟3-2-4、判斷定時器中的數值是否大于通訊周期寄存器中的數值,如果否則將超 時標識位置為"〇",返回執(zhí)行步驟3-2-2,如果是則將超時標識位置為"1",返回執(zhí)行步驟 3-2-2 ; 對于處理器: 步驟3_3_1、判斷超時標識位是否為"1",如果否則執(zhí)行3_3_2,如果是則執(zhí)行3_3_3 ; 步驟3-3-2、根據差分總線狀態(tài)標識位、后端從節(jié)點接收標識位和主節(jié)點接收標識位的 狀態(tài)分別設置差分總線狀態(tài)標識信號線IDLEFlag、后端從節(jié)點接收標識信號線BackFlag 和主節(jié)點接收標識信號線S2MFlag的狀態(tài),然后返回執(zhí)行步驟3-3-1 ; 步驟3-3-3、將差分總線狀態(tài)標識信號線IDLEFlag和主節(jié)點接收標識信號線S2MFlag的狀態(tài)設置為"1",然后返回執(zhí)行3-3-1 ; 對于接收控制模塊: 步驟3-4-1、將數據信號線S1_RXD連接到NRZI解碼模塊; 步驟3-4-2、判斷差分總線空閑標識位是否為" 1",如果否則執(zhí)行3-4-3,如果是則復位CRC校驗模塊,設置數據包起始標識匹配變量、地址匹配變量和地址匹配任務已執(zhí)行變量為 "假",重復執(zhí)行3-4-2 ; 步驟3-4-3、判斷數據包起始標識匹配變量是否為"真",如果否則執(zhí)行步驟3-4-4,如 果是則執(zhí)行步驟3_4_5 ; 步驟3-4-4、判斷經NRZI解碼模塊輸入給接收移位器的數據與數據包起始標識寄存器 中的數據是否匹配,如果否則返回執(zhí)行步驟3-4-2,如果是則設置數據包起始標識匹配變量 為"真",然后返回執(zhí)行步驟3-4-2 ; 步驟3-4-5、判斷接收移位器是否完成下一組數據接收,如果否則返回執(zhí)行步驟 3-4-2,如果是則執(zhí)行步驟3-4-6 ; 步驟3-4-6、判斷地址匹配變量是否為"真",如果否則執(zhí)行步驟3-4-7,如果是則執(zhí)行 步驟 3-4-11 ; 步驟3-4-7、判斷地址匹配任務已執(zhí)行變量是否為"真",如果否則設置地址匹配任務已 執(zhí)行變量為"真",并執(zhí)行步驟3-4-8,如果是則返回執(zhí)行步驟3-4-2 ; 步驟3-4-8、判斷接收移位器中的數據是否處于主節(jié)點接收地址域,如果否則將主節(jié)點 接收標識位置為"〇",并執(zhí)行步驟3-4-9,如果是則將主節(jié)點接收標識位置為" 1",然后返回 執(zhí)行步驟3_4_2 ; 步驟3-4-9、判斷接收移位器中的數據是否處于當前從節(jié)點的后端從節(jié)點接收地址域, 如果否則將后端從節(jié)點接收標識位置為"〇",然后返回執(zhí)行步驟3-4-10,如果是則后端從 節(jié)點接收標識位置為"1",然后返回執(zhí)行步驟3-4-2 ; 步驟3-4-10、判斷接收移位器中的數據與地址寄存器組中的數據是否匹配,如果否 則返回執(zhí)行步驟3-4-2,如果是則設置地址匹配變量為"真",清空計數器,返回執(zhí)行步驟 3- 4-2 ; 步驟3-4-11、判斷計數器中的數值是否小于等于數量寄存器中的數值,如果否則返回 執(zhí)行步驟3_4_2,如果是則執(zhí)彳丁步驟3_4_12 ; 步驟3-4-12、判斷計數器中的數值和數量寄存器中的數值是否相等,如果否則執(zhí)行步 驟2_2_13,如果是則執(zhí)彳丁步驟2_2_14 ; 步驟3-4-13、將接收的數據賦值給CRC校驗模塊,同時根據計數器中的數值將接收的 數據寫入雙口存儲器RAM,并將計數器中的數值加1,返回執(zhí)行步驟3-4-2 ; 步驟3-4-14、根據計數器中的數值,將CRC校驗模塊產生的校驗碼寫入雙口存儲器RAM,將中斷清除位中的數值取反賦值給中斷設置位,發(fā)出中斷請求信號,返回執(zhí)行步驟 3_4 _2 〇
7.根據權利要求3所述的主從同步串行通訊裝置的實現方法,其特征在于,第二從發(fā) 送模塊RX2啟動后的工作過程為: 對于總線狀態(tài)監(jiān)控器: 步驟4-1-1、將數據信號線S2_RXD連接到總線狀態(tài)監(jiān)控器; 步驟4-1-2、判斷總線狀態(tài)監(jiān)控器接收到的數據與復位標識寄存器中的數據是否匹配, 如果否則將差分總線空閑標識位置為"〇",重復執(zhí)行步驟4-1-2,如果是則將差分總線空閑 標識位置為" 1",重復執(zhí)行步驟4-1-2 ; 對于定時器: 步驟4-2-1、啟動定時器; 步驟4-2-2、判斷差分總線空閑標識位是否為" 1",如果否則執(zhí)行4-2-3,如果是則執(zhí)行 4- 2-4 ; 步驟4-2-3、清空定時器; 步驟4-2-4、判斷定時器中的數值是否大于通訊周期寄存器中的數值,如果否則將超 時標識位置為"〇",返回執(zhí)行步驟4-2-2,如果是則將超時標識位置為"1",返回執(zhí)行步驟 4-2-2 ; 對于處理器: 步驟4_3_1、判斷超時標識位是否為"1",如果否則執(zhí)行4_3_2,如果是則執(zhí)行4_3_6 ; 步驟4-3-2、根據地址匹配標識位的狀態(tài)設置地址匹配標識信號線EnableFlag的狀 態(tài); 步驟4-3-3、判斷差分總線空閑標識位是否為" 1",如果否則返回執(zhí)行步驟4-3-1,如果 是則執(zhí)行4_3_4 ; 步驟4-3-4、判斷主節(jié)點接收標識位是否為" 1",如果否則執(zhí)行步驟4-3-5,如果是則延 遲Λt時間后將使能標識信號線EnableFlag的狀態(tài)設置為"0",返回執(zhí)行步驟4-3-1,所述 Δt為不小于主從節(jié)點模塊串行發(fā)送數據時的最大發(fā)送時鐘周期系統時鐘周期; 步驟4-3-5、判斷后端從節(jié)點接收標識位是否為"1",如果否則返回執(zhí)行步驟4-3-1, 如果是則延遲Δt時間后將使能標識信號線EnableFlag的狀態(tài)設置為" 1",返回執(zhí)行步驟 4-3-1 步驟4-3-6、將地址匹配標識信號線EqualFlag和使能標識信號線EnableFlag的狀態(tài) 設置為"〇",然后返回執(zhí)行4-3-1 ; 對于接收控制模塊: 步驟4-4-1、將數據信號線S2_RXD連接到NRZI解碼模塊; 步驟4-4-2、判斷差分總線空閑標識位是否為"1",如果否則執(zhí)行4-4-3,如果是則設 置數據包起始標識匹配變量、地址匹配變量和地址匹配任務已執(zhí)行變量為"假",重復執(zhí)行 4-4-2 ; 步驟4-4-3、判斷數據包起始標識匹配變量是否為"真",如果否則執(zhí)行步驟4-4-4,如 果是則執(zhí)行步驟4-4-5 ; 步驟4-4-4、判斷經NRZI解碼模塊輸入給接收移位器的數據與數據包起始標識寄存器 中的數據是否匹配,如果否則返回執(zhí)行步驟4-4-2,如果是則設置數據包起始標識匹配變量 為"真",然后返回執(zhí)行步驟4-4-2 ; 步驟4-4-5、判斷接收移位器是否完成下一組數據接收,如果否則返回執(zhí)行步驟 4-4-2,如果是則執(zhí)行步驟4-4-6 ; 步驟4-4-6、判斷地址匹配變量是否為"真",如果否則執(zhí)行步驟4-4-7,如果是則執(zhí)行 步驟 4-4-11 ; 步驟4-4-7、判斷地址匹配任務已執(zhí)行變量是否為"真",如果否則設置地址匹配任務已 執(zhí)行變量為"真",并執(zhí)行步驟4-4-8,如果是則返回執(zhí)行步驟4-4-2 ; 步驟4-4-8、判斷接收移位器中的數據是否處于主節(jié)點接收地址域,如果否則將主節(jié)點 接收標識位置為"〇",并執(zhí)行步驟4-4-9,如果是則將主節(jié)點接收標識位置為" 1",返回執(zhí)行 步驟4-4-2 ; 步驟4-4-9、判斷接收移位器中的數據是否處于當前從節(jié)點的后端從節(jié)點接收地址域, 如果否則將后端從節(jié)點接收標識位置為"〇",執(zhí)行步驟3-4-10,如果是則后端從節(jié)點接收 標識位置為" 1",返回執(zhí)行步驟4-4-2 ; 步驟4-4-10、判斷接收移位器中的數據與地址寄存器組中的數據是否匹配,如果否則 將地址匹配標識位置為"0",返回執(zhí)行步驟4-4-2,如果是則將地址匹配標識位置為" 1",設 置地址匹配變量為"真",返回執(zhí)行步驟4-4-2。
8.根據權利要求3所述的主從同步串行通訊裝置的實現方法,其特征在于,第一從接 收模塊TXl啟動后的工作過程為: 對于多路開關: 步驟5-1-1、判斷地址匹配標識信號線EqualFlag的狀態(tài)是否為" 1",如果否則執(zhí)行步 驟5_1_2,如果是則執(zhí)彳丁步驟5_1_3 ; 步驟5-1-2、將使能標識信號線EnableFlag、時鐘信號線C1K2和數據信號線DATA2分 別連接到使能信號線S1_TXD_EN、時鐘信號線S1_TXD_CLK和數據信號線SljXD,返回執(zhí)行 步驟5-1-1 ; 步驟5-1-3、斷開步驟5-1-2中的連接,將系統時鐘分頻得到的時鐘信號LCLK直接賦值 給時鐘信號線S1_TXD_CLK。 對于發(fā)送控制模塊: 步驟5-2-1、判斷發(fā)送開始標識位和發(fā)送結束標識位是否相等,如果否則重復執(zhí)行步驟 5_2_1,如果是則執(zhí)彳丁步驟5_2_2 ; 步驟5-2-2、將使能信號線S1_TXD_EN的使能信號置為"1",將復位標識寄存器中的數 據串行發(fā)送到數據信號線S1_TXD上,復位所有主從節(jié)點的接收模塊到等待狀態(tài); 步驟5-2-3、判斷數據發(fā)送是否完成,如果否則重復執(zhí)行步驟5-2-3,如果是則執(zhí)行步 驟 5-2-4 ; 步驟5-2-4、將數據包起始標識寄存器中的數據賦給發(fā)送移位器,經NRZI編碼模塊串 行發(fā)送到數據信號線S1_TXD; 步驟5-2-5、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟5-2-5, 如果是則執(zhí)行步驟5_2_6 ; 步驟5-2-6、將地址寄存器中的數據賦給發(fā)送移位器,經NRZI編碼模塊串行發(fā)送到數 據信號線SljXD; 步驟5-2-7、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟5-2-7, 如果是則執(zhí)行步驟5_2_8 ; 步驟5-2-8、根據計數器讀取雙口存儲器RAM中的數據,并將讀取的數據賦值給發(fā)送移 位器和CRC校驗模塊,經NRZI編碼模塊串行發(fā)送到數據信號線SljXD; 步驟5-2-9、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟5-2-9, 如果是則執(zhí)行步驟5-2-10 ; 步驟5-2-10、計數器中的數值加1 ; 步驟5-2-11、判斷計數器中的數值與數量寄存器中的數值是否相等,如果否則重復執(zhí) 行步驟5_2_8,如果是則執(zhí)彳丁步驟5_2_12 ; 步驟5-2-12、將CRC校驗模塊產生的校驗碼賦值給發(fā)送移位器,經NRZI編碼模塊串行 發(fā)送到數據信號線SljXD; 步驟5-2-13、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟 5-2_13,如果是則執(zhí)彳丁步驟5_2_14 ; 步驟5-2-14、將NULL標識賦值給發(fā)送移位器,然后經過NRZI編碼模塊串行發(fā)送到數據 信號線S1_TXD; 步驟5-2-15、判斷發(fā)送移位器中的數據發(fā)送是否完成,如果否則重復執(zhí)行步驟 5-2-15,如果是則執(zhí)行步驟5-2-16 ; 步驟5-2-16、將復位標識寄存器中的數據直接串行發(fā)送到數據信號線S1_TXD; 步驟5-2-17、判斷數據發(fā)送是否完成,如果否則重復執(zhí)行步驟5-2-17,如果是則執(zhí)行 步驟 5-2-18 ; 步驟5-2-18、將使能信號線S1_TXD_EN置為"0",同時將發(fā)送開始標識位賦值給發(fā)送結 束標識位,清空計數器,復位CRC校驗模塊,返回執(zhí)行步驟5-1-1。
9.根據權利要求3所述的主從同步串行通訊裝置的實現方法,其特征在于,第二從發(fā) 送模塊TX2啟動后的工作過程為: 步驟6-1、判斷差分總線空閑標識位是否為" 1",如果否則返回執(zhí)行步驟6-1,如果是則 執(zhí)行6-2 ; 步驟6-2、判斷主節(jié)點接收標識位是否為" 1",如果否則執(zhí)行步驟6-3,如果是則延遲Δt時間后將使能標識信號線S2_TXD_EN的狀態(tài)設置為" 1",返回執(zhí)行步驟6-1,所述Λt為 不小于主從節(jié)點模塊串行發(fā)送數據時的最大發(fā)送時鐘周期系統時鐘周期; 步驟6-3、判斷后端從節(jié)點接收標識位是否為" 1",如果否則返回執(zhí)行步驟6-1,如果是 則延遲Λt時間后將使能標識信號線S2_TXD_EN的狀態(tài)設置為"0",返回執(zhí)行步驟6-1。
【文檔編號】G06F13/40GK104461985SQ201410853217
【公開日】2015年3月25日 申請日期:2014年12月31日 優(yōu)先權日:2014年12月31日
【發(fā)明者】張元飛, 金明河, 劉宏 申請人:哈爾濱工業(yè)大學