單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網單片機
W55MH32是WIZnet重磅推出的高性能以太網單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數據處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協議棧、內置MAC以及PHY,擁有獨立的32KB以太網收發緩存,可供8個獨立硬件socket使用。如此配置,真正實現了All-in-One解決方案,為開發者提供極大便利。
在封裝規格上,W55MH32 提供了兩種選擇:QFN100和QFN68。
W55MH32L采用QFN100封裝版本,尺寸為12x12mm,其資源豐富,專為各種復雜工控場景設計。它擁有66個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、5個串口、2個SPI接口(其中1個帶I2S接口復用)、1個CAN、1個USB2.0以及1個SDIO接口。如此豐富的外設資源,能夠輕松應對工業控制中多樣化的連接需求,無論是與各類傳感器、執行器的通信,還是對復雜工業協議的支持,都能游刃有余,成為復雜工控領域的理想選擇。 同系列還有QFN68封裝的W55MH32Q版本,該版本體積更小,僅為8x8mm,成本低,適合集成度高的網關模組等場景,軟件使用方法一致。更多信息和資料請進入網站或者私信獲取。
此外,本W55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應用,涵蓋TCP SSL、HTTP SSL以及 MQTT SSL等,為網絡通信安全再添保障。
為助力開發者快速上手與深入開發,基于W55MH32L這顆芯片,WIZnet精心打造了配套開發板。開發板集成WIZ-Link芯片,借助一根USB C口數據線,就能輕松實現調試、下載以及串口打印日志等功能。開發板將所有外設全部引出,拓展功能也大幅提升,便于開發者全面評估芯片性能。
若您想獲取芯片和開發板的更多詳細信息,包括產品特性、技術參數以及價格等,歡迎訪問官方網頁,我們期待與您共同探索W55MH32的無限可能。
第二十章 TIM——基本定時器
本章參考資料:《W55H32參考手冊》 基本定時器章節。學習本章時,配合參考資料一起閱讀,效果會更佳,特別是涉及到寄存器說明的部分。
1 定時器分類
定時器 | 計數器分辨率 | 計數器類型 | 預分頻系數 | 產生 DMA 請求 | 捕獲 / 比較通道 | 互補輸出 |
TIM1、TIM8 | 16 位 | 向上,向下,向上 / 向下 | 1~65536 之間的任意整數 | 可以 | 4 | 有 |
TIM2、TIM3、TIM4、TIM5 | 16 位 | 向上,向下,向上 / 向下 | 1~65536 之間的任意整數 | 可以 | 4 | 沒有 |
TIM9、TIM12 | 16 位 | 向上 | 1~65536 之間的任意整數 | 不可以 | 2 | 沒有 |
TIM10、TIM11、TIM13、TIM14 | 16 位 | 向上 | 1~65536 之間的任意整數 | 不可以 | 1 | 沒有 |
TIM6、TIM7 | 16 位 | 向上 | 1~65536 之間的任意整數 | 可以 | 0 | 沒有 |
高級控制定時器(TIM1 和 TIM8)
兩個高級控制定時器(TIM1 和 TIM8)可以被看成是分配到 6 個通道的三相 PWM 發生器,它具有帶死區插入的互補 PWM 輸出,還可以被當成完整的通用定時器。四個獨立的通道可以用于:
輸入捕獲
輸出比較
產生 PWM(邊緣或中心對齊模式)
單脈沖輸出
配置為 16 位標準定時器時,它與 TIMx 定時器具有相同的功能。配置為 16 位 PWM 發生器時,它具有全調制能力(0~100%)。
在調試模式下,計數器可以被凍結,同時 PWM 輸出被禁止,從而切斷由這些輸出所控制的開關。很多功能都與標準的 TIM 定時器相同,內部結構也相同,因此高級控制定時器可以通過定時器鏈接功能與 TIM 定時器協同操作,提供同步或事件鏈接功能。
通用定時器(TIM2、TIM3、TIM4、TIM5)
本系列產品中,內置了 4 個可同步運行的標準定時器(TIM2、TIM3、TIM4、TIM5)。每個定時器都有一個 16 位的自動加載遞加/遞減計數器、一個 16 位的預分頻器和 4 個獨立的通道,每個通道都可用于輸入捕獲、輸出比較、PWM 和單脈沖模式輸出。它們還能通過定時器鏈接功能與高級控制定時器共同工作,提供同步或事件鏈接功能。在調試模式下,計數器可以被凍結。任一標準定時器都能用于產生 PWM 輸出。每個定時器都有獨立的 DMA 請求機制。這些定時器還能夠處理增量編碼器的信號,也能處理 1 至 3 個霍爾傳感器的數字輸出。
通用定時器(TIM10、TIM11、TIM9)
這些定時器基于 16 位自動重新加載計數器和 16 位預分頻器。TIM10 和 TIM11 有一個獨立的通道,而 TIM9 有兩個用于輸入捕獲/輸出比較、PWM 或單脈沖模式的獨立通道輸出它們可以與TIM2、TIM3、TIM4、TIM5 全功能同步通用定時器。它們也可以用作簡單的時基。
通用定時器(TIM13、TIM14、TIM12)
這些定時器基于 16 位自動重新加載計數器和 16 位預分頻器。TIM13 和 TIM14 有一個獨立的通道,而 TIM12 有兩個獨立的通道用于輸入捕獲/輸出比較、PWM 或單脈沖模式的獨立通道輸出它們可以與 TIM2、TIM3、TIM4、TIM5 全功能同步通用定時器。它們也可以用作簡單的時基。獨立看門狗獨立的看門狗是基于一個 12 位的遞減計數器和一個 8 位的預分頻器,它由一個內部獨立的40kHz 的 RC 振蕩器提供時鐘;因為這個 RC 振蕩器獨立于主時鐘,所以它可運行于停機和待機模式。它可以被當成看門狗用于在發生問題時復位整個系統,或作為一個自由定時器為應用程序提供超時管理。通過選項字節可以配置成是軟件或硬件啟動看門狗。在調試模式下,計數器可以被凍結。
基本定時器 TIM6 和 TIM7
這些定時器主要用于 DAC 觸發器的生成。它們也可以用作通用 16 位時基。
窗口看門狗內有一個 7 位的遞減計數器,并可以設置成自由運行。它可以被當成看門狗用于在發生問題時復位整個系統。它由主時鐘驅動,具有早期預警中斷功能;在調試模式下,計數器可以被凍結。
系統時基定時器
這個定時器是專用于實時操作系統,也可當成一個標準的遞減計數器。它具有下述特性:
24 位的遞減計數器
自動重加載功能
當計數器為 0 時能產生一個可屏蔽系統中斷
可編程時鐘源
2 基本定時器功能框圖講解
基本定時器的核心是時基,不僅基本定時器有,通用定時器和高級定時器也有。學習定時器時,我們先從簡單的基本定時器學起, 到了后面的通用和高級定時器的學習中,我們直接跳過時基部分的講解即可。 基本定時器的功能框圖見下圖,基本定時器功能框圖 :
2.1 時鐘源
計數器的時鐘由內部時鐘(CK_INT)提供。
TIMx_CR1 寄存器的 CEN 位和 TIMx_EGR 寄存器的 UG 位是實際的控制位,(除了 UG 位被自動清除外)只能通過軟件改變它們。一旦置 CEN 位為'1',內部時鐘即向預分頻器提供時鐘。
2.2 計數器時鐘
定時器時鐘經過 PSC 預分頻器之后,即 CK_CNT,用來驅動計數器計數。PSC是一個16 位的預分頻器, 可以對定時器時鐘 TIMxCLK 進行 1~65536之間的任何一個數進行分頻。具體計算方式為:CK_CNT=TIMxCLK/(PSC+1)。
2.3 計數器
計數器 CNT 是一個 16 位的計數器,只能往上計數,最大計數值為65535。當計數達到自動重裝載寄存器的時候產生更新事件,并清零從頭開始計數。
2.4 自動重裝載寄存器
自動重裝載寄存器 ARR 是一個 16位的寄存器,這里面裝著計數器能計數的最大數值。當計數到這個值的時候,如果使能了中斷的話,定時器就產生溢出中斷。
2.5 定時時間的計算
定時器的定時時間等于計數器的中斷周期乘以中斷的次數。計數器在 CK_CNT的驅動下,計一個數的時間則是 CK_CLK的倒數, 等于:1/(TIMxCLK/(PSC+1)),產生一次中斷的時間則等于:1/(CK_CLK * ARR)。如果在中斷服務程序里面設置一個變量time, 用來記錄中斷的次數,那么就可以計算出我們需要的定時時間等于:1/CK_CLK* (ARR+1)*time。
3 定時器初始化結構體詳解
在標準庫函數頭文件w55mh32_tim.h中對定時器外設建立了四個初始化結構體,基本定時器只用到其中一個即TIM_TimeBaseInitTypeDef, 具體的見 代碼清單:基本定時器-1 ,其他三個我們在高級定時器章節講解。
代碼清單:基本定時器-1 定時器基本初始化結構體
typedef struct { uint16_t TIM_Prescaler; // 預分頻器 uint16_t TIM_CounterMode; // 計數模式 uint32_t TIM_Period; // 定時器周期 uint16_t TIM_ClockDivision; // 時鐘分頻 uint8_t TIM_RepetitionCounter; // 重復計算器 } TIM_TimeBaseInitTypeDef;
TIM_Prescaler: 定時器預分頻器設置,時鐘源經該預分頻器才是定時器時鐘,它設定TIMx_PSC寄存器的值。可設置范圍為0至65535,實現1至65536分頻。
TIM_CounterMode: 定時器計數方式,可是在為向上計數、向下計數以及三種中心對齊模式。基本定時器只能是向上計數,即TIMx_CNT只能從0開始遞增,并且無需初始化。
TIM_Period: 定時器周期,實際就是設定自動重載寄存器的值,在事件生成時更新到影子寄存器。可設置范圍為0至65535。
TIM_ClockDivision: 時鐘分頻,設置定時器時鐘CK_INT頻率與數字濾波器采樣時鐘頻率分頻比,基本定時器沒有此功能,不用設置。
TIM_RepetitionCounter: 重復計數器,屬于高級控制寄存器專用寄存器位,利用它可以非常容易控制輸出PWM的個數。這里不用設置。
雖然定時器基本初始化結構體有5個成員,但對于基本定時器只需設置其中兩個就可以,想想使用基本定時器就是簡單。
WIZnet 是一家無晶圓廠半導體公司,成立于 1998 年。產品包括互聯網處理器 iMCU?,它采用 TOE(TCP/IP 卸載引擎)技術,基于獨特的專利全硬連線 TCP/IP。iMCU? 面向各種應用中的嵌入式互聯網設備。
WIZnet 在全球擁有 70 多家分銷商,在香港、韓國、美國設有辦事處,提供技術支持和產品營銷。
香港辦事處管理的區域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。
-
單片機
+關注
關注
6065文章
44946瀏覽量
648283 -
以太網
+關注
關注
40文章
5605瀏覽量
175145 -
定時器
+關注
關注
23文章
3297瀏覽量
117461 -
觸發器
+關注
關注
14文章
2034瀏覽量
61967
發布評論請先 登錄
第二十二章 TIM——高級定時器

明德揚視頻分享點撥FPGA課程--第二十章??提高效率技巧
STM32通用定時器TIM2的使用方法解析

通過TIM輸出比較做一個定時器

STM8學習筆記---定時器 TIM4功能實現

STM32通用定時器TIM2的使用方法解析

評論