FlexIO 外设模块的主要特性 2 FlexIO 外设模块的主要特性 FlexIO 是指灵活的输入和输出外设 具有多种功能的高度可配置模块 允许模拟标准通信接口 支持多种协议和外设, 包括 : UART I 2 C SPI I 2 S LCD RGB CMT( 载波调制发送器 ) PWM/ 波形生

Similar documents
Freescale Semiconductor, Inc. Document Number: AN4872 应用笔记 Rev. 0, 03/2014 使用 KE06 上的四线式 I 2 C 接口 作者 :Ben Wang 1 简介 本应用笔记将描述使用 Kinetis E 系列 KE06 上的四线式

使用FlexIO模块模拟I2S总线主机

i.MX 6SoloX产品使用寿命估算

在Kinetis上使用DMA进行脉冲计数

ControlSafe TM ControlSafe ControlSafe CSC CPU ControlSafe CPU CPU CPU CPU CPU I/O I/O I/O I/O I/O I/O CPU CPU CSC CPU CSC CSC /ControlSafe ControlSaf

2 控 制 面 板 控 制 面 板 控 制 面 板 显 示 打 印 机 的 工 作 状 态, 并 控 制 打 印 机 的 基 本 操 作 图 2 ZT230 控 制 面 板 图 3 ZT220 控 制 面 板

图 内部结构图 8251 的外部引脚如图 所示, 共 28 个引脚, 每个引脚信号的输入输出方式如图中的箭 头方向所示

EEPROM Emulation Driver for the Kinetis E Series Microcontrollers Application Note

Kinetis KL1x – 通用超低功耗MCU

Applied Biosystems StepOne™ Real-Time PCR System Quick Reference Card for Installation


HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

基于中断和阻塞机制的MQX I2C驱动程序

Logitech Wireless Combo MK45 English

IBM 全 球 企 业 咨 询 服 务 部 中 国 五 矿 筑 起 人 力 资 源 信 息 大 厦 2 回 顾 篇 慎 选 巧 选 软 件 平 台 由 于 五 矿 集 团 下 属 的 很 多 公 司 是 最 近 几 年 才 加 盟 的 新 成 员 企 业, 这 些 公 司 所 应 用 的 人 力 资

Kinetis SDK K64 Users Guide

CSA SONET/SDH GR 253-CORE ITU-T G.703 ANSI T Ethernet IEEE Std ANSI X Fibre Channel Optical Fibre Channel Electrical U

DataNet_Solution2.ai

Chapter #

加 快 审 阅 和 标 记 工 作 流 程 Acrobat X 通 过 提 供 一 种 可 靠 的 文 件 格 式 扩 展 了 Office 和 SharePoint 的 协 作 服 务, 可 以 使 用 大 多 数 桌 面 应 用 程 序 生 成 这 种 格 式 并 使 用 Acrobat 或 免

Microsoft Word - Atmel-45136A-Pick-Best-Microcontroller-Strom-Eiland-Flodell_Article_CS

untitled

3. 企 业 债 券 : 公 司 债 券 : 5. 证 券 公 司 债 券 : 6. 企 业 短 期 融 资 券 : 7. 中 期 票 据 : 8. 资 产 支 持 证 券 : 9. 国 际 开 发 机 构 人 民 币 债 券 : 10. 中 小 非 金 融 企 业 集 合 票 据 例 题? 判 断

发行说明, 版


CANVIO_AEROCAST_CS_EN.indd

目 錄 使 用 者 介 面... 3 檔 案 頁 籤... 3 配 置... 4 狀 態 列... 4 功 能 區... 5 說 明... 5 文 件... 7 修 訂 雲 形... 7 標 註... 8 文 字... 9 幾 何 中 心 點 的 物 件 鎖 點 等 角 製 圖 格 線.

優質居所 攜手共建

Freescale Semiconductor Document Number: AN4985 应用笔记 Rev. 0,09/2014 使用 Kinetis K22F 和 KV31F MCU 的高速运行模式 本应用笔记针对最新一代 Kinetis K22F 和 KV31F 系列微控制器撰写, 旨在解

untitled

FPGAs in Next Generation Wireless Networks WPChinese

外围器件-new.cdr

Xear 3D USB CH-IN-2 SPKs 2 6 :



B _02_ch.indd

幻灯片 1

Panaboard Overlayer help


EMC® VNX® Series VNX8000™ Block 安装指南

Tel: , Fax: STR-15 STR bps 2400bps 4800bps 9600bps STR : 500mW 2.ISM 433

¬¬

第 十 一 期 2015 年 2 月 关 于 车 辆 购 置 税 征 收 管 理 有 关 问 题 的 公 告 ( 点 击 跳 转 至 全 文 ) 国 家 税 务 总 局 公 告 2015 年 第 4 号 关 于 电 池 涂 料 消 费 税 征 收 管 理 有 关 问 题 的 公 告 ( 点 击 跳

untitled






用户指南

衛 視 電 影 台 星 期 一 星 期 二 星 期 三 星 期 四 星 期 五 星 期 六 星 期 日 01:45 金 瓶 梅 01:25 鬼 眼 刑 警 03:20 黑 夜 之 鬼 鄰 03:25 紅 粉 佳 人 04:15 十 分 愛 04:55 我 的 失 憶 男 友 06:25 鹿 鼎 大

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

目 录 1. 简介 概览 CM 仿真器特性 CM 仿真器外观 入门指南 CM 仿真器虚拟端口功能 安装 CM 仿真器 USB CDC 驱动软件 测试 CM 仿真器虚拟端

Moto Z

Tel: , Fax: STR-30 STR bps 2400bps 4800bps 9600bps 19200bps 38400bps 76800bps


Microsoft Word - AN3291_Chinese.doc

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

使用 Adobe® Extension Manager CS4

PCM-3386用户手册.doc

CHCN_8-14_K.indd

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

untitled

<4D F736F F D20C7B6C8EBCABDCAB5D1E9CAD2B7BDB0B82E646F63>

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

2002 Shintoukai Chinese Academy. All rights reserved 2

使用 Adobe® Extension Manager CS4

試卷一

陳偉補習班環境介紹

目 录 欢 迎 使 用 产 品 介 绍 产 品 概 述 产 品 特 点 代 理 商 系 统 使 用 说 明 登 陆 基 本 信 息 分 销 商 管 理 帐 户

<30312E20B9EFB7C5AF66BEC7A4A4A175A5CDAC7ABE69B3B1A176AABABDD7AA522E706466>

<32372E20B077A8EBABE1B7CBA5DEA4A3A650B260ABD7B9EFAA76C0F8AFABB867AEDAABACC056B4D5AF66AABAC0F8AEC4B1B4AFC12E706466>

EC20系列PLC与WEINVIEW通讯手册


China Academic Journal Electronic Publishing House. All rights reserved.

China Academic Journal Electronic Publishing House. All rights reserved.


幻灯片 1


1. 請 先 檢 查 包 裝 內 容 物 AC750 多 模 式 無 線 分 享 器 安 裝 指 南 安 裝 指 南 CD 光 碟 BR-6208AC 電 源 供 應 器 網 路 線 2. 將 設 備 接 上 電 源, 即 可 使 用 智 慧 型 無 線 裝 置 進 行 設 定 A. 接 上 電 源

SA-CPCB81TRA-CN (Panduit INdustrial Automation Solutions).indd

电子技术基础 ( 第 版 ) 3. 图解单相桥式整流电路 ( 图 4-1-3) 电路名称电路原理图波形图 整流电路的工作原理 1. 单相半波整流电路 u 1 u u sin t a t 1 u 0 A B VD I A VD R B

Microsoft Word 箕æ−¥ï¼‹å®ı稿;

98年度即測即評學科測試與即測即評即發證技術士技能檢定簡章

微雪电子 Open103Z 实验手册 Open103Z 实验手册 目录 准备工作 BitIO-Pushbutton... 3 ADC+DMA... 4 CAN-LoopBack... 5 DAC... 6 DS18B GPIO_Key_L

untitled

xueshu004.doc

Page 2 of 12

<D2B0D0C4D3C5D1C52DC8CED6BEC7BF202D20BCC7CAC2B1BE>

國立臺東高級中學102學年度第一學期第二次期中考高一國文科試題

!! :!!??!!?!??!!!... :... :'?'?! :' ' :'?' :'?' :'!' : :? Page 2

Microsoft Word - Sunday

鎶ョ焊0

秘密大乘佛法(下)

untitled

SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input HR7PPSC HR7PPSD SOP SOP6 +input input HR7PERB SSOP0 7

Epson

?????????? M340

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC


Transcription:

Freescale Semiconductor, Inc. 应用笔记 Document Number: AN5034 Rev. 0, 01/2015 使用 FlexIO 模拟 UART 作者 :Pavel Krenek, 应用工程师 Freescale Roznov, 捷克共和国 1 简介 本应用笔记介绍如何使用通用外设模块 FlexIO 模拟 UART 总线 Freescale Kinetis KL43 系列首次引入 FlexIO 外设 FlexIO 是一个高度可配置模块, 能够模拟多种不同的通信协议 :UART I 2 C SPI I 2 S 等 内容 1. 简介.....................................1 2. FlexIO 外设模块的主要特性...................2 3. 所需硬件..................................2 4. UART 概述................................3 5. 通过 FlexIO 模块模拟 UART..................3 6. 软件实现..................................5 7. 结语.....................................8 8. 参考文献..................................9 单独的外设模块 FlexIO 不用于代替 UART 外设, 但可用作其他 MCU 外设模块 此外设的一个主要优势是能够让用户在 MCU 中直接构建自己的外设 此用例为 UART 模块创建了一个简单的基于独立接收器和发送器的软件驱动 在此演示中, 我们使用 Freescale 塔式系统 模拟 UART 总线的最大测试波特率为 115200 波特 2015 Freescale Semiconductor, Inc. All rights reserved.

FlexIO 外设模块的主要特性 2 FlexIO 外设模块的主要特性 FlexIO 是指灵活的输入和输出外设 具有多种功能的高度可配置模块 允许模拟标准通信接口 支持多种协议和外设, 包括 : UART I 2 C SPI I 2 S LCD RGB CMT( 载波调制发送器 ) PWM/ 波形生成 SWD( 单线调试 ) 在软件模拟的 GPIO 方法和确切的硬件外设模块之间创建互联 3 所需硬件 本文档介绍基于 Freescale 塔式系统的示例应用 这些基本的概念也可在用户的硬件上轻易实现 可使用以下塔式系统板轻松搭建此应用 : TWR-KL43Z48M TWR-ELEV ( 主板和次板 ) 或者, TWR-SER 此示例使用 FlexIO 模块进行 UART 通信, 具有以下参数 : 8 位通信 一个停止位 无奇偶校验 无硬件流控制 可利用 USB 标准的虚拟 CDC 层, 通过 OpenSDA 接口轻松实现与 PC 的通信 还可利用 TWR-SER 卡, 将 RS232 与 PC 直接连接 FlexIO 模拟的 UART 数据帧如图 1 所示 2 Freescale Semiconductor, Inc.

UART 概述 图 1. UART 8 位数据帧 4 UART 概述 通用异步接收器 / 发送器是一种计算机硬件, 用于实现并行和串行形式之间的数据转换 UART 通常配合 EIA RS-232 RS-422 或 RS-485 等通信标准使用 通用设计意味着数据格式和传输速度是可配置的 电气信号水平和发送方式 ( 如差分信号等 ) 由 UART 外部的驱动电路处理 UART 通常为一个独立的集成电路或集成电路的一部分, 用于计算机或外设器件串行端口之间的串行通信 UART 的发送和接收必须设为相同的位速度 字符长度 奇偶校验和停止位, 以实现正常操作 UART 接收方可检测出不匹配的设置并为主机系统设置 帧错误 标志位 ; 在异常情况下, UART 接收方将产生不稳定的残缺字符流并将其传输至主机 用于连接个人电脑和调制解调器的典型串口使用 8 个数据位 无奇偶校验和 1 个停止位 ; 对于这种配置, 每秒传输的 ASCII 字符数等于比特率除以 10 5 通过 FlexIO 模块模拟 UART 可使用两个定时器 两个移位器和两个引脚实现 UART 总线 使用一个定时器 一个移位器和一个引脚实现发送器 另外一个定时器 一个移位器和一个引脚用于接收器部分 发送器和接收器部分均可单独使用 起始和停止位插入由 FlexIO 外设自动处理 模拟外设的最大波特率为 115200 波特 软件实现中允许在中断或轮询模式下使用 UART 分隔和空闲字符需要软件干预, 并且没有在示例应用中实现 使用 DMA 控制器支持可配置的位顺序 ( 位交换缓冲区 MSB 在前 ) 和多次传输 FlexIO 模块不允许自动插入奇偶校验位 图 2 所示为 FlexIO 模拟 UART 的内部连接 Freescale Semiconductor, Inc. 3

通过 FlexIO 模块模拟 UART 图 2. UART 模拟框图 5.1 发送器 发送过程包括以下步骤 : 将移位器设为发送模式 将数据由移位器缓冲器加载到移位器中 将数据移位至引脚输出 起始和停止位在数据前后自动加载 使用定时器状态标志位发送下一个数据帧图 3 显示了 UART 发送器模拟原理 在轮询模式下, 将会检查定时器状态标志位, 并且当使能中断设置时, 该模块会生成中断 4 Freescale Semiconductor, Inc.

软件实现 图 3. FlexIO 模块上的 UART 发送器框图 5.2 接收器 接收过程包括以下步骤 : 将移位器设为接收器模式 接收到开始信号后, 移入数据 状态标志位表示可读取数据的时间 ( 产生中断 ) 在轮询模式下, 等待移位器状态标志位 存储到移位器缓冲器 读取位与移位器缓冲器交换 ( 无需任何逻辑操作 ) 图 4 显示了 UART 接收器模拟原理 在轮询模式下, 将会检查移位器状态标志位, 并且当使能中断设置时, 该模块会生成中断 图 4. FlexIO 模块上的 UART 接收器框图 6 软件实现 此示例应用基于使用软件裸跑驱动 该驱动分为两个单独的部分 : 主要的低层驱动用于外设初始化 移位器和定时器的基本设置, 并且支持用户对外设寄存器执行读和写操作 裸跑驱动的子层 Freescale Semiconductor, Inc. 5

软件实现 主要用于模拟当前外设 (UART) 该驱动可用于其他实例 应用可使用两个驱动层的函数 此外, 还实现了回调函数 图 5 显示了裸跑驱动以及针对 FlexIO 外设模块实现的所有驱动的结构 6.1 软件设置 图 5. FlexIO 裸跑驱动框图 在 SIM ( 系统集成模块 ) 中使能全部所需外设的时钟 高频内部参考时钟 (HIRC) 用作时钟源, 为系统提供 48 MHz 频率 初始化驱动包括两个函数 第一个针对传输侧 FLEXIO_UART_TxInit, 第二个针对接收侧 FLEXIO_UART_RxInit 所有配置值由文件 appconfig.h 提供 这些值用于 UART 波特率的计算, 但可以由用户定义替代 appconfig.h 的宏定义示例 : #define FLEXIO_UART_RX_BAUDRATE 9600 #define FLEXIO_UART_TX_BAUDRATE 9600 #define MCU_SYSTEM_CLOCK 2000000 6.2 FlexIO 高层驱动 API FLEXIO_UART_RESULT FLEXIO_UART_TxInit(FLEXIO_UART_CONFIG * pconfig, uint32_t shifteroutix, uint32_t timeroutix, uint32_t pintxix, uint32_t baudratetx, uint32_t flexioclk); 6 Freescale Semiconductor, Inc.

软件实现 FLEXIO_UART 模块 Tx 初始化函数 : shifteroutix - 发送移位器索引 timeroutix - 发送定时器索引 pintxix - 用于 Tx 信号的 FlexIO 引脚索引 baudrate - 所需的波特率 FlexIoClk - FlexIo 外设的时钟频率 返回初始化操作的结果 FLEXIO_UART_RESULT FLEXIO_UART_RxInit(FLEXIO_UART_CONFIG * pconfig, uint32_t shifterinix, uint32_t timerinix, uint32_t pinrxix, uint32_t baudraterx, uint32_t flexioclk); FLEXIO_UART 模块 Rx 初始化函数 : shifterinix - 接收和 ACK 移位器的索引 timerinix - 用于移位器寄存器计时的定时器索引 pinrxix - 用于 Rx 信号的 FlexIO 引脚索引 baudrate - 所需的波特率 FlexIoClk - FlexIo 外设的时钟频率 返回初始化操作的结果 FLEXIO_UART_RESULT FLEXIO_UART_PutStr(FLEXIO_UART_CONFIG * pconfig, const uint8 * str); FLEXIO_UART 模块写入字符串 : str - 字符串指针 返回写入操作的结果 FLEXIO_UART_RESULT FLEXIO_UART_SendBuffer(FLEXIO_UART_CONFIG * pconfig, const uint8 * pbuff, uint32 len); Freescale Semiconductor, Inc. 7

结语 FLEXIO_UART 模块写入数据函数 : pbuff - 输入缓冲区指针 返回写入操作的结果 uint8_t FLEXIO_UART_GetChar(FLEXIO_UART_CONFIG * pconfig); FLEXIO_UART 模块读取数据函数 : 返回中断模式中读取的数据字节 以下函数仅用于中断模式 : FLEXIO_UART_RESULT FLEXIO_UART_PutStr(FLEXIO_UART_CONFIG * pconfig, const uint8 * str); FLEXIO_UART 模块字符输出函数 : ch - 输入字符指针 返回写入操作的结果 FLEXIO_UART_SetCallBack(FLEXIO_UART_CONFIG * pconfig, FLEXIO_UART_CALLBACK pcallback); FLEXIO_UART 模块注册回调函数 : pcallback - 回调函数指针 ( 取消注册为 NULL) 注册回调函数的操作结果 执行如同函数调用 7 结语 本应用笔记介绍了可通过 Freescale Kinetis KL43 MCU 提供的 FlexIO 外设模块轻松实现的应用实例 通过创建的示例应用演示在使用飞思卡尔塔式平台的相同应用中,FlexIO 模拟 UART 和硬件 UART 模块的使用情况 本应用笔记以及应用软件可从飞思卡尔网站上获取 8 Freescale Semiconductor, Inc.

8 参考文献 飞思卡尔塔式系统 - freescale.com/tower FlexIO 模拟 I 2 S 总线主机应用笔记 TWR-KL43Z48M:Kinetis KL43 KL33 KL27 KL17 48 MHz MCU 塔式系统模块 - freescale.com/webapp/sps/site/prod_summary.jsp?code=twr-kl43z48m 参考文献 Freescale Semiconductor, Inc. 9

How to Reach Us: Home Page: freescale.com Web Support: freescale.com/support 本文档中的信息仅供系统和软件实施方使用 Freescale 产品 本文并未明示或者暗示授予利用本文档信息进行设计或者加工集成电路的版权许可 Freescale 保留对此处任何产品进行更改的权利, 恕不另行通知 Freescale 对其产品在任何特定用途方面的适用性不做任何担保 表示或保证, 也不承担因为应用程序或者使用产品或电路所产生的任何责任, 明确拒绝承担包括但不局限于后果性的或附带性的损害在内的所有责任 Freescale 的数据表和 / 或规格中所提供的 典型 参数在不同应用中可能并且确实不同, 实际性能会随时间而有所变化 所有运行参数, 包括 经典值 在内, 必须经由客户的技术专家对每个客户的应用程序进行验证 Freescale 未转让与其专利权及其他权利相关的许可 Freescale 销售产品时遵循以下网址中包含的标准销售条款和条件 : freescale.com/salestermsandconditions. Freescale, the Freescale logo, and Kinetis are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Tower is a trademark of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. ARM, the ARM Powered logo and Cortex are registered trademarks of ARM Limited (or its subsidiaries) in the EU and/or elsewhere. 2015 Freescale Semiconductor, Inc. 2015 飞思卡尔半导体有限公司 Document Number: AN5034 Rev. 0, 01/2015