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

?

基于FPGA的ADS8686S采樣控制器的設計與實現

2023-05-15 07:27:48劉建梁
現代計算機 2023年5期
關鍵詞:管腳狀態(tài)機遙測

劉建梁, 季 偉

(1.天津訊聯科技有限公司,天津 300308;2.天津航天中為數據系統科技有限公司,天津 300458)

0 引言

遙測是監(jiān)視航天器工作狀態(tài)的重要途徑,遙測系統的作用是獲取遙測數據。遙測數據以工程遙測參數為主,主要有航天器內部各部分溫度、電壓、電流、振動、沖擊以及噪聲等[1]。本項目彈載遙測系統要求采集溫度、壓力等10路緩變信號(采樣率40 Hz,-5 V~+5 V),3路振動信號(采樣率5.12 KHz,-5 V~+5 V)和3 路沖擊信號(采樣率20.48 KHz,-5 V~+5 V)。采樣芯片選用TI公司的16通道、16位分辨率、1 MSPS的A/D 轉換器ADS8686S,FPGA 芯片選用Xilinx Zynq7000系列的XC7Z035。

1 ADS8686S簡介

ADS8686S 是TI公司推出的一款基于雙路同步采樣的16 通道、16 位逐次逼近型模數轉換器,其中包含輸入鉗位、1 MΩ 輸入阻抗、獨立的可編程增益放大器、可編程二階低通濾波器和ADC輸入驅動器。在數字接口方面,支持SPI串行接口,16 位或者8 位的并行接口,可靈活適配各種主機控制器。在采樣速率上,最大支持1 MSPS 的采樣率,可以滿足大部分的采樣速率要求。ADS8686支持硬件和軟件兩種控制模式。設備在完全復位狀態(tài)下,根據HW_RNGSELHW_RNGSEL 管腳的狀態(tài),選擇啟用的控制模式。在硬件模式下,所有器件的配置都由管腳控制和訪問,禁止使用內部寄存器。在軟件模式下,管腳只負責接口和參考配置,其他配置都通過寄存器完成。采用SPI 串行通信具有占用管較少、連接簡單等優(yōu)點,但傳輸速度受限于串行時鐘SCLK;而采用并口通信時,采樣數據同時出現在并口總線,一個時鐘即可讀取,速度上有明顯優(yōu)勢,而缺點是占用管腳多、連接復雜[2]。為簡化軟件設計工作,本設計數字接口采用16 位并行接口,又因在設計中要使用片上自診斷功能,因此選用軟件控制模式。

2 并行接口控制時序

ADS8686S 的轉換原理在文獻[1]中已有介紹,不再贅述,這里重點介紹其并行接口工作時序。設計中將ADS8686S的接口分為寫配置寄存器和模數轉換控制兩個部分進行分析。

2.1 寫配置寄存器

對于ADS8686S,在啟動采樣轉換前,要先對寄存器進行配置以實現特定的功能,例如配置輸入電壓的范圍。ADS8686S 通過片選管腳CS、寫管腳WR 和數據管腳DB15~DB0 來實現寫寄存器操作,圖1是并行寫寄存器時序圖??刂破魇紫壤虲S 管腳,此時芯片的數據管腳輸出高阻態(tài)。延遲tSU_CSWR時間后控制器拉低WR 管腳,芯片把數據管腳作為數字輸入管腳。然后控制器把數據放到數據管腳,等待tSU_DINWR時間后拉高WR 管腳,在WR 上升沿數據被成功鎖存到對應的寄存器中。

圖1 并行寫寄存器時序

2.2 模數轉換控制

ADS8686S 通過CONVST 來控制模數轉換。首先向寄存器寫入要采集的A/B 通道序號;等待tDZ_CONFIG后控制器拉高CONVST 管腳,開始模數轉換,隨即BUSY 信號變高,表示正在轉換;BUSY 由高變低后,表示采樣完成,最小的采樣時間tACQ為480 ns。檢測到BUSY 下降沿后,控制器讀取采樣數據。圖2為軟件并行模式下采樣控制時序圖。

圖2 軟件并行模式下采樣轉換控制時序

3 采樣控制器軟件設計

采樣控制器主要由主控模塊、狀態(tài)監(jiān)測模塊、采樣率控制模塊和數字接口模塊組成。采樣控制器結構框圖如圖3所示。主控模塊是控制器的控制核心,負責控制ADS8686S的有序采樣工作;狀態(tài)監(jiān)測模塊用于實時監(jiān)測ADS8686S的工作狀態(tài);采樣率控制模塊負責提供一定頻率的脈沖使能信號,用于控制采樣率;數字接口模塊負責FPGA和ADS8686S的數字接口通信。

圖3 采樣控制器結構框圖

3.1 主控模塊

在數字電路系統設計中,有限狀態(tài)機是一種十分重要的時序邏輯電路模塊,一般用來描述數字系統的控制單元,是許多數字系統的核心部件[3],因此本控制器的核心控制邏輯基于Verilog HDL 有限狀態(tài)機實現。本狀態(tài)機共設計了47 個狀態(tài),限于篇幅,這里把47 個狀態(tài)簡化成8 個偽狀態(tài)進行描述,圖4 是簡化后的狀態(tài)跳轉圖。ADC_INIT 狀態(tài)完成ADS8686S 上電的初始化工作,包括上電復位和芯片完全復位兩個過程。在ADC_CONFIG 狀態(tài),分別向RANGE_A1、RANGE_A2、RANGE_B1、RANGE_B2 寄存器寫入0xAA,把16個通道的采集電壓范圍設置成-5 V~+5 V,其他寄存器使用默認值;在START 狀態(tài),表示準備就緒,等待采樣控制模塊產生的sample_pulse 信號,隨機展開本次采集工作;在CH_SEL 狀態(tài),向CHANNEL_SEL 寄存器寫入待采集的A/B 通道地址;在CONVST 狀態(tài),拉高CONVST 管腳,啟動轉化,此時BUSY管腳變高;在WAIT 狀態(tài),等待BUSY 管腳由高變低,表示轉換結束;在READ_CHA 狀態(tài),讀取A 通道的采樣值;在READ_CHB 狀態(tài),讀取B 通道的采樣值,隨后跳轉到START 狀態(tài),開啟一次新的采集。需要注意的是,ADS8686S 是一款兩路同步采樣的ADC,A通道和B通道各有8 路采樣通道,A 通道中的某一路和B 通道中的某一路是同步采樣的,因此每次轉換結束,要分別讀取A通道和B通道的采樣值。

圖4 簡化后的偽狀態(tài)跳轉圖

3.2 狀態(tài)監(jiān)測模塊

ADS8686S 具有片上自診斷功能,也即當通道選擇寄存器CHANNEL_SEL 中地址配置成0xBB 時,會得到固定采樣值0xAAAA(A 通道)和0x5555(B 通道)。借助這個功能,可以實時監(jiān)測ADS8686S的工作狀態(tài),并把監(jiān)測結果反饋給狀態(tài)機模塊,如果出現異常,跳轉ADC_INT狀態(tài),進行復位重啟操作。

3.3 采樣率控制模塊

本模塊用來產生頻率為184.32 KHz 的脈沖使能信號sample_pulse。任務要求的采樣率有40 Hz、5.12 KHz 和20.48 KHz 共3 種,這里都按照20.48 KHz 進行采樣,40 Hz 和5.12 KHz的過采樣信號待后續(xù)抽取得到。由于A/B 通道是同步采樣,每個循環(huán)依次讀取8 個外部通道和1 個內部通道(自診斷結果),因此需要模塊產生20.48 KHz×9=184.32 KHz 的脈沖使能信號sample_pulse。為了便于移植,這里采用DDS 原理[4]產生sample_pulse 信號。系統時鐘頻率110 MHz,NCO 位寬32 位,得到相位增量PINC=2^32×184.32 K/110 M=7197。

3.4 數字接口模塊

數字接口DB[15∶0]是雙向接口,FPGA 和ADS8686S 都可以對接口進行讀寫操作,因此在數字接口模塊中例化了16 個三態(tài)門,在狀態(tài)機控制下,完成數字接口的讀寫操作。

4 實驗結果分析

圖5是用直流源提供5 V電壓作為待采信號,通過Vivado Hardware工具在線抓取的實時采樣數據。從圖中看到,A_CH0~A_CH7 和B_CH0~BCH7 都是0x7FFF,由于ADS8686S 采樣值采用二進制補碼輸出,因此0x7FFF表示5 V。A通道固定值為0xAAAA,B 通道固定值為0x5555。實驗結果表明,采樣結果正確無誤。

圖5 Vivado Hardware工具在線抓取采樣數據

5 結語

本文提出了基于FPGA 的ADS8686S 采樣控制器,實現了對16 路傳感器信號的采集。測試結果表明控制器工作穩(wěn)定、性能可靠,對于同類設計具有一定的參考價值。

猜你喜歡
管腳狀態(tài)機遙測
基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
自適應模糊PID控制的遙測方艙溫度調節(jié)方法
電子制作(2019年11期)2019-07-04 00:34:40
某小型無人機遙測軟件設計
電子測試(2018年13期)2018-09-26 03:30:00
基于圖像處理的異型電子元器件管腳偏移誤差檢測方法研究
淺談如何提高遙測狀態(tài)估計合格率
CMOS數字IC管腳電容的估算與測量
利用VBA處理鄰近氣象站的相關遙測數據
河南科技(2014年16期)2014-02-27 14:13:30
HC08芯片JVT測試方法的探究
電子測試(2013年22期)2013-09-26 06:03:52
FPGA設計中狀態(tài)機安全性研究
黑龍江科學(2011年2期)2011-03-14 00:39:36
基于反熔絲FPGA的有限狀態(tài)機加固設計
玉田县| 新邵县| 田林县| 罗江县| 浦北县| 石阡县| 大余县| 江孜县| 江都市| 昌黎县| 岳阳市| 漠河县| 平乐县| 武功县| 涞水县| 任丘市| 沧州市| 天台县| 兰考县| 桂阳县| 郸城县| 扶沟县| 九江市| 大洼县| 天水市| 昌都县| 封开县| 固安县| 改则县| 榆树市| 中方县| 五家渠市| 新乡市| 长治市| 登封市| 桃园县| 兴城市| 古田县| 永城市| 郸城县| 凯里市|