|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
怎么提高PIC測(cè)脈沖的精度??大俠們幫幫忙!! |
| 作者:chongziwo 欄目:單片機(jī) |
我做了一個(gè)測(cè)脈沖頻率的程序,使用的是測(cè)周法,利用PIC單片機(jī)的捕捉單元來(lái)實(shí)現(xiàn)功能,使用的是16F873A單片機(jī),低頻時(shí)還可以,但是高頻時(shí),精度就差了,有沒(méi)有更好的方法來(lái)提高精度呢? 還有個(gè)問(wèn)題就是用16M的晶振時(shí),頻率太低就不好測(cè)了,大概能測(cè)到的就是70HZ以上,有沒(méi)有什么辦法能測(cè)的低一些的,因?yàn)橐笫悄軌驕y(cè)到10HZ以下!! |
| 2樓: | >>參與討論 |
| 作者: lockma 于 2004/2/24 22:48:00 發(fā)布:
PIC測(cè)脈沖的精度 可以參考 Universer counter 的測(cè)量方式, 可以測(cè)得很低的頻率 又非常準(zhǔn)確,我的計(jì)頻器在測(cè)量100Hz以下的頻率信號(hào)時(shí),小數(shù)位都可有7至8位,(取樣周期為1S),如一個(gè)50Hz的信號(hào),取樣周期1S,可測(cè)得 50.00000000 的數(shù)據(jù),它的方式是 計(jì)算出1秒內(nèi)通過(guò) "N" 個(gè)信號(hào),同時(shí)并算出這 "N 個(gè)信號(hào)" 所須的時(shí)脈,用數(shù)學(xué)方式計(jì)算一下,便可得到非常精準(zhǔn)的數(shù)據(jù)。 以前作過(guò)一個(gè)案子,使用 PIC 4MHZ 陶瓷振蕩,還有數(shù)個(gè)監(jiān)視工作不可間斷,(同時(shí)做多工工作,沒(méi)有外加計(jì)數(shù)IC),測(cè)100Hz 以下信號(hào)時(shí),可顯式 5 位數(shù),準(zhǔn)確度在 1/10000 以內(nèi). 參考 Universer counter 的節(jié)構(gòu),可得到很好的啟示. |
|
| 3樓: | >>參與討論 |
| 作者: chongziwo 于 2004/2/25 9:21:00 發(fā)布:
多多指教!! :)謝謝lockma!不知道您所說(shuō)的Universer counter 指的是什么,所以這種方法不是特別的懂,我現(xiàn)在使用的是PIC的捕捉單元,當(dāng)高頻時(shí)就不是很精確(如果用4M的晶振,高頻時(shí)定時(shí)器記到的數(shù)就很小) 低頻時(shí)我想的辦法是記定時(shí)溢出的個(gè)數(shù),這樣就因該能測(cè)到幾HZ吧,程序還沒(méi)試,想多聽(tīng)聽(tīng)大家的意見(jiàn) 其實(shí),以前做的程序在實(shí)際應(yīng)用中有一些問(wèn)題還搞不懂,因?yàn)樽龅陌遄邮前艳D(zhuǎn)速傳感器測(cè)到的車(chē)速信號(hào),處理得到實(shí)際車(chē)速的大小,一起送到上位機(jī)顯示并控制,經(jīng)常會(huì)出現(xiàn)數(shù)值跳動(dòng)的情況,現(xiàn)在也不知道是臺(tái)架的問(wèn)題,還是干擾,或是本身程序上的問(wèn)題,呵呵,:( |
|
| 4樓: | >>參與討論 |
| 作者: lockma 于 2004/2/25 15:36:00 發(fā)布:
小理論,大技巧!! 所謂的 Universer counter 就是內(nèi)含微處理器的泛用計(jì)頻器,測(cè)量 從 2Hz 到 數(shù)百 MHz 的信號(hào),它都有很精確的精準(zhǔn)數(shù)字,與一般的計(jì)頻器不同,例如一般的計(jì)頻器測(cè)一個(gè) 5 Hz 的信號(hào), 取樣周期為1秒,這時(shí)計(jì)頻器只顯示一個(gè)數(shù)字 "5" , 而泛用計(jì)頻器則可得到 5.00000000 Hz ,至少相差 百萬(wàn)倍的精度,這是靠 CPU 運(yùn)算的結(jié)果, 我有兩部 Universer counter , 一部是 HP5345 (將近20年的古董級(jí)泛用計(jì)頻器),另一部是美制名廠,(都列入軍用裝備級(jí)),理論非常簡(jiǎn)單,就是先前提出的. 依照 chongziwo 構(gòu)想,使用 16MHZ,只針對(duì)計(jì)頻信號(hào)用,而不作其它的 I/O 偵測(cè),(只在計(jì)頻時(shí)間內(nèi)),則可做到 6 位數(shù)的顯示,精準(zhǔn)度在 5/1000000 以上,(先決條件 PIC 的振蕩準(zhǔn)確度不可太差),也就是 5 KHz 的信號(hào), 可顯示 5000.00 Hz ,(或是 5.00000 KHz), 5 Hz 的信號(hào), 可顯示 5.00000 Hz ,而不是高頻時(shí)定時(shí)器記到的數(shù)就很小, 當(dāng)然頻率信號(hào)不能高至 PIC 無(wú)法偵測(cè),以這個(gè)方案, 2 Hz ~ 50 KHz 都可正確的計(jì)頻,如果加壹個(gè) CPLD,(一個(gè) PIC 加一個(gè) CPLD,不用其它數(shù)位IC), 則可測(cè)出 2 Hz ~ 100 MHz 的信號(hào), 可以有 8 位的數(shù)字顯示, 精準(zhǔn)度則由振蕩器來(lái)決定.(高頻或低頻 都是 8 位的數(shù)字顯示) |
|
| 5樓: | >>參與討論 |
| 作者: linchao14 于 2004/2/25 15:46:00 發(fā)布:
你應(yīng)該把測(cè)周和測(cè)頻分開(kāi)。 |
|
| 6樓: | >>參與討論 |
| 作者: lockma 于 2004/2/25 17:08:00 發(fā)布:
測(cè)周和測(cè)頻 的數(shù)據(jù) Universer counter 就是把 測(cè)周和測(cè)頻 的數(shù)據(jù)合在一起計(jì)算, 才可以算出如此的精度,否則的話,測(cè)一個(gè) 幾 Hz 的信號(hào), 如何得到 6 至 9 位數(shù)的數(shù)據(jù). 所以要得到精確的數(shù)據(jù),不可將老觀念扯在一起,老美將近 30年前的產(chǎn)物,30年后的我們,理論關(guān)念應(yīng)不可落后太多,更要迎頭趕上. 而有此種性能的 counter, 十幾年前 臺(tái)灣幾個(gè)儀器廠也有生產(chǎn)銷(xiāo)售,只是大部份人沒(méi)注意到. |
|
| 7樓: | >>參與討論 |
| 作者: chongziwo 于 2004/2/26 9:36:00 發(fā)布:
PIC測(cè)脈沖的精度 謝謝 lockma! 現(xiàn)在不知道Universer counter 的價(jià)格是怎么樣的,因?yàn)?板子的電路已經(jīng)畫(huà)出來(lái)了,因?yàn)椴皇菃渭兊拈_(kāi)發(fā),以后作為產(chǎn)品成本是應(yīng)該控制在一定范圍之內(nèi)的,原理上Universer counter 是明白了,可是好象與我原來(lái)的方法沖突了!!時(shí)間急呀,不知道有沒(méi)有更好點(diǎn)的辦法來(lái)提高精度?? |
|
| 8樓: | >>參與討論 |
| 作者: lockma 于 2004/2/26 14:02:00 發(fā)布:
測(cè)脈沖精度的計(jì)算 其實(shí)其原理說(shuō)開(kāi)了,一點(diǎn)也不困難,很簡(jiǎn)單,基本上它是利用算周期的方式, 頻率 = 1 / 周期, 但單以周期來(lái)?yè)Q算,所得到的精度,不同頻率有不同的精度,例如:測(cè)一個(gè) 5 KHz 的信號(hào),CPU 的 RTCC 設(shè)定在 10us, 則在 這 [5 KHz 的信號(hào)] 的一個(gè)周期上,你只能計(jì)錄到 20 個(gè)計(jì)數(shù),(基時(shí)計(jì)數(shù)器),也就是 10us * 20 = 200us,然后 1/200us = 0.005MHz 也就是 5000 Hz, 但只有第 1 位數(shù)能列入精度有效位,假如利用 1 秒的時(shí)間來(lái)運(yùn)作,(不一定是 1 秒,最好是大于 1 秒的下一個(gè)信號(hào)周期結(jié)束,這樣并不會(huì)影響精度),同時(shí)計(jì)算這一秒內(nèi)有幾個(gè)周期輸入,以及計(jì)算周期的基時(shí)計(jì)數(shù)器值,(因?yàn)樗灰欢ㄊ莿偤迷?1 秒改變周幅),這時(shí)計(jì)算周期的基時(shí)計(jì)數(shù)器應(yīng)是 5000,計(jì)算周期的基時(shí)計(jì)數(shù)器應(yīng)是 100000, (10us*基時(shí)計(jì)數(shù)器)/周期的計(jì)數(shù)器= 1 周的時(shí)間. (10us*100000)/5000 = 200us 然后 200us 倒數(shù) 1/200us = 5000.0 Hz ; (可取 5 位有效字) 有人看了上面計(jì)算,可能會(huì)說(shuō) 第二列直接就可看出來(lái),何必那么麻煩,換算一大堆,那是剛好計(jì)數(shù)完結(jié)時(shí)間在 1 秒,如果是一個(gè) 4.555 KHz 的信號(hào),大家動(dòng)動(dòng)頭腦算算看,并去追求為什么它經(jīng)度會(huì)那么高. 如果是一個(gè) 4.555 Hz 的信號(hào),大家再動(dòng)動(dòng)頭腦,換算一下數(shù)據(jù),你應(yīng)可發(fā)覺(jué)高精度的數(shù)據(jù). |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |