DSP複習筆記(7)——TMS320F28335模數轉換模塊

注意

  1. 芯片型號:TMS320F28335
  2. 適用於NJUSTEO李彧晟老師課程
  3. 參考資料:《TMS320F28335 DSP原理、開發及應用》
  4. 對應PPT第二章98頁
  5. 本章內容較多而且較爲重要,請結合PPT一起復習

1 概述

  1. 具有雙採樣保持器的12位轉換內核;
  2. 同步採樣模式或順序採樣模式;
  3. 模擬輸入電壓範圍0~3V
  4. 快速採樣功能,最高6.25MSPS;
  5. 16通道輸入,多路時分複用;
  6. 自動定序功能,在一個採樣序列內支持16次“自動轉換”;
  7. 序列發生器可配置成兩個獨立8通道或者一個16通道
  8. 有多種觸發源啓動模數轉換;
  9. 靈活的中斷控制;
    在這裏插入圖片描述
  • 16個採樣通道採用分時複用模式進行採樣
  • 序列發生器決定採樣對象,是一個存儲地址的寄存器
  • S/H-A和S/H-B是兩個採樣保持器

2 序列發生器工作模式

  • 無論是級聯工作模式還是雙序列工作模式,其本質都是通過設定通道的讀取順序來進行通道的讀取選擇。

2.1 級聯序列工作模式

  • 一個16通道序列發生器在這裏插入圖片描述

2.2 雙序列工作模式

  • 兩個8通道序列發生器
    在這裏插入圖片描述

3 ADC工作模式

  ADC還可以工作於同時採樣模式或順序採樣模式。對於每個轉換(或同時採樣模式下的轉換對),當前的CONVxx位字段定義要採樣和轉換的引腳(或一對引腳)。
  在順序採樣模式下,CONVxx的所有四個位定義輸入引腳。 最高位定義了輸入引腳與哪個採樣保持緩衝器相關聯,而低3位定義了偏移量。例如,如果CONVxx=0101b,則ADCINA5是所選的輸入引腳。如果它=1011b,則ADCINB3爲選定的輸入引腳。
  在同時採樣模式下,CONVxx寄存器的最高位被丟棄。每個採樣和保持緩衝器都採樣由CONVxx寄存器的低3位提供的偏移量給定的相關引腳。例如,如果CONVxx寄存器包含值0110b,則ADCINA6由S / H-A採樣,而ADCINB6由S / H-B採樣。如果值爲1001b,則ADCINA1由S / H-A採樣,ADCINB1由S / H-B採樣。首先轉換S / H-A中的電壓,然後轉換S / H-B電壓。 S / H-A轉換的結果放置在當前的ADCRESULTn寄存器中(假定定序器已復位,則爲SEQ1的ADCRESULT0)。 S / H-B轉換的結果放置在下一個ADCRESULTn寄存器中(假定定序器已復位,則爲SEQ1的ADCRESULT1)。然後將結果寄存器指針加2(假設序列器最初已復位,則指向SEQ1的ADCRESULT2)。

3.1 順序採樣模式

  • 由4位CONV來決定輸入通道的採樣
    在這裏插入圖片描述

3.2 同步採樣模式

  • 由4位CONV的低3位來決定輸入通道的採樣
    在這裏插入圖片描述

4 中斷控制

在這裏插入圖片描述

  • 2種中斷控制:
    Case1:每次SEQ序列結束產生中斷;
    Case2:間隔一次SEQ序列結束產生中斷。
    忽略Case3

5 ADC採樣結果的轉換

在這裏插入圖片描述

  • 其中Vin爲輸入電壓,ADCLO爲基準電壓
  • 參考電壓⼀般是0V,也可以通過寄存器更改

輸入電壓超過[0,3]範圍時如何處理?

  • 例如: -1.5 V < Vin < +1.5 V
    在這裏插入圖片描述
  • 使用運放電路
    Vadcinx = Vin + 1.5
    注意ADCLO是參考電壓
  • 把結果減去偏移值,這裏是1.5V
#include “DSP2833x_Device.h”
#define  offset  0x07FF
void main(void)
{
   int16 value;			// signed

   value = AdcMirror.ADCRESULT0 – offset;
}

6 ADC時鐘配置

在這裏插入圖片描述

7 ADC基準電壓

  • 默認情況下選擇片內參考電壓作爲ADC轉換的基準電壓
  • 也可使用外部參考電壓
    • 可選2.048 V, 1.5 V,1.024 V,由ADCREFSEL寄存器控制
    • 但輸入引腳的電壓仍不可超過0 - 3 V
      在這裏插入圖片描述
      在這裏插入圖片描述

8 ADC相關寄存器

8.1 ADC控制寄存器1(ADCTRL1)

在這裏插入圖片描述

Bit(s) Name value Description
14 RESET 0,1 ADC模塊的復位, 0:無反應;1:復位整個ADC模塊
13-12 SUSMOD 仿真掛起模式控制位
00:仿真掛起被忽略
01:當前序列結束後鎖存結果
10:當前轉換結束後鎖存結果
11:序列發生器及迴繞邏輯電路立即停止工作
11-8 ACQ_PS 決定了SOC脈衝寬度,
SOC脈衝寬度=(ACQ_PS[3:0]+1)×ADCCLK週期
7 CPS 0,1 ADC內核時鐘預分頻位
0: ADCCLK = FCLK / 1
1: ADCCLK = FCLK / 2
6 CONT_RUN 0,1 連續運行模式:
0:啓動/停止模式
1:連續運行
5 SEQ_OVRD 0,1 序列發生器覆蓋功能
0:允許序列發生器在完成MAX_CONVn個轉換後迴繞
1:在序列發生器完成MAX_CONVn個轉換後發生覆蓋,只在序列發生器中的末端發生迴繞
4 SEQ_CASC 0,1 級聯模式控制位
0:序列發生器工作在雙序列發生器方式
1:序列發生器工作在級聯方式,SEQ爲16通道

8.2 ADC控制寄存器2(ADCTRL2)

在這裏插入圖片描述
在這裏插入圖片描述

8.3 ADC控制寄存器3

在這裏插入圖片描述

8.4 最大轉換通道配置寄存器(ADCMAXCONV)

在這裏插入圖片描述

  • 定義每次觸發之後的轉換格式
  • 根據序列發生器的工作方式(雙序列發生器方式、級聯序列發生器模式)的不同,MAX_CONVn有不同的定義:
    • 對於SEQ1,MAX_CONV1[2:0]起作用;
    • 對於SEQ2,MAX_CONV2[2:0]起作用;
    • 對於SEQ,MAX_CONV1[3:0]起作用。
  • 一個序列內所能完成的轉換次數爲MAX_CONVn+1次

8.5 輸入通道選擇寄存器(ADCCHSELSEQx)

在這裏插入圖片描述

  • 這個寄存器是配置輸入通道的順序,一共有4個寄存器,每個寄存器又被分成了4段,每一段爲4位。
  • 在這裏插入圖片描述
    在這裏插入圖片描述

8.6 ADC結果寄存器(ADCRESULTx)

  • 這個結果寄存器有連個,分別是 0x7108-0x7117和0x0B00~0x0B0F
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章