本發(fā)明涉及數(shù)據(jù)采集,特別涉及一種靈活高效多通道并行adc調(diào)度方法。
背景技術(shù):
1、電動汽車、通信以及醫(yī)療等領(lǐng)域越來越多使用多通道數(shù)據(jù)采集系統(tǒng),多路adc單元勢必會增加pcb走線與功耗的增加,迫切需要減少adc單元的數(shù)量,同時要求盡可能多的采集多通道數(shù)據(jù),針對adc轉(zhuǎn)換器減少的場景,目前adc采集都是用cpu來控制采樣周期,增加模擬選擇器,設(shè)置通道優(yōu)先級來實現(xiàn)多通道的adc采樣。
2、現(xiàn)有方式中關(guān)于多通道并行adc調(diào)度,將多個adc通道分配到兩個或者多個adc裝備來滿足不同應(yīng)用場景,實現(xiàn)差異化動態(tài)的硬件靈活配置下的應(yīng)用需求;通過工作狀態(tài)序列和通道轉(zhuǎn)換序列的軟硬件配置實現(xiàn)輸入通道選擇的動態(tài)配置,來實現(xiàn)不同adc來采集相同adc通道,實現(xiàn)冗余功能安全。但現(xiàn)有方式中實現(xiàn)多通道adc采集需軟件參與,啟動多個定時器或者觸發(fā)器機制,采集數(shù)據(jù)管理復(fù)雜,需要cpu分發(fā)處理,調(diào)度耗時時間長;同時,目前多通道并行數(shù)據(jù)采集系統(tǒng)會占用更多的pcb布線以及功耗,尺寸無法做到極致,從而導(dǎo)致總物料(bom)有所增加。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供了一種靈活高效多通道并行adc調(diào)度方法,應(yīng)用在adc轉(zhuǎn)換器單一、通道數(shù)較多,多個通道要分時復(fù)用到adc轉(zhuǎn)換器的ic芯片應(yīng)用場景,且外部可同時多通道并行獨立下發(fā)調(diào)動指令,轉(zhuǎn)換器根據(jù)優(yōu)先級串行處理,不占用公共資源。
2、本發(fā)明提供了一種靈活高效多通道并行adc調(diào)度方法,基于多通道并行adc調(diào)度的數(shù)據(jù)采集系統(tǒng),所述數(shù)據(jù)采集系統(tǒng)包括定時處理單元、通道緩存單元、adc控制邏輯單元、adc模塊、數(shù)據(jù)濾波單元、采集數(shù)據(jù)緩存單元、cpu單元和dma模塊,所述定時處理單元分別連接多個定時器,每個所述定時器連接一個通道;
3、所述方法具體包括:
4、s1、預(yù)設(shè)不同通道的采樣率以及通道數(shù),并配置所有通道的定時器,所述定時器在所述adc模塊啟動后開始工作;
5、s2、所述定時處理單元根據(jù)不同觸發(fā)事件,按照先觸發(fā)先處理的原則執(zhí)行所有通道的配置;
6、s3、所述通道緩存單元對定時處理單元的通道配置進行緩存,緩存的配置通過通道去使能信號進行清除,緩存的配置遵循先進先出原則,在adc模塊不工作狀態(tài)下取走通道配置;
7、s4、所述adc控制邏輯單元在收到通道緩存單元通道配置信息后啟動,時序嚴(yán)格符合adc模塊的工作流程;
8、s5、所述adc模塊針對控制邏輯信號,輸出通道的采樣值,傳遞給數(shù)據(jù)濾波單元;
9、s6、所述數(shù)據(jù)濾波單元對通道采集數(shù)據(jù)進行判斷,對符合預(yù)期的數(shù)據(jù)傳遞給采集數(shù)據(jù)緩存單元;其中,所述判斷方法包括多次取均值、設(shè)置高低門限、數(shù)據(jù)濾波;
10、s7、所述采集數(shù)據(jù)緩存單元對通道號以及采集數(shù)據(jù)進行緩存處理,遵循先進先出原則按照觸發(fā)機制將數(shù)據(jù)傳遞給數(shù)據(jù)接收端,同時上報中斷信息;
11、s8、數(shù)據(jù)傳遞給接收端的方式通過cpu單元根據(jù)中斷信息進行周期數(shù)據(jù)采樣,或者通過采集數(shù)據(jù)模塊觸發(fā)機制,發(fā)送dma搬數(shù)請求,將不同通道的采集數(shù)據(jù)收集到不同內(nèi)存中,當(dāng)達(dá)到設(shè)定數(shù)目時,cpu單元統(tǒng)一進行處理,以完成多通道單adc的快速采集。
12、進一步地,所述數(shù)據(jù)采集系統(tǒng)中,所述cpu單元分別連接所述定時處理單元、通道緩存單元、adc控制邏輯單元、數(shù)據(jù)濾波單元、采集數(shù)據(jù)緩存單元和dma模塊,所述定時處理單元還連接所述通道緩存單元,所述通道緩存單元還連接所述adc控制邏輯單元,所述adc控制邏輯單元還連接所述adc模塊,所述adc模塊還連接所述數(shù)據(jù)濾波單元,所述數(shù)據(jù)濾波單元還連接所述采集數(shù)據(jù)緩存單元,所述采集數(shù)據(jù)緩存單元還連接所述dma模塊。
13、進一步地,所述adc模塊采樣率范圍在1ksps~1msps之間,通道的數(shù)量為11個,所述adc模塊的工作時鐘為24mhz。
14、進一步地,步驟s2具體包括:
15、每個通道應(yīng)用不同定時器分別進行計數(shù),當(dāng)兩個通道同時觸發(fā)定時器清零動作時,所述定時處理單元根據(jù)優(yōu)先級順序表,優(yōu)先執(zhí)行優(yōu)先級更高的通道,然后順序執(zhí)行另外一個通道;
16、在一個通道出現(xiàn)通道異常采樣時,定時處理單元不執(zhí)行該通道的配置,在其他通道沒有異常以及沖突時,遵循先觸發(fā)先處理的原則。
17、進一步地,所述步驟s3中,所述通道緩存單元同時具有監(jiān)測功能,在緩存數(shù)據(jù)一直為空或者緩存數(shù)據(jù)超出緩存預(yù)警上限時上報中斷信息,cpu單元通過監(jiān)控通中斷以判斷緩存單元所處狀態(tài),進行宏觀調(diào)控;
18、進一步地,所述宏觀調(diào)控方式為:設(shè)中斷編號包括1和2,1表示緩存數(shù)據(jù)一直為空,2表示緩存數(shù)據(jù)超出預(yù)警,cpu單元在接口中獲取到對應(yīng)的中斷編號,若緩存數(shù)據(jù)一直為空,cpu單元報警并檢查通道定時器是否成功配置,adc工作時鐘是否工作,以對adc系統(tǒng)進行復(fù)位重新處理;若緩存數(shù)據(jù)超出預(yù)警,則檢查adc模塊以及adc控制邏輯單元是否工作正常,檢查通道定時器配置是否超過adc模塊的處理能力,以對adc系統(tǒng)進行復(fù)位。
19、進一步地,所述步驟s3中,緩存的配置通過通道去使能信號進行清除包括:每個通道均有對應(yīng)的使能信號,通道使能后,將通道配置緩存,若某一通道不需要進行采集數(shù)據(jù),通過去使能對應(yīng)的通道,緩存就則清除對應(yīng)的通道配置。
20、進一步地,所述步驟s4中,所述adc模塊單獨供電?、有獨立使能,包括快速流程配置與常規(guī)配置,快速流程配置應(yīng)用在通道數(shù)量超過設(shè)定數(shù)量,采樣頻率超過設(shè)定頻率的場景,反之工作在常規(guī)配置。
21、進一步地,所述步驟s6中,多次取均值為:取該通道的多次數(shù)據(jù)進行求平均,將平均值專遞給下一個處理單元;設(shè)置高低門限為:設(shè)置一個該通道理論的最大值和最小值,對大于最大值或者小于最小值的通道數(shù)據(jù)過濾掉,將符合要求的數(shù)據(jù)抄底下一個處理單元;數(shù)據(jù)濾波為采用平滑處理算法,將濾波后的數(shù)據(jù)變的更平滑。
22、進一步地,所述步驟s8中,預(yù)先分配不同通道的內(nèi)存空間大小,以將不同通道的數(shù)據(jù)映射到對應(yīng)的內(nèi)存空間中。
23、本發(fā)明的有益效果為:
24、1、本發(fā)明將多個通道數(shù)據(jù)采集復(fù)用到一個adc上,不用多個adc進行采集,減少bom成本,符合低功耗、小尺寸集成數(shù)據(jù)采集解決方案的發(fā)展需求。
25、2、多個通道通過獨立并行定時器進行單獨計時,獨特的觸發(fā)機制,即在高效的滿足adc采集數(shù)據(jù)的同時,又巧妙的避免了各個通道在不同采樣率的情況下,不同通道發(fā)生采樣沖突。
26、3、多個通道的定時器、觸發(fā)機制、采集數(shù)據(jù)管理等多任務(wù)處理都可在工作模式使能時,獨立工作,不需要占用cpu資源,從而提高系統(tǒng)性能。
27、4、adc調(diào)度過程中每一個處理單元受cpu監(jiān)測,可在異常工作的狀態(tài)下及時將故障上報,重新進行adc調(diào)度。
1.一種靈活高效多通道并行adc調(diào)度方法,其特征在于,基于多通道并行adc調(diào)度的數(shù)據(jù)采集系統(tǒng),所述數(shù)據(jù)采集系統(tǒng)包括定時處理單元、通道緩存單元、adc控制邏輯單元、adc模塊、數(shù)據(jù)濾波單元、采集數(shù)據(jù)緩存單元、cpu單元和dma模塊,所述定時處理單元分別連接多個定時器,每個所述定時器連接一個通道;
2.根據(jù)權(quán)利要求1所述的靈活高效多通道并行adc調(diào)度方法,其特征在于,所述數(shù)據(jù)采集系統(tǒng)中,所述cpu單元分別連接所述定時處理單元、通道緩存單元、adc控制邏輯單元、數(shù)據(jù)濾波單元、采集數(shù)據(jù)緩存單元和dma模塊,所述定時處理單元還連接所述通道緩存單元,所述通道緩存單元還連接所述adc控制邏輯單元,所述adc控制邏輯單元還連接所述adc模塊,所述adc模塊還連接所述數(shù)據(jù)濾波單元,所述數(shù)據(jù)濾波單元還連接所述采集數(shù)據(jù)緩存單元,所述采集數(shù)據(jù)緩存單元還連接所述dma模塊。
3.根據(jù)權(quán)利要求2所述的靈活高效多通道并行adc調(diào)度方法,其特征在于,所述adc模塊采樣率范圍在1ksps~1msps之間,通道的數(shù)量為11個,所述adc模塊的工作時鐘為24mhz。
4.根據(jù)權(quán)利要求1所述的靈活高效多通道并行adc調(diào)度方法,其特征在于,步驟s2具體包括:
5.根據(jù)權(quán)利要求1所述的靈活高效多通道并行adc調(diào)度方法,其特征在于,所述步驟s3中,所述通道緩存單元同時具有監(jiān)測功能,在緩存數(shù)據(jù)一直為空或者緩存數(shù)據(jù)超出緩存預(yù)警上限時上報中斷信息,cpu單元通過監(jiān)控通中斷以判斷緩存單元所處狀態(tài),進行宏觀調(diào)控。
6.根據(jù)權(quán)利要求5所述的靈活高效多通道并行adc調(diào)度方法,其特征在于,所述宏觀調(diào)控方式為:設(shè)中斷編號包括1和2,1表示緩存數(shù)據(jù)一直為空,2表示緩存數(shù)據(jù)超出預(yù)警,cpu單元在接口中獲取到對應(yīng)的中斷編號,若緩存數(shù)據(jù)一直為空,cpu單元報警并檢查通道定時器是否成功配置,adc工作時鐘是否工作,以對adc系統(tǒng)進行復(fù)位重新處理;若緩存數(shù)據(jù)超出預(yù)警,則檢查adc模塊以及adc控制邏輯單元是否工作正常,檢查通道定時器配置是否超過adc模塊的處理能力,以對adc系統(tǒng)進行復(fù)位。
7.根據(jù)權(quán)利要求1所述的靈活高效多通道并行adc調(diào)度方法,其特征在于,所述步驟s3中,緩存的配置通過通道去使能信號進行清除包括:每個通道均有對應(yīng)的使能信號,通道使能后,將通道配置緩存,若某一通道不需要進行采集數(shù)據(jù),通過去使能對應(yīng)的通道,緩存就則清除對應(yīng)的通道配置。
8.根據(jù)權(quán)利要求1所述的靈活高效多通道并行adc調(diào)度方法,其特征在于,所述步驟s4中,所述adc模塊單獨供電?、有獨立使能,包括快速流程配置與常規(guī)配置,快速流程配置應(yīng)用在通道數(shù)量超過設(shè)定數(shù)量,采樣頻率超過設(shè)定頻率的場景,反之工作在常規(guī)配置。
9.根據(jù)權(quán)利要求1所述的靈活高效多通道并行adc調(diào)度方法,其特征在于,所述步驟s6中,多次取均值為:取該通道的多次數(shù)據(jù)進行求平均,將平均值專遞給下一個處理單元;設(shè)置高低門限為:設(shè)置一個該通道理論的最大值和最小值,對大于最大值或者小于最小值的通道數(shù)據(jù)過濾掉,將符合要求的數(shù)據(jù)抄底下一個處理單元;數(shù)據(jù)濾波為采用平滑處理算法,將濾波后的數(shù)據(jù)變的更平滑。
10.根據(jù)權(quán)利要求1所述的靈活高效多通道并行adc調(diào)度方法,其特征在于,所述步驟s8中,預(yù)先分配不同通道的內(nèi)存空間大小,以將不同通道的數(shù)據(jù)映射到對應(yīng)的內(nèi)存空間中。