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

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

3天内不再提示

使用MxTNI的串行端口

星星科技指导员 来源:ADI 作者:ADI 2023-03-01 16:41 次阅读

本应用笔记涵盖了在MxTNI™上开发串行应用的硬件和软件方面。在某些情况下必须使用特殊方法。本应用笔记讨论了其中的每一个,以及它们与内部和外部串行端口的关系。还包括关于使用外部串行端口所需硬件的讨论。

介绍

许多设备使用串行端口作为与其他电子设备通信的手段 - 从个人计算机和调制解调器等非常著名的示例到制造和工业自动化设备。事实上,对于许多人来说,串行端口提供了与外界通信的唯一机制。这些设备没有直接参与更大的计算机网络的手段。因此,弥合串行设备与联网主机之间的通信鸿沟是Maxim微型网络接口(MxTNI)技术最受欢迎的应用之一。本应用笔记涵盖了在MxTNI上开发串行应用的硬件和软件方面。

MxTNI 主板型号 390 (TBM390) 的 MxTNI 运行时环境最多可以支持四个串行端口。MxTNI 板 400 型 (TBM400) 支持五个串行端口。串行端口通过 指定。、 使用的 UART 集成在 MxTNI 的微控制器中,称为“内部”串行端口。UART使用的UART需要一个专用的外部双UART芯片。这些被称为“外部”串行端口。

内部串行端口

由于 serial0、serial1 和 serial4 使用内部 UART,因此它们的效率更高。内部串行端口驱动程序不必执行几乎那么多的工作即可从UART加载或卸载数据。但是,内部串行端口在配置选项方面受到一定限制。支持的串行字符配置包括:

8 个数据位,1 个停止位,无奇偶校验(默认)

8 个数据位,1 个停止位,具有奇偶校验(仅奇数/偶数)

7 个数据位,2 个停止,无奇偶校验

7 个数据位,1 个停止,具有奇偶校验(仅奇数/偶数)

如果使用内部端口,则无法使用仅使用 5 或 6 个数据位或 1.5 个停止位的配置。然而,这很少引起实际关注。列出的选项允许内部端口与最常见的串行设备通信。内部端口还支持 XON/XOFF 流量控制。但是,一组硬件握手线在所有内部端口之间共享。这意味着一次只有一个端口可以使用 RTS/CTS 流量控制。默认情况下,serial0 不拥有硬件握手信号。使用 TINIOS 1.0x,可以使用类中定义的方法更改此所有权。TINIOS 1.1x 应用程序必须使用 setSerial 方法作为第一个参数

public static boolean setRTSCTSFlowControlEnable(int portNumber, boolean enable)
	throws UnsupportedCommOperationException
public static int setSerial(int cmd, int port, boolean arr)
	throws UnsupportedCommOperationException

端口号必须指定一个内部串行端口(0、1 或 4)。如果是,则硬件握手信号将专用于用作指定串行端口的硬件握手信号。如果是,则信号可以自由地作为通用TTL I/O与类一起使用。

使用 时还需要记住几点。首先,默认情况下专用于与外部1-Wire®线路驱动器通信的任务。如果您的MxTNI硬件实现不需要(或支持)使用外部1-Wire适配器,则可以回收使用通用串行端口。要在 TINIOS 1.0x 中重写 的默认用法,应用程序必须调用类中定义的方法。对于 TINIOS 1.1x,应使用该方法,并将 作为第一个参数。

public static final void enableSerialPort1() 
public static int setSerial(int cmd, int port, boolean arr) 
	throws UnsupportedCommOperationException

此选项在系统引导后仍然存在。如果使用TBM390,则还需要禁用DS2480B 1-Wire驱动器。这是通过将信号接地(SIMM 连接器的引脚 26)来实现的。关于 ,要记住的另一件事是,它不支持低于 2400bps 的任何数据速率。与现代串行设备通信时,这通常不是问题。EN2480serial1

外部串行端口

在使用外部串行端口之前,必须添加必要的硬件。外部串行端口由五个模块组成:DUART、RS-232电平转换器、中断电路、解码逻辑和一组去耦电容。下图显示了可与 E10 插座板一起使用的每个模块的一些示例电路。还包括用于这些电路的材料清单。

poYBAGP_D6CAJhG9AABK1-mH5-k483.gif

图1.解码电路。

pYYBAGP_D6GATd_eAAAeF_CocTs811.gif

图2.去耦电容器。

poYBAGP_D6KAavZTAABs0Tg_X-I079.gif

图3.中断电路。

poYBAGP_GgaAAS07AAD35aQJJcQ271.png

图4.DUART 和 RS-232 驱动程序。

Component Description Package
C9–C13, C8, C16, C18, C19, C21–C25, C26, C31–C34 0.1µF 1206
C14 22pF 1206
C15 22pF 1206
C17 470pF 1206
J18, J19 10-pin, 0.1 center header connector
R4, R5, R21 10kΩ 1206
R7 1.5kΩ 1206
R8 1MΩ 1206
U2 74AC02 14-pin SO
U3 74AC32 14-pin SO6
U6, U9 DS229 20-pin TSSOP
U7 National DS14C89A
U8 National PC16552D 44-PLCC
U10 74AC138 16-pin SO
Y1 3.6864MHz HC49

添加硬件后,必须使用类中的方法(TINIOS 1.0x)或方法(TINIOS 1.1x)启用外部串行端口。

public static void setExternalSerialPortEnable(int portNum, boolean enable) 
public static int setSerial(int cmd, int port, boolean arr) 
	throws UnsupportedCommOperationException

端口号必须指定其中一个外部端口(2 或 3)。启用值 true 允许使用外部串行驱动程序。由 建立的设置在系统引导期间保持不变。

外部串行驱动程序允许灵活地将外部UART硬件映射到MxTNI的内存空间。外部 UART 的默认基址为 0x380020。可以使用 中的方法 (TINIOS 1.0x) 或 setSerial 方法 (TINIOS 1.1x) 覆盖此位置。

public static void setExternalSerialPortAddress(int portNum, int address) 
public static int setSerial(int cmd, int port, boolean arr) 
	throws UnsupportedCommOperationException

端口号必须指定其中一个外部端口(2 或 3)。地址是指内存映射中使用的基本(或最低)地址。由 建立的设置在重新启动后仍然存在。

最后,如果内部串行端口的可能配置受到限制,则外部串行端口支持可以使用 Java™ 通信 API 实现的所有配置,但 XON/XOFF 流控制除外。

MxTNI 运行时环境,以及slushserial0

在开发使用串行通信的应用程序时,还需要记住其他一些事项。当MxTNI启动时,它以115,200bps的数据速率传输进度消息。这可能会导致某些嵌入式串行设备混淆,因为数据是未经请求的,并且传输速度可能与设备配置为接收数据的速度不同。TINIOS 1.0x 应用程序可以使用类中的方法禁用引导进度消息。TINIOS 1.1x 应用程序必须使用该方法。

public static final void setSerialBootMessagesState(boolean on) 
public static int setSerial(int cmd, int port, boolean arr) 
	throws UnsupportedCommOperationException

串行启动消息状态在系统启动期间是持久的。

MxTNI 的默认外壳 也用于传输状态消息并允许用户登录。要禁用串行服务器并防止 slush 在启动过程中抖动,应从文件中删除行 “”。这将防止在 上喋喋不休。如果希望能够在不禁用 的串行服务器的情况下使用,则可以在类中使用该方法。

public static void setConsoleOutputEnabled(boolean set)

使用 equal to 调用此方法将指示以静默方式启动,以免干扰可能连接到的任何设备。

最后要注意的是,不需要采取任何特殊操作来强制 的串行服务器释放,以便另一个应用程序可以访问它。每当另一个应用程序请求时,将自动放弃其所有权。只需确保在尝试打开端口时指定足够的超时值(五秒通常足够大)。

结论

除了这里提到的几种方法外,MxTNI上的所有串行端口编程都可以使用Java Communications API中定义的技术来完成。这为开发人员提供了一种使用MxTNI构建串行应用程序的简单标准方法。这些应用程序将允许MxTNI与各种串行设备连接,包括那些从未打算成为更大网络一部分的设备。

审核编辑:郭婷

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

    关注

    48

    文章

    6812

    浏览量

    147660
  • 调制解调器
    +关注

    关注

    3

    文章

    821

    浏览量

    38389
  • uart
    +关注

    关注

    22

    文章

    1159

    浏览量

    99981
收藏 人收藏

    评论

    相关推荐

    串行端口监控精灵是什么

    串口监控精灵CEIWEI CommMonitor 串行端口监控精灵是用于 RS232 / RS422 / RS485 端口监控的专业强大的系统实用程序软件。CEIWEI CommMonitor 监控
    发表于 12-21 08:09

    串行端口工作原理

    串行端口工作原理 串行端口工作原理 9针连
    发表于 07-24 00:21 1800次阅读

    4端口串行接口资料

    4端口串行接口PDF+源程序,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-22 11:21 0次下载

    使用mxtni串行端口

    外部串行端口 在使用外部串行端口之前,必须添加必要的硬件。外部串行端口包括五个模块:DUART、
    发表于 04-12 11:08 6次下载
    使用<b class='flag-5'>mxtni</b>的<b class='flag-5'>串行</b><b class='flag-5'>端口</b>

    串行端口完成COM端口和USB虚拟及嵌入式系统端口的应用第二版应用指南

    当通用串行总线(USB)在20世纪90年代末开始使用时,许多人预测串行端口很快就会过时。许多以前使用串行端口的外围设备都已切换到USB。但是
    发表于 01-04 15:34 0次下载
    <b class='flag-5'>串行</b><b class='flag-5'>端口</b>完成COM<b class='flag-5'>端口</b>和USB虚拟及嵌入式系统<b class='flag-5'>端口</b>的应用第二版应用指南

    ADSP-2181:16位、40 MIPS、5v、2个串行端口、主机端口、80 KB RAM数据表

    ADSP-2181:16位、40 MIPS、5v、2个串行端口、主机端口、80 KB RAM数据表
    发表于 05-12 20:00 7次下载
    ADSP-2181:16位、40 MIPS、5v、2个<b class='flag-5'>串行</b><b class='flag-5'>端口</b>、主机<b class='flag-5'>端口</b>、80 KB RAM数据表

    并行端口串行端口的区别在哪里?求解

    串行端口称为串口,也称为串行通信接口,即COM端口
    的头像 发表于 06-09 15:34 4442次阅读

    串行端口3F8/IRQ4是什么

    串行端口3F8/IRQ4是I/O端口地址,它们是串口2的设置,指定内建指定内建串行插座1为COM1,且使用3F8地址/IRQ4(默认值)。
    的头像 发表于 10-18 16:25 9795次阅读

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

    MAXQ610微控制器提供两个标准的USART串行端口。异步模式1是MAXQ610串行端口支持的模式之一,可用于与PC COM端口和许多其他
    的头像 发表于 02-20 13:42 576次阅读

    使用高速微型的串行端口

    Maxim DS80C320和其他高速微控制器具有两个相同的串行端口。本应用笔记向用户介绍微控制器中使用的通用同步/异步接收器/发送器(USART)。应用笔记讨论了波特时钟源、轮询和中断模式、波特率生成、异步10位操作和双串行
    的头像 发表于 02-21 10:17 542次阅读
    使用高速微型的<b class='flag-5'>串行</b><b class='flag-5'>端口</b>

    使用高速微型的串行端口

    模拟DS80C320和其他高速微控制器具有两个相同的串行端口。本应用笔记向用户介绍微控制器中使用的通用同步/异步接收器/发送器(USART)。应用笔记讨论了波特时钟源、轮询和中断模式、波特率生成、异步10位操作和双串行
    的头像 发表于 06-13 14:52 308次阅读
    使用高速微型的<b class='flag-5'>串行</b><b class='flag-5'>端口</b>

    在设计中扩展串行端口的入门知识

        即使USB出现,串行端口也不会消亡。对于术语“串行端口”,我们通常指的是或多或少符合RS-232 标准或相应的TTL 信号的硬件。      串口 在软硬件集成初期易于调试。即
    的头像 发表于 08-18 17:25 305次阅读

    在设计中扩展串行端口的入门知识分享

    即使USB出现,串行端口也不会消亡。对于术语“串行端口”,我们通常指的是或多或少符合RS-232 标准或相应的TTL 信号的硬件。
    的头像 发表于 08-18 17:24 1219次阅读
    在设计中扩展<b class='flag-5'>串行</b><b class='flag-5'>端口</b>的入门知识分享

    串行端口收发器的作用

    串行端口收发器是一种用于串行通信的设备,它的作用是将并行数据转换为串行数据,并将串行数据转换为并行数据。它在计算机和通信领域中起着重要的作用
    的头像 发表于 08-19 10:51 354次阅读

    什么是串行端口?有哪几种分类?

    什么是串行端口?有哪几种分类? 串行端口是计算机中用于进行数据传输的一种接口类型,通过单一的数据线逐位地传输数据。与串行
    的头像 发表于 02-02 15:40 754次阅读