我們出廠的AD7606模塊缺省是8080 並行接口。
如果用SPI接口模式,需要修改R1 R2電阻配置。
並口模式跳線: R1 懸空(不貼),R2貼10K電阻
SPI接口模式跳線:R1 貼10K電阻, R2 懸空(不貼)
AD7606 的配置很簡單,它沒有內部寄存器。量程範圍和過採樣參數是通過外部IO控制的。
採樣速率由MCU或DSP提供的脈衝頻率控制。
AD7606 必須使用單5V供電。
AD7606 和MCU之間的通信接口電平由VIO引腳控制。也就是說VIO必須接單片機的電源,可以是3.3V也可以是5V。
【模塊引腳說明】
OS2 OS1 OS2 : 的組合狀態選擇過採樣模式。
- 000表示無過採樣,最大200Ksps採樣速率。
- 001表示2倍過採樣, 也就是硬件內部採集2個樣本求平均
- 010表示4倍過採樣, 也就是硬件內部採集4個樣本求平均
- 011表示8倍過採樣, 也就是硬件內部採集8個樣本求平均
- 100表示16倍過採樣, 也就是硬件內部採集16個樣本求平均
- 101表示32倍過採樣, 也就是硬件內部採集32個樣本求平均
- 110表示64倍過採樣, 也就是硬件內部採集64個樣本求平均
- 過採樣倍率越高,ADC轉換時間越長,可得到的最大採樣頻率就越低。
CVA,CVB:啟動AD轉換的控制信號。CVA決定1-4通道,CVB決定5-8通道。
2個信號可以錯開短暫的時間。一般情況可以將CVA,CVB並聯在一起。 - RAGE:量程範圍選擇。0表示正負5V, 1表示正負10V.
- RD:讀信號
- RST:復位信號
- BUSY:忙信號
- CS:片選信號
- FRST:第1個通道樣本的指示信號
- VIO:通信接口電平
- DB0-DB15:數據總線
【16位並行模式接線圖】 --- AD7606也支持8位總線模式,請參見AD7606數據手冊
AD7606模塊 MCU側
- GND <----- 地
- +5V <----- 5V電源
- RAGE <----- 可接GPIO也可接固定電平
- OS2 <----- 可接GPIO也可接固定電平
- OS1 <----- 可接GPIO也可接固定電平
- OS0 <----- 可接GPIO也可接固定電平
- CVA <----- 接GPIO(輸出)用於啟動AD轉換【推薦接具有PWM輸出能力的引腳】
- CVB <---|
- RD <----- 8080總線讀信號NOE
- RST <----- GPIO輸出 硬件復位AD606
- BUSY -----> GPIO輸入AD606正在轉換指示。【推薦接具有外部中斷能力的引腳】
- CS <----- 8080總線片選NCS
- VIO <----- 單片機電源
- DB0-DB15 -----> 8080數據總線(16位)
- FRST 可不接
【SPI接口模式接線圖】
AD7606模塊 MCU側
- GND <----- 地
- +5V <----- 5V電源
- RAGE <----- 任意輸出GPIO,可接固定電平
- OS2 <----- 任意輸出GPIO,可接固定電平
- OS1 <----- 任意輸出GPIO,可接固定電平
- OS0 <----- 任意輸出GPIO, 可接固定電平
- CVA <----- 接GPIO(輸出)用於啟動AD轉換【推薦接具有PWM輸出能力的引腳】
- CVB <---|
- RD/SCLK <----- SPI總線時鐘SCK
- RST <----- 任意輸出GPIO, 用於硬件復位AD606
- BUSY -----> GPIO輸入, AD606正在轉換指示。【推薦接具有外部中斷能力的引腳】
- CS <----- SPI總線片選SCS
- VIO <----- 單片機電源
- DB7(DOUTA) -----> SPI總線數據線MISO
- DB14-DB15 可不接
- FRST 可不接
【軟件定時採集的實現方案1】 --- 我們提供的spi 的例子採用這種方案見bsp_spi_ad7606.c 文件
在定時器中斷服務程序中實現: 定時器中斷ISR:
{ 中斷入口; 讀取8個通道的採樣結果保存到RAM; ----> 讀取的是上次的採集結果,對於連續採集來說,是沒有關係的 啟動下次ADC採集;(翻轉CVA和CVB) 中斷返回; } 定時器的頻率就是ADC採樣頻率。這種模式可以不連接BUSY 口線。 |
【軟件定時採集的實現方案2】 --- 我們提供的8080接口例子採用這種方案見bsp_ad7606.c 文件
配置CVA CVB 引腳為PWM輸出模式,週期設置為需要的採樣頻率; ---> 之後MCU將產生週期非常穩定的AD轉換信號將BUSY口線設置為中斷下降沿觸發模式; 外部中斷ISR { 中斷入口; 讀取8個通道的採樣結果保存到RAM; 中斷返回; } |
【軟件定時採集的實現方案1和方案2的差異】
(1)方案1 可以少用BUSY口線, 但是其他中斷服務程序或者主程序臨時關閉全局中斷時,可能導致ADC轉換週期存在輕微抖動。
(2)方案2 可以確保採集時鐘的穩定性,因為它是MCU硬件產生的。但是需要多接一根BUSY口線。