新四季網

一種基於fpga的擴展多串口裝置及其數據收發方法

2023-04-28 11:17:36

專利名稱:一種基於fpga的擴展多串口裝置及其數據收發方法
技術領域:
本發明涉及現場可編程門陣列FPGA技術領域,尤其涉及一種基於FPGA的多串ロ控制器設計,可用於DSP単一中斷源的多串ロ擴展。
背景技術:
隨著電子技術的飛躍發展,通用數位訊號處理器(DSP)的性能價格比不斷提高,數據處理能力不斷加強,其應用領域日益增多,在數據實時採集及高速數位訊號處理中應用尤其廣泛。當DSP獨立構成ー個處理單元時,往往需要和外設進行數據交換,其通信能力至關重要,常用的通信方法就有串ロ通信。目前比較通用的實現方案是採用通用異步通信晶片實現串ロ擴展,採用FPGA實 現DSP與異步串ロ擴展晶片之間的邏輯控制,完全基於DSP接收和發送數據。該方案的缺點是當數據量較大、多串ロ同時工作時佔用DSP的時間較長,影響DSP的工作效率,且會造成數據丟失。目前多串ロ擴展常用的技術是使用專用的串ロ擴展晶片,採用FPGA實現DSP與異步串ロ擴展晶片之間的邏輯控制,完全基於DSP接收和發送數據,例如GM8123、GM8125等,其功能是將ー個全雙エ串ロ擴展成多個串ロ,通過外部引腳控制串ロ擴展模式,並且波特率統ー調節,最高波特率有一定限制,其特點是外部控制少,編程使用簡單。其存在的缺點也比較顯著,擴展出的串ロ個數有限且固定,擴展後的串口數據傳輸速度會降低,各個串ロ波特率無法單獨設置,使用擴展的接ロ為單ー的串ロ,無法對特定接ロ進行擴展。

發明內容
本發明ー種基於FPGA的多串ロ控制器設計解決了 DSP的單一中斷源的多串ロ擴展的問題,擴展的各個串ロ全雙エ收發互不影響,每個串ロ完全獨立,波特率可単獨設置且速度不會降低,所需的串ロ個數可以自由定製串ロ接收不存在中斷優先級的問題。本發明提供了一種基於FPGA的擴展多串口裝置,採用現場可編程門陣列FPGA通過數據總線連接數字處理器DSP實現串ロ的擴展,所述擴展多串口裝置包括控制器,至少ー個串ロ模塊,以及連接所述控制器與串ロ模塊的緩存模塊。進ー步地,所述串ロ模塊包括波特率發生器子模塊,串ロ接收子模塊和串ロ發送子模塊。所述波特率發生器子模塊是分配器,用於將輸入時鐘分頻成所述串ロ模塊需要的時鐘。單個串ロ均設計有波特率發生器就從硬體上保證了擴展的每個串ロ波特率可調可設。每ー個所述串ロ模塊與控制器之間都具有単獨的緩存模塊,所述緩存模塊為FIFO緩存,所述串ロ模塊與FIFO緩存之間通過異步方式連接。FIFO深度可自由設置,串ロ與FIFO連接採用異步方式,該設計從硬體上保證了擴展的串ロ均為全雙エ串ロ,各個串ロ互不幹擾,單個串ロ收發也互不影響。所述擴展多串口裝置多個串ロ模塊共用一個控制器,提供ー個中斷接ロ,用幹與DSP之間傳遞中斷信號,採用單一的中斷源實現多串ロ擴展。本發明還提供了一種如權利要求I所述的基於FPGA的擴展多串口裝置數據收發方法,用於採用FPGA通過數據總線連接DSP實現多串口數據的收發,其特徵在於,所述包括步驟串ロ模塊接收外部串行數據的輸入,將串行數據轉換為並行數據寫入緩存模塊;當緩存模塊半滿時,通知控制器產生半滿標誌位標識所述緩存模塊為半滿狀態;DSP查詢緩存模塊的半滿標誌位,通過數據總線從具有半滿標誌位的緩存模塊讀取數據,直到該緩存模塊為空;DSP通過數據總線將數據寫入緩存模塊,緩存模塊立即將並行數據讀出到串ロ模塊,串ロ模塊將並行數據轉換為串行數據發送。 進ー步地,所述數據收發方法還包括步驟所述串ロ模塊中設置的波特率發生器將輸入時鐘分頻成所述串ロ模塊需要的時鐘。進ー步地,所述數據收發方法還包括步驟,當緩存模塊半滿時,通知控制器產生中斷信號,並將所述中斷信號上傳到DSP以觸發DSP從具有半滿標誌位的緩存模塊讀取數據。本發明的有益效果是,擴展的各個串ロ全雙エ收發互不影響,每個串ロ完全獨立,波特率可単獨設置且速度不會降低,需要的串ロ個數可以自行定製,串ロ接收數據向DSP請求中斷後可由DSP選擇數據讀取方式,FPGA上串ロ接收不存在優先級問題,DSP上只需ー個中斷源進行多串ロ擴展。


圖I為本發明擴展多串口裝置結構示意圖;圖2為本發明實施例示意圖。
具體實施例方式下面結合附圖和實施例對本發明技術方案做進ー步詳細說明,以下實施例不構成對本發明的限定。本發明的實施例使用的是Xilinx的Spartan3系列的XC3S400FPGA與ー塊TMS320C6713DSP相連,實現單一中斷源的多串ロ擴展。如圖I所示,本發明基於FPGA的擴展多串口裝置採用Xilinx的Spartan3系列的現場可編程門陣列I (XC3S400FPGA,以下簡稱FPGA),通過數據總線連接數位訊號處理器33(TMS320C6713DSP,以下簡稱DSP)實現串ロ的擴展。DSP作為上層主控制器,FPGA作為協處理器作串ロ擴展,DSP與FPGA採用同步方式進行數據通信。其中FPGA的輸入是串ロ接收總線rxd[N:0]2、時鐘CLK4、復位reset5、地址總線EA8、片選CE9、A0E10、讀使能11、寫使能12、DSP同步時鐘32 ;輸出是串ロ發送總線txd[N:0]3、中斷 INT6、數據總線 ED7。需要說明的是,DSP可同時外接多塊FPGA,通過片選信號CE9來選擇對應的FPGA。串ロ接收總線rxd [N: 0] 2和串ロ發送總線txd [N: 0] 3對應的一組串ロ接收和串ロ發送組成一個完整的擴展串ロ,在FPGA硬體允許,特別是FPGA中Block RAM容量允許的條件下,N的取值根據設計需要的串口數自行定製,當需要擴展三個串ロ時,設置N為2,rxd [2:0]和串ロ發送txd[2:0]表示有三個擴展串ロ,分別對應串ロ 0,串ロ I和串ロ 2。FPGA設計主要包括FPGA晶片電路、存儲器、輸入/輸出接ロ電路等幾個部分,其中晶片電路是最核心的部分,存儲器的設計可以參考晶片手冊的標準設計,輸入輸出管腳可以自行定義並配置電平標準,從FPGA管腳出來的串口數據信號可以通過電平轉換接至所需要的接ロ。核心部分晶片電路設計主要分為三部分單個串ロ收發模塊、對應的存儲模塊和控制模塊。單個的串ロ收發模塊由三個子模塊組成波特率發生器子模塊、串ロ接收子模塊、串ロ發送子模塊。其中波特率發生器實質上是ー個分頻器,將FPGA的輸入時鐘分頻成串ロ需要的時鐘,單個串ロ均設計有波特率發生器就從硬體上保證了擴展的每個串ロ波特率可調可設。串ロ接收子模塊和串ロ發送子模塊均根據串口數據定義,採用有限狀態機設計,每個串ロ收發子模塊與均有與之對應的存儲單元,存儲單元的結構選擇FIFO,FIFO深度可設,本例中為512位元組。串ロ與FIFO連接採用異步方式,該設計從硬體上保證了擴展的串ロ均為全雙エ串ロ,各個串ロ互不幹擾,單個串ロ收發也互不影響。 本例中對於串ロ接收,即對接收FIFO讀操作採取的策略是當FIFO半滿時產生半滿標誌位和中斷信號,標明該FIFO半滿並告知TMS320C6713DSP讀取該FIFO中緩存的數據;這樣使得串ロ接收不存在優先級問題;對於串ロ發送則是當發送FIFO中寫入有數據時,即將其讀出到串ロ發送子模塊發送出去。該控制設計使得多個串ロ不存在優先級的區另IJ,讀取FIFO時只要中斷信號產生,即由DSP詢查半滿標誌位讀出對應FIFO數據,有多個標誌位則讀取多個標誌位對應FIFO的數據;寫FIFO時只要FIFO有數據則硬體完成數據發送。本發明的ー個具體實施例以三串ロ擴展為例,如圖2所示,每個串ロ由三個部分相互連接構成串ロ模塊、FIFO、控制器,組成三串ロ的基於FPGA的擴展多串口裝置。其中每個串ロ模塊均包括串ロ波特率發生器、串ロ接收子模塊、串ロ發送子模塊,並通過FIFO與控制器相連,通過串ロ接收和串ロ發送接ロ接收和發送數據。具體地,串ロ模塊13包括波特率發生器14、串ロ接收子模塊15、串ロ發送子模塊16,通過接收FIF017和發送FIF018與控制器19相連,通過串ロ接收34接收數據,通過串ロ發送35發送數據,串ロ接收34對應於串ロ接收總線2的rxd
,串ロ發送35對應串ロ發送總線3的txd
;串ロ模塊20包括波特率發生器21、串ロ接收子模塊22、串ロ發送子模塊23,通過接收FIF024和發送FIF025與控制器19相連,通過串ロ接收36接收數據,通過串ロ發送36發送數據,串ロ接收36對應於串ロ接收總線2的rxd[l],串ロ發送37對應串ロ發送總線3的txd[l];串ロ模塊26包括波特率發生器27、串ロ接收子模塊28、串ロ發送子模塊29,通過接收FIF030和發送FIF031與控制器19相連,通過串ロ接收38接收數據,通過串ロ發送39發送數據,串ロ接收38對應於串ロ接收總線2的rxd [2],串ロ發送39對應串ロ發送總線3的txd[2]。圖中三個串ロ模塊共用一個控制器19,每個串ロ模塊具有各自的FIFO和串ロ收發接ロ,構成三個獨立的串ロ。下面以ー個串ロ為例說明連接原理,串ロ模塊13,由三個子模塊組成串ロ波特率發生器14、串ロ接收子模塊15、串ロ發送子模塊16。由於每個串ロ都有各自的三個子模塊,因此每個串ロ均是全雙エ的,收發互不影響,各自的波特率可調可設,各個串ロ相互獨立。串ロ模塊13的串ロ接收子模塊15與串ロ接收FIF017相連,串ロ發送FIF018與串ロ發送子模塊16相連。串口數據接收過程為從串ロ接收總線rxd[N:0](對應串ロ接收34)接收的對應串行數據經過串 ロ模塊13轉換為並行數據後寫入串ロ接收FIF017 ;當串ロ接收FIFO半滿後告知控制器19,由控制器19向上層DSP控制器產生中斷INT6,控制器19同時標識串ロ接收FIF017為半滿狀態;等DSP給出DSP同步時鐘32、讀使能AREl I,並且片選CE9和A0E10信號有效時,控制器19根據地址總線EA8從指向的串ロ對應的接收FIFO (此處應為串ロ接收FIF017)中讀取數據到數據總線ED7上至串ロ接收FIF017為空。對DSP而言,當中斷INT6產生後,通過數據總線ED7和地址總線EA8向控制器19查詢半滿串ロ接收FIFO,然後告知控制器19讀取該串ロ接收FIFO ;若中斷產生時同時有多個串ロ產生半滿,則由DSP選擇讀取某一串ロ接收FIFO中的數據或者讀取所有串ロ接收FIFO,對FPGA來說,串ロ接收不存在優先級問題。串口數據發送過程為控制器19與串ロ發送FIFO 18相連,當上層DSP通過地址總線EA8、數據總線ED7寫入數據時,控制器19將數據寫入串ロ發送FIF018 ;串ロ發送FIF018與串ロ發送子模塊16相連,當串ロ發送FIF018中有數據時,立即將該並行數據讀出到串ロ發送子模塊16轉換為串行串ロ發送數據,並寫入到串ロ發送總線txd[N:0](對應為串ロ發送35)。以上實施例僅用以說明本發明的技術方案而非對其進行限制,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬於本發明所附的權利要求的保護範圍。
權利要求
1.一種基於FPGA的擴展多串口裝置,採用現場可編程門陣列FPGA通過數據總線連接數字處理器DSP實現串口的擴展,其特徵在於,所述擴展多串口裝置包括控制器,至少一個串口模塊,以及連接所述控制器與所述串口模塊的緩存模塊。
2.如權利要求I所述的基於FPGA的擴展多串口裝置,其特徵在於,所述串口模塊包括波特率發生器子模塊,串口接收子模塊和串口發送子模塊。
3.如權利要求2所述的基於FPGA的擴展多串口裝置,其特徵在於,所述波特率發生器子模塊是分配器,用於將輸入時鐘分頻成所述串口模塊需要的時鐘。
4.如權利要求I所述的基於FPGA的擴展多串口裝置,其特徵在於,每一個所述串口模塊與控制器之間都具有單獨的緩存模塊,所述緩存模塊為先入先出FIFO緩存模塊。
5.如權利要求4所述的基於FPGA的擴展多串口裝置,其特徵在於,所述串口模塊與FIFO緩存模塊之間通過異步方式連接。
6.如權利要求I所述的基於FPGA的擴展多串口裝置,其特徵在於,所述串口模塊共用所述控制器。
7.如權利要求6所述的基於FPGA的擴展多串口裝置,其特徵在於,所述擴展多串口裝置還包括中斷接口,用於與DSP之間傳遞中斷信號。
8.—種如權利要求I所述的基於FPGA的擴展多串口裝置數據收發方法,用於採用FPGA通過數據總線連接DSP實現多串口數據的收發,其特徵在於,所述包括步驟 串口模塊接收外部串行數據的輸入,將串行數據轉換為並行數據寫入緩存模塊; 當緩存模塊半滿時,通知控制器產生半滿標誌位標識所述緩存模塊為半滿狀態; DSP查詢緩存模塊的半滿標誌位,通過數據總線從具有半滿標誌位的緩存模塊讀取數據,直到該緩存模塊為空; DSP通過數據總線將數據寫入緩存模塊,緩存模塊立即將並行數據讀出到串口模塊,串口模塊將並行數據轉換為串行數據發送。
9.如權利要求8所述的數據收發方法,其特徵在於,還包括步驟所述串口模塊中設置的波特率發生器將輸入時鐘分頻成所述串口模塊需要的時鐘。
10.如權利要求8所述的數據收發方法,其特徵在於,還包括步驟,當所述緩存模塊半滿時,通知控制器產生中斷信號,並將所述中斷信號上傳到DSP以觸發DSP從具有半滿標誌位的緩存模塊讀取數據。
全文摘要
本發明公開了一種基於FPGA的擴展多串口裝置,採用現場可編程門陣列FPGA通過數據總線連接DSP實現串口的擴展,包括控制器,至少一個串口模塊,以及連接控制器與串口模塊的緩存模塊,其中串口模塊包括波特率發生器子模塊,串口接收子模塊和串口發送子模塊。本發明還公開了基於FPGA的擴展多串口裝置的數據收發方法,當串口模塊接收收據後,將串行數據轉換為並行數據輸入到緩存模塊,當緩存模塊半滿時,產生半滿標誌位和中斷信號,觸發DSP讀取數據,當有數據發送時,DSP直接將數據寫入緩存模塊,串口模塊從緩存模塊讀取數據,轉換為串行數據發送。本發明擴展的各個串口全雙工收發互不影響,串口個數可以自行定製,DSP上只需一個中斷源進行多串口擴展。
文檔編號G06F13/24GK102760111SQ201210223598
公開日2012年10月31日 申請日期2012年6月27日 優先權日2012年6月27日
發明者李平, 郭首宇 申請人:浙江大學

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀