賽靈思的7系列FPGA和Zynq器件創造性地在片上集成了模數轉換器和相關的片上傳感器(內置溫度傳感器和功耗傳感器),這是相比賽靈思前一代產品來新增加的特性,可在系統設計中免去外置的ADC器件,有力地提高了系統的集成度。本文就這一新模塊的使用進行簡單介紹,希望對大家有所幫助,當然如有不當之處還請高手指正,以免誤導大家,歡迎大家補充。
2.XADC模塊介紹
2.1 XADC模塊概述
Zynq器件XADC模塊包括2個12比特1 MIPS的模數轉換器和相關的片上傳感器,模數轉換器能為系統應用提供通用目的的高精度的模擬接口,下圖是XADC模塊的框圖:
?
?
XADC模塊支持不同的操作模式,如外步觸發同步采樣模式;可接受不同類型的模擬輸入信號,如單端或差分信號;最多能接受17路外部的模擬輸入信號。XADC模塊也包括一定數量的片上傳感器用來測量片上的供電電壓和芯片溫度,這些測量轉換數據存儲在一個叫狀態寄存器(status registers)的專用寄存器內,可由FPGA內部叫動態配置端口(Dynamic
Reconfiguration Port (DRP))的16位的同步讀寫端口訪問。ADC轉換數據也可以由JTAG TAP訪問,這種情況下并不需要去直接例化XADC模塊,因為這是一個已經存在于FPGA JTAG結構的專用接口,此時因為沒有在設計中直接例化XADC模塊,XADC模塊就工作在一種預先定義好的模式叫缺省模式,缺省模式下XADC模塊專用于監視芯片上的供電電壓和芯片溫度。XADC模塊的操作模式是由用戶通過DRP或JTAG接口寫控制寄存器來選擇的,控制寄存器的初始值有可能在設計中例化XADC模塊時的塊屬性(block attributes)指定。
2.2 XADC模塊管腳需求
所有的XADC模塊專用管腳都位于bank0, 所以都加有_0的后綴。下圖表示了XADC的基本輸入輸出需求:
?
這有兩種推薦配置:圖中左邊XADC由Vccaux(1.8V)供電,并且用一個外部的1.25V參考源。用外部參考源在精度和熱飄移方面可以獲得更好的性能,一個磁珠用隔離模擬地和數字地,這可避免較常用的模擬和數字電路共地而把噪聲帶入模擬電路的缺點;圖中右邊XADC是用片內的參考源,這時VREFP腳必須按圖中所示連接到地。
下表列出了XADC相關的引腳和連接:
?
?
注:XADC模塊有一專用的支持差分輸入的模擬通道輸入引腳(VP/VN),另外還最多有16個輔助的模擬通道輸入引腳(ADxP or ADxN,x為0到15),Kintex-7不支持輔助通道6,7,13,14,15。Zynq-7000 AP SoC器件由于封裝不通可能不會支持所有的輔助通道,具體要查詢封裝文件。
3.基本使用方法
3.1 XADC模塊的操作模式
最基本的操作模式叫缺省模式,缺省模式下XADC模塊專用于監視芯片上的供電電壓和芯片溫度,這時XADC模塊并不需要用戶對其進行配置。
另外一個為同步采樣模式,按預定的步驟順序采樣兩個外部的模擬輸入信號,并把采樣結果存儲在狀態寄存器內。
單通道模式,在這種模式下,用戶必須通過寫控制寄存器40H的CH4到CH0比特來選擇一個要采樣的通道。另外控制寄存器40H的BU(analog input mode)和ACQ(settling time)兩個參數也必須設置。
獨立ADC模式,在這種模式下,ADC A是固定用來實現一個類似于缺省模式的“監控模式”,報警輸出功能是有效的,用戶必須設置正確的報警門限;ADC B只能用來測量外部的模擬輸入。
Single Pass模式,在這種模式下,按用戶選擇的采樣順序序列順序采樣一遍后停止ADC。
采樣順序序列是由用戶寫序列通道選擇寄存器48H和49H來設定的。
Continuous Sequence連續序列模式,這種模式和Single Pass模式很相似,區別是采樣完一遍后系統自動重新開始序列采樣,故為連續采樣。
模式選擇是由控制寄存器41H的SEQ3到SEQ0比特決定,具體如下圖示:
?
3.2 XADC primitive
XADC模塊的使用方法,一是直接用FPGA JTAG專用接口訪問,這時XADC模塊工作在缺省模式;二是在設計中例化XADC模塊,這是可以通過FPGA邏輯或ZYNQ器件的PS到ADC模塊的專用接口訪問。例化XADC模塊有兩種基本形式:一是ISE和PlanAhead環境下LogiCOREIP核的形式調用,二是EDK環境下對LogiCOREIP核的調用。這兩種調用方法相信對使用過XILINX產品的朋友來說操作界面與步驟都很熟悉,這里就不贅述了,主要是想說明下XADC模塊原語,以期對這模塊有個基本的了解。下圖是XADC模塊的輸入與輸出端口的示意圖:
?
各引腳功能描述如下:
XADC可配置的屬性如下圖示(等效于配置相應的寄存器):
?
4.PCB要點
模數轉換器所能獲得的精度和PCB設計關系很大,因為模數轉換器是敏感的部件,它的模擬接口容易受到噪聲的影響,下面就PCB設計時要注意的地方做一簡單介紹。
1). 典型應用中VREFP 和 VREFN外接1.25V參考電壓,電壓精度為± 0.2%,并且在PCB上要盡可能的靠近VREFP 和 VREFN引腳,并且按電源IC要求使用合適的去耦電容。
2). 如果使用片內的參考電壓,VREFP 和 VREFN引腳要通過一磁珠連到模擬地,以去除高頻干擾。
上面兩種情況的電源連接情況如下圖示:
?
?
注意隔離數字電源和模擬電源的磁珠應使噪聲對模擬電源供應的波動小于1 LSB (250 uV),這在用12比特測量時可以最小化噪聲對精度的影響。作為一個通用原則,模擬地和數字地要分開,以減少噪聲從地平面耦合過來的影響。
3). 盡量在每個引腳放一個100nF的去耦電容,PCB上盡量靠近引腳。
4). 外接1.25V參考電壓接VREFP 和 VREFN引腳時,PCB上應該用緊密耦合的差分對形式布線,它們應該走線在同一層,使用最小間隔,可以用模擬電源和模擬地來隔離保護它。
5). 外部模擬輸入引腳采用差分輸入形式可以有效地去除共模噪聲,兩個差分輸入應該按緊密耦合的差分對形式布線,使用最小間隔,推薦在輸入端應該放置抗混疊濾波器,這個抗混疊濾波器應該盡可能地靠近FPGA。
5.參考文獻:
以上介紹拋磚引玉掛一漏萬地,詳細的說明還需要大家認真閱讀XILINX官方出的原始文檔,下面列出這些主要的參考文獻供大家進一步學習研究:
[1].Xilinx UG480: 7 Series FPGAs and Zynq-7000 AllProgrammable SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converter User Guide
[2].Xilinx UG772: LogiCORE IP XADC Wizard User Guide
[3].Xilinx PG019: LogiCORE IP AXI XADC (v1.00.a) Product Guide
[4]. Xilinx UG585:Zynq-7000 All ProgrammableSoC Technical Reference Manual
[5].Xilinx XAPP554: XADC Layout Guidelines
評論
查看更多