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