久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6528|回復: 1
打印 上一主題 下一主題
收起左側

飛思卡爾KL25中文數據手冊下載(共577頁pdf)

[復制鏈接]
跳轉到指定樓層
樓主
KL25 Reference Manual_Rev分享給大家學習

1.1.1 目的
本文檔表述了飛思卡爾KL25 微控制器的特性、框架及程序模板。
1.1.2 適用讀者
本文檔適用于正在使用或即將使用KL25 微控制器的系統架構師和軟件應用開發員。  
1.2 約定
1.2.1 數字系統
下列后綴表示了不同的數字系統:
后綴  表示
b  二進制符號。例如,數字5的二進制表示為101b。二進制數字還可以用0b作為前綴表示。
d  十進制符號。十進制數字只有在出現混淆的情況下才使用該后綴。通常,十進制表示無需后綴。  
h  十六進制符號。例如,數字60的十六進制表示為3Ch。十六進制數字還可以用0x作為前綴表示。  

第2章 引言
2.1 概述
本章是 ARM® Cortex™-M0+的 Kinetis L系列 MCU及KL25 系列產品的概述。這也表示了本文涵蓋的芯片可用模塊是較為準確的描述。

2.2 Kinetis L系列
業內ARM Cortex-M0+內核的 MCU 具有低功耗及混合信號的處理能力,Kinetis L系列則是其中最具可擴展性的系列。KL系列因存儲器容量、接口數量、封裝形式等不同,有 5 個子系列。Kinetis L系列共用公共外設和引腳,提高了可移植性。允許可擴展性允許開發者標準化他們的最終產品、最大化可重用硬件和軟件以及縮短進軍市場的時間。
Kinetis L系列的共性如下:
具有 48MHz ARM Cortex-M0+內核頻率
具有高速 12/16位模數轉換器
除 KLx4/KLx2系列外,均具有12 位數模轉換器
具有高速模擬比較器
除 KLx4 系列外,均具有觸摸喚醒的低功耗觸摸傳感器
具有強大的定時器,包括電機控制等大多數應用
通信接口低功耗,如UART、SPI、I2C 等
電壓供應范圍:1.71V~3.6V,多功能低功耗模式支持獨立操作
運行溫度范圍:-40~105 °C(CSP 包除外)
Kinetis L系列微控制器融合了最新的低功耗革新技術,具有高精度混合信號處理能力、寬廣的互聯性和人機接口。Freescale與 ARM的合作伙伴為每個MCU 系列提供良好的支持。KL0x 系列是 Kinetis  L 系列中最初的產品,其引腳與 8 位 S08PT 系列兼容。
KL1x/2x/3x/4x各系列之間相互兼容,而且與基于ARM Cortex-M4 內核的 K系列兼容。


所有的 Kinetis  L 系列包括強大的模擬、通信、實時性和控制外設,集成級別隨著閃存容量和輸入/輸出引腳數量增加而提高。Kinetis L系列特性如下:
1、內核和框架:
(1)ARM Cortex-M0+內核性能可達48 MHz,同時可在內存中執行零等待狀態。
1)單周期訪問 I/O:比標準I/O 最大提高 50%,允許位觸發、軟件仿真協議響應外部事件。
2)雙通道:減少指令周期數,更快的跳轉指令、 執行 ISR 中斷服務例程和減少功耗。
3)相對8位和16 位微控制器,減少了閃存、系統消耗和耗電量,使代碼密度更為精簡。
4)優化內存訪問:訪問可選周期,以降低耗電量。
5)完全兼容ARM Cortex-M0系列,與ARM Cortex-M3/M4 指令集子集兼容:允許重新利用現有的編譯和調試工具
6)更精簡的指令系統:56種指令、17個寄存器能夠實現輕松編程,而且能夠有效處理內存中8/16/32位數據。
7)線性的4GB地址空間去除分頁,減輕程序復雜度。
8)有ARM 第三方系統支持:軟件和工具幫助減少開發時間和開銷。
(2)微型跟蹤緩沖區:輕量跟蹤方法允許快速錯誤識別和糾正。
(3)BME:對外圍寄存器的操作,位操作技術與傳統的讀、修改、寫技術相比,減輕代碼量和周期數
(4)多達4通道的DMA服務,可用于外設和內存服務并減少CPU干預。
2、超低功耗:
(1)極端動態效率:性能是最接近的 8 位或 16 位競爭產品 CoreMark/mA 的 2 倍,32 位ARM Cortex-M0+內核采用飛思卡爾90nm薄膜存儲器閃存技術。
(2)靈活多樣的低功耗模式,包括新的門控時鐘,該模式在要求最低功耗時通過關閉總線、系統時鐘減少動態功耗
(3)在未喚醒內核下,UART、SPI、I2C、ADC、DAC、TPM、LPT 和 DMA 支持低功耗模式。
3、內存:
(1)內存空間可擴展,從8KB 閃存/1KB SRAM到256KB 閃存/32KB SRAM。
(2)為優化總線帶寬和閃存執行操作內嵌了64B的緩存空間(KL02 系列只有32B)。
4、混合信號模擬:
(1)快速、高精度的 16/12 位模數轉換器、12 位數模轉換器和高速比較器。提供強大信號調節、轉換和分析性能的同時降低了系統成本。KL02 系列沒有 12 位數模轉換器)
5、人機接口:
(1)可選的電容式觸摸傳感接口工作于所有低功耗模式下。
•  Optional capacitive Touch Sensing Interface with  full low-power support and minimal current adder when enabled
(2)段式 LCD
6、通信:
(1)所有UART 支持DAM傳輸,總線檢測到數據也能觸發傳輸,UART0 支持 4-32倍的采樣速率。在STOP/VLPS 模式,也能運行異步傳輸和接收操作。
(2)最大支持兩路SPI
(3)最大支持兩路I2C
(4)支持全速USB OTG片上傳輸控制設備(帶有片上收發器的全速USB OTG控制器)
(5)USB支持片上調節3.3V 到5V
(6)支持一路 I2S
7、可靠性和安全性
內部看門狗監控
8、定時控制器:
(1)強大的定時模塊支持通用/PWM/電機控制功能
(2)可用于RTOS任務調度時基、ADC轉換或定時的周期中斷定時器
9、系統特性:
(1)GPIO支持引腳中斷
(2)寬泛的工作電壓:1.71V~ 3.6V,Flash 編程電壓、模擬外設電壓低至1.71V
(3)運行溫度范圍:–40℃~ 105℃

2.3 KL25 子系列簡介
該芯片是增強版 Cortex-M0+ (CM0+)內核的高集成、超低功耗 32 位微控制器。子系列特性如下:
內核時鐘高達48MHz,總線時鐘高達24MHz
內存空間具有高達128KB 的閃存和 16KB 的 RAM
寬泛的工作電壓:1.71V~ 3.6V,可對 Flash進行編程/擦除/讀取操作32到 80 引腳的多種封裝模式
運行溫度范圍:–40℃~ 105℃
該系列控制器更低功耗、更經濟有效的特性為開發者提供了一個入門級 32 位芯片解決方案。該系列對于低成本、低功耗、高性能芯片應用提出了下一代MCU解決方案,該方案對那些成本敏感、待機時間長的便攜式芯片是十分有價值的。



2.4.1 ARM Cortex™-M0+ 內核模塊
表2-2描述了本芯片的可用內核模塊。


2.4.2 系統模塊
表2-3描述了本芯片的系統模塊。
表2-3 系統模塊




3.4.10.1 COP時鐘
COP 的兩個時鐘輸入是  1 kHz 時鐘和總線時鐘。
3.4.10.2 COP看門狗操作
當應用程序沒有按照預期執行時,COP 看門狗會強制系統復位。應用軟件必須定期
清零COP 計數器,  去防止系統被 COP 計數器復位 (當使能COP 計時器時)。如果應用程
序跑飛,未能在 COP 計數器超時之前復位,則將產生系統復位強制信號將系統恢復到應
用程序中的一個已知起點。
任何復位后,COP 看門狗都將被使能。如果應用程序不使用COP 看門狗,它可以通
過清除在SIM卡中的COPCTRL [ COPT ]  來禁用。
COP 計數器通過選定的超時期間向  SIM  的服務COP  (SRVCOP) 寄存器的地址寫入
0x55 和  0xAA (按此順序)來復位。寫不影響在 SRVCOP 寄存器中數據。一旦寫序列
完成后,  COP 超時周期將重新啟動。如果程序無法在超時時間內執行此重新啟動,則微
控制器將復位。此外,如果任何0x55 或0xAA 以外的值寫入SRVCOP 寄存器,則微控制
器立即復位。
在SIM的COPCTRL COPCLKS ]字段中,選擇用于COP 定時器的時鐘源。時鐘源選
項是總線時鐘或內部的1 kHz時鐘源。每個時鐘源,有三個COPCTRL [ COPT ]控制的相
關的超時。表 3-23 總結了COPCLKS 和COPT位的控制功能。COP 看門狗默認操作是在
1 kHz時鐘源和最長的超時作為該時鐘源(2的10次方個循環) 。

總線時鐘源選擇后,通過設置在SIM的  COPCTRL [ COPW ]位來使窗口COP 操作可
用。在這種模式下,寫入SRVCOP 寄存器以清除COP 定時器必須發生在選定的超時時間
的最后 25%。過早地寫將立即復位芯片。當 1 kHz 時鐘源選擇,窗口COP 操作不可用。  
的第一次寫入到 SIM 的 COPCTRL 寄存器和任何系統復位后,COP 計數器都將被初

始化。后續寫入到 SIM 的 COPCTRL 寄存器將不影響 COP 的操作。即使應用程序使用
COPT、  COPCLKS、  以及  COPW  位的默認設置來復位,用戶也應在復位初始化鎖定的
設置過程中去寫write-once COPCTRL  寄存器。這種方法可以防止如果應用程序帶來丟失
的意外更改。
寫到 SRVCOP 寄存器的服務(清除)   COP 計數器不應該被放置在中斷服務例程(ISR)
中,因為ISR即使主應用程序失敗也可以繼續定期執行。
如果選擇總線時鐘源時,當微控制器在調試模式下或系統在停止模式(包括VLPS或
LLS )下時,COP 計數器不會遞增。微控制器退出調試模式或停止模式后,COP計數器
恢復。
如果選擇 1 kHz時鐘源時, 在調試模式及停止模式(包括VLPS 或 LLS) 任一模式下,
COP 計數器都將被重新初始化為零。退出調試模式或停止模式后, 計數器從零開始計時。
無論選擇的哪種時鐘, 只要當芯片進入一個VLLSx 模式COP 都將被禁止。從VLLSx
模式喚醒芯片復位后,  COP 將重新初始化并作為任何復位使能。
3.4.10.3 時鐘門
該系列器件包含每個外設的時鐘門控,也就是說,時鐘的每個外設都可以明確地選通
或關閉,使用的時鐘門控位在SIM模塊內。


3.5.2.1 MCG和RTC中的OSC的操作模式
控制OSC塊的最通常的方法是通過MCG的時鐘源選擇MCG_C1[CLKS]  和MCG_C2
的寄存器位來配置振蕩器的頻率范圍、增益模式以及晶體或外部的時鐘操作。OSC_CR也
控制著 OSC 的啟動以及 EXTAL 和 XTAL 兩個引腳的內部負載電容的配置。詳細內容參
考 OSC 和 MCG 章節。
RTC_CR[OSCE]位對 MCG 和 OSC_CR 的啟動功能有著重要的控制。當
RTC_CR[OSCE]設定好后,給 OSC 配置低頻率、低功率,RTC_CR[SCxP]位撤銷
OSC_CR[SCxP]位來控制內部電容配置。詳細內容參考RTC章節。


3.6.1.4 Flash  模式
“Flash存儲器章節”定義了兩種操作模式—正常NVM模式和專用NVM模式。在這
個芯片中,flash 存儲器只運行 NVM 的正常模式。所有 nvm專用模式的參考都可以被忽
略。
3.6.1.5 擦除所有的flash內容
除了軟件,整個flash存儲器可以通過SW-DP的調試端口設置MDM-AP CONTROL[0]
從flash存儲器的外部進行擦除。設置MDM-AP CONTROL[0]指示批量擦除的命令被接收,
當批量擦除的命令完成時清除MDM-AP CONTROL[0]。
3.6.1.6 FTFA_FOPT寄存器
Flash 存儲器的 FTFA_FOPT 寄存器允許用戶在計算機啟動的時候適配 MCU 的操作。
它的定義細節參見FOPT啟動選擇。
3.6.2 Flash存儲器的控制器結構
該部分總結了芯片中的該模塊是如何配置的。關于模塊本身的全面描述,請參考它們
專門的章節。FMC 重新設定的配置細節參見MCM_PLACR寄存器的描述。


3.7.1.2  ADC上的DMA支持
應用中可能需要ADC 的連續采樣,這會給CPU帶來相當大的負荷。當ADC 以高速
進行采樣時,為了得到更高的性能,ADC 支持 DMA 的請求功能。在轉換完成后,ADC
能觸發 DMA(通過DMA請求)。
3.7.1.3 ADC0連接/通道分配
注意
如下面的部分所示,每個 ADCx_DPx 輸入和特定的 ADCx_DMx 輸入可作為單向模
式的單向ADC通道。

3.7.2.1 CMP 實例化信息
該芯片包含一個高速比較器和 2 個可反相、正相 8 路輸入多工器比較器。每個 CMP
輸入通道都連接至多路復用器。其中兩個通道連接至內部源,其他源支持多達6 個輸入引
腳。該芯片的CMP 輸入連接總結參見通道分配表。
CMP 也包含一個 64-電阻階梯網絡的 6 位 DAC,該電阻階梯網絡可為通過內部連接
到CMP 且需要參考電壓的應用提供一個可選參考電壓。
CMP 除在VLLS0模式,均可任意工作。
利于ADC的觸發,CMP已經有幾個模塊至模塊的內部連線,TMP 觸發和UART IR
接口。CMP 模塊內部連線詳細信息請參閱  模塊-模塊章節。
CMP 不支持窗口比較功能且CMP_CR1[WE]必須清零。連接至模塊的SAMPLE 輸入
端為無效輸入時,采樣功能弱化。采樣操作受限于總線時鐘的分頻(CMP_CR1[SE]=0)。  
由于引腳數的限制,此芯片不支持CMP的pass through模式,故CMPx_MUXCR[PSTM]
必須清零。

3.7.2.4 CMP 觸發模式
當CMP_CR1[TRIGM]置位,CMP 和6 位 DAC 子模塊支持觸發模式的操作。當使能
觸發模式,觸發事件將會初始化比較次序,該次序必須在執行CMP 操作和捕捉輸出前使
能 CMP 和 DAC。在該芯片中,由 LPTMR 控制這兩個階段的次序。當 LPTMR 使能時,
LPTMR觸發輸出總是使能。第一個信號提供使能CMP 和DAC,同時置位TCF標志。根
據 LPTMR 配置,延時的第二個信號觸發 CMP 捕捉比較的結果。在預分頻的定時器模式
下,延遲等于1/2的預分頻輸出周期。旁路預分頻時,延遲等于1/2的預分頻時鐘周期。
來自LPTMR的兩個信號間的延時必須大于在數據手冊中已定義的模擬比較器初始化
的延時。

6.2.2.1.1復位引腳過濾
引腳在 1kHz LPO 時鐘和總線時鐘中都可以使用該過濾。RPFC[RSTFLTSS],
RPFC[RSTFLTSRW], 和  RPFW[RSTFLTSEL]在 RCM 寄存器中設置控制;見 RCM 相關
章節。過濾器芯片上電復位以后與復位異步。上電復位時默認設置 RESET 引腳無濾波設
置。
對于所有的(如Stop,VLPS,LLS,VLLS3,和 VLLS1)LPO時鐘仍然保持使能的stop
模式,LPO 基于數字過濾是唯一的可選時鐘。過濾邏輯可以是開關到旁路操作或者繼續
過濾操作,這些都取決于過濾器模式的選擇。當進入VLLS0 模式,復位引腳過濾器是無效
的并且是被忽略的。
LPO 過濾器的過濾值計數固定是3。輸入數據有一個2個周期的同步信號。這樣,從
高到低或從低到高的轉換需要5個周期。
6.2.2.2  低電平檢測(LVD)
當給芯片提供多變的電壓,芯片的低電平檢測系統可以保護內存內容和控制MCU 系
統狀態。系統由上電復位電路(POR)和低電壓檢測(LVD)電路組成。對于低電壓檢測
(LVD)電路,用戶可選選擇電壓(高電壓(VLVDH)或低電壓(VLVDL))。 在正 常運
行、等待和停止模式下,低電壓檢測系統在正常運行、等待和停止模式下總是保持使能。
LVD 系統在VLPx、LLSx和 VLLSx 模式下總是保持禁止。
通過設置 PCM 的 LVDSC1[LVDRE]位為 1,LVD 可以在檢測到低電壓條件時產生復

位。當產生 LVD復位時,LVD 系統使MCU處于復位狀態直到供應的電壓大于LVD 低電
壓閾值。LVD復位或POR時 SRSL[LVD]位被置位。
6.2.2.3 COP看門狗復位
看門狗定時器通過軟件周期性的通信操作監視系統的操作。該通信通常稱為服務性看
門狗。如果沒有定時進行喂狗,看門狗將產生系統復位。COP 復位導致 SRS0[WDOG]位
被置位。
6.2.2.4  低漏喚醒(LLWU)復位
LLWU 模塊為用戶提供了用外部引腳和內部外設將MCU 從低漏模式下喚醒。LLWU
模塊只有在低漏功耗模式下使用。在VLLSx 模式下,所有使能的輸入LLWU 都可以產生
系統復位。
系統復位后,LLWU 會保持標識上一次的喚醒源的標志直到用戶清該標志位。
注意:
LLWU 復位中外設模塊的一些條件標志位會自動被清除。詳見各個外設模塊說明。
6.2.2.5  多功能時鐘發生器時鐘丟失(LOC)復位
MCG 模塊支持一個外部的參考時鐘。
如果MCG中的C6[CME]為1,時鐘監視器使能。當外部參考壓降低于floc_low or floc_high,
(由 MCG 中的C2[RANGE]位控制),MCU 復位。RCM的 SRS0[LOC]位為1代表該復位
源。


注意:
為了防止不可預測丟失時鐘的復位事件,所有的時鐘監視器在進入低功耗模式下(包
括 VLPR和 VLPW)之前必須禁用。
6.2.2.6 MCG  –丟失鎖定LOL復位
MCG 有一個PLL丟失鎖定探測器。當MCG 配置為PEE或者鎖定使能,該探測器使
能。如果 MCG_C8[LOLRE]位被置位并且 PLL 鎖的狀態位(MCG_S[LOLS0])變成 1,
MCU 復位。RCM_SRS0[LOL]位標志該復位源。
注意:如果芯片在任何停止模式下,該復位源不會產生任何復位。
6.2.2.7  停止模式的應答錯誤(SACKERR)
如果內核試圖進入 stop 模式或者計算操作,該復位產生,但是不是所有模塊的 stop
模式在 1kHzLPO 時鐘的1025 個周期內。
如果一個錯誤產生,該模塊可能并不應答進入 stop 模式。該錯誤也可能由外部時鐘
輸入一個模塊中產生。
6.2.2.8  軟件復位(SW)
NVIC 應用中斷和復位控制寄存器的 SYSRESETREQ 位置位時會產生一個軟件復位。
(參見 ARM 的  NVIC 文檔寄存器詳細說明,尤其 VECTKEY 位域要求說明)。置位

SYSRESETREQ可產生軟件復位請求。除了調試模塊,軟件復位能重設系統大多數模塊。
軟件復位時RCM的 SRS1[SW]位被置位。
6.2.2.9  鎖定復位(LOCKUP)
LOCKUP 會立即表明嚴重錯誤的內核軟件產生的錯誤。在內核中系統硬件保護激活
時,一個不可恢復異常導致內核被鎖。
LOCKUP 導致系統復位,亦使RCM的SRS1[LOCKUP]位被置位。
6.2.2.10 MDM-AP系統復位請求
通過設置 MDM-AP 控制寄存器中的系統復位請求位可以產生系統復位。通過 SWD
接口,此復位方式是的主要復位方法。直到該位被清,系統復位才停止。
當芯片從系統復位中喚醒,通過設置MDM-AP 控制寄存器中的內核保持復位位可以
控制正在復位的內核。

6.2.3 MCU復位
MCU 不同模塊產生各種不同的復位。
6.2.3.1  POR上電復位
只有在上電復位的時候上電復位激發。將PMC 和RTC復位,也同樣觸發其他復位。  
6.2.3.2  芯片非VLLS上電復位
非VLLS 芯片上電復位來自上電復位和LVD復位。復位部分SMC  和 SIM。同時 復
位了LPTMR。
在非VLLS 芯片上電復位同樣引起以下復位:芯片上電復位,芯片非VLLS 復位,和
芯片復位(包括早期的芯片復位)
6.2.3.3  芯片上電復位
芯片上電復位斷言芯片POR,LVD和 VLLS 喚醒復位源。它重設了復位引腳過濾寄存
器和SIM和MCG 的部分寄存器。芯片POR 同樣產生芯片復位(包括早期的芯片復位)。  
6.2.3.4  芯片非VLLS復位
通過復位引腳,芯片非VLLS 復位在除了 VLLS 喚醒源,其他復位都可以產生。它復
位了SMC,LLWU 和其他模塊(該模塊在VLLS 模式下保持上電)。
芯片非 VLLS 復位同樣引起芯片復位(包括早期芯片復位)觸發。
6.2.3.5  早期芯片復位
早期芯片斷言所有的復位源。它復位了flash內存模塊。它在 flash內存初始化開始之
前無效(“早于”芯片復位無效)。

6.2.3.6  芯片復位
芯片復位同樣來自所有復位源,并且只有在flash初始化完成之后無效并且 引腳同樣
禁止。該復位重置了現存的模塊(該模塊沒有被其他復位所重置)。
6.2.4 復位引腳
對于所有的復位源(除了VLLS 喚醒),其他都通過復位引腳發生,復位引腳被MCU
拉低至少 128 總線時鐘周期,直到flash初始化完成。
在 flash 初始化完成之后,復位引腳釋放,并且內部芯片復位在復位引腳上拉之后失
效。一直按住外部復位引腳會延遲了內部芯片復位。
復位引腳通過置 RESET_PIN_CFG 選項位為 0,可以禁用。當該選項選中,在芯片上
電復位上升沿時,會有一個短暫的沖突區,在建立該選項的設置和在引腳處釋放復位功能
之前設備驅動引腳輸出低電平。
6.2.5 調試復位
以下部分詳細描述了調試復位。
6.2.5.1  復位調試子系統
使用DP CTRL/STAT  寄存器的CDBGRSTREQ 位復位調試模塊。但是,如下所述,
使用CDBGRSTREQ 位并沒有復位所有調試相關的寄存器。

6.3.3 啟動順序
在上電時,片上穩壓器會保持芯片處于POR 狀態直到輸入電壓高于POR閾值。系統
會持續這個靜止狀態直到內部調節電壓達到 LVD 標定的安全操作電壓。復位控制邏輯器
控制一系列退出復位。
1. 系統復位保持在內部邏輯,復位引腳驅動為低電平, MCG 在使能默認的時鐘模式。  
2. 時鐘使能(系統時鐘,flash 時鐘和任何沒有時鐘門控制的總線時鐘復位后禁用)。  
3. 內部系統復位邏輯持續保持拉高,但是flash 控制器停止復位并且在復位控制邏輯
持續將復位引腳拉低時,開始初始化操作。
4. 先將 NVM 選項中的復位序列字節讀取并且存到 FTFA_FOPT 寄存器中。如果與
LPBOOT 相應的位,為備用時鐘分頻器復位值編程時,系統/內核時鐘切換到較慢的時鐘
速度。如果清FAST_INT位,flash初始化切換到慢速時鐘會導致更長的恢復時間.
5. 當 flash初始化完成,復位引腳將被釋放。如果復位引腳持續觸發(如復位引腳一
個緩慢上升沿或者外部使能拉低),系統持續保持復位狀態。一旦檢測復位引腳的電平為
高,內核時鐘使能,系統將退出復位狀態。
6. 當系統退出復位時,處理器初始化堆棧,程序計數器(PC)和連接寄存器(LR)。
處理器從中斷向量表 0 偏移處讀取 SP(SP_main)。內核從中斷向量表偏移 4 處讀取 PC。
LR 設置為 0xFFFF_FFFF。CPU開始轉到PC位置執行。
子系統復位遵從同樣的復位順序。


第7章 電源管理模塊
7.1 簡介
本章主要描述各種芯片電源模塊,以及在這些模式下各個不同模塊的功能。
7.2 時鐘模塊
該部分描述了該設備支持的多種時鐘模塊。
7.2.1 局部停止
局部停止是一種可替代 stop 模式的時鐘選項,在 SMC 停止控制寄存器
(SMC_STOPCTRL)進行配置。STOP 模式只是一部分進入,在高能耗的情況下保留了
一些額外的功能使能。局部stop 模式能夠從Run 模式或者VLP Run 模式進入。
當配置為 PSTOP2 模式,只有內核和系統時鐘不可以用,總線時鐘仍然使能。進入
Stop 模式后總線主機和總線從機由系統時鐘起振,但是在RUN(或者VLP Run)模式下
總線從機由總線時鐘起振。在 RUN(或者 VLP  Run)模式下,MCG 時鐘產生器和 PMC
片上穩壓器仍然運行。退出PSTOP2,一個異步的來自總線主機或者總線從機(由系統時
鐘驅動)的中斷,或者一個同步的來自總線從機(由總線時鐘驅動)的中斷可以通過復位
初始化。一旦這樣配置,DMA 請求(采用異步的 DMA 喚醒)能同樣用于退出局部 Stop
模式(在DMA持續時間,在設備轉回PSTOP2模式之前)。
當配置為PSTOP1,系統時鐘和總線時鐘都被禁止。所有的總線主機和總線從機進入
stop模式,但是MCG的時鐘發生器和PMC的片上穩壓器保持運行  (或者VLP Run)模式。
從PSTOP1 模式離開,一個來自總線主機或者從機的異步中斷被復位初始化。一旦該配置,
在設備傳送回PSTOP1之前在DMA傳送周期內,一個異步DMA請求可以用來退出局部
Stop。

PSTOP1模式類似于STOP模式,但是耗能更高,喚醒速度更快。還可以保持所有的
MCG 時鐘使能,這可以用于使一些異步外設可以在stop 模式下使能工作。
7.2.2 DMA喚醒
不管什么Stop模式下的DMA請求都可以用來喚醒設備。在計算操作, PSTOP, STOP
和VLPS 低功耗模式下,每個DMA通道都可以喚醒。
當在PSTOP,STOP 或者VLPS,檢測到DMA 喚醒,設備將退出低功耗模式。它包括
儲存片上穩壓器和內部電源開關,使能MCG 中的時鐘發生器,使能系統和總線時鐘(不
是內核時鐘)和阻塞發給總線主機和總線從機的 STOP 信號。唯一的不同是可以在 CPU
時鐘失效時,CPU 將保持在低功耗模式下運行。
在計算操作中,DMA 喚醒將導致退出計算操作。這個包括使能時鐘和阻塞發給總線
主機和總線從機的STOP模式信號。內核時鐘仍然在計算操作中保持使能。
由于 DMA 喚醒將使能時鐘和阻塞發給總線主機和停止總線從機的 STOP 模式信號,
軟件方需要首先確保總線主機和從機并沒有包含進DMA喚醒和發送器保持它在一個已知
的狀態。在所選的模塊中,可通過在進入低功耗模式之前或者通過設置 DOZE 使能位,
達到以上的目的。
一旦DMA請求將設備喚醒并且DMA 完成當前的傳輸,設備將回到原始的低功耗模
式。這包括請求所有非 CPU 總線主機進入 Stop 模式并且請求總線從機進入 Stop 模式。
在 STOP 和VLPS模式 MCG和PMC 將同樣進入對應的模式。
注意:
如果被請求的DMA發送器不能產生DMA 請求,導致設備將保持在高功耗的狀態直
到低功耗模式完全退出。
使能的 DMA 喚醒將停止進入低功耗模式,如果DMA 請求在stop 模式進入隊列中聲
明(或者如果請求在DMA 喚醒時再次進入)并且能引起SMC 設置Stop Abort標志位。
一旦DMA喚醒完成,進入低功耗模式將重新開始。
在 DMA 喚醒的中斷將立即退出低功耗模式(對于計算操作時可選的)。
DMA喚醒可以由同步的DMA請求產生或者異步的DMA請求產生。在stop模式中,
并不是所有的外設能夠產生異步DMA 請求,如果該外設能夠產生同步的DMA請求并且
在 stop 模式下也支持異步中斷,那么該外設可以產生一個異步的DMA請求。
7.2.3 計算操作
計算操作:是一種使 CPU 一直訪問 SRAM 和 FLASH 讀取端口,但將所有其他總線
主機和總線從機進入Stop模式的執行或者純計算模式的操作。計算操作在RUN 模式或者
VLP RUN模式下都可以使能。

注意:
如果不先退出計算操作,無法進入任何stop模式。
因為計算操作重復使用 stop 模式邏輯(包括在總線從機之前禁用總線主機的進入),
任何總線主機或者總線從機可以在 stop 模式下保持使能,也能在計算操作下保持使能,
包括異步中斷的產生和DMA請求。當在 run模式下使能計算操作,模塊對總線主機和總
線從機的作用等同于stop模式。當在VLP RUN 模式下使能計算操作,模塊對總線主機和
總線從機的作用等同于VLPS模式。盡管FLASH 寄存器接口禁用,MCG,PMC,SRAM和
flash 讀取端口都不受計算操作的影響。
在計算操作時,AIPS 外設空間不可訪問并且訪問會產生總線錯誤。在計算操作時,
私有的外設空間仍然可以訪問,包括 MCM,NVIC,IOPORT  和系統滴答。盡管可以通過
IOPORT訪問GPIO寄存器,但GPIO 端口數據輸入寄存器不能返回有效的數據,因為時鐘
對于端口控制和中斷模塊無效。通過寫入GPIO端口數據輸出寄存器,可以控制GPIO端
口配置為輸出引腳。
計算操作由 MCM 中的 CPO 寄存器控制,只可以 CPU 訪問。設置或清 MCM 的
CPOREQ 位會進入或者退出計算操作。計算操作在探測到一個中斷(該中斷是用來服務
大部分中斷的)可以配置為自動退出。只有內核系統中斷(異常,包括NMI和系統滴答)
并且在不退出計算操作的情況下,任何邊沿檢測中斷仍有效。
當進入計算操作, CPOACK狀態位標志進入已完成。當在run模式下退出計算操作,
CPOACK 狀態位立刻取反。當在 VLPRUN 模式下退出計算操作,退出將延時直到 PMC
控制電源消耗。這個延時通過檢測 CPOACK 位來確定什么時候 AIPS 外設空間能夠訪問
并且不產生總線錯誤。
DMA喚醒在計算操作中可以使用并且DMA喚醒還會引起CPOACK狀態位清零并且
AIPS外設空間在DMA 喚醒周期可以訪問。在DMA喚醒完成后,設備恢復為計算操作模
式。

7.2.4 外設休眠
一些外設支持休眠模式,在低功耗模式下可以使用寄存器的某一位禁用外設。Flash
在外設休眠模式下通過SIM中的寄存器,同樣可以進入低功耗的狀態。
外設休眠是指在如下的操作中:
   CPU 在等待模式
   CPU在stop模式,包括進入序列 ①
7.2.5 時鐘門
和在DMA喚醒階段
   CPU 在計算操作,包括進入序列和在DMA 喚醒階段。
在 WAIT 或者 VLPW 模式下,外設休眠模式因此能用來禁用所選的總線主機或者從
機。在進入任何 stop 模式(或者計算操作)同樣可以用于禁用總線從機,以此來代替等
待總線主機應答作為進入 stop 模式的順序的一部分。最后,可以用來禁用選中的總線主
機或從機(該總線從機或主機在DMA 喚醒狀態應該保持未激活狀態)。
如果flash在WAIT 和 STOP 模式下不能訪問,那Fash  休眠模式可用降低功耗,當執
行 flash 中的向量和代碼將消耗稍長時間喚醒。在計算操作下執行代碼或者SRAM中的向
量,同樣可以用來減少電源消耗。
為了節省功耗,大部分模塊的時鐘可以通過設置SIM模塊的 SCGCx 寄存器關閉。這
些寄存器比特位在復位之后清零;同時也會禁用相應模塊的時鐘。初始化一個模塊之前,
需要先設置SCGCx寄存器的相應位來使能該模塊的時鐘。在關閉時鐘之前,必須確保已
經禁用了模塊。有關此部分的詳細的資料請參見“SIM”的時鐘分配章節。

7.3 電源模塊
電源管理控制器(PMC)提供多種可選電源,用戶可以根據不同的功能需求來選擇
不同的模式以優化電源功耗。
根據用戶對停止模式的需求,提供了多種模式,如:提供狀態駐留,邏輯單元和存儲
單元的部分掉電,或者完全斷電;或關閉某些邏輯單元和存儲單元電源;或關閉所有邏輯
單元和存儲單元電源。 I/O 狀態在所有模式操作中都會置高。下表比較可使用的電源模式。
每個運行模式都有對應的等待和停止的模式。等待模式和ARM的睡眠模式類似。停
止模式(VLPS,STOP)和 ARM 深度睡眠模式類似。當最大總線頻率不是必須需要的時候,
極低功耗運行操作模式可以大大減少電源消耗。
CPU 有三種基本模式:運行、等待和停止。WFI 指令包含芯片等待和停止模式。芯
片通過運行、等待和停止三種模式的不同排列來實現低功耗。基本模式根據需要又細劃分
了一些低功耗模式。



7.4 進入及退出電源模式
WFI指令激活等待和停止模式。處理器需要通過一個中斷退出低功耗模式。對于LLS
和VLLS 模式下,只有 LLWU 產生的喚醒,NMI引腳或者RESET引腳可以作為喚醒源。
當NMI或者RESET引腳通過設置相應的FOPT位被禁止,那么這些引腳不可作為喚醒源。
通過復位來自VLLSx的喚醒流總是有效。
注意:   WFE 指令對于進入低功耗模式有一定作用,但是這不是這個指令的真正用途。
可以參考ARM文檔來獲取更多的關于WFE 的指令信息。
在 VLLS 恢復,在代碼執行開始后,I/O 引腳持續保持在靜止狀態,在未鎖定 I/O 之
前,軟件可以重新配置系統。RAM只有在VLLS3模式下受限。
7.5 低功耗下的模塊操作
下表說明了芯片處于各種低功耗模式下每個模塊的功能。但有一些例外的標準行為,
如計算機操作(CPO)和部分停止模式2(調試模塊被分開討論了,詳細信息見低功耗下
的調試)。數據速率(例如 2MHz 和 1Mbps)代表最高頻率或者最大數據傳輸率。另外,
以下是縮寫的解釋:
FF=所有功能,在VLPR 和 VLPW 模式,頻率是有限制的,如果模塊沒有頻率限制,
那么它的值是FF。
Async operation=交替時鐘源完全功能,提供可選時鐘保持使能。
static=模塊寄存器狀態以及相關聯的內存會受限制;
powered=存儲器電源被保留。
low power=內存在低功耗狀態下強制保存內容。
OFF=模塊斷電;模塊在復位狀態下喚醒,對于時鐘,OFF意味著禁用。
wakeup=模塊可以作為芯片的喚醒源。

第8章  安全性
8.1 介紹
該設備基于 flash 模塊選擇的模式實現的。下面對 flash 安全和在非 flash 模塊進行全
局的概述。
8.2 Flash 安全性
Flash模塊基于 FSEC[SEC]位保存的狀態提供了對MCU 的安全性信息。反過來, MCU
驗證請求的安全性和對 FLASH 進行限制訪問。在復位期間,flash 模塊通過從 flash 配置
域的安全位讀出的數據,初始化FSEC 寄存器。
注意:
安全性特征僅僅應用于外部訪問:調試。CPU 訪問 flash 是不會受 FSEC 的狀態的影
響。
在非安全模式下,不管調試端口(SWD)還是執行用戶代碼,所有的 flash命令在可
編程的接口都是可以用的。當flash 處于加密狀態下(FSEC[SEC]位置 00,01或者 11),只有
編程接口允許執行全部擦除操作。另外,在該模式下,調試端口不可訪問內存地址。
8.3其他模塊的安全性交互
Flash 安全性可以設置哪些資源可以訪問。下面的章節描述了模塊和flash 安全性設置
之間的交互和flash安全性對非 flash模塊上的影響。
8.3.1安全性和調試的交互
當flash 加密時,SWD接口是不能訪問MCU 的內存資源的。
盡管大部分調試功能被禁止,但是調試器還是可以通過寫 FLASH 全部擦除位命令。
當內存保護時,仍然可以通過調試器全部擦除。
當全部擦除無效,通過調試器全部擦除是不可行的。


第9章 調試
9.1 介紹
該調試系統是基于ARM CorSight
TM1
9.2 調試端口引腳
  結構,由于引腳的約束和其他可用的資源,該調
試系統可以配置為具有很高的靈活性的系統。
該系統提供從外部調試接口訪問內存和寄存器,和基本的運行/停止控制以及 2 個斷
點和 2個監視點。
只支持一種調試接口:
Serial Wire Debug(SWD)
在上電復位之后調試引腳默認使能為SWD功能。
9.3 SWD狀態和控制寄存器
通過ARM調試訪問接口(DAP),調試器可以訪問狀態和控制單元,在DAP總線上
的寄存器的作用如下圖。在低功耗模式下恢復和經典的運行控制模式下,這些寄存器提供
了額外的控制和狀態。這些狀態寄存器位為調試器提供了一種更新內核的狀態方法,該方
法不用初始化總線交叉開關,使得在調試階段降低干擾。
這些 DAP 控制和狀態寄存器是比較重要的,這些寄存器不在系統內存映射,它們只
能用 SWD 通過調試訪問接口(DAP)訪問。通過下表中列出的可用寄存器,MDM-AP
和調試端口1(DAP1)都可訪問。

9.5  微型追蹤緩沖區(MTB)
MTB 為 Cortex-M0+內核,提供簡單的執行跟蹤能力。當 MTB 使能,通過執行跟蹤
接口,進入SRAM的可配置區域,   Cortex-M0+處理器記錄的編程流可以改變MTB記錄。
隨后,芯外調試器可以提取這些跟蹤信息,這將允許重建的指令流跟蹤。MTB 不包括任
何加載/儲存數據跟蹤能力和跟蹤信息能力。
MTB同樣類似一個簡單的AHB-Lite SRAM控制器,另外提供了跟蹤能力。系統總線
主機,包括處理器,可以通過 AHB-Lite  接口讀取/寫入訪問所有的 SRAM,允許內存存
儲程序和數據信息。 MTB同時將跟蹤信息存儲到SRAM并且允許總線主機訪問存儲內存。
MTB確保跟蹤信息可以先于訪問AHB-Lite接口寫入 SRAM。
MTB包括跟蹤控制寄存器為了配置和激發MTB功能。MTB支持通過MTB DWT 模
塊的TSTART和 TSTOP 控制功能觸發。
9.6 在低功耗模式下的調試
在低功耗模式下,調試模塊保持靜止或者斷電。在低功耗模式期間,調試器不能獲取
任何調試數據信息。所以調試模式保持靜止,系統一旦退出低功耗模式,調試端口會恢復
功能。因此調試器邏輯是斷電的,調試器在恢復的過程中會復位,而且一旦低功耗模式,
需要重新配置調試器。
9.7 調試&安全
當 flash 加密時, 為了防止取得加密的數據,調試端口功能被限制使用。在安全狀態
下調試器仍可以訪問狀態寄存器而且可以設定設備的當前安全狀態。對于一個加密的設備,
調試器只可以執行完全擦除操作。

39.3.2 發送器功能描述
本節介紹UART發送器的總體框圖,以及專門用于發送中止和空閑字符的功能。
發送器輸出(UART_TX)空閑狀態默認為邏輯高電平,復位之后,緊跟著C3[TXINV]
被清除。發送器的輸出通過設置 C3[TXINV]倒轉。發送器通過設置 C2[TE]位啟用。發送
器發出一個前導符,是一個完整的字符幀的空閑狀態。之后發送器保持空閑狀態,直到數
據在發送數據緩沖區中。通過寫入到 UART 數據寄存器,程序將數據存儲到發送數據緩
沖區中。
UART 發送器的核心元素是,根據在 C1[M]、C2[M10]和 BDH[SBNS]控制位的設置
的 10位到13 位長發送移位寄存器。本節的其余部分,假設C1[M], C2[M10]和BDH[SBNS
被清除,選擇正常的8 位數據模式。在8 位數據模式下,移位寄存器持有起始位,8個數
據位,一個停止位。當發送移位寄存器對一個新的 UART 字符有效時,等待在發送數據
寄存器的值被轉移到移位寄存器,同時波特率時鐘同步,并發送數據寄存器空(S1[TDRE)
狀態標志設置,以指示可能會被寫入發送數據緩沖區UART_D 另一個字符。
當一個停止位被移出UART_TX引腳后,如果發送數據緩沖區中沒有新的字符,發送
器設置傳輸完成標志位并且進入UART_TX高的空閑模式,等待傳輸字符。
寫 0 到 C2[TE]中不會立即關閉發送器。必須首先完成當前正在發送的活動。這包括
正在發送中的數據字符,等待空閑字符和等待中止符。
39.3.2.1 發送中止與等待空閑
UART_C2[SBK]位發送中止符,原本是用來獲得舊的打字接收器的信息。中止符是一
個完整的邏輯 0,10 位到 12 位包含開始和停止位的位時間的字符。13 個位時間的中斷,
可以通過設置UART_S2[BRK13]啟用。通常情況下,程序會等待UART_S1[TDRE]被設置
以顯示消息的最后一個字符被移到發送移位寄存器中,寫1,然后 寫0到UART_C2[SBK]
位來發送中止字符。只要移位寄存器可用,就會將一個中止符排進要發送的隊列。如果
UART_C2[SBK]保持為 1 時,當隊列中的中止數據進入移位寄存器時,同步波特率時鐘,
同時一個額外的中止字符被排隊。如果接收設備是另一個飛思卡爾半導體UART,在所 有
數據位和幀錯誤(UART_S1[FE]= 1)出現時,中止符被接收為0。

當使用空閑線喚醒時,在兩個信息之間喚醒任何休眠的接收器,一個完整的空閑(邏
輯 1)字符時間是需要。通常情況下,程序會等待 UART_S1[TDRE]設置為顯示消息的最
后一個字符移到發送移位寄存器,然后寫 0,然后寫 1 到 UART_C2[TE]位。只要移位寄
存器可用,這個動作隊列發送一個空閑字符。只要在移位寄存器中的字符沒有完成而
UART_C2[TE]被清除,UART 發送器就不會釋放UART_TX引腳的控制。
間隔字符的長度會受到 UART_S2[BRK13],UART_C1[M]和 UART_C4[M10]位的影
響,如下表所示。

39.3.3 接收器功能描述
在本節中,接收器的框圖是對整體接收器的功能描述的一個引導。接著,用于重建接
收器的數據的數據采樣技術被更詳細地描述。最后,對接收器兩個變化的喚醒功能做出解
釋。
設置UART_S2[RXINV],接收器的輸入被倒轉。設置UART_C2[RE]位接收器被啟用。
字符幀由一個起始位(邏輯0),8到 10 個數據位(MSB或LSB在前),一個或兩個停止位
(邏輯1)組 成。9位或 10位數據模式的信息,請參閱為“8位, 9 位和 10 位數據模式” ①
當程序檢測到接收數據寄存器滿時(UART_S1[RDRF= 1),它通過閱讀UART_D寄存
器,來從接收數據寄存器中得到數據。對于標志清空的詳細信息請參閱“中斷和狀態標

在以后的討論中,我們都假設UART配置成普通的8位數據模式。
當移位寄存器接收到停止位后,如果接收數據寄存器未滿,數據字符被傳輸到接收數
據寄存器,且接收數據寄存器滿(UART_S1 RDRF)狀態標志設置。如果UART_S1[RDRF]
已經置位表明接收數據寄存器(緩沖區)已經滿了,則溢出(OR)狀態標志被置位,且
新的數據丟失。由于UART 接收器有雙緩沖區,在UART_S1[RDRF]被設置后,程序有一
個完整字符的時間,將接收數據緩沖區中的數據讀出,以避免接收器溢出數據丟失。

39.3.3.1 數據采樣技術
UART 接收器,支持 4 倍和 32 倍的波特率時鐘之間的過采樣率。當 UART_RX 的串
行數據輸入引腳上檢測到下降沿,接收器根據過采樣率開始采樣邏輯電平。在3 個邏輯1
的樣本后,下降沿被定義為邏輯 0 采樣。過采樣波特率時鐘把位時間從 1 到 OSR(OSR
配置的過采樣率)分為4至32段。當一個下降沿被定位,分別在(OSR/ 2),(OSR/ 2)
+1,(OSR/ 2) +2上采集樣本,共采集3個樣本以保證這是一個真正的開始位而不是噪音。
如果這三個樣本中的至少兩個是0,則接收器假定它是同步到接收的字符。在接收器被認
為是同步前,如果另一個下降沿被檢測到,則接收機從第一分部重新啟動采樣。
然后接收器采樣每個位時間,包括的起始位和停止位,在(OSR/ 2),(OSR/ 2)+1,
和(OSR/ 2)+2,以確定該位的邏輯電平。邏輯電平被解釋為大多數位時間期間采取的樣
本。當接收到的字符被傳輸到接收數據緩沖區時,如果樣本在任何位時間,包括起始位和
停止位,字符幀的位與該位的邏輯電平不匹配時,噪聲標志(UART_S1[NF])被設置。
當 UART 接收器被配置為波特率時鐘的沿跳變采樣時,在每個接收到的比特的數目
被變為雙倍(從 1到OSR* 2)。然后采樣開始數據位從OSR, OSR1和OSC2 中采樣得到。
沿跳變的采樣時鐘為4 倍到 7 倍過采樣率并且對較高的過采樣率來說是可選的。
下降沿檢測邏輯持續的檢測下降沿。如果檢測到一個下降邊緣,采樣時鐘同步到位時
間(除非重新同步已被禁用)。這提高了在存在噪聲或不匹配的波特率情況下的接收機的
可靠性。它并不能提高最壞的情況下分析,因為在字符幀中的任何地方,有一些字符不具
有任何額外的下降沿。
在一個幀錯誤的情況下,假設接收的字符不是中止符,一個下降沿的采樣邏輯被填充
3個邏輯 1,則之后幾乎可以立即檢測到新的起始位。
39.3.3.2 接收器喚醒操作
接收器喚醒是一種硬件機制,它允許 UART 接收器可以忽略用于不同的 UART 接收
器的消息字符。在這樣的系統中,所有的接收器判斷每個消息的第一個字符,并且它們盡
快確定該消息是不是為不同的接收器,并寫邏輯1 到接收器喚醒控制位UART_C2[RWU]。
當 RWU 位被置位且 UART_S2[RWUID]位被置位時,與接收器相關聯的狀態標志(除空
閑位 IDLE 外)被禁止,從而消除了軟件處理不重要的消息字符的開銷。在一個消息的結
尾,或在下一個消息開始處,所有的接收器自動地將 UART_C2[RWU]置為 0,從而所有

39.3.3.2.1 空閑線喚醒
當喚醒被清除時,接收器被設置為空閑線喚醒。在這種模式下,當接收器檢測到空閑
線的一個滿字符時間,UART_C2[RWU]自動清零。UART_C1[M]和 UART_C4[M10]控制
位選擇 8 位到 10 位數據模式并且 UART_BDH[SBNS]位選擇 1 位或 2 位停止位數字,以
此來確定需要多少空閑位時間來構成一個完整的字符時間。因為包含開始位和停止位,所
以共需要 10至13 位的時間。
當 UART_C2[RWU]為 1, ART_S2[RWUID]為 0時,不設置的UART_S1[IDLE]標志,
但空閑狀態能喚醒接收器。當UART_S1[RDRF]標志被設置并產生一個中斷(如果中斷被
啟用),接收器喚醒并等待下一個消息的第一個數據字符。當 UART_S2[RWUID]為 1 時,
無論UART_C2[RWU]為0或1,任何空閑的條件設置UART_S1[IDLE]標志并產生中斷(如
果中斷被啟用)。
空閑線類型(UART_C1[ILT)控制位,它選擇兩種方式中的一種來檢測空閑線。當
UART_C1[ILT]被清零,空閑位在起始位或停止位或字符結束時的邏輯 1 位之后開始,一
直計數到一個完整的空閑字符時間結束。當UART_C1[ILT]被置位,空閑位計數器在停止
位時間后才啟動,所以空閑檢測不受到前一消息的最后一個字符中的數據的影響。
39.3.3.2.2 地址標志喚醒
當設置喚醒時,接收器被設置為地址標志喚醒。在此模式下,當接收器檢測到一個接
收字符的 MSB為邏輯“1”時,UART_C2[RWU]自動清零。
地址標志喚醒允許信息包含空閑字符,但需要將最高有效位保留為地址幀使用。在接
收到停止位之前,地址幀中的 MSB為邏輯“1”時,將清除UART_C2[RWU]位,并設置
UART_S1[RDRF]標志。在這種情況下,即使接收器在大多數字符時間里處于休眠狀態,
MSB集的字符仍可以被接受。

39.3.3.2.3 匹配地址操作
當 UART_C4[MAEN1]或 UART_C4[MAEN2]位被置位時,匹配地址操作被使能。在
這個功能中,通過UART_RX 引腳接收的幀與邏輯緊接停止位之前的邏輯1 的位置被認為
是一個地址,并且與相關聯的 MA1 或 MA2 寄存器進行比較。如果比較匹配,幀只傳輸
到接收緩沖區,并且UART_S1[RDRF]被置位。
隨后接收到的所有的數據幀中停止位之前的邏輯0的位置,被認為是與該地址相關聯
的數據,并轉移到接收數據緩沖器。如果沒有明顯的地址匹配時,則沒有傳輸到接收數據
緩沖,邏輯零位的位置和之后的所有幀緊接停止位也被丟棄。如果UART_C4[MAEN1]和
UART_C4[MAEN2]位都無效①,接收機正常工作和接收的所有數據被傳輸到接收數據緩沖
器。
MA1和 MA2寄存器中的匹配地址的操作與以上功能相同。
•如果只有一個UART_C4[MAEN1]和UART_C4[MAEN2]有效 ②,標記的地址僅與相
關聯的匹配寄存器進行比較,并且只有當匹配時,數據才傳送到接收數據緩沖區。
•如果UART_C4[MAEN1]和UART_C4[MAEN2]都有效,標記的地址和兩個匹配寄存
器進行比較,并且只有當都匹配時,數據才被傳送。

39.3.4 額外的UART功能
以下部分展示了UART 的額外功能。
39.3.4.1 8位、9位和10位數據模式
UART系統,發送器和接收器,可以通過設置UART_C1[M]成為9位數據模式,或通
過配置 UART_C4[M10]成為 10 位數據操作模式。在 9位數據模式中,UART 數據寄存器
的最高有效位的左側是第9 位,在 10 位模式,是第10 個數據位。對于發送數據緩沖器,
這些位被存儲在 UART_C3 的 T8 和 T9 中。對于接收器,這些位存放在 UART_C3[R8]和
UART_C3[R9]中。
為了能夠一致的寫發送數據緩沖區,在寫 UART_C3[T8]、UART_C3[T9]之前先寫
UART_D。
如果要被發送的新的比特字符的第九和第十位與前一個字符是相同,就沒有必要再次
寫T8 和T9。當數據被從發送數據緩沖器傳送到發送移位寄存器,T8和 T9中的值是在同
時從UART_D復制到移位寄存器。
9位數據模式通常用于奇偶校驗,可以允許8位的數據加上第九位的奇偶校驗,或用
于地址標志喚醒,所以第九位也可以作為喚醒位。10 位數據模式通常用于奇偶校驗和地
址標志喚醒,從而第九位可以作為喚醒位,第 10 位作為奇偶校驗位。在自定義的協議,
第九和/或第十位,也可以作為軟件控制標記。
39.3.4.2 循環模式
當 UART_C1[LOOPS]被置位時,在同一個寄存器的 UART_C1[RSRC]位選可以擇循
環模式(UART_C1[RSRC]= 0)或單線模式(UART_C1[RSRC]=1)。循環模式獨立于在外
部系統中的連接,有時用于檢測軟件,幫助隔離系統問題。在此模式下,發射機的輸出在
內部連接到接收器輸入并且UART 不可使用UART_RX 引腳。
39.3.4.3 單線操作
當 UART_C1[LOOPS]被設置,在同一個寄存器的 RSRC 位可以選擇循環模式
(UART_C1[RSRC]=0)或單線模式(UART_C1[RSRC]=1)。單線模式實現半雙工串行連
接。接收器在內部連接到發射器的輸出UART_TX引腳(UART_RX引腳不使用)。

在單線模式中,UART_C3[TXDIR]位控制著 UART_TX 引腳的串行數據的方向。當
UART_C3[TXDIR]被清零,UART_TX 引腳作為 UART 接收器和發射器的輸入暫時從
UART_TX 引腳斷開,從而一個外部設備可以發送串行數據到接收器。當
UART_C3[TUXDIR]被置位時,UART_TXD 引腳被發射器作為輸出腳,內部環回連接被
禁用。因此導致接收器不能接收由發射機發送出去的字符。
39.3.5 中斷和狀態標志
UART系統產生三個獨立的中斷,從而減少需要用軟件來隔離的中斷的數量。一個中
斷與發射器的TDRE 與TC 事件對應。另一種中斷與接收器的RDRF,IDLE,RXEDGIF,
和 LBKDIF事件對應。第三個中斷用于OR,NF,FE,和PF事件發生錯誤的狀況。每10
個這樣的中斷源可以被本地中斷使能掩碼單獨屏蔽。當本地掩碼被清除,以禁止產生中斷
請求時,該標志可以通過軟件查詢。
UART發送器有兩個狀態標志,這兩個狀態標志可以選擇性的產生硬件中斷請求。發
送數據寄存器狀態為空(UART_S1[TDRE])表示在發送數據緩沖區有空間可以寫另一個
發送字符到UART_D。如果發送中斷使能(UART_C2[TIE])位被置位,當UART_S1[THERE]
被置位,就會請求一個硬件中斷。發送完成(UART_S1[TC]=1)表明傳輸器完成了對所
有數據、前導符、間隔字符的發送,并且伴隨著UART_TX,處于無效電平。此標志常常
使用在有調制解調器的系統中,以用來確定當前關閉調制解調器是否安全。如果發送完成,
中斷使能(UART_C2[TCIE])位被置位,當UART_S1[TC]被設置,一個硬件中斷被請求。
不同于硬件中斷的是,如果相應的 UART_C2[TIE]或 UART_C2[TCIE]本地中斷屏蔽被清
除,軟件輪詢可以用來監測UART_S1[TDRE]和UART_S1[TC]狀態標志,。
當程序檢測到接收數據寄存器滿時(UART_S1[RDRF]=1),它通過讀取 UART_D,
從接收數據寄存器得到的數據。通過讀UART_D,UART_S1[RDRF]標志被清除。
IDLE 狀態標志包含邏輯,以防止當在較長的一段時間內UART_RX 接收線保持空閑
狀態時重復置位。寫 1 到的 UART_S1[IDLE]標志,可清除 IDLE。當 UART_S1[IDLE]已
被清除后,只有在接收器接收到至少一個新的字符,并且已經設置 UART_S1[RDRF]時,
UART_S1[IDLE]才能被重新設置。
如果接收到的字符里檢測到相關的錯誤,會導致UART_S1 [RDRF]被設置,同時,錯
誤標志、噪音標志(UART_S1[NF])、幀錯誤(UART_S1[FE])和奇偶校驗錯誤標志
(UART_S1[PF]),都在同一時間被置位。在溢出情況時,這些標志都不被設置。
當一個新的字符準備從接收移位寄存器傳輸到接收數據緩沖區時,如果
UART_S1[RDRF]已經被設置,則溢出標志(UART_S1[OR])被置位來代替數據,且連同
與數據相關的NF,FE 或 PF條件丟失。
在任何時候, UART_RX 的串行數據輸入引腳上活躍的 邊緣,會使
UART_S2[RXEDGIF]標志置位。通過寫1 到UART_S2[RXEDGIF]標志,它被清除。此功
能依賴于接收器被使能(UART_C2[RE]=1)。



D7(TDRE)—發送數據寄存器空標志。當發送數據從發送數據緩沖區轉移到發送移
位寄存器時,TDRE被復位,為緩沖區的新數據騰出空間。要清除TDRE:在 TDRE置位
情況下,讀UART_S1,之后寫UART數據寄存器(UART_D)。TDRE=0,發送數據寄存
器(緩沖區)滿;TDRE=1,發送數據寄存器(緩沖區)空。
D6(TC)—發送完成標志。該位與 UART0 中大部分一樣。不一樣的部分:UART1
與UART2模塊下, TC自動除之前還需要滿足一些條件,需要在TC被置位下,讀UART_S1。
之后的清除操作與UART0模塊下的一樣。
D5(RDRF)—接收數據寄存器滿標志。當數據從接收移位寄存器轉移到接收數據寄
存器(UART_D)中時,RDRF 被置位。在 RDRF 被置位情況下,讀 UART_S1,之后再
讀數據寄存器(UART_D)可以清除RDRF。RDRF=0,接收數據寄存器空;RDRF=1,接
收數據寄存器滿。
D4(IDLE)—空閑線標志。當 UART 接收線路空閑時,IDLE 被置位。當 ILT 被清
除,在開始位之后接收器開始計數空閑位的時間。如果接收字符全1,這些位的時間和停
止位的時間達到完整的字符的邏輯高,10或 11 位(根據 M控制位決定)的時間,需要的
接收器檢測到空閑線。當ILT 被置位,在停止位之后接收器才開始計空閑線時間。接收器
檢測空閑線時,在結束的前一個字符的停止位和邏輯高位時間不計入完整的字符的邏輯高
接收器所需的時間。
若要清除 IDLE,可以在 IDLE 置位的情況下讀UART_S1,然后讀 UART數據寄存器
(UART_D),則 IDLE 被清除。 IDLE 清除之后,只有當接收器收到一個新的字符且RDRF
被置位后,IDLE 才可以被重置。IDLE 只被設置 1 次,即使接收線保持長時間的空閑。
IDLE=0,無空閑線被檢測;IDLE=1,有空閑線被檢測。
D3(OR)—接收溢出標志。大部分與UART0相同。不同的是:如果要清OR,則在
OR 被置位的情況下,讀UART_S1,并且之后讀UART 數據寄存器(UART_D)。OR=0,
無溢出;OR=1,接收溢出(新的數據丟失)。
D2(NF)—噪音標志。接收器使用的先進的采樣技術,該技術需要獲取接收的 7 個
開始位中的樣本和3個數據位與停止位中的樣本。如果數據幀中的任意該樣本與其他樣本
不相符合,則 NF 與 RDRF 一同被置位。如果要清 NF,則在 NF 被置位的情況下,讀

UART_S1,并且之后讀UART數據寄存器(UART_D)。NF=0,無噪聲被檢測到;NF=1,
UART_D接收到的字符數據中檢測到噪聲。
D1(FE)—幀錯誤標志。大部分與UART0 相同。不同的是:如果要清FE,則在 FE
被置位的情況下,讀UART_S1,并且之后讀UART數據寄存器(UART_D)。
D0(PF)—奇偶校驗錯誤標志。大部分與 UART0 相同。不同的是:如果要清 PF,
則在PF被置位的情況下,讀UART_S1,并且之后讀UART 數據寄存器(UART_D)。
40.2.6 UART狀態寄存器2(UARTx_S2)
該寄存器包含一個只讀狀態標志。
該寄存器介紹大部分與 UART0 一致。不同的是:當 LBKDE 位被置位,幀錯誤被抑
制,中止檢測的閾值由 10位變為 11位,防止作為 LIN 中止符號的0x00 數據字符的誤檢
測。

D7(TDMAS)—發送器DMA選擇。如果TIE①被置位,TDMAS將配置發送數據寄存
器空標志位(TDRE②
40.3 功能描述
),來形成中斷或者DMA請求。說明:如果UART_C2[TIE]被清零,
那TDRE DMA和TDRE中斷信號在TDRE標志置位時無效,并且無視TDMAS的狀態。如果
TIE和TDMAS同時被置位,然后UART_C2[TCIE]必須被清零。并且UART_D在服務一個
DMA請求時不能被寫入。TDMAS=0,如果TIE和TDRE標志位被置位,TDRE中斷信號觸
發中斷服務例程;TDMAS=1,如果TIE被置位而且TDRE標志位被置位,TDRE DMA請求
信號將會請求一個DMA傳輸器。
D6,保留位,只讀。值恒為0。
D5(RDMAS)—接收完成 DMA 選擇。如果 RIE 被置位,RDMAS 將配置接受數據
寄存器滿標志位(RDRF),來形成中斷或者DMA 請求。說明:如果RIE 被清零,那RDRF
DMA和RDRF中斷信號在RDRF標志置位時無效,并且無視RDMAS的狀態。 RDMAS=0,
如果RIE 和RDRF標志位被置位,RDRF中斷請求將觸發中斷服務例程。RDMAS=1,如
果 RIE 被置位而且RDRF標志位被置位,RDRF請求信號將觸發一個DMA傳輸器。
D4~D0,只讀,值恒為0。
UART 在 MCU 和遠程設備之間(包括其他 MCU)支持全雙工,異步,NRZ 串行通
信和波特率發生器,發送器和接收器模塊。UART包括波特率發生器,發送器,接收器模
塊。UART 發送器和接收器獨立地操作,盡管他們使用相同的波特率發生器。MCU 監控
UART的狀態,傳送寫的數據,處理收到的數據。下面描述UART的每個模塊。

UART通信需要發送器和接收器,這兩個模塊都需要從獨立的時鐘源獲取波特率,使
得他們的波特率相同 ①
40.3.2 發送器功能描述
。所允許的波特率偏差取決于接收器對于起始位邊沿的同步和位采
樣是如何進行的。
MCU 在下降沿,再次同步到位邊界。最壞的情況下,每幀的 10 或者 11、12 位不傳
輸,以至于在波特率中不匹配的誤差被累積起來,從而對整個字符時間造成影響。在整個
總線時鐘被晶振驅動的FreescaleUART系統,對于 8位數據格式被允許的波特率不匹配要
控制在±4.5%,對 9 位數據格式被允許的為±4%。盡管波特率分頻因子的設置不能產生
一直匹配的標準波特率,它常常允許有一點偏差,不妨礙通信。
該節大部分與UART0相同。
與 UART0 不同的是:UART1、UART2 發送器的核心元素是,根據在 UART_C1[M]
與 UART_BDH[SBNS]控制位的設置的 10、11 或 12 位長的發送移位寄存器。UART1、
UART2選擇正常的8位數據模式,是通過清除UART_C1[M],UART_BDH[SBNS]。
與 UART0不同的是: UART1、 UART2中寫0到UART_C2[TE]是將引腳變為通用I/O
引腳,而不是UART0中的關閉發送器。
40.3.2.1 發送中止與等待空閑
該節大部分與UART0相同。
與 UART0 不同的是:UART1、UART2 的中止符是一個完整的邏輯 0,10 位包含開
始和停止位的位時間的字符。
比 UART0 多的功能描述是:有一種可能就是移位寄存器完成當前工作,如果當

40.3.3 接收器功能描述
該節大部分與UART0相同。
與 UART0 不同的是:字符幀由一個起始位(邏輯 0),8 個數據位(LSB 在前),一
個或兩個停止位(邏輯1)組成。
與 UART0不同的是:UART1、UART2中無 10位數據模式,只有8、9位數據模式。
40.3.3.1 數據采樣技術
該節大部分與UART1相同;
與UART0不同的是:UART1、UART2接收器的采樣頻率采用16x的波特率時鐘。
與UART0不同的是:UART1、UART2的 16x 波特率時鐘把位時間分為16 段,分別
標記為 UART_D[RT1]~UART_D[16]。
與 UART0 不同的是:UART1、UART2 對于開始位的判斷,采樣的樣本位為
UART_D[RT3],UART_D[RT5],UART_D[RT7]上采集樣本;對于邏輯電平的判斷采樣的
是 UART_D[RT8],UART_D[RT9],UART_[RT10];而 UART0 中對起始位和邏輯電平的
判斷都是用的(OSR/ 2),(OSR/ 2)+1,和(OSR/ 2)+2。
與 UART0 不同的是:UART1、UART2 接收器中無“在接收器被認為是同步前,如
果另一個下降沿被檢測到,則接收機從第一分部重新啟動采樣”此概念。
與 UART0不同的是:UART1、UART2中增加了以下概念。“對于起始位來講,如果
UART_D[RT3],UART_D[RT5],UART_D[RT7]上采集樣本為 0,那么即使_D[RT8],
UART_D[RT9],UART_[RT10]上采集的是1,起始位也被認為是1。”
與 UART0 不同的是:UART1、UART2 無“接收器被配置為波特率時鐘的沿跳變采
樣”的概念。
與 UART0不同的是:UART1、UART2 中增加了以下概念“在一個幀錯誤的情況下,
直道幀錯誤標志 UART_S1[FE]被清之前,接收器都被禁止接收任何新的字符。接收移位
寄存器仍然工作,但當 UART_S1[FE]保持置位時,一個完整的字符無法轉移到接收數據
緩沖區。”
40.3.3.2 接收器喚醒操作
對UART1、UART2 接收器喚醒的邏輯概念描述與UART0相同,不做解釋。
40.3.3.2.1 空閑線喚醒
大部分與UART0相同。
與 UART0 不同的是:UART1、UART2 是通過 UART_C1[M]來控制 8 位或 9 位數據
模式。而UART0中是通過UART_C1[M]和UART_C4[M10]來控制8位或10位數據模式。
所以UART1、UART2中一個完整的字符時間要10或11或12 位時間(包括起始位),而
UART0中要 10到 13位時間(包括起始位)。
40.3.3.2.2 地址標志喚醒
大部分與UART0相同。
與 UART0不同的是:UART1、UART2清除UART_C2[RWU]位的條件是接收器檢測
到 1 個或兩個接收到的字符中,UART_DBH[SBNS]=1,MSB 位為邏輯 1 時,
UART_C2[RWU]自動清除。而在 UART0中,只要檢測到一個接收到的字符的MSB 位為
邏輯 1時UART_C2[RWU]即自動清除。
40.3.4 中斷和狀態標志
大部分邏輯概念描述與UART0 相同。
與 UART0不同的是:UART_S1[RDRF]標志位的清除方法不同。UART1、UART2 中
清 UART_S1[RDRF]是通過在 UART_[RDRF]置位的情況下讀 UARTxS1,之后再讀
UART_D來清除 RDRF。
與 UART0不同的是:IDLE 標志位的清除方法不同。UART1、UART2 中清 IDLE 是
通過在UART_S1[IDLE]被置位的情況下,讀UARTxS1,之后再讀UART_D來清除IDLE。
與UART0不同的是:UART1、UART2中增加了以下概念:“當使用輪詢時,該序列
很自然的滿足了正常過程中的用戶程序。如果硬件中斷被使用,UARTxS1 必須在中斷服
務例程(ISR)中被讀取。通常情況下,這是在ISR中完成從而來檢測接收是否錯誤,所
以順序可以自動滿足”。
40.3.5 DMA操作
在發送器中,TDRE 標志和 TC 可以配置為維護一個 DMA 傳輸請求。在接收端,標
志 RDRF、IDLE、LBKDIF可以配置為維護一個DMA 傳輸請求。下面的表顯示了配置位
的設置,要求要配置每個標記為DMA 操作。

當一個標志配置為一個DMA請求,它相關的DMA請求斷言,當標志被設置。當RDRF
或空閑標志 IDLE 被配置為一個 DMA 請求,清除機制對于先讀取 UART_S1 隨后讀
UART_D,并不會清除相關的標記。DMA 請求依然會有效,直到收到一個 DMA 操作完
成的指示。當收到這個指示,該標記位和相關的 DMA 請求標志位會被清除。如果 DMA
操作未能消除情況,必會造成DMA請求產生另一個請求。
40.3.6 額外的UART功能
40.3.6.1 8位、9位數據模式
邏輯原理與UART0 大致相同。
與 UART0 不同的是:UART1、2 無 10 位數據模式,且是通過設置 UART_C1[M]來
配置為 9 位數據模式的。對于發送數據緩沖器,這些位被存儲在 UART_C3[T8](UART0
存放在T8,T9中) 。對于接收器,這些位存放在UART_C3[R8](UART0存放在R8,R9
中) 。
40.3.6.2 停止模式操作
在處于所有的停止模式下,UART模塊的時鐘都將停止。在stop3④模式下,沒有UART
模塊寄存器會受到影響。因為時鐘停止了,只有在停止和VLPS⑤
40.3.6.3 循環模式
模式下,只要一退出停止
模式,UART模塊就會立即恢復。當有字符正在發送或接收時,軟件必須確保UART不會
進入停止模式。
完全與 UART0 相同,此外,在此模式下,UART1、UART2 中的接收引腳恢復到普
通 I/O 口引腳。
40.3.6.4 單線操作
完全與 UART0 相同,此外,在此模式下,UART1、UART2 中的接收引腳恢復到普
I/O  

42.4.3 使能TSI模塊
TSI 模塊可以再運行時實現全部的功能,等待和低功耗模式。TSI_GENCS[TSIEN]必
須被置位來使能在運行和等待模式下的 TSI 模塊。當 TSI_GENCS[STPE]位被置位,這便
允許TSI模塊在低功耗模式下工作。
42.4.4 軟件和硬件觸發模式
TSI 模塊允許軟件或硬件觸發來開始一次掃描。當一個軟件觸發被使能
(TSI_GENCS[STM]位被清零),TSI_GENCS[SWTS]位必須置 1 從而開始掃描電極通道,
該通道由 TSI_DADT[TSICH]決定。當一個硬件觸發被使能(TSI_GENCS[STM]位被置 1),
TSI_GENCS[SWTS]位清零,TSI將不會開始掃描直到硬件觸發達到時。硬件觸發因MCU
配置的而形式多樣,總的說來,RTC 溢出也可以作為一個事件。詳細的內容請參考芯片
配置章節。
42.4.5 掃描次數
TSI提供多重掃描功能。掃描的次數是由TSI_GENCS[NSCN]位來表示。掃描次數可
以是 1 到 32.之間任意的數。TSI_GENCS[NSCN]位被置零,則采用單獨掃描模式。16 位
計數器累加所有掃描值直到 NSCN 時間掃描完成并且使用者可以通過讀
TSI_DATA[TSICNT]來取得該累加值。當 DMA 傳送被使能,計數器值可以被 DMA 引擎
讀取出來。
42.4.5 時鐘設置
TSI模塊有著雙重晶振架構。在普通的應用中,參考晶振時鐘是TSI模塊唯一的時鐘
源。通過使用一個 16 位的計數器,參考時鐘是用來測量電極晶振的。參考晶振的頻率是
由當前電流源所決定的。具體情況可以參考電源流的章節。
輸出的電極晶振頻率實現由TSI_GENCS[PS]位進行分頻,分頻值可變,最大值是128
分之一。
42.4.7 參考電壓
論是電極晶振和參考晶振,TSI模塊提供了一個內部參考電壓。內部參考電壓可以工
作在低功耗模式下,甚至當MCU校準器部分斷電,作為低功耗觸摸感應很理想。
充放電不同的電壓是可配置的,通過設置 TSI_GENCS[DVOLT]位。下表展示了所有
的電壓差配置。請注意該表格不適用于噪聲模式,詳見噪聲模式章節。

42.4.8 電流源
TSI 模塊支持八種不同的電流源從 500nA 到 64μA。TSI_GENCS[EXTCHRG]位決定
了電極晶振的電流,以便對外部電極充放電。TSIGENCS[REFCHRG]位決定了參考晶振的
電流,而且取決于適用哪個內部參考時鐘。小電流源將會用更多的時間充放電,更適合探
測高精度的變化。大電流源花費更少的時間,被用來給大電極充電而且耗電更少。
TSI_GENCS[CURSW]位允許電流源交換,以便參考晶振和電極晶振使用相反的電流
源。當 TSI_GENCS[CURSW]被設置并且當前的電流源交換的TSI_GENCS[EXTCHRG]位
和 TSI_GENCS[REFCHRG]位仍然控制著相應的電流源,即是,TSI_GENCS[EXTCHRG]控
制當前參考晶振并且TSI_GENCS[REFCHRG]控制電極晶振電流。
42.4.9 掃描結束
作為一個掃描開始,[SCNIP]位設置表示掃描正在進行。當掃描完成后,[EOSF]位置位。
在[EOSF]被清零之前,  TSI_DATA[TSICN]中的值必須被讀出。如果 TSI_GENCS[TSIIEN]
位被置位而 TSI_GENCS[DMAEN]沒有被置位,一個中斷是提交給CPU 運行后處理立即。
如果它是運行在低功耗模式下,中斷也可以是可選的喚醒單片機執行ISR。當DMA功能是
通過設置 TSI_GENCS[TSIIEN]和 TSI_GENCS[ESOR]而被使能,只要掃描完成后,一個

DMA 傳輸請求會對DMA 控制器的數據移動,一般來說,DMA 引擎將獲取 TSI 轉換結果從
TSI_DATA寄存器、存儲到其他內存空間,然后刷新TSI掃描通道指數(TSI_DATA[TSICH])
為下一個循環做準備。當DMA 傳輸完成之后,TSI_GENCS[EOSF]會被自動清除。
42.4.10 超出范圍中斷
如果被使能,當觸發條件到達時,TSI 會立即掃描 TSI_DATA[TSICH]中的電極,在
GENCS[TSIIE]位置位并且GENCS[ESOR]位清除時,GENCS[OUTRGF]標志產生一個TSI
中斷請求。 根據這個配置,在掃描結束之后, TSI會把掃描結果存放在TSI_DATA[TSICHT],
如果GENCS[OUTRGF]被設置了,并且TSI_DATA[TSICHT]值超出 TSI_THRESHLD 寄存
器的值就會發出一個中斷請求。例如,如果在低功耗模式下,電極電容值不改變,那么將
不會引起中斷。不過,這種中斷模式并不支持噪聲的模式,
42.4.11 從低功耗模式中喚醒MCU
在低功耗模式,一旦通過TSI_GENCS[STPE]和TSI_GENCS [TSIIE],TSI可以通過單片
機的低功耗模式(停止、VLPS、VLLS 等)的上下限范圍內的掃描完成或中斷來喚醒 CPU,
也就是說,如果 TSI_GENCS[ESOR]被置位,最后的掃描完成喚醒 CPU,反之,溢出中斷喚醒
CPU。
42.4.12  DMA功能支持
只有當TSI_DATA[DMAEN]被置位時, DMA傳輸使能。一個DMA傳輸請求被允許,
當TSI_GENCS[EOSF]、TSI_GENCS[ESOR]和TSI_GENCS[TSIIE]被置位。然后芯片內直
接存儲器存取控制器檢測這個請求和之間傳輸數據的內存空間和TSI寄存器空間。在數據
轉移時,DMA  DONE 被允許用來自動清除 TSI_GENCS[EOSF]位。這個函數通常是使用
DMA 控制器在一個掃描結束事件中從 TSI_DATA[TSICNT]得到轉換結果,然后刷新通道
指數(TSI_DATA[TSICH])觸發器為下一個尋壞做準備。DMA 功能不可用于單片機在停止
模式。

42.4.13 噪聲檢測模式
噪聲檢測模式下的電路配置如下圖。這個模式可以檢測接觸時產生的較大的EMC噪
聲。我們通過MODE[3:0]來設置這個檢測模式。
在噪聲檢測模式,參考晶振的變化只有它的輸出將傳入計數器2,并且該計數器將通
過設置NSCN.2 ^(PS)得到最大值。 這樣說明晶振可以決定噪聲檢測模式的持續時間。
這個模塊的外部晶振也是可以改變的,而不是靠一個晶振電路實現射頻振幅檢測。這
個幅度檢測的閾值由DVOLT 位來設置。
下圖的Vmid電壓值是受一系列串聯電阻來調控的,其值等于V (mid) = (V(vp)+V(vm))

用一下的算法來確定噪聲水平:
(1)初始化 Rs = maxrs;Dvolt = minDv(設置其他配置)
(2)執行一個噪聲循環。
(3)如果TSIcounter < 3,請轉到第8 步
(4)如果Rs = minrs,轉到步驟 6。
(5)減少價值的rs轉到步驟2
(6)如果Dvolt = maxDv,去結束
(7)Dvolt增加價值。設置Rs = maxrs。  轉到步驟2
(8)如果 minrs Rs >,(減少值Rs、去結束)
(9)Rs = maxrs,減少Dvolt的值。
(10)  最終得到的值和Dvolt。
噪聲檢測模式的一個例子如下圖所示。如圖 TSI 是在電容模式下工作直到 30μs 的時
候,我們把他改變成噪聲檢測模式。在此模式下,觸摸電容板塊的偏差在 0.815  V 之內,
并且此觸摸電容板內的所有交流波形是由一個噪聲源外部集成電路觸發形成的。
規律如下圖所示,在噪聲檢測模式下,clkref 輸出的峰值,檢測到的峰值數量都可以被計
數統計或者直接數字模塊使用。clkext的輸出有著內部晶振輸出,這些輸出值可用于設置
最大噪聲檢測的時間窗口。

以下的波形圖展示了在噪聲檢測模式下的兩個操作:
•V(vp)和V(vm)閾值發生了 34.4μs的改變。
•由于這種這些串聯電阻改變了,所以振幅的噪聲波形也發生變化,其電阻值范圍是
184 kΩ(iext < 2:0 > = 011)和 32kΩ(iext < 2:0 > = 101)。

42.4.13.1 自動噪聲模式
該模式通過對 MODE[3:2]=11(噪聲模式 3)來設置。在這種模式下閾值遞增時,內部
IP 即使達到極點,也不會有影響噪聲電壓閾值。
如下圖所示,閾值比較輸出計數器和 DVOLT 控制位的值都增加了的話,DVOLT 閾
值也會相應的增加。該寄存器的四位設置為1111(= 15),計數器將會停止在這個最大值上。


完整的pdf格式文檔51黑下載地址(共577頁):
KL25 Reference Manual_Rev[3](中文譯本).pdf (13.61 MB, 下載次數: 59)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:753377 發表于 2020-5-16 16:13 | 只看該作者
Thanks for your sharing
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区在线电影 | 久久国产精品免费一区二区三区 | 国产欧美日韩一区二区三区在线观看 | 欧美视频第三页 | 亚洲欧美成人 | 欧美高清视频在线观看 | 91国内精精品久久久久久婷婷 | 国产在线观看网站 | 99这里只有精品视频 | 女同av亚洲女人天堂 | 亚洲国产aⅴ成人精品无吗 综合国产在线 | 国产精品久久久久久一区二区三区 | xx视频在线观看 | 亚洲一区二区三区免费在线观看 | 欧美色成人 | 久久综合九九 | 一级黄色夫妻生活 | 91在线网站 | 99精品久久| 中国一级大毛片 | 欧美在线视频一区二区 | 国产精品五月天 | 日韩日韩日韩日韩日韩日韩日韩 | 日韩精品一区二区三区视频播放 | 欧美一级二级视频 | 国产亚洲欧美在线视频 | 亚洲一区二区在线 | 国产高清一区二区 | 在线亚洲欧美 | 在线一区二区国产 | www国产成人免费观看视频,深夜成人网 | 毛片大全 | 伊人网综合在线观看 | 国产精品久久久久9999鸭 | 成人在线看片 | 精品欧美一区免费观看α√ | 伊人超碰 | 91视频a| 色婷婷久久久久swag精品 | 日韩色在线 | 亚洲 欧美 精品 |