国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

應(yīng)用于導(dǎo)航SoC 的專用DMA 的設(shè)計*

2021-04-02 03:43:50,李,楊,陳
電子技術(shù)應(yīng)用 2021年3期
關(guān)鍵詞:狀態(tài)機低功耗專用

秦 爽 ,李 健 ,楊 穎 ,陳 杰

(1.中國科學(xué)院微電子研究所,北京100029;2.中國科學(xué)院大學(xué),北京100049)

0 引言

隨著社會的發(fā)展,衛(wèi)星導(dǎo)航已經(jīng)廣泛應(yīng)用到人類社會的很多方面,如無人機、物聯(lián)網(wǎng)、車輛導(dǎo)航以及物流等[1],對導(dǎo)航定位的精度要求也越來越高。 目前的導(dǎo)航SoC 主要采用CPU 來完成導(dǎo)航模塊的數(shù)據(jù)搬移工作,隨著導(dǎo)航系統(tǒng)和頻點的增加,搬移大量導(dǎo)航通道的數(shù)據(jù)將占用CPU 大量的時間。 而且CPU 頻繁地輪詢檢測各個通道的狀態(tài)將使CPU 的低功耗設(shè)計變得極為復(fù)雜。 梁科等人設(shè)計了一款通用DMA,該DMA 能有效提高數(shù)據(jù)傳輸效率,但是它最多支持8 個通道,無法滿足導(dǎo)航應(yīng)用要求[2]。 張路煜等人設(shè)計的DMA 使用了專用數(shù)據(jù)通路,雖然避開了AHB 總線,能進行多路并行傳輸,但是會使SoC 內(nèi)部時序復(fù)雜[3]。 本文設(shè)計了一種專用于導(dǎo)航SoC的DMA,它能高效的完成大量通道的數(shù)據(jù)搬移[4-11]。

1 導(dǎo)航SoC 系統(tǒng)

基于先進微控制器總線體系結(jié)構(gòu)(Advanced Microcontroller Bus Architecture,AMBA)總線的導(dǎo)航SoC 總體結(jié)構(gòu)圖如圖1 所示。

導(dǎo)航SoC 主要包括處理器、DMA、存儲模塊、導(dǎo)航模塊以及外設(shè)接口。 各IP 核之間通過AMBA 總線進行通信,其中處理器、DMA、存儲模塊和導(dǎo)航模塊通過高級高性能總線(Advanced High Performance Bus,AHB)協(xié)議通信,外設(shè)接口連在外圍總線(Advanced Peripheral Bus,APB)上。四大全球衛(wèi)星導(dǎo)航系統(tǒng)各有幾十顆衛(wèi)星,每顆衛(wèi)星會發(fā)射多個頻點的信號。 隨著導(dǎo)航SoC 支持的信號增加,導(dǎo)航模塊需要搬移和處理的數(shù)據(jù)也越來越多,支持全系統(tǒng)全頻點的導(dǎo)航SoC 需要處理數(shù)百個通道的數(shù)據(jù)。 通用DMA 無法支持數(shù)百通道的數(shù)據(jù)搬移,而傳統(tǒng)的CPU 搬移數(shù)據(jù)方式效率會越來越低。 本設(shè)計中采用的專用DMA 可以不經(jīng)過CPU 直接將導(dǎo)航通道中的數(shù)據(jù)搬移到靜態(tài)隨機存取存儲器(Static Random-Access Memory,SRAM)中,這樣CPU 可以直接讀取SRAM 中的數(shù)據(jù)進行處理。

圖1 導(dǎo)航SoC 總體結(jié)構(gòu)

DMA 主要完成導(dǎo)航通道中兩類數(shù)據(jù)的搬移工作,一類是跟蹤模塊中相干累加值, 相干累加值1 ms 更新一次,這類數(shù)據(jù)的傳輸稱為DUMP 傳輸。 CPU 根據(jù)相干累加值的計算結(jié)果調(diào)節(jié)跟蹤環(huán)路的參數(shù)。另一類是用于偽距和載波觀測值,此值更新頻率為1~20 Hz,這類傳輸稱為TIC 傳輸。CPU 根據(jù)觀測量計算用戶的時間、位置、速度等信息。 DUMP 和TIC 均有標志位,當標志位有效時表示數(shù)值已更新。 為了保證數(shù)據(jù)不缺失,每隔0.1 ms輪詢檢測所有信號所有通道的DUMP 標志位,如果標志位有效,則搬移該通道DUMP 數(shù)據(jù)。 同樣,每隔2 ms 檢測TIC 標志位,如果標志位有效,則DMA 將完成所有信號所有通道的TIC 數(shù)據(jù)的搬移。

2 專用DMA 設(shè)計

2.1 專用DMA 總體結(jié)構(gòu)

專用DMA 的總體結(jié)構(gòu)如圖2 所示。

圖2 專用DMA 總體結(jié)構(gòu)

專用DMA 主要由AHB 主機接口、AHB 從機接口、配置模塊、控制狀態(tài)機、傳輸狀態(tài)機以及狀態(tài)機轉(zhuǎn)接口六個部分組成。 在AHB 總線上,DMA 既是主機又是從機。 它通過AHB 主機接口讀寫導(dǎo)航模塊數(shù)據(jù)并將其存儲到SRAM 中,而處理器通過AHB 從機接口對DMA 進行配置。配置模塊將處理器的配置寄存并分發(fā)到其他各個模塊。 控制狀態(tài)機和傳輸狀態(tài)機主要負責(zé)控制DMA的數(shù)據(jù)搬移。狀態(tài)機轉(zhuǎn)接口模塊主要負責(zé)數(shù)據(jù)緩存和提供總線數(shù)據(jù)和地址。

在DMA 的RTL 級代碼設(shè)計過程中使用低功耗設(shè)計方法。常用的低功耗設(shè)計技術(shù)有并行處理、流水線、資源共享、操作數(shù)隔離以及門控時鐘等方法。在DMA RTL 代碼設(shè)計過程主要使用了資源共享和門控時鐘的低功耗優(yōu)化方法[12-14]。

2.2 配置模塊

DMA 的工作狀態(tài)可以由處理器進行配置。 DMA 是否工作以及工作時進行哪些通道的數(shù)據(jù)檢測和搬移都可以通過處理器進行配置。

處理器對DMA 的配置數(shù)據(jù)經(jīng)過AHB 從機接口進入DMA 之后先在配置模塊進行寄存,然后由配置模塊分發(fā)到其他各個部分。處理器也可以通過讀取特定地址來獲取當前SRAM 的寫入地址。

2.3 控制狀態(tài)機

控制狀態(tài)機主要控制DMA 進入不同的傳輸模式,總共有三個狀態(tài),CTRL_IDLE 表示初始狀態(tài)或者正在等待,CTRL_DUMP_TRANSFER 表示正在進行DUMP 傳輸,CTRL_TIC_TRANSFER 表示正在進行TIC 傳輸,狀態(tài)轉(zhuǎn)移圖如圖3 所示。

圖3 控制狀態(tài)機狀態(tài)轉(zhuǎn)移圖

此模塊中有兩個計數(shù)器,一個DUMP 計數(shù)器,一個TIC 計數(shù)器,這兩個計數(shù)器用來計算等待時間。 每隔0.1 ms 進行一次DUMP 傳輸,即進入CTRL_DUMP_TRANSFER 狀態(tài)。每隔2 ms 進行一次TIC 傳輸,即進入CTRL_TIC_TRANSFER 狀態(tài)。 其他時候在CTRL_IDLE 狀態(tài)進行等待。

2.4 傳輸狀態(tài)機

當控制狀態(tài)機控制DMA 進行DUMP 或者TIC 傳輸之后,傳輸狀態(tài)機開始工作。它控制DMA 進行不同的檢測和傳輸工作。

對于DUMP 模式,狀態(tài)機轉(zhuǎn)移圖如圖4 所示。 DMA將輪詢檢測導(dǎo)航模塊中的各個通道的標志位,如果標志位有效,則將該通道的數(shù)據(jù)搬移到SRAM 中,并清除該通道的標志位,然后繼續(xù)檢測下一通道。 如果標志位無效,則不進行任何操作,繼續(xù)檢測下一個通道。如果所有的通道全部檢測并傳輸完畢,則傳輸狀態(tài)機向控制狀態(tài)機發(fā)送完成信號,控制狀態(tài)機進入CTRL_IDLE 狀態(tài),等待下一次傳輸。

圖4 DUMP 模式時傳輸狀態(tài)機狀態(tài)轉(zhuǎn)移圖

圖5 TIC 模式時傳輸狀態(tài)機狀態(tài)轉(zhuǎn)移圖

對于TIC 模式,狀態(tài)機轉(zhuǎn)移圖如圖5 所示。 DMA 將先檢測TIC 標志位,如果標志位有效,則將導(dǎo)航模塊中所有開啟的通道中TIC 數(shù)據(jù)搬移到SRAM 中,傳輸完成后清除TIC 標志位。 如果TIC 標志位無效或者所有通道上數(shù)據(jù)傳輸完成,則傳輸狀態(tài)機向控制狀態(tài)機發(fā)送完成信號,退出TIC 傳輸狀態(tài)。

2.5 AHB 接口

DMA 模塊有兩個AHB 接口,一個主機接口,一個從機接口。 DMA 通過主機接口經(jīng)過AHB 總線讀取導(dǎo)航模塊的數(shù)據(jù),將其緩存到移位寄存器中,待寫狀態(tài)時將數(shù)據(jù)寫到掛載在AHB 總線上的SRAM 中。 從機接口使DMA 可以作為AHB 總線上的從機,這樣CPU 就可以通過AHB 總線對DMA 寄存器進行配置[15]。

3 測試

DMA 模塊使用Verilog 語言編寫,采用TSMC 90 nm 工藝進行綜合驗證。時鐘約束為200 MHz,面積為40 345 μm2。使用Primetime PX 工具進行功耗分析,在DMA 設(shè)計過程中,使用了低功耗設(shè)計方法,其中寄存器插入時鐘門控電路的比例為99.41%。 表1 為優(yōu)化后與優(yōu)化前功耗對比。

由表1 可知低功耗優(yōu)化方法使DMA 模塊的功耗降低至15%。

在導(dǎo)航SoC 中對DMA 模塊進行數(shù)據(jù)搬移測試。 CPU1分別對GNSS 模塊和DMA 模塊進行配置使其進行不同通道數(shù)的數(shù)據(jù)搬移,另外采用CPU1 直接搬移相同配置的導(dǎo)航數(shù)據(jù)作為對比。 測試結(jié)果如圖6 所示。

表1 低功耗優(yōu)化與非低功耗優(yōu)化DMA 模塊功耗對比(mW)

圖6 不同配置下數(shù)據(jù)搬移周期對比

由于GNSS 模塊與AHB 總線不在同一個時鐘域,因此DMA 和CPU 在讀取GNSS 模塊數(shù)據(jù)時需要進行握手操作,因此讀取一個GNSS 模塊中的數(shù)據(jù)需要花費10 個周期。 在計算CPU 搬移數(shù)據(jù)所需要的周期時不考慮進入中斷和中斷返回的開銷。 由圖6 可知,相同通道數(shù)的配置下,DMA 搬移數(shù)據(jù)所需要的周期數(shù)為CPU 的三分之一,且DMA 在進行數(shù)據(jù)搬移的過程中不需要CPU 的干預(yù),這樣就提高了CPU 的工作效率。

4 結(jié)論

本文實現(xiàn)了一款應(yīng)用于導(dǎo)航SoC 的專用DMA,該DMA 支持全系統(tǒng)全頻點導(dǎo)航通道的數(shù)據(jù)搬移。與傳統(tǒng)的CPU 搬移數(shù)據(jù)方法進行比較,數(shù)據(jù)搬移所需要的周期降為CPU 的三分之一,提高了CPU 的工作效率。 設(shè)計中采用了低功耗設(shè)計方法,使功耗降低為原來的15%。

猜你喜歡
狀態(tài)機低功耗專用
體能測試專用鞋
體能測試專用鞋
體能測試專用鞋
一種高速低功耗比較器設(shè)計
基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
愛它就給它專用的設(shè)備
ADI推出三款超低功耗多通道ADC
IDT針對下一代無線通信推出低功耗IQ調(diào)制器
低功耗加權(quán)cache替換策略
FPGA設(shè)計中狀態(tài)機安全性研究
太谷县| 宜黄县| 扬州市| 敦化市| 棋牌| 襄城县| 武安市| 通山县| 资阳市| 禄劝| 兴城市| 浠水县| 深圳市| 宜阳县| 梁山县| 鹿邑县| 昆山市| 盘锦市| 民乐县| 九龙城区| 黄骅市| 时尚| 会理县| 洛川县| 邛崃市| 偏关县| 苍溪县| 隆尧县| 安阳市| 和田县| 永康市| 遂川县| 东源县| 酉阳| 博客| 额济纳旗| 应城市| 兖州市| 新民市| 固安县| 潼南县|