在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于PLD和硬件描述語言實現(xiàn)系統(tǒng)在內(nèi)編程

電子設計 ? 來源:電子技術應用 ? 作者:汪一鳴,徐清源, ? 2021-05-20 11:27 ? 次閱讀

作者:汪一鳴,徐清源,翁桂榮,胡子漣,王蓮蓮

1 問題的提出

自二十世紀80年代以來,可編程邏輯器件(PLD)技術發(fā)展非常迅速。由于PLD是作為一種通用器件生產(chǎn)的,而它的邏輯功能是由用戶通過對器件編程實現(xiàn)的,隨著PLD的集成度越來越高,速度越來越快,設計越來越方便靈活,因而日益成為專用集成電路ASIC設計的主流方法。特別是二十世紀90年代新一代在系統(tǒng)編程技術isp的推出,取消了專用編程設備,器件本身也不必從系統(tǒng)電路板上取下,便可以使用硬件描述語言和電路圖方法在系統(tǒng)內(nèi)編程。這一創(chuàng)舉使現(xiàn)代電子系統(tǒng)設計的方法前進了一大步,設計周期大大縮短,效率大為提高,并且十分有利于產(chǎn)品的升級和更新?lián)Q代。

一個數(shù)字系統(tǒng)的自動設計流程,可以分為四個階段。首先是對系統(tǒng)的功能進行分析,利用原理圖或硬件描述語言表達設計者的意圖;第二是步利用仿真工具對設計者的想法進行測試仿真,以便發(fā)現(xiàn)設計中的缺陷和錯誤;第三步是將前兩步生成的文件進行編譯并和具體器件相適配,生成具體芯片的融絲圖文件;最后一步就是將融絲圖文件通過編程電纜下載到包含有PLD的設備中,從而實現(xiàn)一個物理的數(shù)字系統(tǒng),如圖1(a)所示。

基于PLD和硬件描述語言實現(xiàn)系統(tǒng)在內(nèi)編程

在這四個階段中,前三步都可以在計算機上使用不同軟件工具實現(xiàn),而最后一步必須和具體的設備進行連接,這意味著需要設計者親臨現(xiàn)場操作。設想如果產(chǎn)品發(fā)往外地,或是遠涉重洋出口海外,就需要生成一個龐大的全球性售后服務網(wǎng)絡對產(chǎn)品跟蹤或更新,這對中小企業(yè)來說根本不可想象。如何解決這個問題呢?我們想到了無所不能的互聯(lián)網(wǎng)。既然中小企業(yè)的原材料供應、成品銷售等可以受益于互聯(lián)網(wǎng),那么他們的技術性服務為什么不可以通過互聯(lián)網(wǎng)進行呢?為此,我們利用互聯(lián)網(wǎng)及其TCP/IP協(xié)議開發(fā)研制了一個遠程在系統(tǒng)編程工具,使工程技術人員足不出戶就可以對他們利用PLD研制生產(chǎn)的遠在千里之外的電子系統(tǒng)、電子設備進行升級和維護,如圖1(b)所示。

2 系統(tǒng)結(jié)構(gòu)

本工具采用了客戶服務器模式,由兩個部分組成。一個在用戶計算機上執(zhí)行,稱之為用戶端;另一個在設計者計算機上運行,稱之為設計端。軟件編制使用C++語言,在C Builder環(huán)境下設計。程序中使用C Builder中提供的網(wǎng)絡通信控件,實現(xiàn)客戶和服務器之間的通信。本工具程序框圖見圖2。

pIYBAGCl1_2ASme1AAEIVYJ6uPw024.png

首先由用戶端將設備和計算機通過下載電纜(使用并行口)連接在一起,并啟動計算機運行用戶端程序。用戶要做的就是這些,這些操作不需要任何專業(yè)知識。用戶端程序也不需要什么配置,只要它自動掃描并發(fā)現(xiàn)接有設備的端口,并對之操作即可。

用戶端程序一旦運行,設計端程序就可以啟動。設計端首先輸入用戶端的IP地址,輸入不同的IP地址,就可以對不同的用戶端設備進行操作。然后調(diào)入設計好的融絲圖文件,對文件的格式進行檢查,顯示文件中的信息。文件中的信息指示該文件對哪些芯片編程,以及它們在設備中的排列順序。

檢查正確后,就可以進行網(wǎng)絡連接,并把文件內(nèi)容發(fā)送給用戶端。在用戶端將融絲圖下載到PLD芯片的過程中,用戶端應用程序回送下載進度給設計端,設計端就可以顯示下載進度。如果一切正常,下載完畢后就關閉連接,結(jié)束通信。

3 技術實現(xiàn)

3.1 設計端

設計端界面為一窗體,窗體上有一個命令菜單、一個編輯控制(輸入或顯示打開的文件路徑和文件名)、一個組合框(讓用戶選擇下載模式)、兩個顯示下載進度和文件信息的備注控件,還有一個用于通信的客戶端套接字控件。

設置IP地址,點擊“命令/設置”時會顯示一個模式對話框。用戶可以在 “IP地址”編輯控制中輸入用戶端的IP地址,按“確定”該值將賦給客戶端套接字控件的屬性“Address”,進行網(wǎng)絡連接時,將與擁有該IP地址的主機通信。在 “端口”編輯控制中輸入用戶端下載服務的TCP端口號,按“確定”將該值賦給套接字控件的屬性“Port”,進行網(wǎng)絡連接時,將與指定主機的服務端口通信。

下載文件,直接在編輯控制中輸入文件名或點擊“打開文件”,通過對話框得到下載文件的路徑。每次選擇一個isp文件, 所謂isp文件,是將標準的融絲圖JED文件采用一定的壓縮算法生成的。它比標準的JED文件要小,這樣下載時速度要快些。為了能夠下載成功,要對文件格式和內(nèi)容進行檢查。檢查依據(jù)的是isp文件的頭格式,包括文件類型、芯片鏈中芯片的個數(shù)、擦除脈沖寬度、編程脈沖寬度、編程行數(shù)、每行長度、芯片ID列表等。文件的第一個字節(jié)只要是(0Xf8 0x0B 0x0F 0x0A中的一個,則該文件就是isp文件,不同數(shù)值分別代表不同類型的芯片和壓縮類型。

下載模式,文件選定后,必須選擇下載模式。共設四種模式:編程并校驗、僅校驗、僅校驗UES、校驗并顯示UES。其中UES是指存放在芯片中的用戶自定義信息,根據(jù)需要可以是設備的序列號或設備的唯一標識等信息,而與芯片的功能沒有關系。

編程并校驗,是指將文件內(nèi)容下載到芯片中,并在下載過程中從芯片讀出下載內(nèi)容,檢驗是否下載正確。

僅校驗,是指讀出芯片中的內(nèi)容,并與文件內(nèi)容進行比較,檢驗兩者是否一致。

僅校驗UES,是指檢驗文件中的UES信息與芯片中的是否一致。

校驗并顯示UES,是指把文件中的UES信息與芯片中的UES內(nèi)容進行比較,檢驗兩者是否一致。若一致,則顯示UES內(nèi)容,否則提示校驗錯誤。

下載模式選定后,就可以進行網(wǎng)絡連接了。選擇菜單“命令\連接”,調(diào)用網(wǎng)絡連接的代碼。一旦連接成功,系統(tǒng)會發(fā)連接成功“CONNECTED”消息。收到此消息后,程序會在此連接上發(fā)送一個雙字。若該值為1,則表示將發(fā)送一個文件,否則表示雙方可以用鍵盤進行對話。如果沒有選擇下載文件,將自動進入對話狀態(tài)。若是對話狀態(tài),雙方可在窗體右邊的備注控件中輸入對話內(nèi)容,按回車鍵就會發(fā)送輸入內(nèi)容。若是下載狀態(tài),緊接著會發(fā)送一個雙字,表示下載模式。然后會再發(fā)送一個雙字,表示文件的長度,最后發(fā)送整個文件內(nèi)容。

用戶端收到全部內(nèi)容后,開始下載。下載過程中用戶端把下載進度發(fā)送給設計端,設計端收到后,將顯示收到的內(nèi)容。這樣,設計者就會看到下載進度。

下載結(jié)束后,自動進入對話狀態(tài)。如果用戶端有人,雙方可以進行簡短對話,討論一些技術問題。

運行“命令\斷開”,則關斷網(wǎng)絡連接,結(jié)束本次下載過程。新的下載過程只要重新運行“命令\連接”即可。

3.2 用戶端

用戶端窗體上有一個進度條(顯示下載進度)和兩個備注控件(顯示當前用戶的工作狀態(tài),以及交談時的輸入輸出)。用戶端需要完成的功能比設計端復雜。主要有數(shù)據(jù)的接收、設備的自動識別、具體的下載過程等。

程序運行后,在收到窗體創(chuàng)建消息時,將激活服務器套接字,并和TCP端口綁定,等待設計端進程的連接。

只要運行設計端“命令\連接”,就會在用戶端產(chǎn)生網(wǎng)絡連接的消息。連接成功后,與設計端對應,收到的第一個雙字,代表本次連接是下載狀態(tài)還是對話狀態(tài)。若是1,則為下載,否則進入對話狀態(tài)。若是對話狀態(tài),直接在備注控件中輸入對話內(nèi)容,按回車鍵即可。對方的談話會在另一個備注控件中顯示出來。

若是下載文件(這是最常用的狀態(tài)),緊接著會收到一個雙字,代表下載模式(具體含義見前)。然后會再收到一個雙字,代表將要下載的文件長度。若該值小于等于零,或等于0Xffffffff計算機中的-1,則提示發(fā)送方有錯,并關閉本次連接,否則將會接收全部文件內(nèi)容。文件的結(jié)束是靠文件長度與收到字節(jié)數(shù)進行比較,相等表示全部收到。全部收到后,即進行下載。

編程電纜,下載過程與硬件密切相關,我們使用編程電纜(共8根線?使用其中的7根)與并行口連接。每個并行口有三個端口:數(shù)據(jù)、狀態(tài)、控制端口,每個端口占一個字節(jié)。具體定義如下:

在電纜內(nèi)部將并行口的8腳與12腳直接連接,用于檢測電纜是否已插到并行口上。向數(shù)據(jù)端口的第6位寫數(shù)據(jù),再從狀態(tài)端口第5位讀入數(shù)據(jù),比較兩者是否一致,即可得知下載電纜是否連接。圖3給出了編程電纜及接插件的端口定義。

o4YBAGCl1_WAL9QQAADQrsWT-jQ494.png

其它信號的含義及作用如下:

out_SDI 將isp數(shù)據(jù)從此腳串行輸出到芯片上;

out_SCLK 控制下載過程的時鐘信號;

out_MODE 將isp命令從此腳串行輸出到芯片上;

out_ISP 控制芯片在正常工作模式和編程模式

之間切換;

in_SDO 從芯片上串行讀出isp數(shù)據(jù);

in_VCC_OK 用于檢測設備電源是否打開。 下載的流程圖見圖4。

o4YBAGCl1-6AP1i2AADpUfTkfMc348.png

下載開始首先掃描三個并行口端口。利用信號in_CABLE_SENSE_IN和in_VCC_OK檢測設備是否和計算機連接以及電源是否打開,兩個信號同時有,則表示該端口連接有設備。如果找不到設備,就給出提示并中斷這次下載過程。再檢查文件的類型,看設計端發(fā)送來的文件是否為合法的isp文件。否則給出提示并中斷這次下載過程。若合法,則接著讀出被編程芯片的編程、擦除時間以及編程行數(shù)等信息。其中編程和擦除時間的控制,是利用多媒體定時器實現(xiàn)的,可以實現(xiàn)準確的脈沖延遲,保證擦除、編程的可靠性。隨后從芯片中讀出該設備中含有的芯片ID列表(ID列表與芯片型號有關),并與設計端的值進行比較。若一致可以繼續(xù)下載;否則給出提示并中斷本次下載過程。因為芯片列表不一致,將導致設備根本不能工作。

下載時,通過out_SDI端將數(shù)據(jù)一個比特一個比特地串行輸出到芯片中,并從SDO端讀出剛寫入芯片的數(shù)據(jù),與文件中應寫入的數(shù)據(jù)進行比較校驗,以保證數(shù)據(jù)準確地寫入到芯片中。

4 出錯處理

錯誤的處理是軟件設計中十分重要的一個方面,本軟件同樣充分考慮各種意外和錯誤,使得錯誤的影響得到很好控制。本軟件中最主要的出錯處理就是對網(wǎng)絡錯誤的處理,如設計端用戶輸入的IP地址或端口號不正確等。

C Builder中的網(wǎng)絡控件提供了出錯的消息,對于因網(wǎng)絡連接、連接中斷或網(wǎng)絡超時等引起的問題,該消息都會被觸發(fā)。消息被觸發(fā)時,在消息處理函數(shù)中將一些變量重新初始化,并關斷網(wǎng)絡連接。值得一提的是,因計算機IP地址的設置而產(chǎn)生的網(wǎng)絡錯誤消息將不會發(fā)給控件,例如:計算機的子網(wǎng)掩碼為255.255.255.0,本機地址為202.195.168.1,不設置網(wǎng)關。在這樣的配置下,如果與IP地址為202.195.200.1的主機進行連接,將會產(chǎn)生網(wǎng)絡錯誤“子網(wǎng)不可到達”?而控件卻收不到這個消息。此時必須調(diào)用SetErrorProc,指定自己定義的網(wǎng)絡意外處理過程來替代默認過程。新過程將捕獲所有網(wǎng)絡意外,從而避免該消息的遺漏。

另外對下載過程中出現(xiàn)的各種不正常情況都做了檢測,例如:下載電纜沒有連接、設備電源沒有打開、器件列表不符和校驗錯誤等。當檢測到這些錯誤時,由于用戶端無人值守,因此將錯誤信息回送設計端,并用適當?shù)男问斤@示給設計者,以便設計人員做進一步處理。

5 應用范圍及前景

該工具可供所有使用PLD器件進行設計和開發(fā)電子產(chǎn)品及系統(tǒng)設備的公司或廠家使用。對于他們拓展業(yè)務范圍、提升產(chǎn)品價值、增加產(chǎn)品的信息技術含量、降低生產(chǎn)成本、爭取更多用戶、以信息化帶動工業(yè)化等都具有深刻意義。

該工具也可供開設數(shù)字邏輯電路和數(shù)字系統(tǒng)設計課程的相關學校使用,為教師在局域網(wǎng)上指導和批改學生的實驗提供了方便,并可以把學生從都做同樣的單一實驗這種傳統(tǒng)模式中解放出來,有利于針對不同學生給出不同要求,同時也降低了教學成本。特別對遠程教學而言,該工具為一直困擾工科院校的網(wǎng)上教學等問題提供了一種具有開拓意義的方法。隨著信息技術的進一步發(fā)展,我們相信類似的應用將成為互聯(lián)網(wǎng)應用的一個新領域。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 集成電路
    +關注

    關注

    5392

    文章

    11624

    瀏覽量

    363192
  • 計算機
    +關注

    關注

    19

    文章

    7540

    瀏覽量

    88643
  • PLD
    PLD
    +關注

    關注

    6

    文章

    230

    瀏覽量

    59503
收藏 人收藏

    評論

    相關推薦

    請問如何使用Verilog硬件描述語言實現(xiàn)AES密碼算法?

    如何使用Verilog硬件描述語言實現(xiàn)AES密碼算法?
    發(fā)表于 04-14 06:29

    如何使用VHDL硬件描述語言實現(xiàn)的十六路彩燈控制系統(tǒng)

    本文介紹應用美國ALTERA公司的MAX+PLUSⅡ平臺,使用VHDL硬件描述語言實現(xiàn)的十六路彩燈控制系統(tǒng)
    發(fā)表于 04-19 07:43

    Verilog硬件描述語言描述.

    本書簡要介紹了Verilog硬件描述語言的基礎知識,包括語言的基本內(nèi)容和基本結(jié)構(gòu) ,以及利用該語言在各種層次上對數(shù)字系統(tǒng)的建模方法
    發(fā)表于 03-27 23:44 ?101次下載

    VHDL硬件描述語言教學.

    VHDL硬件描述語言教學:包括fpga講義,VHDL硬件描述語言基礎,VHDL語言的層次化設計的教學幻燈片
    發(fā)表于 03-27 23:46 ?93次下載

    verilog硬件描述語言課程講義

    verilog硬件描述語言課程講義
    發(fā)表于 05-21 15:01 ?33次下載
    verilog<b class='flag-5'>硬件</b><b class='flag-5'>描述語言</b>課程講義

    VHDL硬件描述語言

    VHDL語言編程學習之VHDL硬件描述語言
    發(fā)表于 09-01 15:27 ?0次下載

    Verilog硬件描述語言

    VHDL語言編程學習Verilog硬件描述語言
    發(fā)表于 09-01 15:27 ?0次下載

    硬件描述語言VHDL

    硬件描述語言VHDL的學習文檔,詳細的介紹了VHDL
    發(fā)表于 09-02 17:00 ?12次下載

    基于Verilog硬件描述語言的IEEE標準硬件描述語言資料合集免費下載

    本文檔的主要內(nèi)容詳細介紹的是基于Verilog硬件描述語言的IEEE標準硬件描述語言資料合集免費下載:1995、2001、2005;SystemVerilog標準:2005、2009
    發(fā)表于 06-18 08:00 ?10次下載

    基于VHDL硬件描述語言實現(xiàn)CPSK調(diào)制的程序及仿真

    本文檔的主要內(nèi)容詳細介紹的是基于VHDL硬件描述語言實現(xiàn)CPSK調(diào)制的程序及仿真。
    發(fā)表于 01-19 14:34 ?11次下載
    基于VHDL<b class='flag-5'>硬件</b><b class='flag-5'>描述語言實現(xiàn)</b>CPSK調(diào)制的程序及仿真

    使用VHDL硬件描述語言實現(xiàn)基帶信號的MASK調(diào)制的程序與仿真

    本文檔的主要內(nèi)容詳細介紹的是使用VHDL硬件描述語言實現(xiàn)基帶信號的MASK調(diào)制的程序與仿真。
    發(fā)表于 01-19 14:34 ?13次下載
    使用VHDL<b class='flag-5'>硬件</b><b class='flag-5'>描述語言實現(xiàn)</b>基帶信號的MASK調(diào)制的程序與仿真

    使用VHDL硬件描述語言實現(xiàn)基帶信號的MFSK調(diào)制的程序與仿真

    本文檔的主要內(nèi)容詳細介紹的是使用VHDL硬件描述語言實現(xiàn)基帶信號的MFSK調(diào)制的程序與仿真。
    發(fā)表于 01-19 14:34 ?4次下載
    使用VHDL<b class='flag-5'>硬件</b><b class='flag-5'>描述語言實現(xiàn)</b>基帶信號的MFSK調(diào)制的程序與仿真

    如何使用VHDL硬件描述語言實現(xiàn)基帶信號的MPSK調(diào)制

    本文檔的主要內(nèi)容詳細介紹的是如何使用VHDL硬件描述語言實現(xiàn)基帶信號的MPSK調(diào)制。
    發(fā)表于 01-19 14:34 ?2次下載
    如何使用VHDL<b class='flag-5'>硬件</b><b class='flag-5'>描述語言實現(xiàn)</b>基帶信號的MPSK調(diào)制

    使用VHDL硬件描述語言實現(xiàn)基帶碼發(fā)生器的程序設計與仿真

    本文檔的主要內(nèi)容詳細介紹的是使用VHDL硬件描述語言實現(xiàn)基帶碼發(fā)生器的程序設計與仿真免費下載。
    發(fā)表于 01-20 13:44 ?16次下載
    使用VHDL<b class='flag-5'>硬件</b><b class='flag-5'>描述語言實現(xiàn)</b>基帶碼發(fā)生器的程序設計與仿真

    CN0540硬件描述語言設計

    CN0540硬件描述語言設計
    發(fā)表于 03-23 00:07 ?4次下載
    CN0540<b class='flag-5'>硬件</b><b class='flag-5'>描述語言</b>設計
    主站蜘蛛池模板: 欧美一区二区三区成人看不卡 | 人人干干人人 | 国产三级在线免费 | 日本一卡精品视频免费 | jdav视频在线观看 | 长腿丝袜美女被啪啪 | 老司机51精品视频在线观看 | 国产在线观看黄 | 丁香花五月天婷婷 | 免费一级特黄视频 | 在线观看播放视频www | 欧美另类69 | 91国内在线 | 色天网站 | 1024手机看片欧美日韩 | 三级三级三级网站网址 | 国产三级国产精品国产普男人 | 亚洲精品精品一区 | 天堂在线中文 | 天堂资源在线 | 欧美高清一区二区三 | 又黄又视频 | 国内精品手机在线观看视频 | 一级黄色大全 | 在线播放黄色 | 成人午夜免费剧场 | 午夜在线观看免费观看大全 | 四虎国产永久免费久久 | 天天看片天天操 | 怡红院国产 | 97影院理论在线观看 | 欧美视频免费一区二区三区 | 亚洲国产情侣偷自在线二页 | 老司机精品免费视频 | 在线永久免费观看黄网站 | 国产伦精一区二区三区 | 亚洲国产精品va在线观看麻豆 | 在线电影天堂 | 色咯咯| 免费在线观看的视频 | 久久久久久亚洲精品 |