0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用MAXQ串行驱动器开发应用

星星科技指导员 来源:ADI 作者:ADI 2023-03-03 13:47 次阅读

本应用笔记介绍如何使用MAXQ2000微控制器评估(EV)板上的MAXQ串行驱动器库开发应用。MAXQ串行驱动器可用于MAXQ的IAR嵌入式工作台和Rowley Associates的MAXQ交叉工作台®,这是使用C语言汇编语言的MAXQ应用的两个集成开发和调试环境。C语言示例代码演示了MAXQ串行驱动器的使用和限制,以及如何使用MAXQ串行驱动器实现RTS/CTS流控制。

MAXQ串行驱动器概述

MAXQ串行驱动器提供了一组C函数,使用户能够配置MAXQ UART进行串行通信。这些功能列在MAXQ2000评估板的源文件maxq_serial.h中。

MAXQ串行驱动器具有以下特性。

偶数、奇数和无奇偶校验。

独立的发送和接收内部缓冲区。这些缓冲区的大小是在编译时定义的。

非阻塞serial_write和serial_read例程。

一个 serial_isr() 函数,应由用户应用程序作为中断处理程序的一部分调用。它将奇偶校验计算为“每个配置”,并在串行线路上发送/接收数据。

支持应用程序级别的流控制。函数 serial_stopTx() 停止串行数据的传输,serial_restartTx() 重新启动串行传输。

MAXQ2000串行驱动器的源代码可

在此处

获得。通过修改一些配置参数,可以将驱动程序移植到其它MAXQ器件,如下所示。

maxq_config.h 包含特定于编译器的配置参数。修改文件中的以下行以适合您的设备和编译器: 以上两行指定驱动程序将针对IAR和MAXQ2000进行编译。要编译MAXQ的CrossWorks驱动程序,请按如下方式修改行:

// user configurable options here
#define COMPILER_IAR
#define DEVICE_MAXQ2000
// user configurable options here
#define COMPILER_ROWLEY
#define DEVICE_MAXQ2000
上述两行允许用户包含 IAR 或 CrossWorks 工具链的设备特定文件。maxq_serial.h 包含特定于驱动程序的配置参数:驱动程序缓冲区大小、串行端口号和晶体频率(以 Hz 为单位)。 更改以下代码以更改驱动程序缓冲区大小: 修改以下代码以指定要为其配置驱动程序的串行端口(SERIAL_PORT0用于串行端口 0,SERIAL_PORT1用于串行端口 1): 修改以下代码,更改评估板所用的晶体时钟。MAXQ2000评估板采用16MHz晶体:
#define RX_RNG_SIZE 256
#define TX_RNG_SIZE 256
// specify which serial port you are using
#define SERIAL_PORT0
#define XTAL_CLK 16000000             // 16,000,000Hz

硬件和软件要求

为了运行本应用笔记中提供的应用,需要MAXQ2000评估板、最小容量为5mA的+200V电源、带两个串行端口的PC(一个用于将应用下载到评估板上,另一个用于MAXQ应用与PC应用之间的通信)、直通串行电缆、MAXQ开发工具集(IAR嵌入式工作台或CrossWorks 1.0)。 以及 PC 上的 Java™ 运行时环境(包括 commApi 和 BlackBox 示例)。

硬件设置

MAXQ2000评估板应设置为与RTS/CTS流控制进行串行通信。跳线和 DIP 开关设置如下:

将开关 SW3 1-8 设置为关闭位置。

将开关 SW1 1、2、5 和 6 设置为关闭位置,将 SW3、4、7 和 8 设置为打开位置。

将开关 SW6、3 和 8 设置为打开位置,并将静止设置为关闭位置。

这些开关设置将MAXQ0评估板串行连接器的RTS、TXD0、RXD2000和CTS信号连接到微控制器,使SW4 DPST将微控制器的INT11信号拉至地。参见图1

JU1: connect Pins 1 and 2
JU2: connect Pins 1 and 2
JU3: connect Pins 1 and 2
JU4: open
JU5: closed
JU6: closed
JU7: closed
JU8: closed
JU9: closed
JU10: open
JU11: closed (The MAXQ2000 EV kit is powered by a JTAG interface
board which is powered by a +5V power supply.)

连接MAXQ2000评估板和PC串行端口之间的串行电缆。

pYYBAGQBigKAbL52AAARIvwNYN0943.gif


图1.MAXQ2000评估板的开关设置可实现与RTS/CTS流控的串行通信。

软件设置

下载演示软件。

安装开发工具集(IAR嵌入式工作台用于MAXQ,CrossWorks用于MAXQ)。

下载并安装 Java 运行时环境和 Java 通信 API。

在 Java 通信 API 发行版中运行 BlackBox 示例。如果这工作正常,那么您应该能够看到您的主机串行端口。

MAXQ串行驱动器入门

要开始使用开发工具,请查看两个应用笔记中的任何一个。关于MAXQ的Rowley CrossWorks,参见应用笔记3698:“Rowley CrossWorks和MAXQ2000评估板入门”,或者关于MAXQ的IAR嵌入式工作台,参见应用笔记3378:“IAR编译器和MAXQ2000评估板入门”。

在您的 PC 上执行 Java BlackBox 示例应用程序,并将其配置为 115200 波特、8 个数据位、1 个停止位和无奇偶校验。通过单击所选串行端口的“Xmt”复选框来启用 RTC/CTS 流控制。黑盒设置如图 2 所示。请注意,RTS 和 CTS 行为绿色,表示硬件流控制已关闭。

从之前下载的演示软件中,打开相应的项目 (.IAR的EWW和CrossWorks的.hzp)。编译应用并下载到MAXQ评估板。有关将应用程序下载到MAXQ的详细说明,请参见上述应用笔记。打开MAXQ评估板的电源,应该可以看到MAXQ的串行输出打印到BlackBox GUI上。在输入窗口中输入一些字符,并观察黑盒输出窗口中打印的字符相同。键控字符从PC传输到MAXQ评估板,然后回显到PC。MAXQ应用程序报告接收的字节数,该字节数应与发送字节数的BlackBox报告相匹配。

向MAXQ评估板发出停止发送字符的信号

单击黑盒 GUI 中的 RTS 文本。该事件向评估板发出停止发送字符的信号。请注意,黑盒中的打印停止。再次点击RTS文本,使MAXQ能够发送字符,并看到测试字符串继续更新。

向 PC 发出停止发送字符的信号

按下MAXQ评估板上的SW4开关。这表示PC(黑盒应用程序)停止发送字符。GUI 上的 CTS 文本应从绿色变为黑色。在黑盒应用程序中输入一些字符,并查看这些字符未回显。再次按下 SW4 开关,CTS 信号将变回绿色。之前键入的字符应回显。

poYBAGQBigOAShUAAABtcrULI_4594.gif


图2.要在电脑上运行的黑盒示例应用程序。

应用概述

文件 sample_serial.c 包含应用程序的主要例程和中断服务例程 (ISR),用于处理串行中断和外部中断。固件执行以下操作:

serial_init() 初始化串行驱动程序。

serial_setparameters() 为 115200/8/1/N 配置串行驱动程序。您可以根据应用需求配置这些参数。

配置外部中断 10(Int10 连接到 RTS 线路)和 11(SW6 #3 打开)。

启用模块 1(外部中断)和模块 2(UART)的中断。

启用全局中断。

通过 serial_read() 和 serial_write() 循环从/写入串行端口。

中断服务例程处理 RTS/CTS 控制流。(按下SW4按钮可置位或取消置位评估板的RTS线路;PC的RTS线路停止/重新启动串行传输。

局限性和发展问题

MAXQ串行驱动器不支持流量控制(软件/硬件)。应用程序负责实现流控制。本应用笔记中提供的示例应用描述了硬件(RTS/CTS)流控制。

提供的MAXQ串行驱动器针对MAXQ2000和16MHz晶体配置进行编译。改变晶体频率将改变驱动器的波特率计算。

MAXQ串行驱动器内部发送和接收缓冲器的大小在编译时固定为256字节。

结论

IAR和Rowley Associates提供的MAXQ编译器以及Maxim提供的库允许用C语言编写的应用访问MAXQ器件的电源和功能。MAXQ系列将使用户能够部署使用MAXQ UART的应用程序。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    51

    文章

    7308

    浏览量

    142958
  • 嵌入式
    +关注

    关注

    4982

    文章

    18281

    浏览量

    288464
  • 编译器
    +关注

    关注

    1

    文章

    1577

    浏览量

    48617
收藏 人收藏

    评论

    相关推荐

    MAXQ1850评估套件(EV kit)和面向MAXQ30的CrossWorks编译的设计方案

    本应用笔记介绍怎样针对MAXQ1850高性能、RISC、安全微控制开发、构建并调试应用程序。实例采用了MAXQ1850评估套件(EV kit)和Rowley Associates公司
    发表于 12-24 09:23

    新颖的串行控制步进电机驱动器

    新颖的串行控制步进电机驱动器
    发表于 08-17 16:59

    新颖的串行控制步进电机驱动器

    本帖最后由 eehome 于 2013-1-5 10:00 编辑 查看新颖的串行控制步进电机驱动器。希望有帮助
    发表于 12-12 21:29

    新颖的串行控制步进电机驱动器

    新颖的串行控制步进电机驱动器
    发表于 12-08 13:09

    USB收发的微控制电路MAXQ612相关资料下载

    MAXQ612采用LQFP64脚封装和TQFN44脚封装。为低功耗、16位MAXQ®低功耗、高吞吐率、16位RISC微控制串行外设包括两个通用同步/异步接收-发送
    发表于 04-19 07:37

    串行接口8位LED显示驱动器

    串行接口8位LED显示驱动器:MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个
    发表于 08-18 15:03 40次下载

    MAXQ2010提供LCD驱动器的16位混合信号微控制器

    MAXQ2010提供LCD驱动器的16位混合信号微控制器 The MAXQ2010 microcontroller is a low-power, 16-bit device
    发表于 10-01 12:02 521次阅读

    如何使用MAXQ串行驱动程序开发应用-How to Use

    Abstract: The application note demonstrates how to configure the MAXQ2000 microcontroller EV kit
    发表于 04-23 16:34 695次阅读
    如何使用<b class='flag-5'>MAXQ</b><b class='flag-5'>串行</b><b class='flag-5'>驱动</b>程序<b class='flag-5'>开发</b>应用-How to Use

    采用MAXQ2000微控制器和MAX6970 LED驱动器

    采用MAXQ2000微控制器和MAX6970 LED驱动器显示不同的LED排序 Abstract: This note shows an application circuit
    发表于 07-25 21:07 786次阅读

    一款串行接口的LED驱动器电路图

    本文介绍了MAX6969是一款串行接口的LED驱动器,可提供16个开漏、恒定电流吸收、额定5.5V的LED驱动器输出;采用25Mb、工业标准的4线串行接口对MAX6969进行控制。
    的头像 发表于 03-08 16:09 5032次阅读
    一款<b class='flag-5'>串行</b>接口的LED<b class='flag-5'>驱动器</b>电路图

    具有串行接口的LED显示驱动器参考设计

    电子发烧友网站提供《具有串行接口的LED显示驱动器参考设计.zip》资料免费下载
    发表于 09-07 09:44 2次下载
    具有<b class='flag-5'>串行</b>接口的LED显示<b class='flag-5'>驱动器</b>参考设计

    使用MAX6951/MAX6950 LED显示驱动器MAXQ2000微控制器通信

    MAXQ2000为高性能6951位RISC微控制器,集成SPI模块,提供LED驱动器和微控制器之间的简单接口。本应用笔记给出了MAXQ®汇编语言的示例代码,演示了如何使用MAXQ69
    的头像 发表于 02-20 10:16 798次阅读
    使用MAX6951/MAX6950 LED显示<b class='flag-5'>驱动器</b>与<b class='flag-5'>MAXQ</b>2000微控制器通信

    如何更新MAXQ串行转JTAG板中的固件

    本应用笔记列出了将固件加载到MAXQ串行转JTAG开发板上所需的步骤。本文中给出的步骤允许开发人员加载新固件并保持最新更改。®
    的头像 发表于 02-20 11:06 601次阅读
    如何更新<b class='flag-5'>MAXQ</b><b class='flag-5'>串行</b>转JTAG板中的固件

    使用MAXQ610微控制器上的串行端口

    MAXQ610微控制器提供两个标准的USART串行端口。异步模式1是MAXQ610串行端口支持的模式之一,可用于与PC COM端口和许多其他类型的传统设备通信。本应用笔记解释了
    的头像 发表于 02-20 13:42 573次阅读

    MAX6951/MAX6950 LED显示驱动器MAXQ2000微控制器的通信

    MAX6951/MAX6950 SPI LED驱动器简单易用的共阴极显示器驱动器,通过SPI串行接口连接微控制器。MAXQ系列微控制器集成了SPI模块,可通过SPI接口与LED
    的头像 发表于 06-16 15:34 573次阅读
    MAX6951/MAX6950 LED显示<b class='flag-5'>驱动器</b>与<b class='flag-5'>MAXQ</b>2000微控制器的通信