一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

利用不恢復(fù)余數(shù)陣列除法和VHDL實現(xiàn)雷達數(shù)據(jù)接收/顯示系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:中國工程物理研究院電子 ? 作者: 林華,劉建新 ? 2020-12-26 09:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

根據(jù)系統(tǒng)要求,脈沖雷達高度表通過RS-422串行輸出高度數(shù)據(jù),要求數(shù)據(jù)接收模塊實時接收,并顯示雷達高度數(shù)據(jù)。接收模塊接收到的高度數(shù)據(jù)采用二進制(BIN)碼表示,而數(shù)碼管等顯示設(shè)備需要BCD碼(即二進制編碼的十進制碼),所以二者之間的轉(zhuǎn)換非常必要。

BCD碼與BIN碼的相互轉(zhuǎn)換比較傳統(tǒng)的方法是采用DAA調(diào)節(jié)指令來實現(xiàn),需要逐位調(diào)節(jié),比較費時。文獻提出利用模除,每次移動半字節(jié),使轉(zhuǎn)換效率大為提高,但也僅是軟件算法,無法滿足數(shù)制轉(zhuǎn)換高效率和實時性的要求。文獻提出了采用分段查找EPROM的硬件方法,滿足點陣記錄實時性的要求,但是該算法需要大容量的EPROM。文獻利用BCD碼與BIN碼的邏輯對應(yīng)關(guān)系直接轉(zhuǎn)換,需要經(jīng)過多級復(fù)雜的變換邏輯,面積和時延較差。

為此,本文采用Verilog HDL硬件描述語言將雷達高度數(shù)據(jù)接收/顯示的核心功能集成到XILINX公司的FPGA(XCS200)中,使得整個設(shè)計更加緊湊、小巧、穩(wěn)定和可靠。利用不恢復(fù)余數(shù)陣列除法快速準確地實現(xiàn)BIN碼到BCD碼的轉(zhuǎn)換,僅需要少量的移位和加/減法操作,簡化實現(xiàn)數(shù)制轉(zhuǎn)換中的求余和整除運算。該單元陣列結(jié)構(gòu)規(guī)整,不僅節(jié)省了面積,適于超大規(guī)模集成電路實現(xiàn)需要,而且易向更高進制擴展,具有很高的轉(zhuǎn)換速度。

1 串行高度數(shù)據(jù)接收/顯示模塊簡介

數(shù)字式自動距離跟蹤脈沖雷達高度表串行輸出的高度數(shù)據(jù),首先通過串行高度數(shù)據(jù)接收模塊將串行數(shù)據(jù)轉(zhuǎn)換為并行報文數(shù)據(jù),再通過報文濾波/數(shù)據(jù)提取模塊,提取出高度數(shù)據(jù),并根據(jù)輸出高度數(shù)據(jù)的時間間隔標識雷達的工作狀態(tài),然后BIN碼表示的高度數(shù)據(jù)通過以不恢復(fù)余數(shù)陣列除法為基礎(chǔ)的BIN/BCD碼轉(zhuǎn)換模塊,轉(zhuǎn)換為適合七段碼顯示的90BCD碼后送到掃描七段碼顯示控制器,以驅(qū)動四位七段共陽極動態(tài)顯示數(shù)碼管,如圖1所示。

利用不恢復(fù)余數(shù)陣列除法和VHDL實現(xiàn)雷達數(shù)據(jù)接收/顯示系統(tǒng)的設(shè)計

串行高度數(shù)據(jù)收發(fā)模塊采用三線制連接方式,通信方式為異步傳輸,波特率:9 600,數(shù)據(jù)位:8位,停止位:1位,奇校驗,其字符格式及時鐘同步檢測與采樣過程如圖2所示。

2 基于不恢復(fù)余數(shù)陣列除法的二進制到BCD碼的轉(zhuǎn)換

提出的BIN碼到BCD碼的轉(zhuǎn)換算法采用數(shù)據(jù)除以位權(quán)的方式得到千、百、十、個位BCD碼,因此除法器的設(shè)計是關(guān)鍵。在數(shù)字計算中各種除法都可以用下列遞歸公式來描述:

(1)

這里_j=0,1,…,n-1為遞歸下標;D為除數(shù);qj+1為小數(shù)點右邊第j+1位商;r為基數(shù),r×R(j)為部分被除數(shù);R(j+1)為部分余數(shù);R(0)為被除數(shù)(初始部分余數(shù));R(n)為最后余數(shù)。

除法過程可通過重復(fù)應(yīng)用遞歸式1來得到證明。

對j=0

上述迭代推導(dǎo)過程說明了除法過程是由一系列加法、減法或移位所組成,對于基數(shù)r=2,q…∈{0,1}。

當部分被除數(shù)rR(j)不夠除數(shù)D減時,商qj+1為0,同時補充被除數(shù)的下一位,組成更大的部分被除數(shù);如果夠減,則該位商為1,在部分被除數(shù)rR(j)中減去除數(shù)D,然后補充被除數(shù)的下一位,直至被除數(shù)的每一位都使用到為止。

在除法進行過程中,可使用專門的數(shù)據(jù)比較器來比較部分被除數(shù)rR(j)是否比除數(shù)D大(nonperforming算法),或直接用部分被除數(shù)減去除數(shù)。方式1浪費了專門的數(shù)據(jù)比較電路,運算延遲加大,降低了運算速度。方式2,當完成了減法操作后,如果不夠減,把除數(shù)加回到產(chǎn)生的差,以恢復(fù)原來余數(shù)(恢復(fù)余數(shù)法);或把產(chǎn)生的差留給下一次運算時再處理(不恢復(fù)余數(shù)法)。

2.1 不恢復(fù)余數(shù)陣列除法器

為簡化起見,下文用A表示被除數(shù),D表示除數(shù),R表示余數(shù)。在恢復(fù)余數(shù)法中,如果余數(shù)R為負數(shù),即不夠減,則需要加上除數(shù)D,恢復(fù)成原來的余數(shù),即R+D。然后,余數(shù)R和被除數(shù)A聯(lián)合左移1位。此時余數(shù)為2(R+D)+ai,其中ai為A中的一位,被移入R中。隨后,進入下一步運算。即從余數(shù)中減去除數(shù)D:(2(R+D)+ai)-D,有

(2(R+D)+ai)-D=2R+ai+D (5)

因此,當在某一步中,余數(shù)R為負,無需再加上除數(shù)D來恢復(fù)成原來的余數(shù),只需在下一步中把恢復(fù)余數(shù)法中的減去除數(shù)D改成加上除數(shù)D,這種算法稱為不恢復(fù)余數(shù)法?;謴?fù)余數(shù)除法需要2個步驟來確定1個商位,而不恢復(fù)余數(shù)法沒有這個缺點。

表1以45 10/1010=101101 2/10102作為一個數(shù)值計算的例子,詳細展示了圖3所示的不恢復(fù)余數(shù)法算法流程圖。首先將余數(shù)尺和被除數(shù)A聯(lián)合左移一位,如果余數(shù)R的符號位S為0,將執(zhí)行減法操作,否則應(yīng)該加上除數(shù)D,如果余數(shù)大于零,則當前商位為‘1’,否則為‘0’,循環(huán)這個過程直到被除數(shù)A的所有位都完成運算。最后得商:0001002,余數(shù):000101 2。

在除法中所需要的部分余數(shù)的左移可以用余數(shù)保持固定,而用除數(shù)沿對角線右移的等效操作來代替。如圖4所示,不恢復(fù)余數(shù)陣列除法器可以用一個由可控加法/減法(CAS)單元所組成的疊接陣列來實現(xiàn)。不恢復(fù)陣列每一行所執(zhí)行的操作究竟是加法還是減法,取決于前一行輸出的符號與被除數(shù)的符號是否一致(最上面一行所執(zhí)行的初始操作通常是減法,因此最上面一行的控制線P固定置成‘1’。當出現(xiàn)不夠減時,部分余數(shù)相對于被除數(shù)來說要改變符號。這時應(yīng)該產(chǎn)生一個商位‘0’,除數(shù)首先沿對角線右移,然后加到下一行的部分余數(shù)上。當部分余數(shù)不改變它的符號時,即產(chǎn)生商位‘1’,下一行的操作應(yīng)該是減法。

3 仿真驗證

圖5的仿真結(jié)果說明了數(shù)據(jù)接收/顯示模塊的功能特點。串行高度數(shù)據(jù)接收模塊將串行數(shù)據(jù)轉(zhuǎn)換為并行報文數(shù)據(jù),從并行報文中提取出高度數(shù)據(jù)(1100h=4352,068eh=1678),不恢復(fù)余數(shù)疊接陣列除法器將多位二進制編碼的高度數(shù)據(jù)轉(zhuǎn)換為千、百、十、個位BCD碼送到掃描七段碼顯示控制器。scanout信號選擇四位七段共陽極數(shù)碼管的某一位,leddata分別對應(yīng)7個陰極引腳,對應(yīng)分段字符串“abcdefg”,實現(xiàn)一位一位輪流點亮顯示。由于視覺的記憶性,看到的是穩(wěn)定的多位十進制高度數(shù)據(jù)顯示。從仿真結(jié)果圖中可見其與前述設(shè)計思想完全吻合。

4 結(jié)論

采用不恢復(fù)余數(shù)陣列除法設(shè)計的BIN碼到BCD碼轉(zhuǎn)換器,僅需少量的移位、加/減法等操作,該算法邏輯簡單,結(jié)構(gòu)規(guī)整,速度高,非常適合實時性要求較高的場合,而且非常容易向其它進制轉(zhuǎn)換擴展。以異步串行數(shù)據(jù)接收、陣列除法及動態(tài)顯示等技術(shù)為基礎(chǔ)的脈沖雷達高度表串行高度數(shù)據(jù)接收/顯示模塊作為一個工程的子模塊,在某雷達高度表的設(shè)計中已經(jīng)得到應(yīng)用。

責任編輯:gt

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

    關(guān)注

    1645

    文章

    22046

    瀏覽量

    618309
  • 雷達
    +關(guān)注

    關(guān)注

    50

    文章

    3119

    瀏覽量

    120074
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    820

    瀏覽量

    129938
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    raid5數(shù)據(jù)恢復(fù)—Raid陣列重建后如何恢復(fù)陣列數(shù)據(jù)?

    raid5陣列數(shù)據(jù)恢復(fù)環(huán)境&故障: 一臺服務(wù)器上有一組raid5磁盤陣列,該raid5陣列有5塊硬盤。服務(wù)器
    的頭像 發(fā)表于 07-10 12:27 ?90次閱讀

    陣列雷達波測流系統(tǒng)工作原理詳解

    在水利領(lǐng)域,準確測量河道流量至關(guān)重要,它關(guān)乎水資源合理調(diào)配、防洪減災(zāi)決策以及水利工程的科學(xué)規(guī)劃與管理。尤其是寬河道的測流工作,一直面臨諸多挑戰(zhàn),而陣列雷達波測流系統(tǒng)的出現(xiàn),猶如一把精準的 “量水尺
    的頭像 發(fā)表于 06-07 10:38 ?162次閱讀
    <b class='flag-5'>陣列</b><b class='flag-5'>雷達</b>波測流<b class='flag-5'>系統(tǒng)</b>工作原理詳解

    服務(wù)器數(shù)據(jù)恢復(fù)—raid5陣列中硬盤磁頭損壞導(dǎo)致掉線的數(shù)據(jù)恢復(fù)案例

    磁盤陣列中2塊硬盤的指示燈顯示異常,其他硬盤指示燈顯示正常。上層應(yīng)用不可用。
    的頭像 發(fā)表于 04-12 10:01 ?333次閱讀
    服務(wù)器<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—raid5<b class='flag-5'>陣列</b>中硬盤磁頭損壞導(dǎo)致掉線的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—raid5陣列中硬盤壞道導(dǎo)致陣列崩潰的數(shù)據(jù)恢復(fù)案例

    服務(wù)器存儲數(shù)據(jù)恢復(fù)環(huán)境: 某品牌DS3512存儲中有一組由6塊SAS磁盤組建的raid5陣列。劃分一個lun分配給Linux系統(tǒng)服務(wù)器,并格式化成ocfs2文件
    的頭像 發(fā)表于 03-28 13:25 ?312次閱讀
    服務(wù)器<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—raid5<b class='flag-5'>陣列</b>中硬盤壞道導(dǎo)致<b class='flag-5'>陣列</b>崩潰的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—Raid5陣列熱備盤上線失敗的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 某公司一臺存儲上有一組由15塊硬盤組建的raid5陣列。raid5陣列上層是一個xfs裸分區(qū),起始位置是0扇區(qū)。 服務(wù)器故障: raid5
    的頭像 發(fā)表于 03-26 15:17 ?283次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)—raid5陣列上層win系統(tǒng)+oracle數(shù)據(jù)數(shù)據(jù)恢復(fù)案例

    一臺服務(wù)器上的8塊硬盤組建了一組raid5磁盤陣列。上層安裝windows server操作系統(tǒng),部署了oracle數(shù)據(jù)庫。 raid5陣列中有2塊硬盤的硬盤指示燈
    的頭像 發(fā)表于 01-10 14:40 ?350次閱讀

    OLED 顯示雷達數(shù)據(jù)

    使用螢火工場CEM5826-M11雷達模塊,Arduino IDE 編譯代碼,OLED顯示雷達數(shù)據(jù)
    的頭像 發(fā)表于 12-10 13:38 ?595次閱讀
    OLED <b class='flag-5'>顯示</b><b class='flag-5'>雷達</b><b class='flag-5'>數(shù)據(jù)</b>

    服務(wù)器數(shù)據(jù)恢復(fù)—RAID5陣列熱備盤同步數(shù)據(jù)失敗的數(shù)據(jù)恢復(fù)案例

    服務(wù)器存儲數(shù)據(jù)恢復(fù)環(huán)境: 華為S5300存儲中有12塊FC硬盤,其中11塊硬盤作為數(shù)據(jù)盤組建了一組RAID5陣列,剩下的1塊硬盤作為熱備盤使用?;赗AID的LUN分配給linux操
    的頭像 發(fā)表于 12-04 16:02 ?821次閱讀
    服務(wù)器<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—RAID5<b class='flag-5'>陣列</b>熱備盤同步<b class='flag-5'>數(shù)據(jù)</b>失敗的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—存儲硬盤指示燈顯示黃色的數(shù)據(jù)恢復(fù)案例

    服務(wù)器存儲數(shù)據(jù)恢復(fù)環(huán)境: 某單位一臺某品牌型號為DS5300的服務(wù)器存儲,1個機頭+4個擴展柜,底層是2組分別由數(shù)十塊硬盤組建的RAID5陣列。存儲系統(tǒng)上層一共分了11個卷。
    的頭像 發(fā)表于 11-20 11:34 ?454次閱讀
    服務(wù)器<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—存儲硬盤指示燈<b class='flag-5'>顯示</b>黃色的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—raid5陣列+reiserfs文件系統(tǒng)數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 一臺服務(wù)器中有一組由4塊SAS硬盤組建的RAID5陣列,上層安裝linux操作系統(tǒng)統(tǒng)。分區(qū)結(jié)構(gòu):boot分區(qū)+LVM卷+swap分區(qū)(按照順序),LVM卷中劃分
    的頭像 發(fā)表于 11-07 13:15 ?525次閱讀

    RAID5數(shù)據(jù)恢復(fù)—如何重組RAID5陣列?

    RAID5數(shù)據(jù)恢復(fù)環(huán)境: 一臺存儲上有一組由12塊SCSI硬盤(11塊數(shù)據(jù)盤+1塊熱備盤)組建的RAID5磁盤陣列,F(xiàn)reeBSD操作系統(tǒng)
    的頭像 發(fā)表于 10-22 15:48 ?772次閱讀
    RAID5<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—如何重組RAID5<b class='flag-5'>陣列</b>?

    服務(wù)器數(shù)據(jù)恢復(fù)—RAID5陣列硬盤離線但熱備盤未激活的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 一臺服務(wù)器上有一組由5塊硬盤(4塊數(shù)據(jù)盤+1塊熱備盤)組建的raid5陣列。服務(wù)器安裝Linux Redhat操作系統(tǒng)
    的頭像 發(fā)表于 10-15 10:33 ?648次閱讀
    服務(wù)器<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—RAID5<b class='flag-5'>陣列</b>硬盤離線但熱備盤未激活的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—雙循環(huán)RAID5陣列崩潰,數(shù)據(jù)如何恢復(fù)?

    服務(wù)器存儲數(shù)據(jù)恢復(fù)環(huán)境: 一臺存儲中有一組由7塊硬盤組建的RAID5陣列,存儲中還有另外3塊盤是raid中掉線的硬盤(硬盤掉線了,管理員只是添加一塊的新的硬盤做rebuild,并沒有將掉線的硬盤
    的頭像 發(fā)表于 09-02 11:35 ?704次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)—不當操作導(dǎo)致raid5陣列數(shù)據(jù)無法恢復(fù)的案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 一臺服務(wù)器中有一組由4塊SCSI硬盤組建的raid5磁盤陣列,劃分了一個邏輯卷,操作系統(tǒng)為WINDOWS SERVER,作為SQL SERVER服務(wù)器使用。
    的頭像 發(fā)表于 08-28 13:39 ?600次閱讀

    雷達接收機的作用和組成

    雷達接收機是雷達系統(tǒng)中至關(guān)重要的一個組成部分,它負責接收來自雷達天線的回波信號,并進行放大、變換
    的頭像 發(fā)表于 08-08 14:05 ?3100次閱讀