TWI896089B - 連續資料傳輸方法、系統、裝置、電子設備和儲存介質 - Google Patents
連續資料傳輸方法、系統、裝置、電子設備和儲存介質Info
- Publication number
- TWI896089B TWI896089B TW113114780A TW113114780A TWI896089B TW I896089 B TWI896089 B TW I896089B TW 113114780 A TW113114780 A TW 113114780A TW 113114780 A TW113114780 A TW 113114780A TW I896089 B TWI896089 B TW I896089B
- Authority
- TW
- Taiwan
- Prior art keywords
- dsp
- fpga
- signal
- data
- trigger signal
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Studio Devices (AREA)
Abstract
本發明提供了一種連續資料傳輸方法、系統、裝置、電子設備和儲存介質。該方法包括:在預設週期內透過現場可程式化閘陣列(FPGA)從連續資料感測器採集資料包;基於內部計時器的時脈訊號,向數位訊號處理器(DSP)發送觸發訊號和資料包;透過DSP,基於觸發訊號對FPGA發送的資料包的資料進行讀取;若FPGA在預設時長內接收到DSP發送的確認訊號,則透過FPGA基於確認訊號更新資料包。本發明實施例的方法可以將DSP和FPGA的時脈做統一管理,保證FPGA與DSP之間資料傳輸的穩定性,提高系統的運動均勻性。
Description
本發明涉及半導體檢測領域,例如涉及一種連續資料傳輸方法、系統、裝置、電子設備和儲存介質。
隨著半導體檢測方案對精度以及高解析度的要求,連續掃描型運動控制系統被廣泛應用於檢測設備。高精度掃描型系統的運用需要很高的速度均勻性,這對於不同主控系統通訊協定讀取資料包的穩定性要求越來越嚴格。當前工業控制系統中包括高速串列資料通訊協定,例如串列快速輸入輸出(Serial Rapid Input/Output,SRIO)、週邊組件快速互連(Peripheral Component Interconnect Express,PCIE)等,但是這些協議在運用過程中要滿足大資料頻寬同時要求資料穩定性這是十分困難的。
在連續資料傳輸方法中,現場可程式化閘陣列(Field-Programmable Gate Array,FPGA)以FPGA晶振時脈計時,當FPGA寄存器的值達到固定數值後產生觸發訊號將SRIO資料包發送給數位訊號處理器(Digital Signal Processor,DSP)。DSP中斷根據中央處理器的時脈計時產生中斷訊號,透過中斷訊號通知中央處理器讀取資料。這種方法中,由於兩個主控器件(FPGA與DSP)存在跨時脈域問題(FPGA時脈基於物理晶振,DSP基於中央處理器時脈),DSP計時相對於FPGA中斷會存在波動,並且在連續資料傳輸的過程中,硬體時脈差異將累積。導致了對於連續掃描型控制系統,兩相鄰週期之間系統掃描資料存在波動,導致系統的運動均勻性變差。
本發明提供一種連續資料傳輸方法、系統、裝置、電子設備和儲存介質,將數位訊號處理器(DSP)和現場可程式化閘陣列(FPGA)的時脈做統一管理,保證FPGA與DSP之間資料傳輸的穩定性,提高系統的運動均勻性。
本發明實施例提供了一種連續資料傳輸方法,應用於連續資料傳輸系統,所述系統包括連續資料感測器、DSP和FPGA,所述FPGA包括內部計時器,所述方法包括:
在預設週期內透過所述FPGA從所述連續資料感測器採集資料包;
基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號和所述資料包;
透過所述DSP,基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取;
若所述FPGA在預設時長內接收到所述DSP發送的確認訊號,則透過所述FPGA基於所述確認訊號更新所述資料包。
本發明實施例還提供了一種連續資料傳輸系統,所述系統包括連續資料感測器、DSP和FPGA,所述FPGA包括內部計時器;
所述FPGA,設置為在預設週期內從所述連續資料感測器採集資料包;基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號;基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號和所述資料包;若在預設時長內接收到所述DSP發送的確認訊號,則基於所述確認訊號更新所述資料包;
所述DSP,設置為基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取,若讀取成功,則向所述FPGA發送所述確認訊號。
本發明實施例還提供了一種連續資料傳輸裝置,所述裝置包括:
資料採集模組,設置為在預設週期內透過FPGA從連續資料感測器採集資料包;
訊號發送模組,設置為基於所述FPGA中的內部計時器的時脈訊號,向DSP發送觸發訊號和所述資料包;
資料讀取模組,設置為透過所述DSP,基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取;
訊號接收模組,設置為若所述FPGA在預設時長內接收到所述DSP發送的確認訊號,則透過所述FPGA基於所述確認訊號更新所述資料包。
本發明實施例還提供了一種電子設備,所述電子設備包括:
一個或多個處理器;
記憶體,設置為儲存一個或多個程式;
當所述一個或多個程式被所述一個或多個處理器執行,使得所述一個或多個處理器實現如本發明任意實施例提供的連續資料傳輸方法。
本發明實施例還提供了一種電腦可讀儲存介質,其上儲存有電腦程式,該電腦程式被處理器執行時實現如本發明任意實施例提供的連續資料傳輸方法。
本發明實施例中,在預設週期內透過FPGA從連續資料感測器採集資料包; 基於內部計時器的時脈訊號,向DSP發送觸發訊號和資料包;透過DSP,基於觸發訊號對FPGA發送的資料包的資料進行讀取;若FPGA在預設時長內接收到DSP發送的確認訊號,則透過FPGA基於確認訊號更新資料包。即本發明實施例的方法,可以將DSP和FPGA的時脈做統一管理,保證FPGA與DSP之間資料傳輸的穩定性,提高系統的運動均勻性。
相關申請的交叉引用
本發明要求在2023年12月28日提交中國專利局、申請號為202311846229.2的中國專利申請的優先權,該申請的全部內容透過引用結合在本發明中。
下面結合圖式和實施例對本發明進行說明。此處所描述的實施例僅僅用於解釋本發明,而非對本發明的限定。為了便於描述,圖式中僅示出了與本發明相關的部分而非全部結構。
下面將結合本發明實施例中的圖式,對本發明實施例中的技術方案進行描述,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。
本發明的說明書和申請專利範圍及上述圖式中的術語“第一”、“第二”等是用於區別類似的物件,而不必用於描述特定的順序或先後次序。這樣使用的資料在適當情況下可以互換,以便這裡描述的本發明的實施例能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
圖1是本發明實施例提供的一種連續資料傳輸方法的流程圖,本實施例的方法將DSP和FPGA的時脈做統一管理,保證FPGA與DSP之間資料傳輸的穩定性,提高系統的運動均勻性。該方法可以由本發明實施例中的連續資料傳輸裝置來執行,該裝置可集成在電子設備中,所述電子設備可以是伺服器,伺服器包括連續資料傳輸系統,該方法可以採用軟體和/或硬體的方式實現。本實施例提供的連續資料傳輸方法包括如下步驟。
步驟101、在預設週期內透過FPGA從連續資料感測器採集資料包。
其中,預設週期與FPGA和DSP之間使用的資料傳輸協定以及資料傳輸協定的傳輸模式有關。不同的資料傳輸協定和資料傳輸模式對應不同的預設週期。常用的傳輸協定包括SRIO、PCIE、串列式先進附加(Serial Advanced Technology Attachment,SATA)和奧羅拉(Aurora)等。這些資料傳輸協定可以用於資料通訊的介面,但它們的設計目的、特性和應用場合不同,因此資料抓取週期(預設週期)也不同。連續資料感測器是一種可以產生連續訊號的感測器,連續資料感測器的輸出直接與輸入量對應。連續資料感測器可以提供連續的位置資料、高位置解析度和高速回應。
本方案的連續資料傳輸系統包括連續資料感測器、DSP和FPGA,FPGA包括內部計時器。內部計時器是FPGA內部的硬體時脈,內部計時器可以根據固定的時間間隔向FPGA發送時脈訊號。FPGA根據接收到的時脈訊號從連續資料感測器中採集連續資料,並根據採集到的連續資料生成資料包。
步驟102、基於內部計時器的時脈訊號,向DSP發送觸發訊號和資料包。
其中,觸發訊號是FPGA向DSP發送的,用於指示DSP讀取資料包的訊號。本方案中的觸發訊號可以是觸發(TRIG)脈衝,當FPGA接收到內部計時器發送的時脈訊號時,FPGA可以向DSP發送一個高電平脈衝(持續時間至少為10微秒),即向DSP發送一個觸發訊號。
本方案中,可選的,資料包包括SRIO資料包,基於內部計時器的時脈訊號,向DSP發送資料包,包括:控制FPGA透過SRIO的流寫(SWRITE)模式向DSP發送SRIO的資料包。
SRIO是一種高速串列通訊協定,廣泛應用於高性能計算、資料儲存和資料傳輸等場合。在FPGA和DSP的資料傳輸過程中,SRIO可提供高速通訊、低延遲以及強大的調試和診斷能力。SWRITE模式是SRIO協定中的一種寫操作,主要功能就是將資料寫入到指定的位址空間。這種模式的優點是能夠直接對目標位址進行寫操作,而不需要像讀操作那樣需要透過讀(NREAD)事務讀取資料,透過寫(NWRITE)事務寫入資料,從而減少了整體的傳輸延遲。在一種可選的實施方式中,FPGA將資料包透過輸入埠打包到SRIO,並使用SRIO將資料包透過高速串列通訊發送到DSP。在這個過程中,FPGA可以利用SRIO的不同事務類型來執行不同的操作。例如,當需要讀取DSP中的資料時,可以使用NREAD事務;當需要往DSP的特定位址寫入資料時,可以使用NWRITE事務。
上述步驟使得SWRITE SRIO可以應用於連續掃描型多主控交互型系統,並且不會影響SRIO SWRITE頻寬,加強了資料的穩定性。
步驟103、透過DSP,基於觸發訊號對FPGA發送的資料包的資料進行讀取。
其中,觸發訊號是FPGA向DSP發送的,用於指示DSP讀取資料包的訊號。示例性地,在DSP接收到FPGA發送的觸發訊號後,DSP基於觸發訊號對FPGA發送的資料包的資料進行讀取的過程中,需要透過硬體中斷或軟體觸發的方式通知DSP資料已經做好準備。例如,FPGA可以透過通用輸入輸出(General Purpose Input/Output,GPIO)向DSP發送中斷。當DSP接收到來自FPGA的中斷後,DSP會對FPGA相應的記憶體區域進行讀寫操作。
本方案中,當內部計時器發出時脈訊號時,透過FPGA生成資料包的包標識;基於包標識生成觸發訊號,並透過預先設置的共用傳輸線或傳輸介面將觸發訊號發送至DSP。將觸發訊號確定為DSP的中斷訊號,並基於中斷訊號將DSP由當前狀態調整為中斷狀態;透過DSP在中斷狀態下,基於觸發訊號對FPGA發送的資料包的資料進行讀取。
步驟104、若FPGA在預設時長內接收到DSP發送的確認訊號,則透過FPGA基於確認訊號更新資料包。
其中,預設時長是連續資料傳輸系統根據時脈訊號、以及資料傳輸協定等預先確定的時長。確認訊號是DSP向FPGA發送的,用於指示FPGA繼續獲取連續資料感測器的資料包的訊號。本方案中,確認訊號可以是確認字元(Acknowledge character,ACK character)。
示例性地,DSP在接收到資料包後,對資料包進行資料讀取。在資料讀取完畢後,DSP可以拉高ACK(DSP輸出給FPGA的確認訊號),若FPGA檢測到ACK上升沿,則刷新FPGA的寄存器資料,即基於確認訊號更新資料包。反之則不更新寄存器資料,即將寄存器資料鎖存。本方案中,若FPGA在預設時長內沒有接收到DSP發送的確認訊號,則透過FPGA根據時脈訊號向DSP重複發送觸發訊號,直到FPGA接收到DSP發送的確認訊號。
在一種可選的實施方式中,DSP對資料包進行資料讀取,如果讀取成功,則DSP可以在預設時長內向FPGA發送確認訊號,FPGA可以根據該確認訊號更新資料包。如果FPGA在預設時長內沒有接收到確認訊號,則FPGA可以將TRIG再次拉高,開啟下一週期。
本實施例的技術方案,應用於連續資料傳輸系統,系統包括連續資料感測器、DSP和FPGA,FPGA包括內部計時器,方法包括:在預設週期內透過FPGA從連續資料感測器採集資料包;基於內部計時器的時脈訊號,向DSP發送觸發訊號和資料包;透過DSP,基於觸發訊號對FPGA發送的資料包的資料進行讀取;若FPGA在預設時長內接收到DSP發送的確認訊號,則透過FPGA基於確認訊號更新資料包。本實施例的技術方案中,將DSP和FPGA的時脈做統一管理,保證FPGA與DSP之間資料傳輸的穩定性,提高系統的運動均勻性。
圖2是本發明實施例提供的另一種連續資料傳輸方法的流程圖,如圖2所示,該方法包括如下步驟。
步驟201、在預設週期內透過FPGA從連續資料感測器採集資料包。
步驟202、當內部計時器發出時脈訊號時,透過FPGA生成資料包的包標識。
其中,包標識也可以被稱為包標識(IDentifier,ID),包標識用於標記不同的資料包。在一種可選的實施方式中,FPGA可以配置一個計數器,使該計數器在每個時脈週期內遞增。當計數器的值達到預設的閾值時,FPGA可以將當前的資料包發送出去,並重置計數器以準備下一個資料包。例如,假設FPGA有一個16位元的計數器,每次時脈上升沿觸發時,計數器的值就會增加1。當計數器的值達到1024時,FPGA就可以將當前的資料包發送出去,並將計數器重置為0。這樣,FPGA就可以在每個1秒的時間間隔內生成一個新的資料包和一個包標識,並將新的資料包和包標識發送出去。
步驟203、基於包標識生成觸發訊號,並透過預先設置的共用傳輸線或傳輸介面將觸發訊號發送至DSP。
示例性地,在生成包標識後,FPGA可以透過配置相應的邏輯電路生成觸發訊號,並透過共用傳輸線或特定的傳輸介面將該觸發訊號發送至DSP。例如使用通用非同步收發器串口通訊介面將觸發訊號發送至DSP。非同步收發器串口通訊介面是一種應用廣泛的短距離序列傳輸介面。在實際應用中,可以根據實際應用需求以及硬體設備的特性確定觸發訊號的生成方式以及傳輸介面。
步驟204、基於內部計時器的時脈訊號,向DSP發送資料包。
步驟205、將觸發訊號確定為DSP的中斷訊號,並基於中斷訊號將DSP由當前狀態調整為中斷狀態。
其中,觸發訊號是FPGA向DSP發送的,用於指示DSP讀取資料包的訊號。在DSP中,中斷是一種重要的技術,它允許即時控制、故障處理和資料傳輸等操作。中斷是由硬體或軟體產生的驅動訊號,要求DSP暫停執行的程式,轉而去執行一個稱為中斷服務副程式的任務。
在一種可選的實施方式中,FPGA可以根據時脈訊號向DSP發送TRIG脈衝,DSP接收到TRIG脈衝後,將TRIG脈衝作為DSP的中斷訊號。DSP可以根據中斷訊號將當前的程式掛起,並跳轉到中斷服務副程式的執行,即將DSP由當前狀態調整為中斷狀態。在中斷服務副程式執行完畢後,DSP會返回到被中斷的程式繼續執行。
步驟206、透過DSP在中斷狀態下,基於觸發訊號對FPGA發送的資料包的資料進行讀取。
示例性地,當DSP處於中斷狀態時,DSP接收到FPGA發送的資料包後,DSP會暫停當前正在執行的程式,並跳轉到中斷服務副程式(Interrupt Service Routine,ISR)中。在ISR中,DSP需要對資料包進行解析,以確定資料包的格式和內容。根據資料包的格式和內容可以確定出具體的讀取方式,根據資料包的讀取方式對資料包進行讀取。例如,如果資料包是一個位元組流,那麼DSP可以使用直接記憶體存取技術將資料從FPGA的記憶體空間複製到DSP的記憶體空間中。如果資料包是一個結構體或陣列,那麼DSP可以直接透過指標來存取資料。
步驟207、若FPGA在預設時長內接收到DSP發送的確認訊號,則透過FPGA基於確認訊號更新資料包。
步驟208、若FPGA在預設時長內沒有接收到DSP發送的確認訊號,則透過FPGA根據時脈訊號向DSP重複發送觸發訊號,直到FPGA接收到DSP發送的確認訊號。
本發明實施例提供的連續資料傳輸方法,在預設週期內透過FPGA從連續資料感測器採集資料包。基於包標識生成觸發訊號,並透過預先設置的共用傳輸線或傳輸介面將觸發訊號發送至DSP。基於內部計時器的時脈訊號,向DSP發送資料包。將觸發訊號確定為DSP的中斷訊號,並基於中斷訊號將DSP由當前狀態調整為中斷狀態。透過DSP在中斷狀態下,基於觸發訊號對FPGA發送的資料包的資料進行讀取。若FPGA在預設時長內接收到DSP發送的確認訊號,則透過FPGA基於確認訊號更新資料包。若FPGA在預設時長內沒有接收到DSP發送的確認訊號,則透過FPGA根據時脈訊號向DSP重複發送觸發訊號,直到FPGA接收到DSP發送的確認訊號。本實施例的技術方案,採用FPGA和DSP之間的雙握手機制與資料包ID結合的方式,對DSP+FPGA系統的時脈做統一管理,將DSP中斷時脈下移至FPGA,保證了FPGA與DSP之間發送資料包的穩定性。
圖3是本發明實施例提供的一種連續資料傳輸系統的結構示意圖。如圖3所示,連續資料傳輸系統包括連續資料感測器330、DSP310和FPGA320,FPGA320包括內部計時器340;FPGA320,設置為在預設週期內從連續資料感測器330採集資料包;基於內部計時器340的時脈訊號,向DSP310發送觸發訊號;基於內部計時器340的時脈訊號,向DSP310發送觸發訊號和資料包;若在預設時長內接收到DSP310發送的確認訊號,則基於確認訊號更新資料包;DSP310,設置為基於觸發訊號對FPGA320發送的資料包的資料進行讀取,若讀取成功,則向FPGA320發送確認訊號。
其中,預設週期與FPGA320和DSP310之間使用的資料傳輸協定以及資料傳輸協定的傳輸模式有關。連續資料感測器330是一種可以產生連續訊號的感測器,連續資料感測器330的輸出直接與輸入量對應。連續資料感測器330可以提供連續的位置資料、高位置解析度和高速回應。
在一種可選的實施方式中,FPGA320是設置為當內部計時器發出時脈訊號時,生成資料包的包標識;基於包標識生成觸發訊號,並透過預先設置的共用傳輸線或傳輸介面將觸發訊號發送至DSP310。
圖4是本發明實施例提供的另一種連續資料傳輸系統的結構示意圖。如圖4所示,連續資料傳輸系統包括DSP310、FPGA320和連續資料感測器330。FPGA320包括資料驅動模組3201、資料採集模組3202、ID生成模組3203、第一訊號收發模組3204和寄存器3205。DSP310包括第二訊號收發模組3101、介面模組3102和儲存設備3103。其中,FPGA320的寄存器3205可以指示FPGA320的資料驅動模組3201向連續資料感測器330發送資料參數,資料採集模組3202接收連續資料感測器330發送的資料包,並將資料包發送給寄存器3205。寄存器3205透過ID生成模組3203生成包ID後,透過第一訊號收發模組3204向DSP310發送觸發訊號,寄存器3205透過資料介面向儲存設備3103發送資料包。DSP310透過第二訊號收發模組3101接收觸發訊號,並根據觸發訊號確定中斷訊號,根據中斷訊號讀取儲存設備3103接收到的資料包。儲存設備3103可以將讀取後的資料發送至介面模組3102,並生成一個確認訊號,將確認訊號透過第二訊號收發模組3101發送給FPGA320的第一訊號收發模組3204。
本系統中,若FPGA320在預設時長內接收到DSP310發送的確認訊號,則透過FPGA320基於確認訊號更新資料包。若FPGA320在預設時長內沒有接收到DSP310發送的確認訊號,則透過FPGA320根據時脈訊號向DSP310重複發送觸發訊號,直到FPGA320接收到DSP310發送的確認訊號。示例性的,圖5是本發明實施例提供的第一時域圖。如圖5所示,FPGA在預設時長內接收到了DSP發送的確認訊號。圖5的左邊為FPGA時域,右邊為DSP時域。FPGA透過SRIO分別向DSP發送包標識為X(ID=X)和X+1(ID=X+1)的資料包,當FPGA向DSP發送包標識為X +2的資料包時,同時透過訊號收發模組(TRIG&ACK)向DSP發送TRIG訊號,DSP接收到TRIG訊號後,將資料包發送至DSP的儲存設備。FPGA透過SRIO繼續向DSP發送包標識為X+3(ID=X+3)和X+4(ID=X+4)的數據包。圖6是本發明實施例提供的連續資料傳輸系統的第一時序圖。如圖6所示,FPGA在預設時長內接收到了DSP發送的確認訊號。FPGA_CLK表示時脈訊號,FPGA_資料包表示FPGA獲取到的資料包(圖中用包標識體現),SRIO_資料包表示FPGA透過SRIO向DSP發送的資料包。DSP TRIG(FPGA輸出)表示DSP接收到的FPGA發送的TRIG訊號。從圖6中可以看出當FPGA向DSP發送包標識為X+2的資料包時,同時向DSP發送TRIG訊號。DSP ACK(FPGA輸入)是DSP接收到包標識為X+2的資料包後,向FPGA返回的確認訊號。從圖6中可以看出DSP成功接收了包標識為X+2的資料包並向DSP發送了確認訊號。
示例性的,圖7是本發明實施例提供的連續資料傳輸系統的第二時域圖。如圖7所示,FPGA在預設時長內沒有接收到DSP發送的確認訊號時,FPGA會重複發送TRIG訊號和資料包,直到DSP接收到資料包。圖7的左邊為FPGA時域,右邊為DSP時域。FPGA透過SRIO分別向DSP發送包標識為X(ID=X)和X+1(ID=X+1)的資料包,當FPGA向DSP發送包標識為X+2的資料包時,同時透過訊號收發模組(TRIG&ACK)向DSP發送TRIG訊號,DSP沒有接收到或者讀取失敗,因此FPGA沒有接收到DSP發送的返回訊號。FPGA透過SRIO重複向DSP發送包標識為X+2的資料包和TRIG訊號,直到DSP接收到TRIG訊號並將資料包發送至DSP的儲存設備。DSP在接收到資料包後,向FPGA發送ACK訊號,接收到ACK訊號後,FPGA發送當前時刻獲取到的資料包和包ID。如果當前時刻的包ID為X+3,則向DSP發送包ID為X+3的資料包。繼續發送包標識為X+4(ID=X+4)的資料包,完成當前週期的資料傳輸流程。圖8是本發明實施例提供的連續資料傳輸系統的第二時序圖。如圖8所示,FPGA在預設時長內沒有接收到DSP發送的確認訊號。從圖8中可以看出當FPGA向DSP發送包標識為X+2的資料包時,同時向DSP發送TRIG訊號。由於DSP沒有接收到資料包或者讀取失敗,FPGA沒有接收到DSP發送的返回訊號,則FPGA透過SRIO重複向DSP發送包標識為X+2的資料包和TRIG訊號,圖8中DSP TRIG(FPGA輸出)的橫線有6個凸起,表示發送了6次。當DSP成功接收了包標識為X+2的資料包後,向DSP發送確認訊號。
本實施例提供的系統包括連續資料感測器、DSP和FPGA,FPGA包括內部計時器;FPGA,設置為在預設週期內從連續資料感測器採集資料包;基於內部計時器的時脈訊號,向DSP發送觸發訊號;基於內部計時器的時脈訊號,向DSP發送觸發訊號和資料包;若在預設時長內接收到DSP發送的確認訊號,則基於確認訊號更新資料包;DSP,設置為基於觸發訊號對FPGA發送的資料包的資料進行讀取,若讀取成功,則向FPGA發送確認訊號。本實施例提供的系統,將DSP和FPGA的時脈做統一管理,保證FPGA與DSP之間資料傳輸的穩定性,提高系統的運動均勻性。
圖9是本發明實施例提供的連續資料傳輸裝置的結構示意圖。本發明實施例提供了一種連續資料傳輸裝置,所述裝置包括以下模組。
資料採集模組901,設置為在預設週期內透過所述FPGA從所述連續資料感測器採集資料包;
訊號發送模組902,設置為基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號和所述資料包;
資料讀取模組903,設置為透過所述DSP,基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取;
訊號接收模組904,設置為若所述FPGA在預設時長內接收到所述DSP發送的確認訊號,則透過所述FPGA基於所述確認訊號更新所述資料包。
可選的,訊號發送模組902,是設置為:當所述內部計時器發出時脈訊號時,透過所述FPGA生成所述資料包的包標識;
基於所述包標識生成所述觸發訊號,並透過預先設置的共用傳輸線或傳輸介面將所述觸發訊號發送至所述DSP。
可選的,資料讀取模組903,是設置為:將所述觸發訊號確定為所述DSP的中斷訊號,並基於所述中斷訊號將所述DSP由當前狀態調整為中斷狀態;透過所述DSP在所述中斷狀態下,基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取。
可選的,訊號接收模組904,是設置為:若所述FPGA在所述預設時長內沒有接收到所述DSP發送的確認訊號,則透過所述FPGA根據所述時脈訊號向所述DSP重複發送所述觸發訊號,直到所述FPGA接收到所述DSP發送的確認訊號。
可選的,所述資料包包括SRIO串列匯流排協定的資料包,訊號發送模組902,還設置為:控制所述FPGA透過所述SRIO的SWRITE模式向所述DSP發送所述SRIO的資料包。
本發明實施例所提供的連續資料傳輸裝置可執行本發明任意實施例所提供的連續資料傳輸方法,具備執行方法相應的功能模組和效果。
圖10是本發明實施例提供的一種電子設備的結構示意圖,參考圖10,其示出了適於用來實現本發明實施例的電子設備12的結構示意圖。圖10示出的電子設備僅僅是一個示例,不應對本發明實施例的功能和使用範圍帶來任何限制。電子設備12的組件可以包括:一個或者多個處理器或者處理單元16,系統記憶體28,連接不同系統組件(包括系統記憶體28和處理單元16)的匯流排18。
匯流排18表示幾類匯流排結構中的一種或多種,包括記憶體匯流排或者記憶體控制器,週邊匯流排,圖形加速埠,處理器或者使用多種匯流排結構中的任意匯流排結構的區域匯流排。舉例來說,這些體系結構包括工業標準架構(Industry Subversive Alliance,ISA)匯流排,微通道架構(Micro Channel Architecture,MCA)匯流排,增強型ISA匯流排、視訊電子標準協會(Video Electronics Standards Association,VESA)區域匯流排以及週邊組件連接(Peripheral Component Interconnect,PCI)匯流排。
電子設備12包括多種電腦系統可讀介質。這些介質可以是任何能夠被電子設備12存取的可用介質,包括揮發性和非揮發性介質,可移動的和不可移動的介質。
系統記憶體28可以包括揮發性記憶體形式的電腦系統可讀介質,例如隨機存取記憶體(Random Access Memory,RAM)30和/或快取記憶體32。電子設備12可以包括其它可移動/不可移動的、揮發性/非揮發性電腦系統儲存介質。僅作為舉例,儲存系統34可以用於讀寫不可移動的、非揮發性磁介質(圖10未顯示,通常稱為“硬碟驅動器”)。儘管圖10中未示出,可以提供用於對可移動非揮發性磁碟(例如“軟碟”)讀寫的磁碟機,以及對可移動非揮發性光碟(例如唯讀記憶光碟(Compact Disc Read Only Memory,CD-ROM),數位視訊唯讀記憶光碟(Digital Video Disk Read Only Memory,DVD-ROM)或者其它光介質)讀寫的光碟驅動器。在這些情況下,每個驅動器可以透過一個或者多個資料介質介面與匯流排18相連。系統記憶體28可以包括至少一個程式產品,該程式產品具有一組(例如至少一個)程式模組,這些程式模組被配置以執行本發明多個實施例的功能。
具有一組(至少一個)程式模組42的程式/實用工具40,可以儲存在例如系統記憶體28中,這樣的程式模組42包括作業系統、一個或者多個應用程式、其它程式模組以及程式資料,這些示例中的每一個或某種組合中可能包括網路環境的實現。程式模組42通常執行本發明所描述的實施例中的功能和/或方法。
電子設備12也可以與一個或多個外部設備14(例如鍵盤、指向設備、顯示器24等)通訊,還可與一個或者多個使得使用者能與該電子設備12交互的設備通訊,和/或與使得該電子設備12能與一個或多個其它計算設備進行通訊的任何設備(例如網卡,數據機等等)通訊。這種通訊可以透過輸入/輸出(Input/Output,I/O)介面22進行。另外,本實施例中的電子設備12,顯示器24不是作為獨立個體存在,而是嵌入鏡面中,在顯示器24的顯示面不予顯示時,顯示器24的顯示面與鏡面從視覺上融為一體。並且,電子設備12還可以透過網路介面卡20與一個或者多個網路(例如區域網路(Local Area Network,LAN),廣域網路(Wide Area Network,WAN)和/或公共網路,例如網際網路)通訊。如圖所示,網路介面卡20透過匯流排18與電子設備12的其它模組通訊。應當明白,儘管圖10中未示出,可以結合電子設備12使用其它硬體和/或軟體模組,包括:微代碼、設備驅動器、冗餘處理單元、外部磁碟驅動陣列、磁碟陣列(Redundant Arrays of Independent Drives,RAID)系統、磁帶驅動器以及資料備份儲存系統等。
處理單元16透過運行儲存在系統記憶體28中的程式,從而執行多種功能應用以及連續資料傳輸,例如實現本發明實施例所提供的一種連續資料傳輸方法,該方法包括:在預設週期內透過所述FPGA從所述連續資料感測器採集資料包;基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號和所述資料包;透過所述DSP,基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取;若所述FPGA在預設時長內接收到所述DSP發送的確認訊號,則透過所述FPGA基於所述確認訊號更新所述資料包。
本發明實施例提供了一種電腦可讀儲存介質,其上儲存有電腦程式,該程式被處理器執行時實現如本發明所有實施例提供的一種連續資料傳輸方法,該方法包括:在預設週期內透過所述FPGA從所述連續資料感測器採集資料包;基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號和所述資料包;透過所述DSP,基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取;若所述FPGA在預設時長內接收到所述DSP發送的確認訊號,則透過所述FPGA基於所述確認訊號更新所述資料包。
電腦可讀介質可以是電腦可讀訊號介質或者電腦可讀儲存介質。電腦可讀儲存介質例如可以是電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。電腦可讀儲存介質包括:具有一個或多個導線的電連接、可攜式電腦磁碟、硬碟、RAM、唯讀記憶體(Read-Only Memory,ROM)、電子抹除式可複寫唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EPROM)、快閃記憶體、光纖、可攜式CD-ROM、光儲存器件、磁儲存器件、或者上述的任意合適的組合。在本文中,電腦可讀儲存介質可以是任何包含或儲存程式的有形介質,該程式可以被指令執行系統、裝置或者器件使用或者與其結合使用。儲存介質可以是非暫態(non-transitory)儲存介質。
電腦可讀的訊號介質可以包括在基帶中或者作為載波一部分傳播的資料訊號,其中承載了電腦可讀的程式碼。這種傳播的資料訊號可以採用多種形式,包括電磁訊號、光訊號或上述的任意合適的組合。電腦可讀的訊號介質還可以是電腦可讀儲存介質以外的任何電腦可讀介質,該電腦可讀介質可以發送、傳播或者傳輸用於由指令執行系統、裝置或者器件使用或者與其結合使用的程式。
電腦可讀介質上包含的程式碼可以用任何適當的介質傳輸,包括無線、電線、光纜、射頻(Radio Frequency,RF)等等,或者上述的任意合適的組合。
可以以一種或多種程式設計語言或其組合來編寫用於執行本發明操作的電腦程式代碼,程式設計語言包括物件導向的程式設計語言,諸如Java、Smalltalk、C++,還包括常規的過程式程式設計語言,諸如“C”語言或類似的程式設計語言。程式碼可以完全地在使用者電腦上執行、部分地在使用者電腦上執行、作為一個獨立的套裝軟體執行、部分在使用者電腦上部分在遠端電腦上執行、或者完全在遠端電腦或伺服器上執行。在涉及遠端電腦的情形中,遠端電腦可以透過任意種類的網路——包括LAN或WAN—連接到使用者電腦,或者,可以連接到外部電腦(例如利用網際網路服務提供者來透過網際網路連接)。
12:電子設備
14:外部設備
16:處理單元
18: 匯流排
20:網路介面卡
22:I/O介面
24:顯示器
28:系統記憶體
30:RAM
32: 快取記憶體
34:儲存系統
40: 程式/實用工具
42: 程式模組
101~104、201~208:步驟
310:DSP
3101:第二訊號收發模組
3102:介面模組
3103:儲存設備
320:FPGA
3201:資料驅動模組
3202:資料採集模組
3203:ID生成模組
3204:第一訊號收發模組
3205:寄存器
330:連續資料感測器
340:內部計時器
901:資料採集模組
902:訊號發送模組
903:資料讀取模組
904: 訊號接收模組
圖1是本發明實施例提供的一種連續資料傳輸方法的流程圖;
圖2是本發明實施例提供的另一種連續資料傳輸方法的流程圖;
圖3是本發明實施例提供的一種連續資料傳輸系統的結構示意圖;
圖4是本發明實施例提供的另一種連續資料傳輸系統的結構示意圖;
圖5是本發明實施例提供的連續資料傳輸系統的第一時域圖;
圖6是本發明實施例提供的連續資料傳輸系統的第一時序圖;
圖7是本發明實施例提供的連續資料傳輸系統的第二時域圖;
圖8是本發明實施例提供的連續資料傳輸系統的第二時序圖;
圖9是本發明實施例提供的連續資料傳輸裝置的結構示意圖;
圖10是本發明實施例提供的一種電子設備的結構示意圖。
101~104:步驟
Claims (9)
- 一種連續資料傳輸方法,應用於連續資料傳輸系統,所述系統包括連續資料感測器、數位訊號處理器(DSP)和現場可程式化閘陣列(FPGA),所述FPGA包括內部計時器,所述方法包括: 在預設週期內透過所述FPGA從所述連續資料感測器採集資料包; 基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號和所述資料包; 透過所述DSP,基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取; 在所述FPGA在預設時長內接收到所述DSP發送的確認訊號的情況下,透過所述FPGA基於所述確認訊號更新所述資料包; 其中,基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號,包括: 在所述內部計時器發出所述時脈訊號的情況下,透過所述FPGA生成所述資料包的包標識; 基於所述包標識生成所述觸發訊號,並透過預先設置的共用傳輸線或傳輸介面將所述觸發訊號發送至所述DSP。
- 如請求項1所述的方法,其中,所述透過所述DSP,基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取,包括: 將所述觸發訊號確定為所述DSP的中斷訊號,並基於所述中斷訊號將所述DSP由當前狀態調整為中斷狀態; 透過所述DSP在所述中斷狀態下,基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取。
- 如請求項1所述的方法,還包括: 在所述FPGA在所述預設時長內沒有接收到所述DSP發送的確認訊號的情況下,透過所述FPGA根據所述時脈訊號向所述DSP重複發送所述觸發訊號,直到所述FPGA接收到所述DSP發送的確認訊號。
- 如請求項1所述的方法,其中,所述資料包包括串列快速輸入輸出(SRIO)串列匯流排協定的資料包,基於所述內部計時器的時脈訊號,向所述DSP發送所述資料包,包括: 控制所述FPGA透過所述SRIO的流寫(SWRITE)模式向所述DSP發送所述SRIO的資料包。
- 一種連續資料傳輸系統,其中,所述系統包括連續資料感測器、數位訊號處理器(DSP)和現場可程式化閘陣列(FPGA),所述FPGA包括內部計時器; 所述FPGA,設置為在預設週期內從所述連續資料感測器採集資料包;基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號和所述資料包;在預設時長內接收到所述DSP發送的確認訊號的情況下,基於所述確認訊號更新所述資料包; 其中,基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號,包括:在所述內部計時器發出所述時脈訊號的情況下,透過所述FPGA生成所述資料包的包標識;基於所述包標識生成所述觸發訊號,並透過預先設置的共用傳輸線或傳輸介面將所述觸發訊號發送至所述DSP; 所述DSP,設置為基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取,在讀取成功的情況下,向所述FPGA發送所述確認訊號。
- 如請求項6所述的系統,其中,所述FPGA,是設置為在所述內部計時器發出所述時脈訊號的情況下,生成所述資料包的包標識;基於所述包標識生成所述觸發訊號,並透過預先設置的共用傳輸線或傳輸介面將所述觸發訊號發送至所述DSP。
- 一種連續資料傳輸裝置,包括: 資料採集模組,設置為在預設週期內透過現場可程式化閘陣列(FPGA)從連續資料感測器採集資料包; 訊號發送模組,設置為基於所述FPGA中的內部計時器的時脈訊號,向數位訊號處理器(DSP)發送觸發訊號和所述資料包; 其中,基於所述內部計時器的時脈訊號,向所述DSP發送觸發訊號,包括:在所述內部計時器發出所述時脈訊號的情況下,透過所述FPGA生成所述資料包的包標識;基於所述包標識生成所述觸發訊號,並透過預先設置的共用傳輸線或傳輸介面將所述觸發訊號發送至所述DSP; 資料讀取模組,設置為透過所述DSP,基於所述觸發訊號對所述FPGA發送的資料包的資料進行讀取; 訊號接收模組,設置為在所述FPGA在預設時長內接收到所述DSP發送的確認訊號的情況下,透過所述FPGA基於所述確認訊號更新所述資料包。
- 一種電子設備,包括記憶體、處理器及儲存在所述記憶體上並可在所述處理器上運行的電腦程式,其中,所述處理器執行所述電腦程式時實現如請求項1至4中任一項所述的連續資料傳輸方法。
- 一種電腦可讀儲存介質,其上儲存有電腦程式,其中,所述電腦程式被處理器執行時實現如請求項1至4中任一項所述的連續資料傳輸方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2023118462292 | 2023-12-28 | ||
| CN202311846229.2A CN117785787B (zh) | 2023-12-28 | 2023-12-28 | 一种连续数据传输方法、装置、电子设备和存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202526658A TW202526658A (zh) | 2025-07-01 |
| TWI896089B true TWI896089B (zh) | 2025-09-01 |
Family
ID=90383344
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW113114780A TWI896089B (zh) | 2023-12-28 | 2024-04-19 | 連續資料傳輸方法、系統、裝置、電子設備和儲存介質 |
Country Status (3)
| Country | Link |
|---|---|
| CN (1) | CN117785787B (zh) |
| TW (1) | TWI896089B (zh) |
| WO (1) | WO2025138480A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117785787B (zh) * | 2023-12-28 | 2025-10-24 | 上海御微半导体技术有限公司 | 一种连续数据传输方法、装置、电子设备和存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040210855A1 (en) * | 2002-02-22 | 2004-10-21 | Xilinx, Inc. | Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC) |
| CN101403962A (zh) * | 2008-11-13 | 2009-04-08 | 山东大学 | 基于fpga的异步双fifo的数据缓存方法 |
| TWI632461B (zh) * | 2017-05-25 | 2018-08-11 | 緯穎科技服務股份有限公司 | 獲取時間戳記的方法以及使用該方法的電腦裝置 |
| CN109446126A (zh) * | 2018-10-17 | 2019-03-08 | 天津津航计算技术研究所 | 基于emif总线的dsp与fpga高速通信系统及方法 |
| CN110765045A (zh) * | 2019-09-19 | 2020-02-07 | 苏州浪潮智能科技有限公司 | 一种基于fpga的中断延时计数系统及方法 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105928602A (zh) * | 2016-04-15 | 2016-09-07 | 深圳艾瑞斯通技术有限公司 | 光纤传感器信号的采集与处理装置以及方法 |
| CN106507013B (zh) * | 2016-10-26 | 2019-04-30 | 青岛海信电器股份有限公司 | Vbo信号传输的控制方法、装置和显示终端 |
| CN107979507A (zh) * | 2017-11-21 | 2018-05-01 | 广州视源电子科技股份有限公司 | 一种数据传输方法、装置、设备及存储介质 |
| CN109739712B (zh) * | 2019-01-08 | 2022-02-18 | 郑州云海信息技术有限公司 | Fpga加速卡传输性能测试方法、装置及设备和介质 |
| CN109902056A (zh) * | 2019-01-31 | 2019-06-18 | 郑州云海信息技术有限公司 | 一种串行传输的方法、装置、设备及计算机可读存储介质 |
| CN114443525B (zh) * | 2020-11-06 | 2023-08-15 | 辰芯科技有限公司 | 一种数据处理系统、方法、电子设备及存储介质 |
| CN115328433B (zh) * | 2022-08-10 | 2024-07-30 | 电子科技大学 | 基于fpga+dsp架构的功率分析仪数据传输系统 |
| CN115757251A (zh) * | 2022-11-23 | 2023-03-07 | 合肥御微半导体技术有限公司 | 一种数据传输系统、方法、设备以及介质 |
| CN116627869B (zh) * | 2023-05-31 | 2024-06-07 | 重庆赛力斯凤凰智创科技有限公司 | 应用于电子设备的数据传输方法及装置 |
| CN117785787B (zh) * | 2023-12-28 | 2025-10-24 | 上海御微半导体技术有限公司 | 一种连续数据传输方法、装置、电子设备和存储介质 |
-
2023
- 2023-12-28 CN CN202311846229.2A patent/CN117785787B/zh active Active
-
2024
- 2024-04-01 WO PCT/CN2024/085214 patent/WO2025138480A1/zh active Pending
- 2024-04-19 TW TW113114780A patent/TWI896089B/zh active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040210855A1 (en) * | 2002-02-22 | 2004-10-21 | Xilinx, Inc. | Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC) |
| CN101403962A (zh) * | 2008-11-13 | 2009-04-08 | 山东大学 | 基于fpga的异步双fifo的数据缓存方法 |
| TWI632461B (zh) * | 2017-05-25 | 2018-08-11 | 緯穎科技服務股份有限公司 | 獲取時間戳記的方法以及使用該方法的電腦裝置 |
| CN109446126A (zh) * | 2018-10-17 | 2019-03-08 | 天津津航计算技术研究所 | 基于emif总线的dsp与fpga高速通信系统及方法 |
| CN110765045A (zh) * | 2019-09-19 | 2020-02-07 | 苏州浪潮智能科技有限公司 | 一种基于fpga的中断延时计数系统及方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117785787B (zh) | 2025-10-24 |
| WO2025138480A1 (zh) | 2025-07-03 |
| TW202526658A (zh) | 2025-07-01 |
| CN117785787A (zh) | 2024-03-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10712809B2 (en) | Link power savings with state retention | |
| US8626979B2 (en) | Common protocol engine interface for a controller interface | |
| US20100257288A1 (en) | Dma controller | |
| TWI896089B (zh) | 連續資料傳輸方法、系統、裝置、電子設備和儲存介質 | |
| US10540301B2 (en) | Virtual host controller for a data processing system | |
| US9098431B2 (en) | USB redirection for interrupt transactions | |
| CN110765045B (zh) | 一种基于fpga的中断延时计数系统及方法 | |
| US7263568B2 (en) | Interrupt system using event data structures | |
| WO2024051122A1 (zh) | 一种PCIe中断处理方法、装置、设备及非易失性可读存储介质 | |
| CN115113978A (zh) | 一种中断请求处理装置、方法及virtio网络设备 | |
| CN116974636B (zh) | 多路互联系统及其总线接口初始化方法、装置 | |
| US9600232B2 (en) | Aligning FIFO pointers in a data communications lane of a serial link | |
| KR20050010906A (ko) | 버스 시스템, 버스 시스템에 사용하기 위한 스테이션 및버스 인터페이스 | |
| WO2025156551A1 (zh) | 一种virtio设备中断方法及装置、后端设备、芯片 | |
| CN117891624A (zh) | 基于虚拟化设备的应用间通信方法、装置及电子设备 | |
| CN115729863A (zh) | 数据传输方法、装置、电子设备及介质 | |
| CN119201805B (zh) | 基于串口实现的多机通信数据处理方法和多机通信系统 | |
| US12223355B2 (en) | Synchronization of system resources in a multi-socket data processing system | |
| JP3478565B2 (ja) | パラレルインタフェース回路 | |
| CN120454965A (zh) | 一种基于PCIe的中断控制方法、装置及计算机设备 | |
| Zilker et al. | Development and implementation of real-time data acquisition systems for fusion devices with Open Source software | |
| ZHOU et al. | Design on PCIe Real-time Measurement and Control Platform for MEMS Gyroscope | |
| CN119988265A (zh) | 基于增强型串行外设接口的数据传输方法、装置、设备及介质 | |
| US20110191513A1 (en) | Interrupt control method and system | |
| CN108958701A (zh) | 一种数据传输控制方法、装置及存储介质 |