基于FPGA的工控領域監(jiān)控系統(tǒng)設計
AD7705包括6個用戶可通過串口訪問的片內寄存器。其中第一個是通訊寄存器,用于管理通道選擇,決定下一個操作是讀操作還是寫操作,以及下一次讀或寫哪一個寄存器。所有與器件的通訊必須從寫通訊寄存器開始。上電或復位后,器件將等待在通訊寄存器上進行一次寫操作;
第二個是設置寄存器,用于決定校準模式、增益設置、單/雙極性輸入以及緩沖模式;
第三個是時鐘寄存器,其中包括濾波器選擇位和時鐘控制位;
第四個是數(shù)據(jù)寄存器,器件輸出的數(shù)據(jù)從這個寄存器讀出;
第五個是零標度校準寄存器,AD7705包含兩組獨立的零標度寄存器,每個零標度寄存器負責一個輸入通道。它們都是24位讀,寫寄存器;
第六個是滿標度校準寄存器,AD7705包含兩組獨立的滿標度寄存器,每個滿標度寄存器負責一個輸入通道。它們都是24位讀/寫寄存器。本文引用地址:http://butianyuan.cn/article/180882.htm
AD7705的寫操作時序圖如圖5所示。在將片選端CS拉低后,即可在串行時鐘的上升沿發(fā)送數(shù)據(jù),發(fā)送數(shù)據(jù)時,高位在前。
AD7705的讀操作時序圖如圖6所示。當在AD7705的DRDY信號腳檢測到邏輯低電平時,表示可以從AD7705的數(shù)據(jù)寄存器獲取新的輸出字,當完成對一個完全的輸出字的讀操作后,DRDY引腳立即回到高電平。如果在兩次輸出更新之間,不發(fā)生數(shù)據(jù)輸出,DRDY將在下一次輸出更新前500個輸入時鐘時間返回高電平。DRDY處于高電平時,不能進行讀操作。當數(shù)據(jù)更新后,DRDY又返回低電平。
2.2 FPGA接口的軟件設計
FPGA與AD7705共有5個接口引腳,分別為片選端CS、串行時鐘端SCLK、串行數(shù)據(jù)輸入端DIN、串行數(shù)據(jù)輸出端DOUT和串行數(shù)據(jù)請求端
DRDY。
讀AD7705的數(shù)據(jù)寄存器前,需先設置其時鐘寄存器和設置寄存器,下面以1通道為例來簡要說明,首先向AD7705發(fā)送串行數(shù)據(jù)0x20,表示下一操作選擇時鐘寄存器,接著發(fā)送串行數(shù)據(jù)0x0C,設置時鐘為2分頻,然后發(fā)送Oxl0,表示下一操作選擇設置寄存器,接著發(fā)送串行數(shù)據(jù)0x44,表示設置寄存器模式為自校準,增益l,單極性,無緩沖,然后再向AD7705發(fā)送0x38,表示可以讀通道1的數(shù)據(jù)寄存器,并等待AD7705的DRDY變低,然后發(fā)送16個時鐘,以讀取通道1的16位轉換數(shù)據(jù)。通道2的數(shù)據(jù)讀取與通道1的數(shù)據(jù)讀取相似,發(fā)送的數(shù)據(jù)分別為0x21,0x0C,
0x11,0x44,0x39。
3 結束語
本文用有限狀態(tài)機在FPGA上實現(xiàn)了對有SPI接口的AD轉換器AD7705的接口應用,并對AD7705的兩路輸入信號進行了實時采集。事實上,選用通用I/O口模擬SPI時序,相比標準SPI接口IP核更為簡潔,可以節(jié)約FPGA的片上資源。由于AD7705提供有雙通道、低成本、高分辨率的模數(shù)轉換功能,因此,采用∑-△結構實現(xiàn)模數(shù)轉換,可使得該器件在噪音環(huán)境下免受干擾,因而很適合于工業(yè)控制應用。
評論