《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 在嵌入FPGA的IP核8051上實現TCP/IP的設計
在嵌入FPGA的IP核8051上實現TCP/IP的設計
摘要: 介紹了如何將可綜合的IP核8051嵌入FPGA的基本方案, 著重討論了利用嵌入的IP核來實現簡單的TCP/IP協議, 從而實現遠程調試的具體方法。利用該方法不但能夠通過8051進行某些簡單的控制而不需要改變FPGA的程序, 而且還能通過8051實現TCP/IP對FPGA的遠程調試。
Abstract:
Key words :

  0 引言

  隨著芯片規模的越來越大、資源的越來越豐富, 芯片的設計復雜度也大大增加。事實上, 在芯片設計完成后, 有時還需要根據情況改變一些控制, 這在使用過程中會經常遇到。這時候如果再對芯片設計進行改變將是很不可取的, 因為需要設計人員參與這種改變, 這無論是對設計者還是用戶都是不能接受的。于是就有必要讓這種可以改變的簡單控制在芯片設計時就存在, 而且同時還應該使這種改變相對容易, 比較通用, 并且與芯片的其它設計部分盡量不相關。為了滿足上述的要求, 在FPGA中嵌入一個IP核是比較理想的選擇, 而這個即通用又控制簡單的IP核最好選擇8051微處理器。

  在FPGA中植入8051后, 還可在上面實現簡單的TCP/IP協議, 以支持遠程訪問或進行遠程調試, 這只是在嵌入FPGA的8051上的一個應用。為了保證用戶能夠對8051實現不同的控制操作,設計時也可以采用一個外部flash對8051進行加載, 這樣, 用戶只需要將編譯好的匯編語言代碼加到flash就可以控制8051的工作, 而此時用戶完全不需要對FPGA進行操作就能實現簡單的控制,而這需要的僅僅只是keil的編譯環境。

 

  1 IP核8051的FPGA實現

  現在有許多免費的8051核可以利用, 這些核都可通過硬件描述語言來實現, 并且基本上都可綜合, 也就是直接拿來就能用, 需要的只是根據自身的具體需求做一些簡單修改即可。總的說來, IP核8051的移植是比較簡單的。

  本系統的設計與實現可以采用oregano system的mc8051內核, 并且加入定時計數的和串口模塊, 8051單片機的設計結構框圖如圖1所示。
 

8051單片機的設計結構框圖

  在8051核的FPGA設計中, 完全可以實現包括計時/計數、中斷、串口、數據及程序存儲器、特殊寄存器、布爾處理的位處理機等的所有功能, 而且兼容所有指令, 只是在具體的移植過程中做一些改變而已。

  這種方法對程序存儲器不再做內外之分, 因為FPGA內部存儲容量已經能夠滿足要求, 同時將程序存儲器的容量擴大了一倍 (變為8KB), 以滿足大程序的容量需求; 為了讓8051更為強大且更具有通用性, 可將數據存儲器RAM的容量擴大一倍, 變為256字節。可以看出, 在設計過程中將8051的功能也進行了加強, 但是并不影響對它的控制, 僅僅是在硬件上對存儲器的容量進行了擴大, 而這種擴大只是改變了地址線的寬度, 完全不影響111條指令的正確執行。對用戶來說這只是可以使用的內部RAM增加了, 控制并沒有任何改變。當然, 在資源比較緊張, 而且程序容量比較小時, 也可以將存儲器的容量改小, 這種改變也相當方便, 只需要改變地址線的寬度就能達到目的。由此可見, 設計時完全可以根據需要改變IP核的設計, 而不局限于8051。

  雖然整個8051IP核能正確執行所有指令, 并能實現串口、計時器及中斷控制, 且整個IP的核工作時鐘也在20 MHz以上, 但是, 由于這時候的所有指令周期并不與真實的8051完全一致, IP核中有的指令需要比真正的8051多執行幾個周期才能完成, 這就使得分析IP核的工作時鐘復雜起來了, 因為相對于真正的8051不能有一個精確的工作時鐘對比。但是經過分析仍然可以認為, IP核應該可以工作在15 MHz左右, 也就是比真實的8051快了15倍左右。這對于芯片整體來說, 其速度可能相對較低, 但是由于這部分與芯片其它部分的邏輯相關性極小, 所以并不會影響芯片的整體性能, 而對于一些簡單控制來說, 這個速度還是能夠滿足要求的。

  2 UIP協議棧

  2.1 UIP簡介

  在FPGA中實現TCP/IP協議的主要目的是為了滿足設計人員對芯片的遠程調試。而滿足這種要求實際上并不需要很強大和快速的傳輸功能。功能過于強大將會占用過多的資源, 而且實際上, 很多功能并沒有實際作用; 同時也不需要很快的傳輸速度。畢竟對于一個芯片的設計來說,無論是設計文檔或是設計程序, 容量都是非常有限的。綜合考慮, 則應選擇一個實現簡單、占用資源少, 但能夠比較穩定地進行數據傳輸的協議, 為此, 本文選擇了相對簡單的UIP協議棧,而放棄了功能比較強大的LWIP協議棧。選擇UIP還有一個好處, 就是這個協議棧是專門針對單片機等微控制器設計的TCP/IP協議棧, 它能夠利用嵌入的IP核8051來實現TCP/IP協議, 而不再需要額外的邏輯單元。

  UIP的特點是代碼量和數據量都比較小, 因而可以為存儲器比較緊張的地方提供合適的實現方案, 包括TCP/IP所需的最小實現方案和只包含TCP、IP、ICMP (ping) 以及簡單的UDP協議, 其具體的實現方法如圖2所示, 圖2中, 帶“×”的表示已經實現。

UIP對TCP/IP的實現圖

  2.2 UIP協議棧的實現方法

 

  通過UIP可實現TCP/IP協議集的四個基本協議, 包括ARP地址解析協議、IP網際互聯協議,ICMP網絡控制報文協議和TCP傳輸控制協議。為了在8位、16位處理器上應用, UIP協議棧在實現各層協議時采用有針對性的方法來保證代碼大小和存儲器使用量最小。

  實現ARP地址解析協議時, 為節省存儲器,ARP應答包可直接覆蓋ARP請求包; 而在實現IP網絡協議時, 則對原協議進行了極大的簡化, 并沒有實現分片和重組; 當實現ICMP網絡控制報文協議時, 只需實現echo (回響) 服務。UIP在生成回響報文時, 并不重新分配存儲器空間, 而是直接修改echo請求報文來生成回響報文。設計時可將ICMP類型字段從“echo”改變成 “echo re-ply”類型, 并重新計算校驗和修改校驗和字段。UIP里的TCP沒有實現發送和接收數據的滑動窗口。每個TCP連接的狀態均由uip_conn結構保存。uip_conn結構包括當地和遠端的TCP端口編號、遠程主機的IP地址、重發時間值、上一段重發的編號以及連 接段的最大尺寸等信息。uip_conn結構數組可用于保存所有的連

 

接, 數組的大小等于可支持同時連接的最大數量。為了減少儲存器的使用量, 在處理重發時, UIP并不緩存發送的數據包, 而是由應用程序在需要重發時重新生成發送的數據。

 

  2.3 UIP協議棧的接口

  為了UIP協議棧能具有最大的通用性, 在實現時可將底層硬件驅動和頂層應用層之外的所有協議集“打包”在一個“庫”里。協議棧通過接口與底層硬件和頂層應用進行通信。通過這種方式可使uIP具有極高的通用性和獨立性, 以便移植到不同的系統和方便地實現不同的應用, 很好的體現TCP/IP協議平臺無關性的特點。UIP協議棧與系統底層和應用程序之間的接口如圖3所示。圖中, 各接口之間都是由一系列函數來實現的。

  3 UIP協議棧在IP核8051上的實現

  3.1 UIP協議棧在IP核8051上的移植

  由于UIP協議棧是專門針對微處理器編寫的,所以移植也是非常的方便, 但需注意以下幾點:

UIP協議棧與系統底層和應用程序之間的接口

  (1) 協議棧是用C語言編寫的, 故在移植時需要再加上兩個頭文件, 一個是8051的頭文件, 另一個是8051的硬件初始化頭文件;

  (2) 通過keil c編譯器編譯時, 在選器件時需要注意, 只有選取數據寄存器為256個字節才能順利通過編譯, 這也是為什么前面8051IP核的數據存儲器RAM需要擴展至256個字節的原因。不對RAM進行擴展, 就會出現“不能寫B9地址”的錯誤, 因為在沒有對RAM擴展前, 根本不存在B9地址;

  (3) 將軟件keil編譯生成的hex文件送入到8051的程序存儲器, 即可在IP核8051上實現簡單的TCP/IP協議。這在軟件測試時, 與實際工作將有所不同。軟件測試時需要將hex文件作為程序存儲器的初始化輸入, 即在EDA軟件編譯8051時, 將程序存儲器的初始化文件mif的路徑設置為hex所在的路徑, 在完成綜合布線后, hex文件的內容就進入了程序存儲器。這樣, 仿真時就能在8051IP上實現TCP/IP協議了。

  3.2 UIP的工作流程

  TCP/IP協議在嵌入到FPGA的IP核8051上的工作流程, 實際上也是簡化后的TCP/IP協議的工作流程, 這跟正式的TCP/IP協議有所不同。下面的工作流程以輸入一個同步幀 (即: 三向握手的第一次握手) 為例。對于8051實現的UIP來說, 它屬于被動建立連接, 其正確的輸出結果應該是三向握手的第二次握手, 送出一個確認同步幀是所期望的結果。

  下面簡單介紹UIP的整個工作流程:

  (1) 在P0端口有數據前, 讀取數據函數并反復執行, 以對P0端口進行監視 (此種情況只是在測試時, 實際工作中物理層通過控制信號通知讀數函數P0口是否有數據);

  (3) 為信號的第8級分解小波模極大值圖; (4) 為信號各級 (共9級) 的高頻分量即小波系數。
 

+15 V階躍信號及其小波分析結果

  由圖4可以看出, 該故障信號分析儀能有效采集實時故障信號, 并可在對信號經過小波分析后有效的提取故障特征, 而且故障點定位明顯。

  5 結束語

  該便攜式接觸網故障信號分析儀采用圖形化程序設計語言LabVIEW開發設計, 可實現數據的高速實時采集、在線分析、自動存儲、顯示等功能。高速數字化儀NI PXI- 5112卡采樣速度高、性能穩定可靠, 適宜對高速變化信號的實時監測。將軟件安裝在PXI- 1042工控機上, 具有體積小、抗干擾能力強、攜帶方便等特點, 同時具有故障性質判斷、故障定位功能。該系統目前已經在石家莊變電所現場運行, 效果良好。

  參考文獻

  [1] 劉君華.基于LabVIEW的虛擬儀器設計[M].北京: 電子工業出版社,2003:115- 127.

 

  [2] Rober H. Bishop.LabVIEW6i 實用教程[M].北京: 電子工業出版社,2003:209- 265.

  [3] LabVIEW Data Acqusition Basics Manual on NI- 5112

  [M].National Instrument Corpration,1998.

  [4] Mok Aloysius K,Srusrt Douglas.RTT seman tics forLabVIEW.IEEE Aerospace Applications ConrerenceProceedings,1998:61- 71.

  [5] 楊樂平, 李海濤,等.LabVIEW高級程序設計[M].北京:清華大學出版社,2003:390- 392.

 
此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产一区二区三区不卡在线观看 | 欧美国产精品v| 欧美中文字幕视频在线观看| 亚洲在线观看免费视频| 亚洲图中文字幕| 亚洲特级片在线| 亚洲视频在线免费观看| 一个色综合av| 一区二区三区不卡视频在线观看| 日韩视频一区二区在线观看| 亚洲精品日韩久久| 日韩一区二区电影网| 99国产精品99久久久久久粉嫩| 亚洲精品一区二区网址 | 香蕉国产精品偷在线观看不卡| 亚洲男人影院| 午夜视频在线观看一区二区三区 | 亚洲欧美日韩人成在线播放| 亚洲女性裸体视频| 午夜精品一区二区三区在线| 欧美亚洲三级| 久久精品国产综合精品| 久久久午夜电影| 蜜臀va亚洲va欧美va天堂| 欧美va亚洲va国产综合| 欧美日韩第一区日日骚| 欧美午夜激情小视频| 国产精品福利在线观看网址| 国产九色精品成人porny| 国产欧美在线| 精品av久久久久电影| 亚洲国产美国国产综合一区二区| 亚洲精品国产精品国自产观看| 一本色道久久综合精品竹菊 | 国产精品乱码| 国产午夜精品一区二区三区视频| 一区二区在线观看视频| 最近看过的日韩成人| 99精品欧美一区二区三区| 亚洲免费视频成人| 亚洲高清色综合| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品一区一区三区| 国产在线拍偷自揄拍精品| 亚洲福利视频网站| 一区二区三区回区在观看免费视频| 亚洲摸下面视频| 亚洲国产精选| 亚洲综合国产| 久热精品在线| 国产精品xxx在线观看www| 国产综合久久久久久| 亚洲精品之草原avav久久| 亚洲欧美怡红院| 亚洲精品乱码久久久久久日本蜜臀 | 久久久久久久精| 欧美激情一区二区三区在线视频观看| 国产精品99一区| 精品不卡一区| 中文国产一区| 亚洲国产欧美一区| 亚洲欧美一区二区三区极速播放| 浪潮色综合久久天堂| 国产精品国产三级国产普通话99 | 国产精品日韩一区二区| 1000精品久久久久久久久| 一区二区三区鲁丝不卡| 久久精品一区二区国产| 亚洲一区久久| 免费欧美网站| 国产免费观看久久| 亚洲乱码国产乱码精品精天堂| 久久动漫亚洲| 亚洲综合国产精品| 欧美激情视频给我| 国语自产精品视频在线看| 在线一区二区三区四区| 亚洲国产日韩欧美| 欧美亚洲免费电影| 欧美日韩精品免费观看视频| 韩日午夜在线资源一区二区| 在线亚洲精品| 日韩一级大片| 免费欧美电影| 狠狠色丁香婷婷综合影院| 亚洲综合色丁香婷婷六月图片| 一本到12不卡视频在线dvd| 久久人91精品久久久久久不卡| 国产精品黄色| 日韩午夜黄色| 亚洲精品一区久久久久久| 久久久久九九九| 国产精品综合久久久| 一本色道久久综合亚洲精品高清 | 欧美精品在线免费播放| 曰本成人黄色| 亚洲高清久久| 久久婷婷蜜乳一本欲蜜臀| 国产精品自在线| 国产精品99久久久久久白浆小说 | 久久人体大胆视频| 国产色产综合色产在线视频 | 亚洲女女女同性video| 亚洲网友自拍| 欧美日韩一级片在线观看| 亚洲韩国精品一区| 亚洲激精日韩激精欧美精品| 久久男人av资源网站| 国产亚洲福利一区| 亚洲欧美精品在线| 香蕉久久夜色精品国产使用方法| 欧美午夜宅男影院在线观看| 日韩视频第一页| 99视频精品| 欧美日产在线观看| 亚洲精品免费看| 99精品视频免费观看| 欧美日本一区二区三区| 最新国产成人av网站网址麻豆| 亚洲欧洲一区二区三区在线观看| 麻豆久久精品| 在线精品国精品国产尤物884a| 亚洲福利在线视频| 免费日韩视频| 在线观看日韩| 亚洲精品久久嫩草网站秘色 | 国产亚洲毛片在线| 久久av二区| 麻豆av福利av久久av| 亚洲第一成人在线| 日韩午夜高潮| 欧美午夜在线视频| 亚洲在线观看免费视频| 欧美在线播放高清精品| 国产无遮挡一区二区三区毛片日本| 午夜精彩国产免费不卡不顿大片| 久久精品国产清高在天天线| 狠狠操狠狠色综合网| 亚洲国产岛国毛片在线| 欧美国产日本在线| 在线亚洲国产精品网站| 欧美影院在线播放| 激情一区二区三区| 亚洲乱码视频| 欧美午夜久久久| 亚洲欧美日本日韩| 久久综合给合| 亚洲国产高清自拍| 亚洲视频一区| 国产视频在线一区二区| 亚洲国产欧美一区| 欧美日韩视频在线一区二区观看视频| 中文精品视频一区二区在线观看| 欧美诱惑福利视频| 亚洲福利视频在线| 亚洲欧美日韩高清| 好男人免费精品视频| 一本色道久久99精品综合| 国产精品日韩在线一区| 欧美在线视屏| 欧美日韩成人| 午夜精品久久久久| 欧美国产免费| 亚洲自拍偷拍一区| 免费欧美电影| 亚洲香蕉网站| 免费在线成人| 亚洲一区在线直播| 男人插女人欧美| 亚洲一区二区三区在线播放| 久热成人在线视频| 中文av一区特黄| 久久这里只有| 一区二区三区偷拍| 美女爽到呻吟久久久久| 亚洲天堂av综合网| 欧美成人免费小视频| 亚洲欧美在线免费| 欧美精品在线免费观看| 欧美资源在线观看| 欧美午夜在线一二页| 亚洲级视频在线观看免费1级| 国产精品国产三级国产普通话三级 | 国产九区一区在线| 一区二区三区产品免费精品久久75| 国产欧美一区二区色老头| 一本色道综合亚洲| 红杏aⅴ成人免费视频| 亚洲欧美日韩另类精品一区二区三区| 在线观看日韩一区| 欧美与黑人午夜性猛交久久久| 亚洲国产欧美一区二区三区同亚洲 | 欧美一区网站| 国产精品成av人在线视午夜片| 最新69国产成人精品视频免费| 国产精品一区一区| 亚洲专区一区| 亚洲毛片在线观看.| 久久亚洲综合| 午夜久久久久久久久久一区二区|