亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA控制DDR2儲存的光纖轉(zhuǎn)換DIO板卡設(shè)計

        2020-01-06 06:41:44周舜民毛瑞士楊海波趙祖龍趙鐵成徐治國陳玉聰
        儀表技術(shù)與傳感器 2019年12期
        關(guān)鍵詞:板卡時序命令

        周舜民,毛瑞士,楊海波,趙祖龍,趙鐵成,徐治國,陳玉聰,李 敏

        (1.中國科學(xué)院近代物理研究所,甘肅蘭州 730000;2.中國科學(xué)院大學(xué),北京 100049)

        0 引言

        蘭州重離子加速器束損探測系統(tǒng)各種探測器(氣體、閃爍體、金剛石等)輸出的信號通過QF電路轉(zhuǎn)化成TTL信號,加速器現(xiàn)場通過高速光纖對現(xiàn)場束損探測信號進行采集傳輸。當(dāng)前使用的NI系列DIO板卡通過基本電路實現(xiàn)DIO功能,不能直接接收光纖發(fā)送過來的數(shù)據(jù),不具有存儲和FPGA處理功能,只能單次傳輸?shù)綑C箱中進行處理,設(shè)計帶有光纖模塊接口的DIO板卡并添加FPGA和DDR2模塊對信號進行采集處理并存儲緩存,將顯著提高信號的傳輸速率和接收信號的準(zhǔn)確率,可避免因光纖傳輸來的信號數(shù)據(jù)未能及時接收處理而丟失。

        圖1為束損探測系統(tǒng)一個簡單原理框圖,以電流型電離室氣體探測器(圖2實物)為例,射線與氣體作用產(chǎn)生帶電粒子對被探測器上正負電極收集以電流形式輸出,經(jīng)QF電子學(xué)處理后輸出TTL信號傳輸?shù)教幚硐到y(tǒng)中。

        圖1 束損系統(tǒng)原理框圖

        圖2 電流型電離室實物

        1 FPGA、DDR2和光纖收發(fā)模塊

        Xilinx的Spartan-6系列采用成熟的45 nm低功耗銅制程技術(shù)制造,密度從3 840個邏輯單元到147 443個邏輯單元不等,實現(xiàn)了性價比與功耗的完美平衡,能夠提供高效版本的雙寄存器6輸入查找表(LUT)邏輯和一系列豐富的內(nèi)置系統(tǒng)級模塊,包括增強型混合模式時鐘管理模塊、功率優(yōu)化的高速串行收發(fā)器模塊、PCI Express兼容端點模塊、專用集成存儲器控制模塊(MCB)等[1]。Spartan-6系列的高性價比和軟硬核的集成,非常適合成本敏感性嵌入式應(yīng)用和實驗室初版預(yù)研設(shè)計。

        DDR2內(nèi)存技術(shù)傳輸速率可達到1 066 MHz,采用FBGA模式封裝,對數(shù)據(jù)進行4 bit預(yù)讀取操作。相比DDR內(nèi)存技術(shù),DDR2本身還集成了用以解決數(shù)據(jù)傳輸過程中信號反射問題的信號端接電阻ODT(on die termination),并加入離線驅(qū)動OCD(off-chip driver)技術(shù)[2]。在I/O Driver中新增了穩(wěn)壓線路,防止了電壓不穩(wěn)定時引起資料丟失,提高了信號的完整性。此外,DDR2 通過引入 Posted CAS 功能解決了指令沖突問題[3]。DDR2在繼承了DDR內(nèi)存技術(shù)的基礎(chǔ)上也改進添加了部分DDR3內(nèi)存技術(shù)的功能,可以通過對DDR2的研究使用順利過渡到DDR3及后續(xù)內(nèi)存技術(shù)的使用。

        AFBR-16xxZ光纖發(fā)送模塊集成光學(xué)器件由帶TTL輸入邏輯的驅(qū)動IC和650 nm LED光源構(gòu)成,AFBR-26x4Z光纖接收模塊由帶有集成光電二極管的IC組成,可產(chǎn)生邏輯兼容輸出[4]。光纖發(fā)送和接收模塊與TTL邏輯電平系列兼容,光纖收發(fā)模塊對可用于任何信號,數(shù)據(jù)傳輸速率從DC到50 Mbit/s帶寬,使用1 mm 的聚合物光纖(POF)傳輸距離可達50 m,使用200 μm的塑料包層二氧化硅(PCS)傳輸10 Mbit/s和50 Mbit/s 帶寬信號分別能達到200 m和120 m的距離。

        2 方案設(shè)計及數(shù)據(jù)處理流程

        2.1 功能實現(xiàn)方案

        本設(shè)計的硬件處理器平臺是Spartan-6系列的XC6SLX25T,具有PCI Express v1.1 版本的1Lane的通道,便于后續(xù)對PCIE通信協(xié)議使用的開發(fā)驗證。方案設(shè)計如圖3所示。

        圖3 方案設(shè)計框圖

        方案中信號數(shù)據(jù)在通過光纖收發(fā)模塊時被轉(zhuǎn)換成TTL信號傳入FPGA或?qū)PGA輸出的信號進行逆轉(zhuǎn)換后向外傳輸,或直接收發(fā)傳輸兼容的TTL信號。FPGA實現(xiàn)對光纖收發(fā)模塊的控制主要有2種實現(xiàn)方法。一種是直接將通過光纖收發(fā)模塊的數(shù)據(jù)通過FIFO實現(xiàn)與FPGA進行數(shù)據(jù)交換處理,光纖接收模塊接收轉(zhuǎn)換后的數(shù)據(jù)一位一位通過FIFO緩存再傳輸?shù)紽PGA中進行處理,同樣,F(xiàn)PGA要向光纖發(fā)送模塊發(fā)送數(shù)據(jù)也是先將數(shù)據(jù)緩存入FIFO中,然后一位一位進入光纖發(fā)送模塊將數(shù)據(jù)一位一位發(fā)送出去。除了通過FIFO緩存的方式來處理光纖收發(fā)模塊的數(shù)據(jù),還可以采用串口模塊實現(xiàn)或去除嚴格串口協(xié)議幀格式的方式來收發(fā)數(shù)據(jù)[5],將數(shù)據(jù)以串口發(fā)送數(shù)據(jù)的模式進行打包發(fā)送。本方案中,采用第二種類似UART的方法對光纖收發(fā)模塊的數(shù)據(jù)進行傳輸處理。在FPGA中如果數(shù)據(jù)需要處理可以進行預(yù)處理,如果不需要則可以通過建立一個FIFO將通過UART的數(shù)據(jù)傳輸?shù)紻DR2模塊中,或從DDR2模塊中將數(shù)據(jù)讀取出來通過FIFO傳輸?shù)経ART模塊后將數(shù)據(jù)傳輸出去。同時可以通過UART與PC上的上位機進行串口通信對功能和傳輸?shù)臄?shù)據(jù)進行驗證。后續(xù)中還可以通過對預(yù)留的PCIE功能模塊進行開發(fā),使用1lane的PCIE通道實現(xiàn)PCIE數(shù)據(jù)傳輸與背板的通信功能驗證。

        2.2 模塊時鐘設(shè)計方案

        本系統(tǒng)時鐘分配實現(xiàn)方案框圖如圖4所示,板上提供50 MHz外部有源晶振作為FPGA的時鐘源,調(diào)用FPGA PLL時鐘模塊對時鐘進行倍頻處理,對于各個模塊所需的時鐘頻率在倍頻的基礎(chǔ)上進行分頻以滿足各模塊所需時鐘頻率。

        圖4 時鐘分配方案

        由于FPGA各bank模塊供電不同,系統(tǒng)中主要提供了5 V的輸入電壓,轉(zhuǎn)換處理后得到所需的3.3 V、2.5 V、1.8 V、1.2 V及DDR2模塊的參考電壓0.9 V等電壓。使用flash芯片來存儲FPGA程序的配置文件及SPI通訊測試的實現(xiàn)。

        3 DDR2 PCB布線注意事項

        對于DDR2模塊的PCB布線[3,6],根據(jù)XINLINX的MCB的操作手冊中的建議,DDR2接口的信號在內(nèi)層走線,信號線總長盡可能短,DDR2器件盡量靠近FPGA,信號線的寬度控制在3~5 mil(1 mil=0.0254 mm),同組信號間距保持3倍信號寬度,不同組信號及時鐘信號間距至少保持20 mil,差分時鐘信號接100 Ω匹配電阻,其他信號線接50 Ω匹配電阻。對各信號線進行分組等長和總長小于3 inch控制,其中同組信號中數(shù)據(jù)信號組間長度差控制在±150 mil內(nèi),控制組信號間長度差控制在±300 mil內(nèi),差分信號間控制在±10 mil內(nèi),時鐘和數(shù)據(jù)信號的參考信號DQS信號差控制在±300 mil內(nèi)以保證建立和保持時間的正確。本設(shè)計PCB板為6層板,各信號線長度控制在1 000 mil左右,滿足信號的組間長度差和間距差要求,同時進行阻抗匹配控制。

        4 FPGA控制實現(xiàn)DDR2模塊設(shè)計

        板卡上安裝有光纖收發(fā)轉(zhuǎn)換模塊各一個,用以實現(xiàn)板卡的接收和發(fā)送功能。對于DDR2模塊設(shè)計,通過設(shè)計用戶控制模塊對 MCB 進行二次封裝,實現(xiàn)流傳輸情況下數(shù)據(jù)帶寬的最大化,非常適合一些需要流傳輸?shù)目刂茍龊?,同時也非常方便移植到其他開發(fā)模塊上使用。構(gòu)架框圖如圖5所示。二次封裝后的DDR2讀用戶接口RTL模塊見圖6,DDR2寫用戶接口RTL模塊見圖7。

        圖5 MCB二次封裝框架圖

        圖6 讀接口RTL圖

        圖7 寫接口RTL圖

        圖8、圖9、圖10分別為MCB的命令FIFO時序、寫數(shù)據(jù)FIFO時序、讀數(shù)據(jù)FIFO時序[7]。命令FIFO實現(xiàn)要操作的地址、突發(fā)長度、讀寫模式選擇等功能[7],而讀寫FIFO在命令FIFO的配合下結(jié)合使能信號、空滿信號等實現(xiàn)對指定地址的數(shù)據(jù)寫入或讀出功能。要實現(xiàn)MCB對DDR2的數(shù)據(jù)讀寫,根據(jù)DDR2數(shù)據(jù)手冊可知,需先等待Calibration過程完成,即c3_calib_done信號置高有效后才開始DDR2模塊的讀寫操作。如果要向MCB寫入數(shù)據(jù),根據(jù)寫數(shù)據(jù)FIFO時序中的要求,首先在px_wr_en信號有效后將相關(guān)數(shù)據(jù)寫入FIFO中,然后通過使能命令FIFO中px_cmd_en信號,將相關(guān)數(shù)據(jù)寫入到指定的地址;對于讀取數(shù)據(jù)的實現(xiàn),命令時序和讀時序的操作過程則相反,先使能命令FIFO時序?qū)⑾嚓P(guān)控制命令寫入,MCB將DDR2中的數(shù)據(jù)讀取到寫數(shù)據(jù)FIFO中然后再讀取出[8-9]。

        圖9 寫數(shù)據(jù)FIFO時序

        圖10 讀數(shù)據(jù)FIFO時序

        為了測試板卡的性能,在程序內(nèi)部產(chǎn)生測試數(shù)據(jù),設(shè)定MCB FIFO的連續(xù)讀寫存儲深度為64。通過光纖發(fā)送接口發(fā)出到光纖接收接口接收數(shù)據(jù),并存儲到IP核構(gòu)建的異步FIFO中等待讀入DDR2。為了實現(xiàn)MCB FIFO的讀寫效率最大化,寫命令請求的時候,在寫MCB FIFO的數(shù)據(jù)非滿就控制往MCB FIFO繼續(xù)寫數(shù)據(jù),只要FIFO中有數(shù)據(jù)就發(fā)送控制命令把FIFO的數(shù)據(jù)搬運到 DDR2中;同理,讀命令請求的時候,只要寫MCB FIFO的數(shù)據(jù)非空就控制從MCB FIFO繼續(xù)讀數(shù)據(jù),當(dāng)讀FIFO數(shù)據(jù)非滿就發(fā)送控制命令從DDR2把數(shù)據(jù)搬運到讀FIFO中。通過這種非滿即讀或非空即寫的模式,只要MCB讀FIFO有數(shù)據(jù),就可以讀,這樣如果讀速度接近了MCB 和DDR2物理芯片的速度,就可以實現(xiàn)最大化的帶寬利用率。

        5 硬件測試結(jié)果

        本系統(tǒng)板卡的外部晶振源為50 MHz,通過FPGA內(nèi)部PLL倍頻、分頻處理分別給光纖收發(fā)UART模塊、DDR2模塊、FIFO、RAM等模塊提供工作時鐘。其中,DDR2的讀寫頻率為500 MHz,UART模塊波特率為9 600 Hz。測試中,在程序內(nèi)部產(chǎn)生連續(xù)交替的AA和55數(shù)據(jù)進行讀取。完成光纖收發(fā)模塊、DDR2模塊等相關(guān)模塊的FPGA控制編程后,再進行對各模塊仿真驗證,對該硬件板卡進行板上功能驗證,使用XILINX提供的Chipscope工具對數(shù)據(jù)進行抓取分析。硬件板卡上電后正常工作,通過JTAG下載線將板卡與電腦進行連接,將編譯生成后的bit文件下載到芯片中運行,設(shè)置好Chipscope相關(guān)參數(shù),運行Chipscope對數(shù)據(jù)進行抓取。抓取測試結(jié)果如圖11~圖13所示。圖11為光纖收發(fā)模塊的結(jié)果,tx信號由1跳變到0,同時send信號置1表明發(fā)送模塊準(zhǔn)備好發(fā)送數(shù)據(jù),最后2行為光纖發(fā)送模塊數(shù)據(jù)。圖12、圖13中為整個功能數(shù)據(jù)讀寫測試結(jié)果,第1行為寫入DDR2中的數(shù)據(jù),第2行為DDR2讀出數(shù)據(jù),第3行為讀出數(shù)據(jù)進入光纖發(fā)送模塊緩沖FIFO的數(shù)據(jù),第4行為光纖發(fā)送模塊要發(fā)送的數(shù)據(jù),最后一行為光纖接收模塊接收到的數(shù)據(jù)。

        圖11 光纖收發(fā)模塊數(shù)據(jù)

        圖12 整個系統(tǒng)測試數(shù)據(jù)

        圖13 整個系統(tǒng)測試數(shù)據(jù)

        6 結(jié)束語

        設(shè)計中對光纖收發(fā)模塊采用類似UART按字節(jié)方式進行傳輸,方便對讀取的數(shù)據(jù)進行觀察對比。對MCB進行二次封裝,采用非滿就寫,非空就讀的方式,可以實現(xiàn)DDR2最大化的帶寬利用率,同時接口控制模塊也方便移植到其他DDR上使用。

        通過多次數(shù)據(jù)讀寫測試,系統(tǒng)能夠穩(wěn)定工作,能夠滿足加速器上對常規(guī)束損探測器輸出信號的采集使用。通過將數(shù)據(jù)緩存在DDR2中,可以很好地避免因為高速光纖快速傳輸而DIO板卡不能及時處理導(dǎo)致數(shù)據(jù)丟失的問題。同時,預(yù)留的PCIE接口模塊可用于后續(xù)更大數(shù)據(jù)量的傳輸使用開發(fā)驗證。

        猜你喜歡
        板卡時序命令
        時序坐標(biāo)
        只聽主人的命令
        基于Sentinel-2時序NDVI的麥冬識別研究
        基于PCI9054的多總線通信板卡的研制
        基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
        移防命令下達后
        一種毫米波放大器時序直流電源的設(shè)計
        電子制作(2016年15期)2017-01-15 13:39:08
        這是人民的命令
        一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
        一種通用模擬量及開關(guān)量信號采集板卡的設(shè)計
        亚洲av无码一区二区三区观看| 国产日韩三级| 亚洲综合免费在线视频| 日本久久精品视频免费| 国产精品国产三级国产专播| 毛片在线播放a| 天堂av一区二区在线观看| 亚洲人妻精品一区二区三区| 爽爽影院免费观看| 少妇无码一区二区三区免费| 国产白丝网站精品污在线入口| 一区二区三区岛国av毛片| 国产女主播一区二区三区| 97精品国产97久久久久久免费| 国产精品麻豆综合在线| 国产优质女主播在线观看| 日本免费一二三区在线| 色777狠狠狠综合| 这里只有久久精品| 伊人亚洲综合影院首页| 国产精品亚洲三级一区二区三区| 久久国产精品99精品国产| 91视频88av| 91麻豆精品一区二区三区| 不卡的高清av一区二区三区| 另类老妇奶性生bbwbbw| 无码精品一区二区免费AV| 亚洲男人在线天堂av| 最新国产精品拍自在线观看| 好男人日本社区www| 精品少妇人妻成人一区二区| 国产伦理一区二区久久精品| 国产三级在线观看完整版| 精品久久久久久久中文字幕| 国产精品制服一区二区| 国产激情自拍在线视频| 欧美寡妇xxxx黑人猛交| 伊人精品无码AV一区二区三区| 日本一区二三区在线中文| 国产激情视频在线观看首页| 精品奇米国产一区二区三区|