專利名稱:一種高速異步數據采集系統的制作方法
技術領域:
本發明屬于數據通信技術領域,涉及數據采集系統,尤其涉及基于AHB總線的一 種高速數據采集系統。
背景技術:
在數據通信技術領域都要涉及對各類數據的A/D采樣。隨著現代通信技術的飛速 發展,對數據的A/D采樣提出高速和寬范圍采樣頻率的要求,隨之出現了許多A/D采樣系 統。已有技術的高速數據采集系統的輸入和輸出數據傳送方式有程序傳送、中斷傳送 和DMA傳送。有條件程序傳送的可靠性較差,而通過設備狀態測試的有條件程序傳送的可 靠性雖可提高,但付出的代價是主機效率降低。中斷傳送是設備向處理器發出中斷請求,處 理器中斷當前程序運行轉向中斷響應服務程序,中斷傳送的主機效率雖有所提高,但大量 的中斷花費是其一大缺陷。DMA傳送采用直接存儲器存取,需要配置DMA控制器,采用總線 請求和控制,由DMA控制器代替處理器控制數據傳送,進行讀寫控制和地址修改,DMA傳送 可節省處理器的中斷花費,提高了傳輸速度,適用于高速批數據傳送,但采用同步機制DMA 傳送的傳輸速度仍較低,是其一個缺陷。在已有技術的A/D采樣系統中,由于現場可編程門陣列FPGA豐富的內部資源和靈 活的可配置設計,使得越來越多的系統采用FPGA來實現數據采集。在模擬集成電路設計 中,為了驗證A/D轉換的正確性,往往需要對輸出的數字信號進行采樣,再做后續的處理。 傳統的采樣系統通常使用同步機制,然而,在FPGA內部,為了更好地實現同步,都使用內部 生成的PLL先倍頻再分頻的技術,這一技術對于采樣頻率比較低的應用場合,PLL的精度就 不能得到保證。
發明內容
本發明的目的是克服已有技術的缺陷,提供基于AHB總線的、能對輸入的數字信 號進行高速大容量采集的一種高速異步數據采集系統。使用異步機制,總線時鐘采用ARM 內部PLL分頻得到,能夠提高采樣后的數據存取速度,系統內部采用了可靠的同步機制,系 統自帶的自測試功能可以在不同的環境下檢驗系統功能的正確與否,從而提高整個系統的 數據采速度以及使用異步電路的可靠性。本發明的目的通過以下技術方案來實現一種高速異步數據采集系統,其在于它包括現場可編程門陣列FPGA、嵌入式處 理器內核、SDRAM存儲器芯片、JTAG接口以及系統外部PC機。所述現場可編程門陣列FPGA由數據采集模塊、AHB總線模塊和wrap模塊組成;數 據采集模塊和wrap模塊分別連接AHB總線模塊的上聯口和下聯口 ;一數據采集模塊的輸入端口接入采集數據和采樣時鐘的數字信號,其輸出端口連 接至AHB總線模塊,數據采集模塊作為AHB片上高性能總線的一個從模塊(slave),完成數 據采集和數據存儲格式轉換。
一 AHB總線模塊上聯口通過wrap模塊連接至嵌入式處理器內核ARM9,下聯口連 接作為從模塊的數據采集模塊,用于實現作為主模塊AHB和AHB從模塊的時序轉換,以及多 個主模塊情況下的總線仲裁和多個從模塊的地址映射。一 warp模塊連接嵌入式處理器內核ARM9和AHB總線模塊,用于將ARM9的時序 轉換為AHB總線的時序,同時完成ARM9和AHB總線之間的地址映射以及地址轉換。一嵌入式處理器內核為ARM9 實現整個數據采集流程的調度和控制,完成數據采 集系統的配置、數據采集功能的開啟、數據的采集、數據讀取和存儲。一 SDRAM存儲器芯片為片外存儲器,總容量達64M,連接至ARM9,用于數據的存 儲。一 JTAG接口 連接PC機至嵌入式處理器ARM9,用于將存儲在SDRAM中的數據傳 輸到PC機及數據采集控制程序的下載,以便于對數據的后續處理。所述嵌入式處理器內核為ARM9芯片,嵌入式處理器與wrap模塊相連,用于對整個 系統實現數據采集流程的調度和控制,完成數據采集系統的配置、數據采集功能的開啟、數 據的采集、數據讀取和存儲。所述SDRAM存儲器為片外存儲器,它連接嵌入式處理器,用于實現數據的存儲;所述JTAG接口分別連接嵌入式處理器和外部PC機,用于將數據從SDRAM中傳輸 到PC機中保存以及數據采集控制程序的下載;所述系統外配件PC機為提供數據采集操作界面,以及觀察采集結果和完成數據 分析。所述的一種高速異步數據采集系統,其在于所述數據采集模塊包括三個多路選擇 器信號選擇器1、緩存選擇器2、讀數選擇器3,二個緩存器緩存器1和緩存器2,以及數據 格式轉換器;信號選擇器1的輸入端連接采集信號和測試信號,其二選一的輸出端連接數據格 式轉換器輸入端;數據格式轉換器輸出端連接緩存選擇器2,緩存選擇器2的二路輸出端分 別連接緩存器1和緩存器2的入端;讀數選擇器3的二路輸入端分別連接緩存器1和緩存 器2的讀出端,其二選一輸出為讀出數據;模式使能、狀態使能和讀書使能信號分別接入三 個多路選擇器的選擇使能端;數據采集模塊的工作模式包括正常工作模式和自測模式,模式轉換控制是通過讀 取2bit控制寄存器的模式選擇使能位來實現;自測模式用于檢驗該數據采集系統是否正
常工作。所述的一種高速異步數據采集系統,其在于所述數據采集模塊的采集數據位寬為 自適應配置,由嵌入式處理器的硬件資源配置流程來控制,能實現1 32bit任意位寬的數 據采集。所述的一種高速異步數據采集系統,其在于所述數據格式轉換模塊為輸出數據固 定位寬的轉換配置,將輸入不定位寬的采集數據轉換為32bit位寬的輸出數據。所述的一種高速異步數據采集系統,其在于所述數據采集模塊的輸出數據格式包 括大端存儲格式和小端存儲格式,視需要設置為大端存儲格式或者小端存儲格式,由系統 初始化設定。所述的一種高速異步數據采集系統,其在于所述數據采集模塊為雙緩存器機制模塊,數據采集流經由狀態使能位控制下的緩存選擇器2乒乓式自動切換,在緩存器1和緩存 器2中交替實現緩存操作,采集數據由讀數使能控制下的讀數選擇器3從緩存器1和緩存 器2中交替讀出,能成倍提高數據采集的速度。所述的一種高速異步數據采集系統,其在于所述數據采集模塊為異步工作機制的 數據采集模塊,置于同一 FPGA芯片中的數據采集模塊與AHB總線模塊,分別屬于兩個時鐘 域,數據采集模塊屬于采樣頻率時鐘域,AHB總線模塊模塊屬于系統時鐘域,各從模塊實行 異步時鐘工作和同步化處理;當buffer中的數據傳輸到AHB總線上時,要經過同步化處理; 當配置信息通過AHB總線寫到數據采集模塊中的寄存器時,也經過同步化處理,提高數據 采集的可靠性。所述的一種高速異步數據采集系統,其在于所述AHB總線模塊實現AHB主模塊和 AHB從模塊的連接,用于實現時序轉換、總線仲裁、地址譯碼和數據流通。所述的一種高速異步數據采集系統,其在于所述wrap模塊為同步化處理和地址 映射模塊,wrap模塊的同步化處理是將ARM9的時序轉化為AHB主模塊的時序,實現時序轉 換,并通過對ARM9的地址映射,實現地址轉換。所述的一種高速異步數據采集系統,其在于所述嵌入式處理器內核ARM9對整個 系統實現數據采集流程的調度包括數據采集指令發送、數據采集系統的硬件資源配置、數 據的讀取和存儲;所述數據采集指令發送給系統啟動數據采集和數據采集模塊的模式控制寄存器, 由模式控制寄存器的模式使能位控制信號選擇器1選擇采集信號,當選擇測試信號做輸入 信號時,為測試模式,否則為工作模式;所述系統的硬件資源配置包括系統工作模式選擇、數據存儲格式選擇、數據采集 大小確定;所述數據的讀取通過判斷狀態寄存器的值來選擇讀取緩存器的值;所述數據的存儲將從緩存器讀出的數據存儲到SDRAM中去。本發明實質性效果1、本發明采用基于AHB總線的數據采集系統,采用雙緩存機制對輸入的數字信號 進行高速大容量采集,在用一緩存采集數據的同時,能夠對存滿數據的另一緩存進行讀數 處理,從而提高系統的數據采集速度,對于Ibit的采樣數據,采樣頻率可超過100MHz。2、本發明數據采集和傳送采用異步工作機制和同步化處理,異步工作機制提高了 數據采集速率,同步化處理則保證了采樣電路的可靠性。3、本發明采用正常工作模式和自測模式,能在不同環境下檢驗系統功能,顯著提 高了采集系統的可靠性和適應性。4、本發明能廣泛應用于數據通信、集成電路設計驗證等領域。
圖1為本發明的基于AHB總線的高速異步數據采集系統組成框圖;圖2為本發明的數據采集模塊的組成框圖;圖3為本發明實施例高速異步數據采集的工作流程;
具體實施例方式下面將本發明的實施例結合附圖對技術方案進行詳細說明。圖1為本發明的基于AHB總線的高速異步數據采集系統組成框圖,參見圖1,該系 統包括FPGA現場可編程門陣列11、ARM9的嵌入式處理器12、片外的SDRAM存儲器13、JTAG 接口 14以及外部PC機15。FPGA現場可編程門陣列11連接ARM9的嵌入式處理器12,ARM9 的嵌入式處理器12還連接SDRAM存儲器13和JTAG接口 14。其中FPGA現場可編程門陣列11包括數據采集模塊111、AHB總線模塊112和wrap 模塊113。現場采集數據連接在數據采集與DA轉換模塊111的信號輸入口,數據采集模塊 111和wrap模塊113分別掛接在AHB總線模塊112的上聯口和下聯口。第一實施例本發明的基于AHB總線的高速異步數據采集系統的配置為嵌入式處理器內核為 ARM920T的SUMSUNG S3C2410A ;SDRAM存儲器為總容量64M的片外存儲器,選用的是現代公 司的HY57V5616 ;FPGA芯片選用的型號時Altera公司的Cyclone II系列的EP2C70672C8 ; 基于AHB總線的高速異步數據傳輸指令都由作為主模塊的ARM9處理器發出,由作為從模塊 的數據采集模塊作出處理和回應。AHB總線的基礎主結構還包括由主模塊到從模塊的多路 選擇器和從模塊到主模塊的多路選擇器以及譯碼器、仲裁器、虛擬從模塊、虛擬主模塊。圖2為本發明的數據采集與DA轉換模塊的組成框圖。數據采集與DA轉換模塊由 選擇器21、AD轉換器22、緩存選擇器23、緩存器24和25、選擇器26構成。選擇器21、AD 轉換器22、緩存選擇器23依次連接;選擇器21對輸入的采集信號和測試信號按模式使能 信號執行二選一,選擇器21輸出送AD轉換器22,AD轉換器22將不同位寬的數據轉換成 32bit的數據,送入緩存選擇器23 ;緩存選擇器23輸出連接緩存器24和緩存器25,緩存選 擇器23不斷讀取緩存器24和緩存器25的狀態,按乒乓開關方式選擇數據存入緩存器24 或緩存器25 ;選擇器26的兩個輸入端分部連接緩存器24和緩存器25的輸出端,它按兩個 緩存器的狀態,從兩個緩存器中選擇存滿數據的緩存器中取出數據。本系統中處于現場可編程門陣列FPGA芯片中的模塊分屬于采樣頻率和系統兩個 時鐘域數據采集模塊屬于采樣頻率時鐘域,AHB總線模塊屬于系統時鐘域。當buffer中 的數據傳輸到AHB總線上時,要經過同步化處理,同樣地,當數據通過AHB總線寫到數據采 集模塊中的緩存器時,也要經過同步化處理。本模塊采用雙緩存器(buffer)機制,每塊緩存器的深度為64,寬度為32bit。輸 入的數據經采樣后轉化為32bit位寬的數據存儲在緩存器1中,存儲的格式可為大端格式 或小端格式,當緩存器1中存滿64個數據之后,將緩存器1中的數據讀走,同時,將不間斷 采集的數據存儲到緩存器2中,緩存器2中存滿64個數據之后,將緩存器2中的數據讀走, 同時,將不間斷采集的數據存儲到緩存器1中,以此類推,直到完成數據采集。參見圖2,所 述數據采集模塊具體包括信號選擇器1、數據格式轉換模塊22、緩存選擇器2、緩存器1和緩 存器2以及讀數選擇器3,其中緩存器1和緩存器2均為深度64,位寬32bit。其中信號選擇器1在模式使能控制下用于選擇是正常工作模式還是測試模式,正 常工作模式選擇采樣信號輸入,測試模式選擇測試信號輸入。數據格式轉換模塊22用于將 不定位寬的數據轉換為32bit位寬的數據;緩存選擇器2用于選擇將數據存儲到bufferl 還是buffer2,讀數選擇器3用于選擇讀取一個buffer中的數據,送到SDRAM中對數據作存儲處理。該數據采集模塊設有一個4bit的狀態寄存器和一個2bit的控制寄存器,其中 4bit的狀態寄存器存放緩存狀態標志位,第0位置“1”表示bufferl已滿 ’第1位置“1”表 示buffer2已滿;第2位置“ 1”表示出錯,說明某一個buffer的數據尚未讀走,已經被新的 數據覆蓋;第3位置“1”表示采樣已完成。當讀取狀態位后,該位自動清零。2bit控制寄 存器的第0位用于選擇工作模式還是測試模式,第1位用于系統采集使能和停止數據采集。 第0位置“ 1,,為選擇工作模式,第0位置“0”為選擇自測模式。第1位置“ 1,,為選擇采集 使能,第1位置“0”為停止數據采集。當某一個buffer中的數據滿時,ARM9就將buffer中的數據通過AHB總線存儲到 SDRAM中去。當采樣完成以后,通過JTAG接口將SDRAM中的數據傳輸到PC機上,用于對采 集數據或自檢測試數據的后續處理。圖3給出了本發明實施例高速異步數據采集的工作流程。高速異步數據采集軟 件存儲在嵌入式處理器內核ARM9的RAM中,嵌入式處理器內核通過wrap模塊連接至AHB 總線,實現對整個系統數據采集流程的調度。本發明的數據高速異步采集流程包括以下步 驟S301設定基址和有效地址空間、要采集的數據的數量;S302設置數據存儲格式;S303設定測試模式;S304對數據采集系統測試模式使能;S305判斷數據采集系統是否工作正常;若系統測試值為“1”為測試通過,執行 S307 ;否則系統測試值為“0”為測試未通過,執行S306 ;S306調整系統工作環境;調整系統工作環境包括檢測系統時鐘是否正確、復位信 號是否有效、總線連接是否錯誤等,調整系統工作環境后,轉測試模式S303 ;S307設定工作模式,將模式控制寄存器的模式使能位置“1” ;S308對數據采集系統作工作模式使能,進入正常工作模式;S309不斷讀取寄存器的狀態字,對數據流在雙緩存間作切換、緩存和讀數1)判斷bufferl滿,自動轉存入buffer2,并將bufferl中的數據讀走;2)判斷buffer2滿,自動轉存入bufferl,并將buffer2中的數據讀走;S310判斷數據采集是否完成,若為“Y”已完成數據采集,轉S311 ;若為“N”則轉 S309,繼續采集數據;S311退出采集工作狀態,讀取數據到PC機。第二實施例在本發明的高速數據采集系統應用于GPS接收系統,其采集的中頻信號頻率為 16. 368MHz,采樣頻率為16. 368MHz或者26MHz,AHB總線時鐘使用ARM9內部PLL倍頻的時 鐘,最高可達200MHz。當所采集的數據寬度為2bit時,采樣頻率最高可達100M。第三實施例在本發明的高速數據采集系統中,加入了自測模式,當使用環境發生變化時,可以 通過自測模式來判斷該系統是否正常工作,一旦出現異常時,可以通人工調整配置來適應 環境的需要,使系統的工作模式保持正常。
自測模式的自檢信號由本地產生,自檢信號送至數據采集模塊,輸出固定的數據 存儲在SDRAM中,因此,只需檢查SDRAM中的數據就能檢測該系統工作是否正常。在本發明的數據采集系統中,FPGA芯片選用的型號時Altera公司的Cyclone II 系列的EP2C70672C8 ;ARM9選用的是三星公司的S3C2410A,內核為ARM920T ;SDRAM芯片選 用的是現代公司的HY57V5616。以上所述的本發明的實施例,僅用于說明本發明的技術方案,并不能以此來限制 本發明的專利保護范圍。本發明所采用的FPGA芯片和ARM芯片以及SDRAM芯片除以上選 用的型號外,任何本領域的技術人員還可以采用相同功能的公知的芯片來實現。
9
權利要求
一種高速異步數據采集系統,其特征在于它包括現場可編程門陣列FPGA、嵌入式處理器內核、SDRAM存儲器芯片、JTAG接口以及系統外部PC機;所述現場可編程門陣列FPGA由數據采集模塊、AHB總線模塊和wrap模塊組成;數據采集模塊和wrap模塊分別連接AHB總線模塊的上聯口和下聯口;所述嵌入式處理器內核為ARM9芯片,嵌入式處理器與wrap模塊相連,用于對整個系統實現數據采集流程的調度和控制,完成數據采集系統的配置、數據采集功能的開啟、數據的采集、數據讀取和存儲;所述SDRAM存儲器為片外存儲器,它連接嵌入式處理器,用于實現數據的存儲;所述JTAG接口分別連接嵌入式處理器和外部PC機,用于將數據從SDRAM中傳輸到PC機中保存以及數據采集控制程序的下載;所述系統外配件PC機為提供數據采集操作界面,以及觀察采集結果和完成數據分析。
2.如權利要求1所述的一種高速異步數據采集系統,其特征在于所述數據采集模塊 包括三個多路選擇器信號選擇器1、緩存選擇器2、讀數選擇器3,二個緩存器緩存器1和 緩存器2,以及數據格式轉換器;信號選擇器1的輸入端連接采集信號和測試信號,其二選一的輸出端連接數據格式轉 換器輸入端;數據格式轉換器輸出端連接緩存選擇器2,緩存選擇器2的二路輸出端分別連 接緩存器1和緩存器2的入端;讀數選擇器3的二路輸入端分別連接緩存器1和緩存器2 的讀出端,其二選一輸出為讀出數據;模式使能、狀態使能和讀書使能信號分別接入三個多 路選擇器的選擇使能端;數據采集模塊的工作模式包括正常工作模式和自測模式,模式轉換控制是通過讀取 2bit控制寄存器的模式選擇使能位來實現;自測模式用于檢驗該數據采集系統是否正常 工作。
3.如權利要求1或2所述的一種高速異步數據采集系統,其特征在于所述數據采集 模塊的采集數據位寬為自適應配置,由嵌入式處理器的硬件資源配置流程來控制,能實現 1 32bit任意位寬的數據采集。
4.如權利要求1或2所述的一種高速異步數據采集系統,其特征在于所述數據格式 轉換模塊為輸出數據固定位寬的轉換配置,將輸入不定位寬的采集數據轉換為32bit位寬 的輸出數據。
5.如權利要求1所述的一種高速異步數據采集系統,其特征在于所述數據采集模塊 的輸出數據格式包括大端存儲格式和小端存儲格式,視需要設置為大端存儲格式或者小端 存儲格式,由系統初始化設定。
6.如權利要求1或2所述的一種高速異步數據采集系統,其特征在于所述數據采集 模塊為雙緩存器機制模塊,數據采集流經由狀態使能位控制下的緩存選擇器2乒乓式自動 切換,在緩存器1和緩存器2中交替實現緩存操作,采集數據由讀數使能控制下的讀數選擇 器3從緩存器1和緩存器2中交替讀出,能成倍提高數據采集的速度。
7.如權利要求1或2所述的一種高速異步數據采集系統,其特征在于所述數據采集 模塊為異步工作機制的數據采集模塊,置于同一 FPGA芯片中的數據采集模塊與AHB總線模 塊,分別屬于兩個時鐘域,數據采集模塊屬于采樣頻率時鐘域,AHB總線模塊屬于系統時鐘 域,各從模塊實行異步時鐘工作和同步化處理;當buffer中的數據傳輸到AHB總線上時,要經過同步化處理;當配置信息通過AHB總線寫到數據采集模塊中的寄存器時,也經過同步 化處理,提高數據采集的可靠性。
8.如權利要求1所述的一種高速異步數據采集系統,其特征在于所述AHB總線模塊 實現AHB主模塊和AHB從模塊的連接,用于實現時序轉換、總線仲裁、地址譯碼和數據流通。
9.如權利要求1所述的一種高速異步數據采集系統,其特征在于所述wrap模塊為同 步化處理和地址映射模塊,wrap模塊的同步化處理是將ARM9的時序轉化為AHB主模塊的 時序,實現時序轉換,并通過對ARM9的地址映射,實現地址轉換。
10.如權利要求1或2或3或4或5或6或7或8或9所述的一種高速異步數據采集 系統,其特征在于所述嵌入式處理器內核ARM9對整個系統實現數據采集流程的調度包括 數據采集指令發送、數據采集系統的硬件資源配置、數據的讀取和存儲。
全文摘要
本發明屬于數據通信技術領域,涉及基于AHB總線的的一種高速異步數據采集系統,它包括現場可編程門陣列FPGA、用于開啟數據采集和數據讀取并存儲的嵌入式處理器內核ARM9、用于數據存儲的片外SDRAM、用于將數據從SDRAM中傳輸到PC機中保存以便于后續處理的JTAG接口以及片外PC機。現場可編程門陣列FPGA包括實現數據采集并轉換成合適的格式供總線讀取的數據采集模塊、完成AHB master和AHB slave連接的AHB總線模塊、實現將ARM9CPU的時序轉化為AHB master時序并對ARM9CPU的地址通過映射實現地址轉換的wrap模塊。數據采集和傳送采用異步工作機制和同步化處理,異步工作機制提高了數據采集速率,同步化處理則保證了采樣電路的可靠性,能在不同環境下檢驗系統功能,顯著提高了采集系統的可靠性和適應性。本發明能廣泛應用于數據通信、集成電路設計驗證等領域。
文檔編號G06F13/40GK101923440SQ200910099788
公開日2010年12月22日 申請日期2009年6月15日 優先權日2009年6月15日
發明者何文濤, 馮華星, 李曉江 申請人:杭州中科微電子有限公司