關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于Verilog HDL數(shù)字電位器ADN2850的串口控制

基于Verilog HDL數(shù)字電位器ADN2850的串口控制

作者: 時(shí)間:2009-06-16 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:由于可調(diào)精度高,更穩(wěn)定,定位更準(zhǔn)確,操作更方便,數(shù)據(jù)可長(zhǎng)期保存和隨時(shí)刷新等優(yōu)點(diǎn),在某些場(chǎng)合具有模擬電位器不可比擬的優(yōu)勢(shì)。論述對(duì)的一種方便的方法,通過(guò)計(jì)算機(jī)上的直接對(duì)進(jìn)行寫入和。該方法簡(jiǎn)潔、高效,明顯提高了調(diào)試效率。給出用 實(shí)現(xiàn)該方法的關(guān)鍵程序,該程序已經(jīng)通過(guò)前仿真和板級(jí)調(diào)試,達(dá)到了預(yù)期的效果。
關(guān)鍵詞:;SPI;;

本文引用地址:http://m.butianyuan.cn/article/163780.htm


0 引 言
數(shù)字電位器是利用微電子技術(shù)制成的集成電路,它是依靠電阻陣列和多路模擬開關(guān)的組合完成阻值的變化。它沒(méi)有可動(dòng)的滑臂,而通過(guò)按鈕輸入信號(hào),或是通過(guò)數(shù)字輸入信號(hào)改變數(shù)字電位器的阻值。數(shù)字電位器由于可調(diào)精度高,更穩(wěn)定,定位更準(zhǔn)確,操作更方便,數(shù)據(jù)可長(zhǎng)期保存和隨時(shí)刷新等優(yōu)點(diǎn),在某些場(chǎng)合具有模擬電位器不可比擬的優(yōu)勢(shì)。


1 ADN2850的基本結(jié)構(gòu)和工作原理
ADN2850是ADI公司的雙通道,1 024階非易失性數(shù)字電位器。溫度系數(shù)僅為35 ppm/℃。其功能模塊圖如圖1所示。它的輸出電阻W和B之間的阻值主要由中間寄存器RDAC中存儲(chǔ)的值決定。RDAC的值可以由外部指令直接賦予或者從內(nèi)部非易失性存儲(chǔ)器E2MEM中載入。E2MEM中的值可以被修改或者被保護(hù)。當(dāng)RDAC中的值被改變后,新的值也可以被存入E2MEM中。之后,新的值將在系統(tǒng)重新上電后自動(dòng)加載到RDAC中。


賬 ADN2850的指令系統(tǒng)包含16種模式,通過(guò)一個(gè)標(biāo)準(zhǔn)SPI串行接口傳送24位命令字決定,高位在先。24位命令字的前4位是命令,接下來(lái)4位是地址,后面16位是數(shù)據(jù)。這些指令可以用于RDAC的值的寫入,E2MEM值的改寫與復(fù)原,電阻值的回讀等。


2 SPI接口簡(jiǎn)介
SPI是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用4根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間。正是出于這種簡(jiǎn)單易用的特性,現(xiàn)在越來(lái)越多的芯片集成了這種通信協(xié)議。
SPI的通信以主從方式工作,這種模式通常有1個(gè)主設(shè)備和1個(gè)或多個(gè)從設(shè)備,一般需要4根線,事實(shí)上3根也可以(單向傳輸時(shí))。其也是所有SPI的設(shè)備共有的,它們是SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCLK(時(shí)鐘),CS(片選)。由SCLK提供時(shí)鐘脈沖,SDI,SDO則此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過(guò)SDO線,數(shù)據(jù)在時(shí)鐘上升沿或下降沿時(shí)改變,在緊接著的下降沿或上升沿被讀取。完成1位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣,在至少8次時(shí)鐘信號(hào)的改變(上沿和下沿為1次),就可以完成8位數(shù)據(jù)的傳輸。ADN2850的SPI接口的4根引腳線分別是SDI,SDO,CLK,CS。
這里利用FPGA對(duì)SPI接口進(jìn)行配置。為了方便對(duì)輸入SPI的指令的隨時(shí)改變,而不需要程序的重復(fù)寫入,24位指令通過(guò)輸入到FPGA。串口通信由微機(jī)上的串口調(diào)試助手協(xié)助進(jìn)行。由于少了重新寫入程序的時(shí)間,從而調(diào)試速度和效率明顯增高。


3 串口簡(jiǎn)介
串口是計(jì)算機(jī)上一種通用的設(shè)備通信的協(xié)議,可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。
串口按位(b)發(fā)送和接收字節(jié)。通信使用3根線完成:地線、發(fā)送、接收功能。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時(shí)在另一根線上接收數(shù)據(jù)。其他線用于握手,但不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)位。波特率是衡量通信速度的參數(shù),它表示每秒鐘傳送的bit的個(gè)數(shù)。數(shù)據(jù)位則是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。停止位一般是為了平衡兩個(gè)系統(tǒng)的時(shí)鐘而在實(shí)際數(shù)據(jù)位結(jié)束后傳送的。奇偶校驗(yàn)位是串口通信中檢錯(cuò)的一種方式,沒(méi)有校驗(yàn)位也可以。整個(gè)系統(tǒng)的連接框圖如圖2所示。

4 ADN2850的串口
用串口控制ADN2850的流程圖如圖3所示。一旦有指令從串口發(fā)送,就重新經(jīng)FPGA后寫入ADN2850。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉