成都国腾微电子有限公司 GM8123 1 扩 3 的通用异步串口扩展芯片 数据手册 2006.6 成都国腾微电子有限公司 GM8123 GM8123 版本记录:2.3 当前版本时间:2006 年 6 月 新旧版本改动比较: 旧版 文档页数 当前版本 文档页数 11 14 增加封装机械尺寸、取消 DIP24 封装 14 14 修改读命令字操作的工作方式 14 14 修改输入高电平 VIH 的最小值 14 13 取消 SSOP 封装 主题(和旧版本相比的主要变化) 如果您有技术、交付或价格方面的任何问题,请联系成都国腾微电子有限公司的相关办公室或当地的代理 商,或访问我们的网站:www.gticc.com ,谢谢! 编制时间:2006 年 6 月 由成都国腾微电子有限公司发布 发布地点:成都 成都国腾微电子有限公司版权所有。 数据手册 第 1 页 共 13 页 2006 年 6 月 成都国腾微电子有限公司 1 GM8123 概述 GM8123 可以将一个全双工的标准串口扩展成 3 个标准串口,并能通过外部引脚控制串口 扩展模式:单通道工作模式和多通道工作模式,即可以指定一个子串口和母串口以相同的波特 率单一的工作,也可以让所有子串口在母串口波特率基础上分频同时工作。 该芯片工作在多通道模式下时,子串口能主动响应从机发送的数据,并由母串口发送给主 机,同时返回子串口地址。该模式使每个从机的发送要求都能被及时地响应,即使所有从机同 时有发送要求,数据也不会丢失,基本实现了主控单元和外设通讯的实时性。 该芯片母串口和子串口的工作波特率可由软件调节,而不需要修改外部电路和晶振频率。 该芯片的外部控制少,应用灵活,编程使用简单,适用于大多数有串口扩展需求的系统。 2 特征 ——采用写控制字的方式对芯片进行控制 ——各子串口波特率可调(统一调节) ——数据格式 10 位或 11 位可选 ——单通道模式下,最高波特率支持 20Mbps;多通道模式下,子串口最高波特率 38400bps ——子串口数:3 个 ——由一个引脚选择芯片的工作方式是单通道工作模式还是多通道工作模式 ——在单通道工作模式下,芯片工作无需初始化设置,工作串口由地址线控制选择 ——在多通道工作模式下,各子串口的波特率等于母串口波特率的 4 分频 ——在多通道工作模式下, 接收时地址线 SRADD1~0 向 MCU 返回接收子通道的地址, MCU 接收到母串口送来的数据后就可根据 SRADD1~0 状态判断数据是从哪一个子串口送来 的;发送时先由 MCU 选择子串口再向母串口发送数据 ——与标准串口通讯格式兼容,TTL 电平输出 ——宽工作电压:2.3~6.7V ——输出波特率误差小于 0.2%,输入波特率误差要求小于 2.8% ——每 bit 采样 16 次,提高数据正确性 ——输入地址引脚有 50~80KΩ Pull-Down 电阻,其它输入引脚有 50~80KΩ Pull-Up 电 阻(OSCI 除外) 3 封装及引脚功能说明 GM8123 提供多电源和单电源两种封装,并提供 DIP、SDIP、SOP、SSOP 等多种封装形式, 用户可根据各自系统的应用环境选择不同等级的封装,引脚排布见图 1 所示: 数据手册 第 2 页 共 13 页 2006 年 6 月 成都国腾微电子有限公司 GM8123 GND 1 24 VDD OSCI 1 20 VDD OSCI 2 23 MS OSCO 2 19 MS OSCO 3 22 STADD0 TXD1 3 18 STADD0 TXD1 4 21 STADD1 RXD1 4 17 STADD1 RXD1 5 20 NC TXD3 5 19 SRADD0 RXD3 6 18 SRADD1 NC 7 GM8123-I TXD3 6 RXD3 7 GM8123-S 16 SRADD0 15 SRADD1 14 RST NC 8 17 VDD TXD2 8 13 RXD0 VDD 9 16 RST RXD2 9 12 TXD0 GND 10 11 GND* TXD2 10 15 RXD0 RXD2 11 14 TXD0 GND 12 13 GND* 图 1 封装引脚排布图 该芯片的各引脚功能描述见表 1: 表 1 芯片引脚功能说明 引脚名 方向 说明 OSCO Out 振荡器输出; OSCI In 振荡器输入; TXD1 Out 子通道 1 的发送端口; RXD1 In 子通道 1 的接收端口; TXD2 Out 子通道 2 的发送端口; RXD2 In 子通道 2 的接收端口; TXD3 Out 子通道 3 的发送端口; RXD3 In 子通道 3 的接收端口; 电源地;带‘*’的 GND 引脚由于内部设计原因要求必须接地 GND TXD0 Out 母通道的发送端口; RXD0 In 母通道的接收端口; RST In 系统复位 SRADD1 In/Out 接收子通道地址 1; SRADD0 In/Out 接收子通道地址 0; STADD1 In 发送子通道地址 1; STADD0 In 发送子通道地址 0; MS In 模式选择,MS=1,单通道工作模式;MS=0,多通道工作模式; 地址线 STADD 为全‘0’时,MS 为命令字读写控制引脚,MS=1, 读命令字,MS=0,写命令字; 数据手册 第 3 页 共 13 页 2006 年 6 月 成都国腾微电子有限公司 电源电压; VDD 4 4.1 GM8123 芯片功能详细描述 单通道工作模式 当模式控制引脚 MS = 1 时,芯片工作在单通道工作模式下,单通道模式在一个时刻只允许 一组 RXD 和 TXD 与母串口进行通讯。芯片的地址线用于选择希望和母串口相连接的子串口, 外部 MCU 通过两根输入地址线和两根输出地址线选择指定和母串口连接的子串口。输入/输出 地址线可以不相同,则连接到母串口上的 RXD 和 TXD 可以属于不同的子串口。 注意:通讯时不能将 STADD 置为‘00’ 。 单通道工作模式各地址线定义如表 2: 表 2 单通道工作模式下地址线定义 STADD1 STADD0 01~11 SRADD1 SRADD0 定义 0 1 选择子串口 1 的 RXD 1 0 选择子串口 2 的 RXD 1 1 选择子串口 3 的 RXD 选择子串口 1 的 TXD 0 1 1 0 选择子串口 2 的 TXD 1 1 选择子串口 3 的 TXD 01~11 其时序如图 2 和 3 所示: 图 2 帧长为 10bits 时的时序图 数据手册 第 4 页 共 13 页 2006 年 6 月 成都国腾微电子有限公司 GM8123 图 3 帧长为 11bits 时的时序图 注:Tta:地址(SRADD/STADD)有效到输入数据有效的最小时间 Ttb:MS 有效到输入数据有效的最小时间 Ttd:数据从一口接收到另一口发送的最大延迟时间 4.2 多通道工作模式 当模式控制引脚 MS = 0 时,芯片工作在多通道工作模式下,多通道模式允许 3 个子串口同 时全双工地工作。在该工作模式下,芯片的地址线 STADD1~0 是输入口,由 MCU 控制选择希 望发送数据的子串口,地址线 SRADD1~0 是输出口,用于向 MCU 返回接收到数据的子串口地 址。 各地址线定义如表 3 和表 4 所示: 表 3 多通道工作模式下子串口发送地址线定义 STADD1 STADD0 定义 0 1 选择子串口 1 发送 1 0 选择子串口 2 发送 1 1 选择子串口 3 发送 表 4 多通道工作模式下子串口接收地址线状态 SRADD1 SRADD0 说明 0 1 当前接收到的数据是由子串口 1 接收的 1 0 当前接收到的数据是由子串口 2 接收的 1 1 当前接收到的数据是由子串口 3 接收的 说明:多通道工作模式下,在进行数据通讯前要对芯片进行工作方式设置,对帧格式和通 讯波特率进行设置。 (见工作方式设置) 在该模式下,各子串口波特率相同,母串口的波特率等于子串口波特率的 4 倍。比如设置 了子串口和外围设备的通讯波特率为 1200bps,则母串口波特率为 1200×4=4800bps。 数据手册 第 5 页 共 13 页 2006 年 6 月 成都国腾微电子有限公司 GM8123 母口接收子口发送流程详述 4.2.1 MCU 先向地址线 STADD1~0 置入希望发送数据的子串口地址,再通过 MCU 的 TXD 口向 母串口发送希望传输的数据。若需要对另一子串口发送数据,则需要 MCU 修改地址线 STADD1~0 的状态,此操作方法与单通道工作模式一样。母口接收子口发送时序图如图 4 所示。 注意:由于母口波特率是子口波特率的 4 倍,母口发送 4 帧的时间子口才能发送一帧,所 以若只需要对一个子口进行连续发送,则必须对母口发送进行延时操作,延时可采用延时程序 实现,也可通过对母串口发送无效数据来实现,具体方法为将地址线 STADD 置为全 0,然后对 母串口写 0x00。例如只需要对子串口 2 连续写两帧数据,则先向子串口 2 发送一帧数据,然后 将地址线置为 0,MCU 发送 3 个 0x00,然后再向子串口 2 发送第二帧数据,若不进行延时操作 或发送延时数据不为 0x00 将导致不可预料的结果。只向一个子串口连续发数据的时序如图 5 所 示。如果需要向所有子串口发送,则不需要延时操作,只需要依次向各个子串口发送即可。 图 4 母口(RXD0)接收时序图 注: Tad:地址有效到母口接收数据的起始位的最小时间 Tar:地址的最少保持时间 图 5 只向一个子串口连续发数据时序图 子口接收母口发送流程详述 4.2.2 GM8123 子串口可主动响应从机的发送要求,只要芯片工作在多通道模式下,子串口不需 要控制就可以主动接收从机送来的数据,同时由母串口发送给主机,并将 SRADD1~0 置成该子 串口地址,主机接收到这帧数据后,可通过对 SRADD1~0 的检测判断该数据来自哪一个子串口, 从而对这帧数据进行相应处理。芯片内部采用对各子串口顺序检测的方式,即先检测子串口 1, 再检测子串口 2,直到子串口 3,先检测的子串口有数据则先发送,无数据就检测下一子串口。 子口接收母口发送时序图如图 6 所示: 数据手册 第 6 页 共 13 页 2006 年 6 月 成都国腾微电子有限公司 GM8123 图 6 子口接收母口发送时序图 注:Tda:一帧数据发送结束,对应子口地址保持最小时间 4.3 外部复位功能 外部 MCU 可以通过向 RST 引脚产生一个低电平使该芯片复位,复位信号在外部电平拉高 后内部还将延时 200ms,复位后芯片内部所有 BUFFER 和寄存器内的数据都将被清零。复位后 芯片命令字寄存器的默认状态参见表 5; 表 5 命令字寄存器的默认状态 参数名 默认状态 BR2~0 000(1200bps) FL 1(11bit 一帧) 注:该芯片不具备上电复位功能,用户在使用前必须通过复位引脚对芯片进行复位。 4.4 芯片的工作方式设置 芯片的工作方式设置包括串口帧格式设置和通讯波特率设置。芯片进行工作方式设置时, MS 为‘0’ 、STADD1~0 为‘00’时写命令字,MS 为‘1’ 、STADD1~0 全为 0 时读命令字。此 时芯片的帧格式和母串口工作波特率与上一次进行数据通讯时一致,比如上一次通讯采用 10bit 一帧的格式,母串口波特率为 9600bps,则写/读命令字也采用同样的帧格式和波特率(注意: 复位后的帧格式为 11bit,母串口波特率为 4800bps) 。完成命令字的设置之后,必须将 STADD1~0 置为非全 0 的值后,设置才生效,此时才能按设置的格式进行数据通讯。 在单通道工作模式下,无需进行命令字设置,并且已设置的命令字不起作用,母口与对应 的子通道可直接进行数据通讯,母口与对应的子通道的波特率、帧长都一样,即在 MS=1 时, 芯片的母口与对应的子通道直通。所以,用户若需要从多通道模式下转入单通道模式下工作, 则必须等待 GM8123 的通讯完成之后才能将 MS 置 1。 进行工作方式设置时可将写入的命令字通过 TXD0 返回给 MCU,以保证初始化可靠,即进 行读命令字操作。读命令字时地址线 SRADD 将向 MCU 返回命令字寄存器地址‘00’ ,此方式 和多通道模式下子串口接收数据相同,MCU 可根据地址区别接收到的数据是子口数据还是命 令字。 具体设置方法为:将地址线 STADD1~0 全置为‘0’ ,外部 MCU 通过母串口写入控制命令 对芯片进行设置。设置流程参见图 7: 数据手册 第 7 页 共 13 页 2006 年 6 月 成都国腾微电子有限公司 GM8123 置地址线STADD1~0 为‘00’ MS置0 对母串口写命令字 进行功能设置 图 7 功能设置流程图 说明:1、先将地址线 STADD1~0 置为‘00’ 2、将 MS 置 0,选择写入命令字。 3、对母串口写命令字,该命令字的值为命令字寄存器相应位的设置值,但高 4 位必 须全为‘1’ ,以便和无效数据相区别。命令字寄存器的结构如图 8 所示: MSB * LSB * * * FL BR2 BR1 BR0 图 8 命令字寄存器结构 图 9 写、读命令时序 注:Tac:地址有效到发送命令字的最大时间 Tmc:MS 有效到开始传输命令字的最小时间 帧长的设置:将地址线 STADD1~0 全置为‘0’ ,外部 MCU 可以通过母串口写入特定的控制命 令对各串口进行帧长选择。帧长选择是将芯片所有串口设置成标准的 10 位一帧或 11 位一帧的 数据帧格式。 设置流程参见图 7,命令字寄存器结构参见图 8,其中 FL 是用来设置帧长的位,为‘0’表 示 10bit, ‘1’表示 11bit。 波特率的设置:在两种工作模式下,将地址线 STADD1~0 全置为‘0’ ,外部 MCU 可以通过母 串口写入特定的控制命令对串口工作波特率进行设置。设置流程参见图 7,命令字寄存器结构参 数据手册 第 8 页 共 13 页 2006 年 6 月 成都国腾微电子有限公司 GM8123 见图 8,其中 BR2~0 是用来设置波特率的位。 波特率设置命令字如下所述: 在多通道工作模式下,各子串口工作波特率相同,子串口波特率是设置的值,母串口波特 率是子串口波特率的 4 倍。比如,子串口的波特率被设置成 1200bps,则母串口的波特率为 4800bps。对应关系参见表 6。 表 6 多通道工作模式下波特率设置参照表(12MHz 晶振) BR2~0 000 001 010 011 100 波特率 子 串 口 : 1200bps 母 串 口 : 4800bps 子 串 口 : 2400bps 母 串 口 : 9600bps 子 串 口 : 4800bps 母 串 口 : 19200bps 子 串 口 : 9600bps 母 串 口 : 38400bps 子 串 口 : 19200bps 母 串 口 : 76800bps 表 6 中列出的命令字寄存器设置值与波特率的对应关系是在 12MHz 晶振条件下的值,晶振 频率最高支持 24MHz,其他晶振条件下命令字寄存器设置值与波特率的对应关系参考波特率计 算公式,波特率计算公式为: x 子串口波特率=1200*2 *f/12,其中 x 等于命令字寄存器中 BR2~0 的值。 5 5.1 参数指标 芯片极限值 电源电压 -0.5 ~ 7V 输入电压 -0.5 ~ VCC + 0.5V 输出电压 -0.5 ~ VCC + 0.5V 贮存温度TSTG -65 ~ +150℃ 工作温度TA -50 ~ +120℃ 最大功耗 800mW 5.2 推荐工作条件 表 7 推荐工作条件 5.3 符 号 参 数 最 小 最 大 单 位 VCC 电源电压 2.3 6.7 V VI 输入电压 0 VCC V VO 输出电压 0 VCC V TA 工作温度 -40 +85 ℃ 最大值 单位 测试条件 0.8 V VCC=5V f=12MHz 静态特性 表8 参数符号 最小值 输入低电平 输入高电平 数据手册 静态特性参数 典型值 3.5 V 第 9 页 共 13 页 2006 年 6 月 成都国腾微电子有限公司 输入漏电流 ±0.1 uA 输出低电平 0.6 V 输出高电平 5.4 GM8123 4.5 -40 ~+85℃ V 工作电流 10 I/O 口驱动电流 10 mA 12 mA 动态特性 表9 时间特性参数 参数符号 最小值 典型值 最大值 单位 晶振频率 f 3 12 24 MHz Tta 30 ns Ttb 50 ns Ttd 30 ns VCC=5V -40 ~+85℃ Tad 0 ns Tar τ/8 ns Tda 4τ ns 2τ Tac Tmc 测试条件 ns ns 50 注:τ=1/芯片工作波特率 6 产品选型指南 表 10 数据手册 产品型号列表 型号 封装 GM8123-SDP DIP20 GM8123-SSO SOP20 GM8123-ISP SDIP24 GM8123-ISO SOP24 第 10 页 共 13 页 型号说明 单电源封装 多电源封装 2006 年 6 月 成都国腾微电子有限公司 7 7.1 GM8123 机械尺寸 DIP20 封装 单位:mm(mil) 7.2 SOP20 封装 单位:mm(mil) 数据手册 第 11 页 共 13 页 2006 年 6 月 成都国腾微电子有限公司 7.3 GM8123 SDIP24 封装 单位:mm(mil) 7.4 SOP24 封装 单位:mm(mil) 数据手册 第 12 页 共 13 页 2006 年 6 月