當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件

引言

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

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

1 IP核8051的FPGA實現(xiàn)

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

本系統(tǒng)的設(shè)計與實現(xiàn)可以采用oregano system的mc8051內(nèi)核, 并且加入定時計數(shù)的和串口模塊, 8051單片機的設(shè)計結(jié)構(gòu)框圖如圖1所示。

在8051核的FPGA設(shè)計中, 完全可以實現(xiàn)包括計時/計數(shù)、中斷、串口、數(shù)據(jù)及程序存儲器、特殊寄存器、布爾處理的位處理機等的所有功能, 而且兼容所有指令, 只是在具體的移植過程中做一些改變而已。
這種方法對程序存儲器不再做內(nèi)外之分, 因為FPGA內(nèi)部存儲容量已經(jīng)能夠滿足要求, 同時將程序存儲器的容量擴大了一倍 (變?yōu)?KB), 以滿足大程序的容量需求; 為了讓8051更為強大且更具有通用性, 可將數(shù)據(jù)存儲器RAM的容量擴大一倍, 變?yōu)?56字節(jié)??梢钥闯? 在設(shè)計過程中將8051的功能也進行了加強, 但是并不影響對它的控制, 僅僅是在硬件上對存儲器的容量進行了擴大, 而這種擴大只是改變了地址線的寬度, 完全不影響111條指令的正確執(zhí)行。對用戶來說這只是可以使用的內(nèi)部RAM增加了, 控制并沒有任何改變。當(dāng)然, 在資源比較緊張, 而且程序容量比較小時, 也可以將存儲器的容量改小, 這種改變也相當(dāng)方便, 只需要改變地址線的寬度就能達到目的。由此可見, 設(shè)計時完全可以根據(jù)需要改變IP核的設(shè)計, 而不局限于8051。

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

2 UIP協(xié)議棧

2.1 UIP簡介

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

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


2.2 UIP協(xié)議棧的實現(xiàn)方法

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

實現(xiàn)ARP地址解析協(xié)議時, 為節(jié)省存儲器,ARP應(yīng)答包可直接覆蓋ARP請求包; 而在實現(xiàn)IP網(wǎng)絡(luò)協(xié)議時, 則對原協(xié)議進行了極大的簡化, 并沒有實現(xiàn)分片和重組; 當(dāng)實現(xiàn)ICMP網(wǎng)絡(luò)控制報文協(xié)議時, 只需實現(xiàn)echo (回響) 服務(wù)。UIP在生成回響報文時, 并不重新分配存儲器空間, 而是直接修改echo請求報文來生成回響報文。設(shè)計時可將ICMP類型字段從“echo”改變成 “echo re-ply”類型, 并重新計算校驗和修改校驗和字段。UIP里的TCP沒有實現(xiàn)發(fā)送和接收數(shù)據(jù)的滑動窗口。每個TCP連接的狀態(tài)均由uip_conn結(jié)構(gòu)保存。uip_conn結(jié)構(gòu)包括當(dāng)?shù)睾瓦h端的TCP端口編號、遠程主機的IP地址、重發(fā)時間值、上一段重發(fā)的編號以及連接段的最大尺寸等信息。uip_conn結(jié)構(gòu)數(shù)組可用于保存所有的連接, 數(shù)組的大小等于可支持同時連接的最大數(shù)量。為了減少儲存器的使用量, 在處理重發(fā)時, UIP并不緩存發(fā)送的數(shù)據(jù)包, 而是由應(yīng)用程序在需要重發(fā)時重新生成發(fā)送的數(shù)據(jù)。

2.3 UIP協(xié)議棧的接口

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

3 UIP協(xié)議棧在IP核8051上的實現(xiàn)

3.1 UIP協(xié)議棧在IP核8051上的移植

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



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

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

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

3.2 UIP的工作流程

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

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

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

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

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

5 結(jié)束語

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

參考文獻

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

[2] Rober H. Bishop.LabVIEW6i 實用教程[M].北京: 電子工業(yè)出版社,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高級程序設(shè)計[M].北京:清華大學(xué)出版社,2003:390- 392.

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉