一種醫(yī)療CT數(shù)據(jù)采集系統(tǒng)解決方案
2.3 源同步模塊的具體實現(xiàn)
本文引用地址:http://butianyuan.cn/article/256099.htm本CT數(shù)據(jù)采集系統(tǒng)采用SPARTAN6 FPGA進行數(shù)據(jù)源同步的發(fā)送和接收。本小節(jié)具體介紹源同步數(shù)據(jù)的接收部分,數(shù)據(jù)的發(fā)送部分的實現(xiàn)方式基本相同。在源同步的接收端,將IOB配置成雙端模式,通過IOB接收來自發(fā)送端的時鐘和數(shù)據(jù),將接收到的LVDS雙端信號經(jīng)過IBUFGDS模塊變?yōu)閱味诵盘枴S捎?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/SPARTAN6">SPARTAN6的IOB中自帶IDELAY數(shù)據(jù)延遲模塊和ISERDES數(shù)據(jù)串并轉(zhuǎn)換模塊,因此將單端的時鐘信號輸入到IDELAY模塊進行時鐘的延遲控制和ISERDES串并轉(zhuǎn)換,然后再將該時鐘通過BUFIO2輸入到BUFPLL進行倍頻得到接收端的快時鐘和供內(nèi)部使用的慢時鐘。數(shù)據(jù)的對齊則是通過狀態(tài)機控制其IOB中的SERDES模塊和IDELAY模塊,數(shù)據(jù)的接收是通過BUFPLL得到的快速時鐘,數(shù)據(jù)的處理是通過BUFPLL得到的慢時鐘。
3 標準以太網(wǎng)幀的實現(xiàn)
3.1 方案論證
傳統(tǒng)的以太網(wǎng)通信通常會有10M,100M,1000M,甚至更高的速率,在CT數(shù)據(jù)采集卡中,傳統(tǒng)的100M以太網(wǎng)無法滿足要求,必需采用1000M甚至更高的以太網(wǎng)進行數(shù)據(jù)的傳輸。用FPGA實現(xiàn)以太網(wǎng)最簡單的方法是使用FPGA的軟核或者自帶的硬核,比如通常我們所說的NOISII,EDK,嵌入在FPGA里面的ARM等,甚至我們可以采用傳統(tǒng)的FPGA + ARM的方式來達到我們所要求的設(shè)計目標。為了最大限度的降低成本,本設(shè)計采用SPARTAN6 LX45T進行數(shù)據(jù)的采集,在FPGA中實現(xiàn)以太網(wǎng),最先考慮的是用軟核去實現(xiàn),軟核實現(xiàn)不需要深入了解底層原理及具體的通信協(xié)議,相對簡單。但軟核有個不足,軟核的速率達不到我們的要求,據(jù)有關(guān)資料顯示,基于spartan6系列的軟核實現(xiàn)以太網(wǎng),主頻不到100M,通信速率遠遠達不到1000M,因此要在spartan6中實現(xiàn)標準1000M以太網(wǎng)只能采用純邏輯的方式進行數(shù)據(jù)楨格式的轉(zhuǎn)換。
3.2 以太網(wǎng)標準及實現(xiàn)手段
傳統(tǒng)的OSI七層體系(如圖2)[4]:應(yīng)用層,表示層,會話層,運輸層,網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層,物理層;TCP/IP的結(jié)構(gòu)體系分為:應(yīng)用層,運輸層,網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層和物理層,實現(xiàn)完整的以太網(wǎng)通信必須具備完整的4層結(jié)構(gòu)體系。完整的以太網(wǎng)協(xié)議簇龐大,用純邏輯實現(xiàn)整個協(xié)議簇將消耗大量的FPGA資源,且工作量大,仿真工作復(fù)雜??紤]到CT數(shù)據(jù)采集的特點,采用點對點的以太網(wǎng)通信并不需要絕對完整TCP/IP協(xié)議簇,采用自定制的方式將達到我們的設(shè)計要求且實現(xiàn)方便。因此,采用MAC地址固定,IP地址自獲取的方式(接收arp廣播并提取對方IP,將對方IP最后一位加1,設(shè)定為FPGA端的IP地址),不另外編寫ICMP等協(xié)議,將大大減少項目開發(fā)的時間。
西門子plc相關(guān)文章:西門子plc視頻教程
評論