本發(fā)明屬于模數(shù)轉(zhuǎn)換控制器設計領域,特別涉及一種模數(shù)轉(zhuǎn)換控制裝置及控制方法。
背景技術:
1、mcu中通常集成模數(shù)轉(zhuǎn)換器,利用模數(shù)轉(zhuǎn)換器可將表征光線、聲音、壓力、溫度變化的模擬值轉(zhuǎn)換成數(shù)字值。為保證模數(shù)轉(zhuǎn)換器的高效工作,需要模數(shù)轉(zhuǎn)換控制器的準確控制。模數(shù)轉(zhuǎn)換控制器與系統(tǒng)總線互連,cpu用于調(diào)度模數(shù)轉(zhuǎn)換控制器的工作。模數(shù)轉(zhuǎn)換控制器接收到cpu的調(diào)度后,產(chǎn)生控制信號直接控制模數(shù)轉(zhuǎn)換器將模擬量向數(shù)字量轉(zhuǎn)換。
2、現(xiàn)有模數(shù)轉(zhuǎn)換控制器通常不包含后處理結構,模數(shù)轉(zhuǎn)換器完成轉(zhuǎn)換后產(chǎn)生轉(zhuǎn)換完成中斷,中斷控制器收到中斷后,觸發(fā)cpu運行存儲中對應的中斷服務程序。在中斷服務程序中cpu可以讀取相應寄存器,進而獲取轉(zhuǎn)換值。獲取到的轉(zhuǎn)換值,只經(jīng)過全局校準,無法針對模數(shù)轉(zhuǎn)換器的各個通道的差異進行補償。同時,產(chǎn)生模擬信號的源頭攜帶一定的基準誤差,該誤差和信號一同被轉(zhuǎn)換,最終誤差也反映在轉(zhuǎn)換值中。
3、針對上述情況,現(xiàn)有技術需要消耗額外的軟件開銷進行數(shù)據(jù)處理,以獲取準確的轉(zhuǎn)換值。在某些場景中,需要對轉(zhuǎn)換值進行過零檢測和閾值檢測?,F(xiàn)有技術無法直接從硬件中獲取過零檢測狀態(tài)和閾值檢測狀態(tài),需要消耗額外的軟件開銷進行數(shù)據(jù)處理。
技術實現(xiàn)思路
1、為解決上述技術問題,本發(fā)明提供了一種模數(shù)轉(zhuǎn)換控制裝置及控制方法,以達到無需額外的軟件開銷,從而降低了資源消耗,提升系統(tǒng)的效率的目的。
2、為達到上述目的,本發(fā)明的技術方案如下:
3、一種模數(shù)轉(zhuǎn)換控制裝置,所述裝置通過系統(tǒng)總線接收cpu的調(diào)度,并產(chǎn)生控制信號控制模數(shù)轉(zhuǎn)換器,包括接口轉(zhuǎn)換單元、解碼單元、采樣時鐘產(chǎn)生器、通道校準單元、基準處理單元、過零檢測單元和閾值檢測單元;
4、cpu:中央處理單元,通過系統(tǒng)總線訪問模數(shù)轉(zhuǎn)換控制器;
5、所述接口轉(zhuǎn)換單元:與系統(tǒng)總線相連,將總線協(xié)議轉(zhuǎn)換成讀寫操作;
6、所述解碼單元:對接口轉(zhuǎn)換單元產(chǎn)生的讀寫操作進行譯碼,產(chǎn)生使能信號一、全局校準值和通道選擇信號發(fā)送給模數(shù)轉(zhuǎn)換器,該通道選擇信號同時發(fā)送給通道校準單元;產(chǎn)生時鐘分頻值發(fā)送給采樣時鐘產(chǎn)生器;產(chǎn)生不同通道校準值發(fā)送給通道校準單元;產(chǎn)生基準值發(fā)送給基準值處理單元;產(chǎn)生使能信號二給過零檢測單元;產(chǎn)生使能信號三給閾值檢測單元;接收模數(shù)轉(zhuǎn)換器發(fā)來的采樣轉(zhuǎn)換值以及基準值處理單元發(fā)來的后處理值,并發(fā)送給接口轉(zhuǎn)換單元;
7、所述采樣時鐘產(chǎn)生器:根據(jù)時鐘分頻值,產(chǎn)生不同頻率的采樣時鐘,并發(fā)送給模數(shù)轉(zhuǎn)換器;
8、所述通道校準單元:根據(jù)通道選擇信號、不同通道校準值對模數(shù)轉(zhuǎn)換器發(fā)來的采樣轉(zhuǎn)換值進行處理,并將結果發(fā)送給基準處理單元;
9、所述基準處理單元:根據(jù)基準值對通道校準單元輸出的結果進行處理,將后處理值發(fā)送給解碼單元、過零檢測單元和閾值檢測單元,并產(chǎn)生后處理完成中斷發(fā)送至中斷控制器;
10、所述過零檢測單元:當使能信號二是高電平時,對后處理值進行符號位判定,一旦符號位翻轉(zhuǎn),立即產(chǎn)生過零檢測中斷并發(fā)送至中斷控制器;
11、所述閾值檢測單元:當使能信號三是高電平時,根據(jù)閾值對后處理值進行判定,一旦后處理值高于最大閾值或低于最小閾值,立即產(chǎn)生閾值檢測中斷并發(fā)送至中斷控制器;
12、所述模數(shù)轉(zhuǎn)換器:在使能信號一、全局校準值、通道選擇信號和采樣時鐘的控制下,對輸入的模擬信號進行采樣和轉(zhuǎn)換,將采樣轉(zhuǎn)換值發(fā)送至解碼單元和通道校準單元,并產(chǎn)生轉(zhuǎn)換完成中斷發(fā)送至中斷控制器;
13、所述中斷控制器:接收到過零檢測中斷、閾值檢測中斷、轉(zhuǎn)換完成中斷和后處理完成中斷后,觸發(fā)cpu運行存儲中對應的中斷服務程序。
14、一種模數(shù)轉(zhuǎn)換控制方法,采用如上所述的一種模數(shù)轉(zhuǎn)換控制裝置,包括如下步驟:
15、(1)cpu發(fā)出對模數(shù)轉(zhuǎn)換控制器的一系列寫總線操作;
16、(2)經(jīng)過系統(tǒng)總線到達模數(shù)轉(zhuǎn)換控制器的接口轉(zhuǎn)換單元;
17、(3)接口轉(zhuǎn)換單元將總線操作轉(zhuǎn)換成寫操作,發(fā)送給解碼單元;
18、(4)解碼單元對寫操作進行譯碼,產(chǎn)生使能信號一、通道選擇信號和全局校準值發(fā)送給模數(shù)轉(zhuǎn)換器,產(chǎn)生時鐘分頻值發(fā)送給采樣時鐘產(chǎn)生器;
19、(5)采樣時鐘產(chǎn)生器根據(jù)時鐘分頻值,產(chǎn)生不同頻率的采樣時鐘,并發(fā)送給模數(shù)轉(zhuǎn)換器;
20、(6)模數(shù)轉(zhuǎn)換器根據(jù)使能信號一、通道選擇信號和全局校準值以及采樣時鐘對輸入的模擬信號進行采樣和轉(zhuǎn)換,將采樣轉(zhuǎn)換值發(fā)送給解碼單元以及通道校準單元,并產(chǎn)生轉(zhuǎn)換完成中斷發(fā)送給中斷控制器;此時,解碼單元未給通道校準單元發(fā)送不同通道校準值,因此,通道校準單元不工作;
21、(7)中斷控制器收到轉(zhuǎn)換完成中斷后,觸發(fā)cpu運行存儲中對應的中斷服務程序,通過轉(zhuǎn)換接口單元獲取解碼單元發(fā)來的采樣轉(zhuǎn)換值,并利用軟件進行補償。
22、一種模數(shù)轉(zhuǎn)換控制方法,采用如上所述的一種模數(shù)轉(zhuǎn)換控制裝置,包括如下步驟:
23、(1)cpu發(fā)出對模數(shù)轉(zhuǎn)換控制器的一系列寫總線操作;
24、(2)經(jīng)過系統(tǒng)總線到達模數(shù)轉(zhuǎn)換控制器的接口轉(zhuǎn)換單元;
25、(3)接口轉(zhuǎn)換單元將總線操作轉(zhuǎn)換成寫操作,發(fā)送給解碼單元;
26、(4)解碼單元對寫操作進行譯碼,產(chǎn)生使能信號一、通道選擇信號、全局校準值發(fā)送給模數(shù)轉(zhuǎn)換器,該通道選擇信號同時發(fā)送給通道校準單元,產(chǎn)生時鐘分頻值發(fā)送給采樣時鐘產(chǎn)生器,產(chǎn)生不同通道校準值發(fā)送給通道校準單元,產(chǎn)生基準值發(fā)送給基準值處理單元;
27、(5)采樣時鐘產(chǎn)生器根據(jù)時鐘分頻值,產(chǎn)生不同頻率的采樣時鐘,并發(fā)送給模數(shù)轉(zhuǎn)換器;
28、(6)模數(shù)轉(zhuǎn)換器根據(jù)使能信號一、通道選擇信號和全局校準值以及采樣時鐘對輸入的模擬信號進行采樣和轉(zhuǎn)換,將采樣轉(zhuǎn)換值發(fā)送給解碼單元以及通道校準單元;
29、(7)通道校準單元根據(jù)通道選擇信號、不同通道校準值對模數(shù)轉(zhuǎn)換器發(fā)來的采樣轉(zhuǎn)換值進行處理,并將結果發(fā)送給基準處理單元;
30、(8)基準處理單元根據(jù)基準值對通道校準單元輸出的結果進行處理,將后處理值發(fā)送給解碼單元、過零檢測單元以及閾值檢測單元,并產(chǎn)生后處理完成中斷發(fā)送至中斷控制器;此時,使能信號二和使能信號三為低電平,過零檢測單元和閾值檢測單元不工作;
31、(9)中斷控制器收到后處理完成中斷后,觸發(fā)cpu運行存儲中對應的中斷服務程序,通過轉(zhuǎn)換接口單元獲取解碼單元發(fā)來的后處理值,無需軟件補償可直接使用。
32、一種模數(shù)轉(zhuǎn)換控制方法,采用如上所述的一種模數(shù)轉(zhuǎn)換控制裝置,包括如下步驟:
33、(1)cpu發(fā)出對模數(shù)轉(zhuǎn)換控制器的一系列寫總線操作;
34、(2)經(jīng)過系統(tǒng)總線到達模數(shù)轉(zhuǎn)換控制器的接口轉(zhuǎn)換單元;
35、(3)接口轉(zhuǎn)換單元將總線操作轉(zhuǎn)換成寫操作,發(fā)送給解碼單元;
36、(4)解碼單元對寫操作進行譯碼,產(chǎn)生使能信號一、通道選擇信號、全局校準值發(fā)送給模數(shù)轉(zhuǎn)換器,該通道選擇信號同時發(fā)送給通道校準單元,產(chǎn)生時鐘分頻值發(fā)送給采樣時鐘產(chǎn)生器,產(chǎn)生不同通道校準值發(fā)送給通道校準單元,產(chǎn)生基準值發(fā)送給基準值處理單元,產(chǎn)生使能信號二給過零檢測單元,產(chǎn)生使能信號三給閾值檢測單元;
37、(5)采樣時鐘產(chǎn)生器根據(jù)時鐘分頻值,產(chǎn)生不同頻率的采樣時鐘,并發(fā)送給模數(shù)轉(zhuǎn)換器;
38、(6)模數(shù)轉(zhuǎn)換器根據(jù)使能信號一、通道選擇信號和全局校準值以及采樣時鐘對輸入的模擬信號進行采樣和轉(zhuǎn)換,將采樣轉(zhuǎn)換值發(fā)送給解碼單元以及通道校準單元;
39、(7)通道校準單元根據(jù)通道選擇信號、不同通道校準值對模數(shù)轉(zhuǎn)換器發(fā)來的采樣轉(zhuǎn)換值進行處理,并將結果發(fā)送給基準處理單元;
40、(8)基準處理單元根據(jù)基準值對通道校準單元輸出的結果進行處理,將后處理值發(fā)送給解碼單元、過零檢測單元以及閾值檢測單元;
41、(9)當使能信號二是高電平時,過零檢測單元對后處理值進行符號位判定,一旦符號位翻轉(zhuǎn),立即產(chǎn)生過零檢測中斷并發(fā)送至中斷控制器;
42、當使能信號三是高電平時,閾值檢測單元根據(jù)閾值對后處理值進行判定,一旦后處理值高于最大閾值或低于最小閾值,立即產(chǎn)生閾值檢測中斷并發(fā)送至中斷控制器;
43、(10)中斷控制器收到過零檢測中斷或閾值檢測中斷后,觸發(fā)cpu運行存儲中對應的中斷服務程序,通過轉(zhuǎn)換接口單元和解碼單元獲取基準值處理單元產(chǎn)生的后處理值,無需軟件補償可直接使用。
44、通過上述技術方案,本發(fā)明提供的一種模數(shù)轉(zhuǎn)換控制裝置及控制方法具有如下有益效果:
45、本發(fā)明所公開的一種模數(shù)轉(zhuǎn)換控制裝置,在硬件上直接利用通道校準單元對通道差異進行補償、利用基準處理單元處理基準誤差。同時,可以利用硬件進行過零檢測和閾值檢測,無需額外的軟件開銷,從而降低資源消耗,提升系統(tǒng)的效率。方便用戶根據(jù)應用場景選擇處理方式,既支持現(xiàn)有技術的操作途徑,又支持無額外軟件開銷的處理方式。