|
樓主: STM32 明明是32位的CPU,卻將定時器設(shè)計成16位的!
真不明白,明明是32位的CPU,卻將定時器設(shè)計成16位的,對有些應(yīng)用32位的定時器可是很重要的悠!
希望下一個版本能有所改進。ST加油!!!!
香水城 發(fā)表于 2007-12-27
2樓: 哈哈,以前就有人問過這個問題
先做個記號,樓主也可以先看看以前這個帖子,請各位先幫忙對帖子中6樓的問題給點提示;等我們整理一下來回答樓主這個問題。
STM32F103增強型產(chǎn)品的基本信息
hotpower 發(fā)表于 2007-12-28
3樓: 哈哈~~~可能有時8位的更好~~~這和延時的長短有關(guān)~~~
與32位真沒關(guān)系~~~
computer00 發(fā)表于 2007-12-28
4樓: 我比較喜歡32位的計數(shù)器。
s99060 發(fā)表于 2007-12-28
5樓: 既然有編碼器接口功能是應(yīng)該不止16位的了
2500線的編碼器1圈就是2500/5000/10000個脈沖,最多能檢測26圈多點
就算400線的要用的話應(yīng)該用1600個脈沖了,也才41圈不到
hotpower 發(fā)表于 2007-12-28
6樓: 哈哈~~~樓上肯定想要大位數(shù)的計數(shù)器了~~~
hexenzhou 發(fā)表于 2007-12-28
7樓: Atmel、Luminary也是16位的定時器,很不爽!
自從用了NXP的32位定時器后就喜歡上它,非常適合高頻率的脈沖測量。不過STM32好像可以把兩個16位定時器進行級聯(lián)形成32位的定時器,不知好用否?
cauthy 發(fā)表于 2007-12-28
8樓: 有預分頻器
有預分頻器,定時起多少位影響不大
香水城 發(fā)表于 2007-12-28
9樓: 8樓點出了問題的關(guān)鍵
handerson 發(fā)表于 2007-12-28
10樓: 以前就有人問過這個問題
s99060 發(fā)表于 2007-12-28
11樓: 哈哈,預分頻器相當于2500線的編碼器換成25線的
那倒是可以省大筆錢了,25線的俺就自己做了哦
香水城 發(fā)表于 2007-12-28
12樓: 關(guān)于STM32的CPU為32位,定時器卻為16位的探討
首先,感謝dxfshsh提出了這個很好的問題,使我們可以就這個問題有一個交流的機會。
STM32的通用定時器可以實現(xiàn)很多功能,例如:定時計數(shù)、測量外部信號脈沖寬度、產(chǎn)生PWM波形、測量輸入的PWM波形等。在所有這些操作中,定時器的位數(shù)主要影響兩個參數(shù),一個是定時或測量的精度,另一個是定時的時間長度。下面我們以一個列表看一下定時的精度和定時的長度有多少:
關(guān)于各個預分頻器的作用請參考下圖的右半部分:
從表中可以看出,在最高精度下(14ns)定時長度只有0.91ms,在精度為250ns(即4MHz)時定時長度可達16.38ms。這是僅使用了定時器的獨立工作模式的情況。
對于需要高精度并且長延時的應(yīng)用,16位的定時(上述精度和時間長度)就不夠了,這個問題可以有兩種解決辦法;第一個辦法是通過軟件的接力完成,這個方法的可行性在于定時時間較長,允許軟件有足夠的時間介入計數(shù),這種辦法非常方便,多數(shù)情況都可使用。第二種辦法是使用STM32特有的定時器級聯(lián)功能,實現(xiàn)32位的計數(shù)效果,因為級聯(lián)是由硬件觸發(fā)的,當設(shè)置好各項寄存器后,軟件不必中途干預,可以達到高精度長延時的要求。進一步地,STM32最多有四個定時器,如果串聯(lián)起來,甚至可以實現(xiàn)4*16=64位的計數(shù)效果。
簡單地說級聯(lián)功能,即是一個定時器的定時條件滿足后,可以產(chǎn)生一個觸發(fā)信號啟動另一個定時器的定時操作。
在ST的網(wǎng)站上有一個應(yīng)用筆記和對應(yīng)的例子程序,詳細說明和演示了如何使用STM32的級聯(lián)功能實現(xiàn)32位的輸入捕獲和32位的輸出比較功能,各位可以研究一下:
應(yīng)用筆記下載地址:http://www.st.com/stonline/products/literature/an/13711.pdf
演示程序下載地址:http://www.st.com/stonline/products/support/micro/files/an2592.zip
這是該應(yīng)用筆記的摘要:
【AN2592 如何使用STM32F101xx和STM32F103xx的時鐘鏈接功能實現(xiàn)定時器的32位精度】 (2007年8月)
許多應(yīng)用需要32位的精度,用于測量超過幾百秒的外部信號的周期并產(chǎn)生延遲或較大間隔的周期信號。
STM32F101xx和STM32F103xx提供了鏈接兩個16位定時器借以獲得32位精度的能力,這是使用了定時器的一種特殊配置和鏈接機制。
本文給出了模擬一個32位定時器的基本原則;介紹了兩個基本的操作模式:輸入捕獲模式和輸出比較模式。每個模式都是單獨介紹并附有實例。
最后希望各位朋友能夠幫助我們更加深入地了解應(yīng)用的需求,對于以工業(yè)控制和嵌入式控制儀器而言,因為我們接觸的應(yīng)用有限,不是很清楚哪里需要這樣的高精度定時,如果方便我們可以做幾個實例分析,這樣更有利于我們對今后產(chǎn)品的升級和定位。
hotpower 發(fā)表于 2007-12-28
13樓: 這個問題軟件很好解決~~~原理和環(huán)型計數(shù)器相同
computer00 發(fā)表于 2007-12-28
14樓: 總之就是不爽。增加到32位又復雜不了多少。
香水城 發(fā)表于 2007-12-28
15樓: 硬件解決對于使用者來說肯定是最簡單方便的
但從硬件設(shè)計上講,16位變32位就意味著芯片面積不只是成倍地增加了,結(jié)果必然是成本的上升,搞不好這款芯片的成本優(yōu)勢都沒了。
cauthy 發(fā)表于 2007-12-28
16樓: 香版言之甚有理
相信做過CPLD/FPGA的,都有這種感覺
computer00 發(fā)表于 2007-12-28
17樓: 不會吧?這么夸張?就幾個計數(shù)器變成32位的,芯片面積就要翻倍?
沒搞過IC設(shè)計,不知道怎么會這樣...
不就是多幾個觸發(fā)器而已嗎?
從3個計數(shù)器增加到6個計數(shù)器芯片面積就要翻倍了?
john78 發(fā)表于 2007-12-28
18樓: 就是,不知道怎么搞的str9也是16位的,郁悶
就是,不知道怎么搞的str9也是16位的,郁悶
s99060 發(fā)表于 2007-12-28
19樓: 能級聯(lián)倒是可以解決一下,但不能是預分頻那種模式的
但這樣對付一只編碼器也要干掉3個定時器了:
兩個串聯(lián)成32bit編碼器方式對外計數(shù),1個產(chǎn)生固定時間觸發(fā)捕捉寄存器用來測量速度
這種地方用軟件就不方便了,電機可能剛好在進位處快速抖動著,1會兒加1會兒減的
xwj 發(fā)表于 2007-12-28
20樓: 不足就是不足,不同意預分頻器的解釋
這一點上不知道ST是怎么想的...
computer00 發(fā)表于 2007-12-28
21樓: 既然預分頻器都做了,不如把預分頻合并進來,不就有32位了?
john78 發(fā)表于 2007-12-28
22樓: 是呀!
不足就是不足,用32BIT的耗費什么來著,多用個定時器就不浪費了.
希望能有改進.
mohanwei 發(fā)表于 2007-12-28
23樓: 如果做過高精度超聲波測距什么的,就知道32位定時器的好了
lpf336 發(fā)表于 2007-12-28
24樓: 羨慕啊! 有機會也玩玩
香水城 發(fā)表于 2007-12-28
25樓: 呵呵,不當家不知柴米油鹽貴呀
我并不是說32位的定時器沒有必要,我們設(shè)計一個產(chǎn)品首先是要有一個合理的定位,目前這款產(chǎn)品定位于那些不必使用32位定時器的應(yīng)用,但也適當?shù)仡A留了32位定時的可能。至于什么時候需要設(shè)計具有32位定時器的產(chǎn)品,需要廣泛的市場調(diào)查,所以我一再希望大家能夠提供一些思路和應(yīng)用實例,便于我們做出正確的判斷。畢竟32位的單片機推出的時間不長,我們也需要時間不斷地發(fā)掘應(yīng)用領(lǐng)域,并不斷推出適合市場需求的產(chǎn)品。
非常感謝各位對這款產(chǎn)品的關(guān)注,也希望各位能夠給我們更多的反饋,使以后新的產(chǎn)品做得更好。
好下面繼續(xù)討論。。。。
* - 本貼最后修改時間:2007-12-28 21:34:54 修改者:香水城
香水城 發(fā)表于 2007-12-28
26樓: 回19樓,級聯(lián)不必用3個定時器,所有定時器都可以自行觸發(fā)捕捉
不知道你看沒看ST的手冊,不要用其他單片機的概念來套,我在12樓給出的應(yīng)用筆記中和程序中已經(jīng)講得足夠清楚,如果你看了那個例子后還有疑問,我們再討論。
s99060 發(fā)表于 2007-12-28
27樓: 呵呵,觸發(fā)捕捉是指連續(xù)測量在同樣一個固定時間內(nèi)計數(shù)器的計數(shù)
以此得到馬達轉(zhuǎn)速.又要測轉(zhuǎn)角又要測轉(zhuǎn)速.
轉(zhuǎn)角當然就直接計數(shù)了,轉(zhuǎn)速就是以固定時間連續(xù)讀取算出來的
俺控制電機的
香水城 發(fā)表于 2007-12-29
28樓: 好啊,LS如果需要用STM32做電機控制項目,可免費參加我們的培訓
STM32的TIM1是專門設(shè)計用于變頻電機控制的。
s99060 發(fā)表于 2007-12-29
29樓: 不好意思,俺不是做變頻,只是控制一下而已
TIM1是適合做變頻的,一般變頻也不需要一定要帶編碼器
俺只要控制3~4只普通的伺服電機,所以手頭這個項目暫時選了LM帶2路編碼器接口的片子(千萬別發(fā)火,俺只知道選適合我的,反正都是M3的核,只是外設(shè)不同),但俺肯定要關(guān)注ST的,也不是哄你玩而是另一個項目就可能選ST的了---還是因為外設(shè)的原因.
有個統(tǒng)一的"好核"就是好啊!
香水城 發(fā)表于 2007-12-29
30樓: 這樣吧,我先把STM32手冊中有關(guān)編碼器的說明貼出來
對我來說泛泛地談各種功能意義不大,不如我們讀一下手冊看看STM32是如何實現(xiàn)那些功能的。
下面是STM32技術(shù)參考手冊中有關(guān)編碼器部分的摘錄,STM32最多有4個定時器,每個定時器都有一個這樣的編碼器,同時每個定時器有四路輸出,可產(chǎn)生多達4x4=16路PWM輸出....,我就不一一列舉了,各位最好能夠看一下手冊。
s99060 發(fā)表于 2007-12-29
31樓: (捕獲信號必須是周期的并且可以由另一個定時器產(chǎn)生)
國文手冊已經(jīng)看過N遍了(至少是關(guān)心的部分)
香板放心,就沖你們這么負責地維護著這個壇子俺也要努力使用ST的片子(LM也挺努力不是嗎,否則ST手冊可能是看不了N遍的)
net2wo 發(fā)表于 2007-12-30
32樓: 這句不妥
不當家不知柴米油鹽貴呀
節(jié)流絕對不放在產(chǎn)品身上!!!
絕大多數(shù)應(yīng)用可能用51也能搞定,但是客戶高興就是用2440 2812來做也未嘗不可.對外高速計數(shù)當然希望大位數(shù)和中斷源齊全&快速.
定位于32位搞成半32位,夠暈的!
沒錯軟件是能搞定,但生意不是這么個做法!!!
電機控制不知比33系列如何,人家只是16位而已了.
天堂:款已到帳;
地獄:你這東西不好用(或:不能用)
抱歉,說歪了.
dxfshsh 發(fā)表于 2007-12-30
33樓: 關(guān)于俗手與手筋
首先,感謝香版花大篇幅回答我提出的問題,看來ST真的動真格的了,想做好中國這塊單片機市場,不象710剛剛推出時的場景了,關(guān)于32位CPU,16位定時器,香版以為是市場定位問題,不是技術(shù)問題,本人表示茍同,但ST正式在這里犯了一個小錯誤,在ST的推廣會上無論是廠家還是商家總是拿32與51比,如何如何!!!我想每一個經(jīng)理人都會給你一個這樣的回答,“凡是51能做到的決不會用32。”因此32的市場定位一定要高于51,是51所不能及處,為此設(shè)計32位的定時器正是本局的手筋,而分頻器只能算是俗手。不知香版以為如何?
關(guān)于成本是提高了一點,但沒有香版說的那么嚴重,面對更廣闊的市場這點成本早被消化了。
還有,就是我們歡迎國外的廠家把優(yōu)秀的產(chǎn)品介紹到中國來,共同發(fā)展,但也希望不要把這里只當成一塊“試驗田”,要做好產(chǎn)品的售后服務(wù),發(fā)現(xiàn)BUG及時通過官方渠道公布并給出解決方案。
謝謝!!!
hotpower 發(fā)表于 2007-12-30
34樓: "愚形"是可以用軟件中斷擴展定時計數(shù)器的位數(shù)的~~~
dxfshsh 發(fā)表于 2007-12-30
35樓: “愚形”被迫求活,非本手,多了,全盤皆輸!
香水城 發(fā)表于 2007-12-30
36樓: 謝謝33樓的分析
首先,要聲明的是ST決不是把中國市場當作試驗田,ST在中國的銷售額已經(jīng)占到公司全球業(yè)務(wù)的四分之一以上,我想沒有人會拿出1/4的市場做實驗吧。
關(guān)于STM32這個產(chǎn)品,我們是對它給予了很高希望的,也許知道的人不多,STM32產(chǎn)品是在中國首先發(fā)布的,我們的市場部總監(jiān)從歐洲專程飛到北京,發(fā)布了STM32之后,再飛到韓國、日本進行發(fā)布,這足以證明ST對中國市場的重視。
關(guān)于STM32或Cortex-M3的市場定位問題,我部分同意33樓的觀點,“凡是51能做到的決不會用32。因此32的市場定位一定要高于51,是51所不能及處。”,但是我不同意STM32的定時器不是32位是個失誤、是個BUG。說“分頻器只能算是俗手”我也不大贊成,這是因為分頻器不是在STM32中為了彌補定時器僅為16位而作的補救,如果您注意一下ST的其它單片機,您可以發(fā)現(xiàn)幾乎所有單片機的定時器中都有分頻器存在,因此在STM32的定時器中出現(xiàn)分頻器只是ST單片機傳統(tǒng)的延續(xù)。
當然我非常理解各位,從應(yīng)用者的角度考慮,硬件能夠提供越多的功能、越強的功能,系統(tǒng)或固件設(shè)計者就可以節(jié)省很多精力;實際上在與各位就此問題進行討論時,我也在思考如何向設(shè)計部門建議新的功能和更強的功能,這是我們工作的一部分,但是我們做任何的決定,做任何新的建議必須有事實作為依據(jù),只是一味地說32位定時器好是沒有足夠說服力的。希望各位能夠理解我的出發(fā)點,這也是為什么我一直強調(diào)具體案例的原因,如果各位不方便在此交流,可以發(fā)郵件到mcu.china@st.com,我們會積極與您聯(lián)絡(luò),更加深入地探討這個問題。
dxfshsh 發(fā)表于 2007-12-30
37樓: 我并沒有說16位定時器,就是BUG呀!
香版,理解有誤,“試驗田”也沒有專門對ST,從地上跑的汽車到天上跑的飛機,對于中國能力尚落后的情況下,外國公司欺負中國人的案例還少嗎?我只是作為一名普通靠吃“管腿”養(yǎng)家糊口的人,的一點基本“要求”而已,更何況我在“HDLC”上,已經(jīng)吃到苦頭了。
香水城 發(fā)表于 2007-12-30
38樓: 哈哈,我的論述不是針對您的
關(guān)于試驗田的討論不是針對您的發(fā)言,我實際上是借此說明ST是非常重視中國市場的。我當然也知道有不少國外的公司把一些不成熟的技術(shù)拿到中國來做實驗,但在半導體行業(yè),尤其是應(yīng)用技術(shù)方面,已經(jīng)比較成熟了而且競爭也很激烈,我們可不敢冒這個險啊。
您的發(fā)言我認為是很中肯的,也看得出您沒有暗示BUG的意思,但如果您回顧一下之前的帖子,應(yīng)該可以看出還是有人這樣暗示的。
我只是想就事論事,絕沒有針對任何人之意,如果某些話造成了誤會,還請多多包涵。
再次感謝33樓的“俗手與手筋”之說,不管觀點如何,但我認為那是真誠的表白。
dxfshsh 發(fā)表于 2007-12-31
39樓: 再過幾個小時就2008年了
再過幾個小時就2008年了,對于每一個中國人來講好像2008是非常不一般的,
香版依然在線,精神可嘉,在這里你一個新年的問候!
香水城 發(fā)表于 2007-12-31
40樓: 謝謝大俠支持,也祝各位新年好
在2008年更上一層樓,大家共同發(fā)財,哈哈哈~~~~
hq_y 發(fā)表于 2007-12-31
41樓: 強烈要求st給香版發(fā)加班工資,呵呵~~~~~~~
hotpower 發(fā)表于 2007-12-31
42樓: 頂一個~~~這樣的好斑竹是我們STM32菜鳥的福分~~~
敬禮!!!!!!!!!!!
為敬業(yè)---敬禮!!!!!!!!
香水城 發(fā)表于 2007-12-31
43樓: 托樓上二位的福,咱們大家新年共同發(fā)財
俺老板是法國人,您得跟他說法語,至少是英語,否則~~~~,哈哈哈~~~~
hq_y 發(fā)表于 2007-12-31
44樓: 給個信箱,俺別的不行,英語還能叨叨2句;
phoenixmy 發(fā)表于 2007-12-31
45樓: 以前有幸聽過ST的法式英語~~~~~~~~~~
實在是難懂啊。。。。。
總是在單詞最后吧音往上翹一下~~~~~~~~~~~
hq_y 發(fā)表于 2007-12-31
46樓: 呵呵俺去過法蘭西~~~~~~~~~~
晚上坐在巴黎的街頭喝啤酒
法蘭西小妞的身材一級棒~~~~~~~~~
香水城 發(fā)表于 2007-12-31
47樓: 45樓提到的“總是在單詞最后把音往上翹一下”的英語好像是意式的
說老實話,法國人的英語比意大利人說得好,只不過法國人不愿說。
坐在巴黎的街頭喝啤酒、喝咖啡確實是一種享受,躺在盧浮宮前花園的長椅上曬太陽,看著美女經(jīng)過,您就流口水吧~~~,哈哈哈~~~~~
hemingxian 發(fā)表于 2008-1-1
48樓: 12樓說的定時的精度和定時的長度表欠妥當
定時的精度和定時的長度還應(yīng)該考慮定時器的預分頻器TIMx_PSC,所以定時的精度和定時的長度還可以乘以2~65535之間的任意常數(shù)。所以,只要定時精度不超過定時長度的65536分之1,16位的定時器就夠用了,否則就要串聯(lián)成32位的來用。
香水城 發(fā)表于 2008-1-1
49樓: 謝謝48樓,確實忘了考慮定時器自己的預分頻器
dxfshsh 發(fā)表于 2008-1-2
50樓: 悲哀
48樓的說法沒錯,顯然君沒有做過精確定時同步設(shè)備,49樓應(yīng)該更加了解32。此為最后一貼,今后不再討論!!!
lonlmjs 發(fā)表于 2008-4-3
51樓: 32位定時器的CORTEX-M3到了
據(jù)了解NXP即將退出CORTEX-M3 LPC1000系列,12位AD,和他的ARM7一樣32位外設(shè),32位定時器。讓ST慢慢研究需求吧! |
|