[發明專利]一種對脈沖數據進行采樣的方法有效
| 申請號: | 201110009685.2 | 申請日: | 2011-01-17 |
| 公開(公告)號: | CN102163967A | 公開(公告)日: | 2011-08-24 |
| 發明(設計)人: | 趙進云 | 申請(專利權)人: | 福建鑫諾通訊技術有限公司 |
| 主分類號: | H03K19/0175 | 分類號: | H03K19/0175 |
| 代理公司: | 福州市鼓樓區京華專利事務所(普通合伙) 35212 | 代理人: | 翁素華 |
| 地址: | 350000 福*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 脈沖 數據 進行 采樣 方法 | ||
【技術領域】
本發明屬于一種對脈沖數據進行采樣的方法,適用于具有脈沖數據采樣功能的終端產品。
【背景技術】
隨著物聯網產業的發生,要求越來越多的終端產品具有脈沖數據采樣的功能,例如對黑白攝像頭,一維激光頭輸出的脈沖數據做采樣和處理。傳統的對脈沖數據進行采樣的做法主要有兩種。
第一種方法:如圖1所示,把產生脈沖的GPIO引腳連接到CPU的一個外部中斷引腳上。并把此外部中斷配置為雙邊緣觸發,這樣只要脈沖的狀態一變化,就會觸發中斷,在中斷處理程序中計算并保存兩個脈沖邊緣的時間間隔。
第二種方法:如圖2所示,擴張一顆專門負責脈沖數據采樣的芯片,芯片通過串口,USB等接口與CPU互聯。
第一種方法不需要額外添加硬件就能完成采樣功能。實現成本低,但是會由于中斷處理存在延時而導致采樣精度不高,而且采樣過程需要CPU的參與會導致系統負荷增加。所以這并不是一種可產品化的方法,只能用于熟悉原理所用。第二種方法算是一種完美的方法,但是這需要添加額外的硬件,會導致產品成本的增加。
【發明內容】
本發明所要解決的技術問題在于提供一種低成本、高精度的脈沖數據采樣方法,該方法無需添加額外硬件,且具有較高采樣精度和采樣性能。
本發明采用以下技術方案解決上述技術問題:
一種對脈沖數據進行采樣的方法,包括如下步驟:
步驟1:首先初始化相應SPI接口的GPIO引腳;
步驟2:設置SPI總線的時鐘,即脈沖數據的采樣時鐘;
步驟3:初始化DMA控制器,并設置采樣數據的保存地址;
步驟4:當要開始采集時,就使能SPI接口,對MISO上輸入的脈沖做采樣;
步驟5:SPI每采樣到4個字節的數據就發起一個DMA請求,DMA控制器會把數據保存到指定的內存位置;
步驟6:當采樣結束之后,所有采樣到的數據保存在步驟3指定的位置;
步驟7:根據步驟2設置的采樣時鐘,可以計算出SPI每采樣一位數據所花費的時間;
步驟8:轉義采樣到的數據,按位來對數據解析;如果連續位的值為0,就說明這部分采樣數據對應的是低脈沖,把連續為0的位數和步驟7的值相乘便可計算出低脈沖的時間寬度;如果連續位的值為1,就說明這部分采樣數據對應的是高脈沖,把連續為1的位數和步驟7的值相乘可計算出高脈沖的時間寬度。
本發明的優點在于:把產生脈沖的GPIO直接連到CPU?SPI接口的MISO引腳上,利用CPU現有的SPI接口來代替CPU進行脈沖數據的采樣,采樣到的數據由DMA來代替負責保存。無需添加額外的硬件就可以實現高精度,高性能的脈沖數據采樣。具有很好的實現效果和較低的實現成本。
【附圖說明】
下面參照附圖結合實施例對本發明作進一步的描述。
圖1是現有技術之一的邏輯連接框圖。
圖2是現有技術之二的邏輯連接框圖。
圖3是本發明的邏輯連接框圖。
圖4是本發明的硬件原理圖。
圖5是本發明的軟件控制流程。
【具體實施方式】
請同時參閱圖3至圖5,一種對脈沖數據進行采樣的方法,包括如下步驟:
步驟1:首先初始化相應SPI接口的GPIO引腳;
步驟2:設置SPI總線的時鐘,即脈沖數據的采樣時鐘;
步驟3:初始化DMA控制器,并設置采樣數據的保存地址;
步驟4:當要開始采集時,就使能SPI接口,對MISO上輸入的脈沖做采樣;
步驟5:SPI每采樣到4個字節的數據就發起一個DMA請求,DMA控制器會把數據保存到指定的內存位置;
步驟6:當采樣結束之后,所有采樣到的數據保存在步驟3指定的位置;
步驟7:根據步驟2設置的采樣時鐘,可以計算出SPI每采樣一位數據所花費的時間;
步驟8:轉義采樣到的數據,按位來對數據解析;如果連續位的值為0,就說明這部分采樣數據對應的是低脈沖,把連續為0的位數和步驟7的值相乘便可計算出低脈沖的時間寬度;如果連續位的值為1,就說明這部分采樣數據對應的是高脈沖,把連續為1的位數和步驟7的值相乘可計算出高脈沖的時間寬度。
這樣,便可數值化輸入的整個脈沖波形。
本發明中,把輸出脈沖的GPIO引腳連接至CPU?SPI接口的MISO引腳,也就是把脈沖作為SPI接口的輸入數據,當脈沖為低時,SPI采樣到的數據就為0,當脈沖為高時,SPI采樣到的數據就為1。所以只要求出連續為0或為1的位數,再根據采樣精度就可以求出脈沖的時間寬度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建鑫諾通訊技術有限公司,未經福建鑫諾通訊技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110009685.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:發送功率控制方法、基站裝置和移動臺裝置
- 下一篇:止鼾液及其制備工藝
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





