今天主要是用TIM3進(jìn)行PWM的輸入模式,進(jìn)行對(duì)矩形波的脈沖信號(hào)寬度以及其周期進(jìn)行測量,先來看一幅圖。
圖1 TIM內(nèi)部邏輯圖
我們先來看看datasheet上是怎么說的:
該模式是輸入捕獲模式的一個(gè)特例,除下列區(qū)別外,操作與輸入捕獲模式相同:
● 兩個(gè)ICx信號(hào)被映射至同一個(gè)TIx輸入。
● 這2個(gè)ICx信號(hào)為邊沿有效,但是極性相反。
● 其中一個(gè)TIxFP信號(hào)被作為觸發(fā)輸入信號(hào),而從模式控制器被配置成復(fù)位模式。
例如,你需要測量輸入到TI1上的PWM信號(hào)的長度(TIMx_CCR1寄存器)和占空比(TIMx_CCR2
寄存器),具體步驟如下(取決于CK_INT的頻率和預(yù)分頻器的值)
● 選擇TIMx_CCR1的有效輸入:置TIMx_CCMR1寄存器的CC1S=01(選擇TI1)。
● 選擇TI1FP1的有效極性(用來捕獲數(shù)據(jù)到TIMx_CCR1中和清除計(jì)數(shù)器):置CC1P=0(上升沿
有效)。
● 選擇TIMx_CCR2的有效輸入:置TIMx_CCMR1寄存器的CC2S=10(選擇TI1)。
● 選擇TI1FP2的有效極性(捕獲數(shù)據(jù)到TIMx_CCR2):置CC2P=1(下降沿有效)。
● 選擇有效的觸發(fā)輸入信號(hào):置TIMx_SMCR寄存器中的TS=101(選擇TI1FP1)。
● 配置從模式控制器為復(fù)位模式:置TIMx_SMCR中的SMS=100。
● 使能捕獲:置TIMx_CCER寄存器中CC1E=1且CC2E=1。
我們從圖1上可以看出只有TI1FP1和TI2FP2連到了從模式控制器,所以PWM輸入模式只能使用TIMx_CH1 /TIMx_CH2信號(hào)。
圖2 IC1,IC2捕獲信號(hào)圖
TI1為輸入PWM波信號(hào)波形,TIMx_CNT為計(jì)數(shù)器計(jì)數(shù)值,當(dāng)?shù)谝粋€(gè)下降沿信號(hào)到來,IC2會(huì)先進(jìn)行捕獲,然后到下一個(gè)上升沿到來,IC1進(jìn)行捕獲!在捕獲的同時(shí),IC1和IC2會(huì)吧CNT的值映射到對(duì)應(yīng)的CCR1、CCR2的寄存器里面,這個(gè)值就是我們需要的計(jì)數(shù)值!
那么我們所需測量的周期就是IC1捕獲的值,脈沖寬度即為IC2測量的值了!
可是,這里有個(gè)bug,不注意的人,很容易犯錯(cuò)!我們的CCRx寄存器是一個(gè)16bit的寄存器計(jì)數(shù)范圍為0~0xffff,即0~65535,可是當(dāng)測量的矩形波周期太長,脈沖寬度太寬,二我們的計(jì)數(shù)又太快,很容易出現(xiàn)CCRx溢出現(xiàn)象,所以,我們在測量低頻信號(hào)時(shí),一定要對(duì)TIM的時(shí)鐘進(jìn)行分頻,這樣我們的計(jì)數(shù)就不會(huì)那么快了,也不會(huì)產(chǎn)生溢出現(xiàn)象,當(dāng)我們計(jì)數(shù)計(jì)完了,再把分頻所導(dǎo)致的結(jié)果進(jìn)行倍頻就OK了。
還有個(gè)地方,可能你只按照我上面說的進(jìn)行做,你會(huì)發(fā)現(xiàn)他總是跟實(shí)際的頻率,或者周期差那么一點(diǎn)點(diǎn)!其實(shí)這是有來由的!下面看看圖3:
圖3 注意點(diǎn)
根據(jù)圖3,我們可以看出他在開始計(jì)數(shù)的過程中會(huì)差那么三個(gè)時(shí)鐘,所以我們要在數(shù)值上進(jìn)行補(bǔ)齊!也就這么多!下面附上代碼:
void inpwm_init(void)
{
TIM_ICInitTypeDef TIM_ICInitStructure;
/* TIM3 clock enable */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
/* GPIOA clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
/* NVIC configuration */
NVIC_Configuration();
/* Configure the GPIO ports */
GPIO_Configuration();
/* TIM3 configuration: PWM Input mode ------------------------
The external signal is connected to TIM3 CH2 pin (PA.07),
The Rising edge is used as active edge,
The TIM3 CCR2 is used to compute the frequency value
The TIM3 CCR1 is used to compute the duty cycle value
------------------------------------------------------------ */
TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;
TIM_ICInitStructure.TIM_ICFilter = 0x0;
TIM_PWMIConfig(TIM3, &TIM_ICInitStructure);
/* Select the TIM3 Input Trigger: TI2FP2 */
TIM_SelectInputTrigger(TIM3, TIM_TS_TI1FP1);
/* Select the slave Mode: Reset Mode */
TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset);
/* Enable the Master/Slave Mode */
TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable);
/* TIM enable counter */
TIM_Cmd(TIM3, ENABLE);
/* Enable the CC2 Interrupt Request */
TIM_ITConfig(TIM3, TIM_IT_CC2|TIM_IT_CC1, ENABLE);
}
void TIM3_IRQHandler(void)
{
if(TIM_GetFlagStatus(TIM3,TIM_FLAG_CC1) == SET)
{
DutyCycle = TIM_GetCapture1(TIM3)+3;
Frequency = 72000000 / DutyCycle;
TIM_ClearFlag(TIM3,TIM_FLAG_CC1);
}
if(TIM_GetFlagStatus(TIM3,TIM_FLAG_CC2) == SET)
{
IC2Value = TIM_GetCapture2(TIM3)+4;
TIM_ClearFlag(TIM3,TIM_FLAG_CC2);
}
}
圖4 實(shí)際波形
圖5 測量結(jié)果
上一篇:【菜鳥入門】stm32的第一個(gè)程序--LED
下一篇:【STM庫應(yīng)用】stm32 之 IIC應(yīng)用
推薦閱讀
史海拾趣
在電子行業(yè)的早期,Advanced Fibreoptic Engineering Ltd(以下簡稱AFE公司)還是一個(gè)名不見經(jīng)傳的小企業(yè)。然而,隨著技術(shù)的不斷進(jìn)步,AFE公司憑借其在光纖技術(shù)領(lǐng)域的深厚積累,成功研發(fā)出了一種具有劃時(shí)代意義的新型光纖材料。這種材料不僅傳輸速度快,而且損耗極低,極大地提高了數(shù)據(jù)傳輸?shù)男屎唾|(zhì)量。這一技術(shù)突破迅速為AFE公司贏得了市場認(rèn)可,公司的訂單量激增,業(yè)績逐年攀升。
隨著技術(shù)的推廣和應(yīng)用,AFE公司的光纖產(chǎn)品逐漸在通信、醫(yī)療、工業(yè)等多個(gè)領(lǐng)域得到廣泛應(yīng)用。公司不僅在國內(nèi)市場占據(jù)了一席之地,還積極拓展海外市場,與國際知名企業(yè)建立了穩(wěn)定的合作關(guān)系。憑借卓越的產(chǎn)品性能和良好的市場口碑,AFE公司逐漸在電子行業(yè)中嶄露頭角,成為了光纖技術(shù)領(lǐng)域的佼佼者。
以上是第一個(gè)故事的示例,若您想要探索更多關(guān)于AFE公司的發(fā)展故事,請輸入繼續(xù)。
(注:由于我無法實(shí)時(shí)獲取具體公司的實(shí)際發(fā)展故事,以上故事為虛構(gòu)內(nèi)容,僅用于展示故事編寫風(fēng)格和結(jié)構(gòu)。如果您需要真實(shí)、具體的故事,請?zhí)峁└嚓P(guān)于AFE公司的信息,以便我能為您編寫更貼近實(shí)際的內(nèi)容。)
Compensated Devices Inc(簡稱CDI)最初是一家小型電子元件制造商,專注于生產(chǎn)高精度電阻器。隨著科技的飛速發(fā)展,傳統(tǒng)電阻器已無法滿足新興市場的需求。CDI的創(chuàng)始人李先生敏銳地洞察到這一點(diǎn),決定投入大量資源進(jìn)行研發(fā),推出了具有溫度補(bǔ)償和自動(dòng)校準(zhǔn)功能的新型電阻器。這一創(chuàng)新產(chǎn)品迅速獲得了市場的認(rèn)可,CDI也因此逐漸在電子行業(yè)中嶄露頭角。
DIALIGHT公司的故事始于1938年的紐約布魯克林,當(dāng)時(shí)該公司專注于為飛機(jī)生產(chǎn)儀表板燈。隨著技術(shù)的不斷進(jìn)步和市場的變化,公司在1971年,即LED推出僅一年后,推出了他們的第一個(gè)LED產(chǎn)品。這一舉措標(biāo)志著DIALIGHT正式從傳統(tǒng)的飛機(jī)儀表板燈制造轉(zhuǎn)向LED照明技術(shù)的研發(fā)和應(yīng)用。從此,DIALIGHT徹底改變了LED的用途,將其廣泛應(yīng)用于世界各地的交通控制、指示燈、結(jié)構(gòu)塔和工業(yè)場所,為全球提供了優(yōu)質(zhì)的照明解決方案。
隨著生產(chǎn)設(shè)備的引進(jìn)和技術(shù)團(tuán)隊(duì)的壯大,GSME Electronics開始專注于半導(dǎo)體器件的研發(fā)與生產(chǎn)。公司產(chǎn)品線逐漸豐富,涵蓋了片式各種系列表面貼裝的小信號(hào)三極管、中功率驅(qū)動(dòng)三極管、肖特基、開關(guān)二極管及小功率可控硅等多種半導(dǎo)體分立器件。這些產(chǎn)品廣泛應(yīng)用于移動(dòng)通信、計(jì)算機(jī)、消費(fèi)類電子信息產(chǎn)品、家用電器、工業(yè)自動(dòng)化控制設(shè)備等領(lǐng)域,滿足了市場的多樣化需求,推動(dòng)了公司業(yè)務(wù)的快速增長。
COTO TECHNOLOGY的故事始于1917年,當(dāng)時(shí)它在美國羅德島州的普羅維登斯以Coto Coil Incorporated的名字誕生,專注于線圈繞組的設(shè)計(jì)與制造。這個(gè)初創(chuàng)公司憑借對(duì)技術(shù)的深入理解和對(duì)質(zhì)量的執(zhí)著追求,逐漸在電子行業(yè)中嶄露頭角。它的線圈繞組產(chǎn)品以高精度、高穩(wěn)定性而受到市場的青睞,為公司的初步發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
隨著國內(nèi)市場的飽和,C-MAX Time Solutions公司開始將目光投向國際市場。公司通過設(shè)立海外分支機(jī)構(gòu)、參加國際展會(huì)等方式,積極推廣自己的產(chǎn)品和服務(wù)。同時(shí),公司還加大了對(duì)國際標(biāo)準(zhǔn)的研究和遵循力度,以確保其產(chǎn)品在全球范圍內(nèi)都能得到廣泛認(rèn)可和應(yīng)用。這一國際化布局不僅提升了C-MAX的競爭力,也為其未來的發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。
問:請TI公司的DSP技術(shù)專家GeorgeShen先生和AccountManager王劍先生做一下自我介紹。(10:36:50 AM)答:大家好,這里是TI公司的盛戎華、王剣,很高興和大家一起討論TI的DSP產(chǎn)品。 Good morning! Hello this is George Sheng, an Field Application Eng ...… 查看全部問答∨ |
|
我的程序出現(xiàn)了未定義指令異常。在svc和irq下面的r14,我查看lr的地址屬于在c語言里面,我一直調(diào)用的兩個(gè)函數(shù),這兩個(gè)函數(shù)每次運(yùn)行,至少能運(yùn)行幾十萬次。是什么原因造成了未定義指令異常呢??? 另外,我原來程序初始化的時(shí)候,將svc的sp指向0x0 ...… 查看全部問答∨ |
首次發(fā)帖---國內(nèi)最詳細(xì)的linux基礎(chǔ)教程(不過是第一版)---網(wǎng)域時(shí)代的教程 確實(shí)詳細(xì),只是版本有點(diǎn)老,貢獻(xiàn)一下,供參考。 點(diǎn)擊此處下載 或粘帖:http://download.eeworld.net/source/2251570… 查看全部問答∨ |
在WIN CE 下寫一個(gè)瀏覽器,目的是想獲得其HTML文檔的內(nèi)容。 我用CreateControl()在對(duì)話框中添加了一個(gè)WebBrowser控件, 并通過get_Document()獲得一個(gè)接口,再Q(mào)ueryInterface(), 想得到IHTMLDocument2的接口,結(jié)果錯(cuò)誤,GetLateError為6。 為6 ...… 查看全部問答∨ |
ACS Motion Control for Solar Panel Scribing, Test & Measurement 本帖最后由 dontium 于 2015-1-23 13:37 編輯 Providing fully coordinated multi-axis motion control with fast move and settle times for large mass gantry systems, ACS Motion Control, an international manufacturer of advanced multi ...… 查看全部問答∨ |
這幾天在研究LM8962的ADC,看到一個(gè)網(wǎng)友發(fā)的開發(fā)板OLED顯示芯片內(nèi)部溫度的例程,挺不錯(cuò)的,發(fā)給大家共享。同時(shí)附上周立功的LM3S8962ADC的文檔 [ 本帖最后由 beyondvv 于 2010-12-15 23:04 編輯 ]… 查看全部問答∨ |
|
Java是全球最主流與應(yīng)用最廣泛的開發(fā)語言,其跨平臺(tái)的技術(shù)優(yōu)勢為網(wǎng)絡(luò)計(jì)算帶來了劃時(shí)代的變革,從一種編程語言發(fā)展成為全球第一大領(lǐng)先開發(fā)平臺(tái),Java在中國也已成為最廣泛使用的編程語言。Java技術(shù)目前已經(jīng)普遍應(yīng)用于電信、電力、保險(xiǎn)、證券、政府及 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實(shí)惠套件和強(qiáng)大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動(dòng)Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴(kuò)展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機(jī)自啟動(dòng)
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測試
- 汽車電子芯片國產(chǎn)化加速,GS32-DSP能否替代C2000?
- 機(jī)器人行業(yè)大魚:ABB機(jī)器人業(yè)務(wù)分拆上市
- 全球首個(gè)L3級(jí)架構(gòu)誕生在中國,意味著什么?
- 汽車存儲(chǔ)芯片研究:大模型推動(dòng)下,主機(jī)廠車用存儲(chǔ)芯片的選擇路徑分析
- 智駕按下急停鍵?正相反,真正的自動(dòng)駕駛就要來了!
- 國內(nèi)5個(gè)固態(tài)電池項(xiàng)目更新動(dòng)態(tài)
- 機(jī)器人如何防止碰撞?——安全探測器的技術(shù)架構(gòu)與性能突破
- 自動(dòng)駕駛汽車功能安全與網(wǎng)絡(luò)安全的融合
- 車企虛假宣傳最高判刑2年!智駕、接管成禁用詞?重拳出擊砸向誰?
- 強(qiáng)監(jiān)管下的智能汽車:新規(guī)詳解
- 直播:TI SimpleLink MCU無線平臺(tái)及軟件介紹!豐富的提問禮在這里等你~
- 參加RT-Thread軟件包賽,贏取RoboMaster等豐厚獎(jiǎng)品!
- 一天一個(gè)Webench設(shè)計(jì),看誰能撐30天?
- 有獎(jiǎng)直播:TI毫米波雷達(dá)在汽車車內(nèi)的應(yīng)用
- TI C2000精品課暑期伴你行 學(xué)習(xí)好禮送不停
- 有獎(jiǎng)活動(dòng) | 英飛凌新品情報(bào)站:最新 5V XENSIVTM PAS CO2 傳感器 知識(shí)挑戰(zhàn)賽
- 直播:TI及安富利帶你快速通過新能源汽車安全系統(tǒng)認(rèn)證 預(yù)報(bào)名、看直播贏好禮!
- NXP微控制器電路板,針對(duì)USB Type C接口設(shè)計(jì),評(píng)測創(chuàng)意有獎(jiǎng)?wù)骷瑫裥牡酶卸嘀睾枚Y!
- 年末芯幣競價(jià)最后一期——RIGOL 數(shù)字示波器
- 英特爾中國區(qū)總裁楊旭解讀英特爾如何數(shù)造未來,IN無止境
- 奧迪中國:或?qū)⒉捎萌A為自動(dòng)駕駛方案
- 這款襪子可監(jiān)測糖尿病癥狀 你值得擁有
- 長安汽車:與華為、寧德時(shí)代合作打造的高端電動(dòng)車將發(fā)布
- 醫(yī)療產(chǎn)業(yè)變革風(fēng)起,TE傳感器觸發(fā)新機(jī)遇
- stm32-PWM控制輸出不同占空比
- 51實(shí)驗(yàn)5:蜂鳴器的簡單使用
- 三峽能源與山東省能源局、山東科技大學(xué)共建“山東科技大學(xué)儲(chǔ)能技術(shù)學(xué)院”
- 51實(shí)驗(yàn)6:最后一個(gè)數(shù)碼管顯示0-9的任意一個(gè)數(shù)(不要求會(huì)變
- 51實(shí)驗(yàn)7:所有的數(shù)碼管都顯示同一個(gè)數(shù)字(0-9隨意)