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

?

AD9707高速DAC的內(nèi)部寄存器配置

2010-08-14 08:03趙孔新畢韜
關(guān)鍵詞:字節(jié)寄存器時序

趙孔新,畢韜

(長春工業(yè)大學 計算機科學與工程學院,長春130012)

趙孔新(教授),研究方向為模式識別與智能系統(tǒng);畢韜(碩士研究生),研究方向為數(shù)據(jù)采集與數(shù)據(jù)處理。

引 言

隨著通信、工業(yè)儀器設(shè)備和便攜式設(shè)備的發(fā)展,新一代高速DAC逐漸朝高性能、低功耗、芯片多功能集成和輸入輸出高速化的方向發(fā)展。AD970X系列DAC針對低功耗特性進行了優(yōu)化,同時仍保持出色的動態(tài)性能,適用于手持便攜式儀器等需要有效合成寬帶信號的場合。AD9707精度高達 14位,其采樣率為175 M sps,內(nèi)部集成邊沿觸發(fā)式輸入鎖存器,1.0 V溫度補償帶隙基準電壓源和自校準功能使之能提供真14位INL與DNL性能。AD9707還具有共模電位移動能力,當與其他模擬器件連接時無需電平移動電路,從而簡化了模擬電路的設(shè)計,并且減小了小型便攜式設(shè)計中的印制電路板面積。

由于DAC內(nèi)部集成度越來越高,外圍輔助電路越來越少,通過外圍引腳的設(shè)置很難把DAC所有的功能發(fā)揮出來。高速DAC內(nèi)部一般集成內(nèi)部寄存器,用戶可以通過修改DAC的內(nèi)部寄存器,使DAC輸入輸出模式達到設(shè)計要求。為了減少芯片引腳數(shù)量,內(nèi)部寄存器一般是通過串行接口來配置,比較常見的接口有 SPI、I2C和串行2-wire等。AD9707使用的是SPI接口。

1 AD9707測試

測試電路主要由Samsung公司微處理器S3C2410、Altera公司CycloneIII系列FPGA EP3C25和ADI公司的AD9707組成。FPGA主要負責算法,ARM微處理器主要負責控制字輸入和 LCD顯示。測試時,分別使用S3C2410的SPI接口和EP3C25模擬SPI接口,來配置AD9707內(nèi)部寄存器。測試的過程是,在FPGA中構(gòu)建了一個DDS(數(shù)字直接頻率合成器),通過修改控制字來改變輸出波形數(shù)據(jù),經(jīng)AD9707轉(zhuǎn)換后檢測輸出的波形。

如圖1所示,AD9707的基本外圍電路由低電壓異或門74VX86和運算放大器ADA4899組成。測試時可以通過跳線J1選擇AD9707的工作模式:高電平時為PIN模式;低電平時為SPI模式;出現(xiàn)高電平脈沖時復位內(nèi)部寄存器。圖中AD9707的輸入時鐘選擇差分時鐘;輸出選擇單端輸出,正向輸出端IOUTA與ADA4899的反相輸入端相連,反向輸出端IOUTB接地;內(nèi)部基準電壓源 REFIO與 ADA4899的同相輸入端相連。ADA4899將AD9707單端輸出的電流變化轉(zhuǎn)換為電壓變化。外部使用內(nèi)部基準電壓源時,REFIO引腳需用一個0.1 μ F電容接地。74VX86與外部 SPI接口相連,主要起電壓匹配整形作用。它的電壓范圍為1.2~3.6 V,支持AD9707工作的1.8 V和3.3 V。

圖1 AD9707的基本外圍電路

2 SPI模式下AD9707與外部CPU的通信

在AD9707測試之前,必須按照外圍電路的設(shè)計配置好AD9707的工作狀態(tài)。AD9707有兩種配置模式可供選擇:PIN模式和SPI模式。設(shè)備可以通過PIN模式進行簡單配置,也可以通過SPI模式進行高級配置。當用戶使用自校準等高級功能時,必須使用SPI模式配置AD9707內(nèi)部寄存器。

SPI(Serial Peripheral Interface,串行外圍設(shè)備接口),主要應(yīng)用在 EEPROM 、Flash、ADC/DAC上 。SPI是一種高速的、全雙工、同步的通信總線,在芯片的引腳上只占用 4根線,為PCB的布局節(jié)省了空間。正是由于這種簡單易用的特性,現(xiàn)在絕大多數(shù)芯片都集成SPI通信協(xié)議。

SPI的通信原理很簡單,它以主從方式工作。這種模式通常有一個主設(shè)備和一個(或多個)從設(shè)備,需要4根線(單向傳輸時3根也可以)。AD9707的SPI接口由SCLK(串行時鐘)、SDIO(數(shù)據(jù)輸入輸出)和CSB(片選)3根信號線組成。串行時鐘SCLK用來同步數(shù)據(jù),并從AD9707中運行內(nèi)部狀態(tài)機,最大頻率是20 M Hz。串行數(shù)據(jù)輸入輸出SDIO作為雙向的數(shù)據(jù)總線,用于發(fā)送或接收數(shù)據(jù)。片選信號CSB低電平時啟動通信周期,它允許多個設(shè)備在同一條通信線路上使用。當CSB為高電平時,SDIO引腳為高阻抗狀態(tài)。在整個通信周期內(nèi),CSB必須保持低電平[1]。

圖2是外部SPI端口與AD9707通信的時序圖。

圖2 最高有效位先寫入的SPI通信時序

整個通信周期分為指令階段和數(shù)據(jù)傳輸階段。第1階段是指令階段,在前8個SCLK上升沿時將8位指令字節(jié)寫到AD9707中。指令字節(jié)決定了通信中第2階段的數(shù)據(jù)傳輸模式,定義第2階段的數(shù)據(jù)傳輸是讀或?qū)?以及數(shù)據(jù)傳輸?shù)淖止?jié)數(shù)和傳輸數(shù)據(jù)第1個要修改的寄存器地址。指令字節(jié)組成如下:

MSB LSB 7 6 5 4 3 2 1 0 R/W N1 N0 A4 A3 A2 A1 A0

第2階段是數(shù)據(jù)傳輸階段,在此階段外部SPI控制器與AD9707開始傳輸數(shù)據(jù)。一次傳輸?shù)臄?shù)據(jù)量由指令階段來決定,可以傳輸1~4個字節(jié)的數(shù)據(jù)。每個字節(jié)最后一位傳輸完成后,寄存器立刻改變。

當AD9707的 17腳(PIN/SPI/RESET)上有一個下降沿電平變化時,SPI端口的計數(shù)器將復位到指令周期的初始狀態(tài)。如果SPI端口正處于一個指令周期或數(shù)據(jù)傳輸周期,寄存器中不會寫入任何數(shù)據(jù)。

AD9707內(nèi)部寄存器主要包括:寄存器SPI CTL,地址為0x00,用于設(shè)置SPI通信的具體模式、軟復位和內(nèi)部參考源等,按照測試電路要求設(shè)置為0x80;寄存器DATA,地址為0x02,主要用于設(shè)置輸出模式選擇、數(shù)據(jù)上升沿鎖存和時鐘輸入模式選擇等,按照測試電路要求設(shè)置為0x0;寄存器CALMEM、MEMRDWR和TRIM等用于校準和靜態(tài)寄存器訪問。測試時主要使用寄存器SPI CTL和DATA。下面圍繞著這兩個寄存器的配置介紹兩種配置方式。

3 通過SPI端口配置AD9707內(nèi)部寄存器

3.1 使用ARM微處理器的SPI接口

S3C2410是Samsung公司推出的采用 RISC結(jié)構(gòu)的16/32位ARM微處理器。它基于ARM920T內(nèi)核,采用五級流水線和哈佛結(jié)構(gòu),頻率達到203 MHz,是高性能、低功耗的硬宏單元。S3C2410還包含下列部分:LCD控制器(STN&TFT)、NAND Flash引導裝入程序、系統(tǒng)管理(片選邏輯和 SDRAM 控制器)、3通道 UART、4通道DM A、4通道 PWM 時鐘、I/O 口 、RTC、8通道 10位 ADC及觸摸屏接口、I2C總線接口、I2S總線接口、USB主口和設(shè)備口和2通道SPI總線接口。

S3C2410具有2個SPI接口模塊,每個模塊分別具有2個8位移位寄存器用來接收和發(fā)送數(shù)據(jù)。數(shù)據(jù)的接收(串行移入)和發(fā)送(串行移出)是同時進行的,串行數(shù)據(jù)的速率由相應(yīng)的寄存器設(shè)定。其時序很簡單,主要是在CLK的控制下,2個雙向移位寄存器進行數(shù)據(jù)交換。當一個數(shù)據(jù)寫入SPTDATn寄存器時,如果 ENSCK和SPCONn寄存器中的MSTR位被置位,則啟動數(shù)據(jù)發(fā)送[2]。SPI接口發(fā)送數(shù)據(jù)的流程如圖3所示。

圖3 SPI數(shù)據(jù)發(fā)送流程

使用S3C2410的SPI端口0來配置AD9707內(nèi)部寄存器的主程序如下:

使用 S3C2410的 SPI接口可以很方便地配置AD9707,但是在測試電路板上S3C2410離AD9707較遠,布線時比較復雜,不得不使用飛線。為了解決布線困難的問題,采用FPGA模擬SPI接口配置AD9707內(nèi)部寄存器。

3.2 使用FPGA模擬SPI接口

FPGA(Field Programmable Gate Array)即現(xiàn)場可編程門陣列。FPGA的使用非常靈活,同一片F(xiàn)PGA通過不同的程序可以產(chǎn)生不同的電路功能。本文使用VHDL語言編寫一個SPI控制器,來發(fā)送配置數(shù)據(jù)給AD9707。

當僅需要向AD9707中寫入數(shù)據(jù)時,使用SPI時鐘線SCLK、SPI數(shù)據(jù)線SDIO和片選線CSB即可通信。根據(jù)圖2中的寫入時序編寫程序[3],具體代碼如下:

程序編譯仿真后得到的時序圖如圖4所示。整個程序綜合之后僅占用4個邏輯單元,使用類屬參數(shù)定義配置數(shù)據(jù),方便用戶按照自己的設(shè)計隨意修改。由于AD9707與FPGA直接相連,用FPGA直接配置AD9707在 PCB走線上方便很多,比較適合于我們的測試平臺。通過在FPGA中構(gòu)建的DDS發(fā)送波形數(shù)據(jù),即可構(gòu)成一個簡易波形發(fā)生器,產(chǎn)生一些常見的波形。

圖4 FPGA模擬SPI接口發(fā)送數(shù)據(jù)的時序仿真圖

結(jié) 語

本文著重介紹了使用ARM微處理器和FPGA這兩種常見的嵌入式處理器來配置AD9707,具有一般性和實用性。經(jīng)測試檢驗,配置正確。由于大多數(shù)公司的DAC都是使用SPI接口配置內(nèi)部寄存器,因此本文的程序也可用于配置其他DAC。

[1]Analog Devices.AD9707 Datasheet,2006.

[2]范書瑞,趙燕飛,高鐵成.ARM處理器與C語言開發(fā)應(yīng)用[M].北京:北京航空航天大學出版社,2008.

[3]Pedroni Volnei A.VHDL數(shù)字電路設(shè)計教程[M].喬廬峰,王志功,等譯.北京:電子工業(yè)出版社,2005.

猜你喜歡
字節(jié)寄存器時序
STM32和51單片機寄存器映射原理異同分析
基于Sentinel-2時序NDVI的麥冬識別研究
No.8 字節(jié)跳動將推出獨立出口電商APP
Lite寄存器模型的設(shè)計與實現(xiàn)
No.10 “字節(jié)跳動手機”要來了?
基于FPGA 的時序信號光纖傳輸系統(tǒng)
簡談MC7字節(jié)碼
一種毫米波放大器時序直流電源的設(shè)計
DPBUS時序及其設(shè)定方法
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
华阴市| 左权县| 湘阴县| 竹山县| 德惠市| 浪卡子县| 平乐县| 平陆县| 来凤县| 乐都县| 马鞍山市| 江津市| 格尔木市| 龙江县| 沾益县| 扎囊县| 蒲江县| 南华县| 叙永县| 桂阳县| 博野县| 尼玛县| 安乡县| 保定市| 福泉市| 舒城县| 文化| 土默特左旗| 汤原县| 广元市| 富锦市| 南康市| 绵阳市| 宝鸡市| 东丰县| 义马市| 河源市| 台山市| 滨州市| 长治市| 大港区|