基于DragonBoard 410c的异步串口扩展芯片GM8125应用一
前言:有的时候,我们用的模块都是串口通讯,但是往往开发板的串口不够使用。例如DragonBoard 410c就只有两个串口提供使用,有时候真觉得不够用(GPS模块、TTS模块、语音识别模块、串口液晶屏模块、串口继电器模块、GPRS模块,等等),故我在万能的淘宝上找到一个串口扩展模块以供这么多的串口通讯的设备。一、GM8125简介GM812X 系列串口扩展芯片可为用户提供最简单和
前言:
有的时候,我们用的模块都是串口通讯,但是往往开发板的串口不够使用。例如DragonBoard 410c就只有两个串口提供使用,有时候真觉得不够用(GPS模块、TTS模块、语音识别模块、串口液晶屏模块、串口继电器模块、GPRS模块,等等),故我在万能的淘宝上找到一个串口扩展模块以供这么多的串口通讯的设备。
一、GM8125简介
GM812X 系列串口扩展芯片可为用户提供最简单和高性能的通用串口扩展方案, 该系列芯片子串口最高波特率达 38400bps。 该芯片提供两种工作模式, 用户可根据需要灵活选择。 该芯片母串口和子串口的工作波特率可由软件调节, 而不需要修改外部电路和晶振频率。芯片的外部控制少, 应用灵活, 编程使用简单, 适合于大多数需要多串口扩展的应用场合。
1.特性:
—— 采用写控制字的方式对芯片进行控制
—— 各子串口波特率可调( 统一调节)
—— 数据格式 10 位或 11 位可选
—— 单通道模式下, 最高波特率支持 20Mbps; 多通道模式下, 子串口最高波特率 38400bps
—— 子串口数: 5 个
—— 由一个引脚选择芯片的工作方式是单通道工作模式还是多通道工作模式
—— 在单通道工作模式下, 芯片工作无需初始化设置, 工作串口由地址线控制选择
—— 在多通道工作模式下, 各子串口的波特率等于母串口波特率的 6 分频
—— 在多通道工作模式下,接收时地址线 SRADD2~0 向 MCU 返回接收子通道的地址,MCU
接收到母串口送来的数据后就可根据 SRADD2~0 状态判断数据是从哪一个子串口送来
的; 发送时先由 MCU 选择子串口再向母串口发送数据
—— 与标准串口通讯格式兼容, TTL 电平输出
—— 宽工作电压: 2.3~6.7V
—— 输出波特率误差小于 0.2%, 输入波特率误差要求小于 2.8%
—— 每 bit 采样 16 次, 提高数据正确性
—— 输入地址引脚有 50~ 80KΩ Pull-Down 电阻, 其它输入引脚有 50~ 80KΩ Pull-Up 电
阻( OSCI 除外)
SX-UART-KA模块可以将一个全双工的标准串口扩展成5个标准串口,并能通过外部引脚控制串口扩展模式:单通道工作模式和多通道工作模式,即可以指定一个子串口和母串口以相同的波特率单一的工作,也可以让所有子串口在母串口波特率基础上分频同时工作。 该模块工作在多通道模式下时,子串口能主动响应从机发送的数据,并由母串口发送给主机,同时返回子串口地址。该模式使每个从机的发送要求都能被及时地响应,即使所有从机同时有发送要求,数据也不会丢失,实现了主控单元和外设通讯的实时性。 该模块母串口和子串口的工作波特率可由软件调节,而不需要修改外部电路和晶振频率。 该模块应用灵活,编程使用简单,适用于大多数有串口扩展需求的系统。
2.工作模式
a.单通道工作模式
当模式控制引脚 MS = 1 时, 芯片工作在单通道工作模式下, 单通道模式在一个时刻只允许
一组 RXD 和 TXD 与母串口进行通讯。 芯片的地址线用于选择希望和母串口相连接的子串口,
外部 MCU 通过三根输入地址线和三根输出地址线选择指定和母串口连接的子串口。 输入/输出
地址线可以不相同, 则连接到母串口上的 RXD 和 TXD 可以属于不同的子串口。
注意: 通讯时不能将 STADD 置为‘ 000’。
b.多通道工作模式
当模式控制引脚 MS = 0 时, 芯片工作在多通道工作模式下, 多通道模式允许 5 个子串口同时全双工地工作。 在该工作模式下, 芯片的地址线 STADD2~0 是输入口, 由 MCU 控制选择希望发送数据的子串口, 地址线 SRADD2~0 是输出口, 用于向 MCU 返回接收到数据的子串口地址。
各地址线定义如表 3 和表 4 所示:
说明: 多通道工作模式下, 在进行数据通讯前要对芯片进行工作方式设置, 对帧格式和通讯波特率进行设置。( 见工作方式设置)在该模式下, 各子串口波特率相同, 母串口的波特率等于子串口波特率的 6 倍。 比如设置了子串口和外围设备的通讯波特率为 1200bps, 则母串口波特率为 1200× 6=7200bps。
更多推荐
所有评论(0)