新聞中心

        EEPW首頁 > 醫療電子 > 設計應用 > 一種醫療CT數據采集系統解決方案

        一種醫療CT數據采集系統解決方案

        作者:繆永龍 時間:2014-07-25 來源:電子產品世界 收藏
        編者按:數據采集系統是CT系統的重要組成部分,由于CT掃描時間短,且掃描信息量大,因此CT數據采集系統工作在較高的頻率,且需要短時間傳輸較大的數據量。本文介紹的醫療CT數據采集系統解決方案采用單片XILINX SPARTAN6完成CT數據采集的主要功能,利用基于IEEE802.3Z的光纖以太網傳輸協議進行數據的傳輸,經實測本采集系統數據可靠性高,誤碼率低,達到了CT數據采集的要求。本文將重點介紹CT數據采集系統的具體實現方式及編碼技巧。

          對于底層,采用運輸層接入用戶數據,按照標準形式將數據封裝成完整的UDP數據格式,向下再封裝成IP數據報形式:增加IP數據報的版本號,生存時間,原地址及目的地址等信息,向下再封裝成MAC數據幀,增加數據的MAC地址及CRC校驗等信息。在實現完整的四層的過程中均采用HDL語言進行描述,不調用IPCORE。

        本文引用地址:http://www.104case.com/article/256099.htm

          為了充分利用并行處理的優勢,增加數據處理的速率,數據通常采用并行的方式進行打包和編碼。但是光纖通信傳輸的是串行數據,一對,兩條,一收一發的方式。因此,借助于的ROCKET IO模塊,將并行的數據輸入到FPGA的GTP IP CORE將數據串行化及8B10B編碼等,GTP就相當于傳統意義的PHY,在內部完成了PCS(物理編碼子層)和PMA(物理媒介適配層),從PHY出來的信號直連MDI接入現成的光模塊,光模塊經過光電轉換將電信號轉換成光信號在鏈路中進行傳輸。

          4 IEEE802.3z光纖協議的實現

          自協商協議:

          由于在通信過程中,有10M的、100M、1000M甚至10G的,為了支持多種不同標準的混合通信,IEEE802.3Z提出了一套自協商協議(Auto-nego),通信的雙方通過互發各自的通信能力信息,進行協商,從而達到最佳的通信模式,且只有當自動協商完成以后雙方才能進行通信。自協商通常用于通信速率、流量控制,狀態等信息的交互,其基本單元為一個16bit的寄存器,通過配置這個寄存器達到協商的目的。如下圖所示:rsvd為保留位,默認為0,D5為全雙工標志位,D6為半雙工標志位,為1時有效D7和D8和流量控制相關,RF1、RF2表明通信雙方自協商的結果。D14為應答標志位,NP為下一頁標志位,通常用于協商更為具體的內容,在本系統中將其置為0(圖3)。

          在本系統的設計過程中,由于數據量大,且連續,因此采用傳統的Annex31B標準進行流量控制及重傳基本不可能,數據的可靠性只能靠系統的設計及鏈路的鏈接進行加固,且用FPGA實現流量控制較復雜且需消耗大量的邏輯資源,因此我們不進行流量的控制,數據直接編碼進行實時傳送。又由于上行數據量大,下行數據量較少,因此,上行鏈路采用UDP協議進行以太網格式的傳送,下行鏈路直接用串口替代。這樣做還有一個好處就是將數據和指令進行了完全的分離。具體實現過程如下:

          本設計用6個狀態實現自動協商的過程:IDLE,READY,CONF,ACK_CONF,SYNC,AUTO_OK;上電復位以后,FPGA進入IDLE狀態,連續發送IDLE指令,使對端能正確識別FPGA的通信速率,當接收到3個以上的對方IDLE反饋以后,狀態機跳轉到READY狀態,發送配置準備狀態,表明FPGA方已準備進行配置,在收到3個以上的PC反饋過來的配置準備狀態指令以后,提取對端的通信模式的信息,寫入FPGA的寄存器,然后將其D14置1,作為反饋(FPGA的實際通信能力也許并不和對方對等,這樣設計簡化了自動協商的過程,消耗的邏輯資源更低),表明FPGA和PC具有相同的通信能力,一直發送反饋,直到接收到PC反饋的具有3個連續相同的配置能力的配置指令的字符,則跳入到SYNC,發送到同步指令,如果收到對方的3個連續的SYNC指令表示自動協商成功,否則協商失敗,重新跳入到IDLE進行協商,當跳入到AUTO_OK狀態則可以進行用戶數據的發送,如圖4為自動協商的過程。

        西門子plc相關文章:西門子plc視頻教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 准格尔旗| 衡南县| 尤溪县| 望城县| 蛟河市| 海晏县| 巴青县| 漾濞| 东乌| 九龙县| 舟山市| 乐都县| 儋州市| 贵定县| 富锦市| 丘北县| 海盐县| 昌黎县| 呼图壁县| 肇东市| 襄城县| 华宁县| 新绛县| 渑池县| 永登县| 怀柔区| 文成县| 阜南县| 雷山县| 双柏县| 太保市| 洛扎县| 大关县| 陵川县| 进贤县| 如皋市| 莱州市| 上栗县| 阳原县| 兴义市| 临夏县|