新四季網

一種用於處理多個總線設備數據的方法、及其總線系統與流程

2023-07-07 19:32:01 1

本發明涉及一種總線系統,尤其是一種用於處理多個總線設備數據的方法、及其總線系統。



背景技術:

隨著數據通信技術的發展,多機通信、多總線、多通道數據處理的應用也越來越廣。所謂多通道數據處理是指多個入通道接收報文,然後通過出通道將報文發送出去。在數據通信中,經常需要對中斷及各通道數據的發送等事件進行處理。在多總線通信系統中,經常需要對總線仲裁、總線切換等處理。隨著vr技術的發展,對數據的實時性和可靠性以及速率都有更高的要求,現有技術存在成本高、接線複雜、數據處理效率低等缺點。



技術實現要素:

針對現有技術的不足,本發明提供一種用於處理多個總線設備數據的方法、及其總線系統。

本發明的技術方案為:一種用於處理多個總線設備數據的方法,其特徵在於:包括以下步驟:

1)、當主控模塊接收到上位機發送的訪問總線上設備的通訊命令時,主控模塊將訪問命令存儲到需要訪問設備所對應總線的總線命令緩存區(cmd_queue_buf);

2)、mcu主控晶片根據訪問命令的先後順序以輪詢的方式將訪問命令依次發送至需要訪問的總線上,並對與訪問命令上的地址對應的設備進行訪問,並將該命令的狀態標記為正在運行狀態(stat_running),然後退出對該總線上設備的操作,此狀態則表明還在等待該總線上設備的響應或者還在處理從設備返回的數據;

3)、mcu主控晶片以中斷的方式接收總線上設備返回的數據並將該返回的數據存儲於該總線對應的返回數據存儲區(back_temp_buf),等待mcu主控晶片空閒時來解析該返回的數據;

mcu主控晶片利用發送訪問命令到等待設備響應的這個空閒時間去訪問另外一條總線上的設備或者處理另外一條總線返回的數據;

4)、當mcu主控晶片完成所有需要訪問總線上第一輪訪問命令的發送後,mcu主控晶片根據步驟2)中各個總線訪問命令的發送的先後順序依次查看各個總線對應的返回數據存儲區(back_temp_buf)內是否有返回數據;

如果有數據返回則解析該返回的數據並提取有效數據存儲於該總線對應的從機設備有效數據存儲區(slave_dat_buf)內,並將該命令的狀態機標記為完成狀態(stat_ok);如果超過預定時間內總線上設備還沒有將數據返回,則將這條命令的狀態機標記為超時狀態(stat_timeout),如果在預訂時間內總線上設備沒有數據返回,則退出對該總線的訪問;

5)、然後查看該總線的命令緩存區(cmd_queue_buf)當前處理命令的狀態值,如果該狀態值還是正在運行狀態(stat_running),退出對該總線的操作,繼續處理下一條總線;如果該狀態值已經為完成狀態(stat_ok)或者超時狀態(stat_timeout),則繼續處理該總線的命令緩存區(cmd_queue_buf)的下個命令,即mcu主控晶片繼續發送訪問命令至該總線上的下一臺需要訪問的設備,並將該設備的狀態標記為正在運行狀態(stat_running),然後繼續處理下一條總線;

6)、重複步驟4)和步驟5)直至輪詢完所有總線上所有需要訪問的設備,並將每條總線的從機設備有效數據存儲區(slave_dat_buf)的有效數據匯總到上傳數據緩存區(send_queue_buf);

7)、主控模塊的上位機通訊接口(send_prot)以dma方式將上傳數據緩存區(send_queue_buf)內的數據傳輸至上位機。

mcu主控晶片發送訪問命令前,mcu主控晶片以輪詢的方式先檢查各個總線的事件就緒列表中是否具有最高優先級的事件;如果有最高優先級事件,則優先處理該事件,當處理完該事件則將其狀態標誌為完成,當事件就緒列表中的所有事件處理完,則清除所有事件的狀態。

當一個最高優先級有多個事件時,則按照一個單位時間輪詢處理該最高優先級的多個事件,如果一個單位時間內該多個事件還沒處理完,就將這個事件運行的相關寄存器的值保存到堆棧中;然後處理下一總線的同優先級的事件;輪完所有總線的同優先級的事件後,再從堆棧中取出未處理完的事件的寄存器的值繼續處理。

一種用於處理多個總線設備數據的總線系統,其特徵在於;包括主控模塊、與主控模塊通訊連接的多條總線,每條所述的總線與多個設備通訊連接,並且每個設備都有獨立的通信地址;

所述主控模塊包括:

mcu主控晶片,用於控制整個系統的運行;任務的調度,所有總線的輪詢,根據每個命令的處理狀態(stat_machine)判斷是否要繼續處理該總線的數據,以及控制上傳數據接口dma的啟動和關閉;

總線接口(bus_prot),用於與總線通訊連接,總線接口與總線數量相對應;

總線命令緩存區(cmd_queue_buf),每條總線接口對應一個總線命令緩衝區(cmd_queue_buf),用於存儲mcu主控晶片訪問相對應總線上的設備的命令;

返回數據存儲區(back_temp_buf),每條總線分別對應相應的返回數據存儲區(back_temp_buf),用於存儲當mcu主控晶片訪問該總線上的設備時,設備對應返回的數據,mcu主控晶片通過中斷方式接收從設備返回的數據;

從機設備有效數據存儲區(slave_dat_buf),每條總線分別對應相應的從機設備有效數據存儲區,用於存儲mcu主控晶片處理返回數據存儲區內的數據後提取的有效數據;

上傳數據緩存區(send_queue_buf),用於存儲所有從機設備有效數據存儲區(slave_dat_buf)內存儲的有效數據;

上位機通訊接口(send_prot),用於與上位機通訊連接,將上傳數據緩存區(send_queue_buf)內存儲的所有總線的有效數據發送至上位機。

本發明的有益效果為:通過mcu主控晶片以輪詢的方式處理總線上設備的返回數據,並且主控模塊連接多條總線,每條總線連接多個設備,mcu主控晶片能夠訪問所有總線的所有設備,無需切換,接線簡單,佔用資源少,並以中斷方式接收設備返回的數據,不僅減少了設備成本,而且進一步提高了mcu主控晶片的處理效率。

附圖說明

圖1為本發明的結構框架圖;

具體實施方式

下面結合附圖對本發明的具體實施方式作進一步說明:

如圖1所示,一種用於處理多個總線設備數據的方法,其特徵在於:包括以下步驟:

1)、當主控模塊接收到上位機發送的訪問總線[a,b,c]上設備[ai,bj,ck]的訪問命令時,主控模塊將訪問命令存儲到需要訪問設備所對應總線的總線命令緩存區(cmd_queue_buf);

2)、mcu主控晶片以輪詢的方式首先將通訊命令發送至總線a上的設備ai(i=1,2,n),並將該命令的狀態標記為正在運行狀態(stat_running),然後退出對總線a上設備ai(i=1,2,n)的操作;

然後繼續發送訪問命令到下一總線b上的設備bj(j=1,2,n),並將該命令的狀態也標記為正在運行狀態(stat_running),並依次發送訪問命令至總線c上的設備ck(k=1,2,n),該狀態表明還在等待該總線上該設備的響應或者還在處理從設備返回的數據;

3)、mcu主控晶片以中斷的方式接收總線上設備返回的數據並將該返回的數據存儲於返回數據存儲區(back_temp_buf);

4)、當mcu主控晶片發送完訪問總線c上的設備ck(k=1,2,n)的命令後,mcu主控晶片返回查看總線a對應的返回數據存儲區(back_temp_buf)內是否有返回的數據;

如果有數據返回則解析該返回的數據並提取有效數據存儲於總線a對應的從機設備有效數據存儲區(slave_dat_buf),並將該命令的狀態機標記為完成狀態(stat_ok),如果超過預定時間內總線上設備還沒有將數據返回,則將這條命令的狀態機標記為超時狀態(stat_timeout),如果在預訂時間內總線上設備沒有數據返回,則退出對該總線a的訪問;

5)、然後查看總線a的命令緩存區(cmd_queue_buf)當前處理命令的狀態值,如果該狀態值還是正在運行狀態(stat_running),退出對總線a的操作,繼續處理下一條總線b;如果該狀態值已經為完成狀態(stat_ok)或者超時狀態(stat_timeout),則繼續處理總線a的命令緩存區(cmd_queue_buf)的下個命令,即mcu主控晶片發送訪問命令至總線a上的下一臺需要訪問的設備am(m=1,2...n,m≠i),並將該設備am(m=1,2...n,m≠i)的狀態標記為正在運行狀態(stat_running),然後繼續處理下一條總線b;

6)、重複步驟4)和步驟5)直至需要訪問的所有總線上的所有設備都輪詢完,並將每條總線的從機設備有效數據存儲區(slave_dat_buf)的有效數據匯總到上傳數據緩存區(send_queue_buf);

7)、主控模塊的上位機通訊接口(send_prot)以dma方式將上傳數據緩存區(send_queue_buf)內的數據傳輸至上位機。

mcu主控晶片發送訪問命令前,mcu主控晶片以輪詢的方式先檢查各個總線的事件就緒列表中是否具有最高優先級的事件;如果有最高優先級事件,則優先處理該事件,當處理完該事件則將其狀態標誌為完成,當事件就緒列表中的所有事件處理完,則清除所有事件的狀態。

當一個最高優先級有多個事件時,則按照一個單位時間輪詢處理該最高優先級的多個事件,如果一個單位時間內該多個事件還沒處理完,就將這個事件運行的相關寄存器的值保存到堆棧中;然後處理下一總線的同優先級的事件;輪完所有總線的同優先級的事件後,再從堆棧中取出未處理完的事件的寄存器的值繼續處理。

一種用於處理多個總線設備數據的總線系統,其特徵在於;包括主控模塊、與主控模塊通訊連接的多條總線,每條所述的總線與多個設備通訊連接,並且每個設備都有獨立的通信地址;

所述主控模塊包括:

mcu主控晶片,用於控制整個系統的運行;任務的調度,所有總線的輪詢,根據每個命令的處理狀態(stat_machine)判斷是否要繼續處理該總線的數據,以及控制上傳數據接口dma的啟動和關閉;

總線接口(bus_prot),用於與總線通訊連接,總線接口與總線數量相對應;

總線命令緩存區(cmd_queue_buf),每條總線接口對應一個總線命令緩衝區(cmd_queue_buf),用於存儲mcu主控晶片訪問相對應總線上的設備的命令;

返回數據存儲區(back_temp_buf),每條總線分別對應相應的返回數據存儲區(back_temp_buf),用於存儲當mcu主控晶片訪問該總線上的設備時,設備對應返回的數據,mcu主控晶片通過中斷方式接收從設備返回的數據;

從機設備有效數據存儲區(slave_dat_buf),每條總線分別對應相應的從機設備有效數據存儲區,用於存儲mcu主控晶片處理返回數據存儲區內的數據後提取的有效數據;

上傳數據緩存區(send_queue_buf),用於存儲所有從機設備有效數據存儲區(slave_dat_buf)內存儲的有效數據;

上位機通訊接口(send_prot),用於與上位機通訊連接,將上傳數據緩存區(send_queue_buf)內存儲的所有總線的有效數據發送至上位機。

上述實施例和說明書中描述的只是說明本發明的原理和最佳實施例,在不脫離本發明精神和範圍的前提下,本發明還會有各種變化和改進,這些變化和改進都落入要求保護的本發明範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀