當前位置:首頁 > 單片機 > 單片機
[導讀]為得到更高的帶寬,需要使用更高的波特率。UART波特率的計算已經(jīng)介紹過了,現(xiàn)在就嘗試下調(diào)整外設的時鐘頻率??梢杂卸喾N方法調(diào)整外設時鐘(MCK)的頻率,這里先介紹先主要時鐘(MAINCK)的設置,其中包括外部晶振的使

為得到更高的帶寬,需要使用更高的波特率。UART波特率的計算已經(jīng)介紹過了,現(xiàn)在就嘗試下調(diào)整外設的時鐘頻率。可以有多種方法調(diào)整外設時鐘(MCK)的頻率,這里先介紹先主要時鐘(MAINCK)的設置,其中包括外部晶振的使用。

外設的時鐘(MCK)可以在慢時鐘(SLCK)、主要時鐘(MAINCK)和MAINCK經(jīng)鎖相環(huán)升頻后的時鐘PLLACK三者中選擇,并可以對選擇的時鐘進行分頻。重置時,MCK使用的時鐘為MAINCK,且不分頻。

MAINCK可以選擇使用一個嵌入的快速RC振蕩器,或是一個晶體振蕩器產(chǎn)生時鐘??焖賀C振蕩器啟動時間較短,但不是太精確;而晶體振蕩器則相反。同時,RC振蕩器可以選擇輸出時鐘的頻率(4/8/12 MHz)。重置時,MAINCK使用RC振蕩器,頻率為4 MHz。

一、 使用芯片嵌入的快速RC振蕩器

在PMC時鐘產(chǎn)生器主要振蕩器寄存器(CKGR_MOR)中,可以對MAINCK進行一系列的設置。注意,在修改該寄存器的值時,需要同時往其KEY字段寫入一個魔數(shù):0x37,否則寫入不生效。

使能快速RC振蕩器。在設置RC振蕩器的頻率之前,需要先使能它,并且要等到它運行穩(wěn)定(即不能同時使能RC振蕩器和設置它的頻率):

1234567/* 使能RC震蕩器 */PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD /* 密碼 */| (PMC->CKGR_MOR| CKGR_MOR_MOSCRCEN);/* 等待時鐘穩(wěn)定 */while(!(PMC->PMC_SR & PMC_SR_MOSCRCS));

設置RC振蕩器頻率為12 Mhz。設置后同樣需要等待它運行穩(wěn)定。

12345678/* 設置快速RC振蕩器頻率為12 MHz */PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD| (PMC->CKGR_MOR & ~CKGR_MOR_MOSCRCF_Msk)| CKGR_MOR_MOSCRCF_12_MHz;/* 等待穩(wěn)定 */while(!(PMC->PMC_SR & PMC_SR_MOSCRCS));

為MAINCK選擇快速RC振蕩器。

1234567/* 切換至RC振蕩器 */PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD| (PMC->CKGR_MOR & ~CKGR_MOR_MOSCSEL);/* 等待切換完成 */while(!(PMC->PMC_SR & PMC_SR_MOSCSELS));

設置UART。此時,若將UART_BRGR中CD字段的值設為13,則理論的波特率值為 12M/(16 * 13) = 57692 Hz,若PC端選擇使用57600 Hz的波特率,則誤差約為0.16%。

1UART0->UART_BRGR = UART_BRGR_CD(13 );

接下來,將PC端串口的波特率設置為57600 Hz,嘗試下通信是否正常。

若在PC端接收到的是亂碼,可能就是RC振蕩器不夠精確引起的。其產(chǎn)生的時鐘頻率受工作溫度和電壓等因素的影響,所以需要校準??梢酝ㄟ^PMC振蕩器校準寄存器(PMC_OCR)來進行校準,但在這里不做討論。

二、 使用外部晶振

可以使用一個外部的晶振以提供更為精確的頻率。使用的晶振是由開發(fā)板攜帶的,在芯片手冊中,對其的介紹為“3~20 MHz晶振”,即表示具體的頻率是由開發(fā)板的生產(chǎn)廠家決定的。晶振的一個缺點是需要一定的啟動時間,而且由于芯片無法了解使用的芯片的具體信息,所以用戶必須手動指定這個啟動時間。

SAM4E_EK所攜帶的晶振的頻率為12 MHz,啟動時間為15625 us。具體可以查閱開發(fā)板的電路圖:

或者也可以參考頭文件“sam4e_ek.h”中相關的定義:

1234/** Board oscillator settings(晶振頻率) */#define BOARD_FREQ_MAINCK_XTAL (12000000U)/** board main clock xtal statup time (主要時鐘晶振啟動時間)*/#define BOARD_OSC_STARTUP_US 15625

接下來就可以進行具體的設置了。

使用新的頭文件。現(xiàn)在需要了解開發(fā)板相關的信息,所以需要使用新的頭文件:

12//#include #include

但是在新的頭文件中,修改CKGR_MOR密碼的宏沒有定義,所以需要自己定義:

1#define CKGR_MOR_KEY_PASSWD CKGR_MOR_KEY(0x37)

禁用PB8和PB9引腳的輸出。這一步是可選的。PB8和PB9的系統(tǒng)功能分別是XOUT和XIN,即是使用晶振時要用到的引腳。由于PIO控制器中的配置對引腳的輸入沒有影響,所以無需配置引腳的復用,只需禁用輸出即可。

12345/* 禁用PB8和PB9引腳的輸出 */Pio* xtal_pio = PIOB;constuint32_t pio_mask = PIO_PB8 | PIO_PB9;xtal_pio->PIO_PER = pio_mask;xtal_pio->PIO_ODR = pio_mask;

計算晶振啟動時間參數(shù)。需要制定一個16位的值(MOSCXTST)來表明晶振啟動的時間,具體計算方法為:啟動時間 = MOSCXTST * 8 * SLCK周期。

12345uint32_t slowck_freq = CHIP_FREQ_SLCK_RC;volatileuint32_t xt_start =(BOARD_OSC_STARTUP_US * slowck_freq / 8 / 1000000);if(xt_start > 0xFF)xt_start = 0xFF;

使能晶振,并等待其運行穩(wěn)定。使能晶振時,必須同時使用旁路模式。

12345678PMC->CKGR_MOR = CKGR_MOR_KEY_PASSWD| (PMC->CKGR_MOR & ~CKGR_MOR_MOSCXTBY)| CKGR_MOR_MOSCXTEN| CKGR_MOR_MOSCXTST(xt_start);/* 等待晶振運行穩(wěn)定 */while(!(PMC->PMC_SR & PMC_SR_MOSCXTS));

讓MAINCK切換為晶振時鐘源,并等其運行穩(wěn)定。

123456/* 切換至晶振 */PMC->CKGR_MOR |= CKGR_MOR_KEY_PASSWD| CKGR_MOR_MOSCSEL ;/* 等待切換完成 */while(!(PMC->PMC_SR & PMC_SR_MOSCSELS));

由于MCK的時鐘并未改變,均是12 MHz,所以不用修改UART的設置,就可以正常通信了。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉