UART多串口扩展器SP2338DP及其应用摘要2338是一种新颖的串口扩展器,可将一个高波特率的扩展为3个,解决了普通单片机串口太少的问题。文中给出该器件的主要特性、引脚说明及应用说明,并以8952单片机为例给出多串口扩展应用电路及相应软件。关键词串口扩展单片机1概述当前,以单片机为核心构成的智能化测控系统及电子产品不断涌现,为了满足数字化及智能化要求,许多外围电路功能模块、部件、器件及传感器也具备了串口通信功能。而现阶段的8位、16位、32位单片机却大部分仅提供一个串口,这样就很难满足系统中一方面要与具有功能的串口部件通信,另一方面又要与上位机通信的要求。利用2338多串口扩展器,可很好地解决此问题。2工作特性2338是采用低功耗工艺设计的多串口扩展芯片。该器件可将一个高波特率的串口扩展为3个较高波特率的串口,从而为系统需要多个串口时提供了很好的解决方案。该器件的主要特性如下*可将1个串口扩展为3个串口。*全双工异步工作4个串口都为全双工异步工作模式。*高工作速度1200——9600可由晶振频率设定任意非标准波特率。*波特率设置简单不需软件设置,只需更改输入时钟频率即可。*波特率误差小每个串口的数据输出波特率误差小于025*接收波特率范围宽要求每个串口数据波特率小于25即可。*数据传输误码率极低小于10-9接收的数据波特率误差小于2时。*具有节电模式进入节电模式后典型静态电流为05μ*可自动唤醒任意串口的接收端有数据出现时自动唤醒。*宽工作电源电压24——55*低工作电流典型工作电流为443封装及引脚说明该器件具有、和多种封装形式。下面以封装形式为例,给出元件的封装及引脚排列,如图1所示。引脚功能及说明见表1表12338引脚功能名称编号类型描述018串口3接收数据地址线0117串口3接收数据地址线101串口3发送数据地址线012串口3发送数据地址线108串口0数据接收09串口0数据发送111串口1数据接收110串口1数据发送213串口2数据接收212串口2数据发送36串口3数据接收37串口3数据发送16时钟输入15时钟输出3,4,14-正电源5-地4应用说明2338在使用时应遵循以下原则①2338适用于串行数据为8位的应用领域如数据位7为位,可选用2337器件;②串口0——2为较高波特率的串口子串口。③串口3为高波特率串口母串口,它的数据传输速率是子串口的4倍。如输入时钟频率为10,则串口3的波特率为19200,串口0——2的波特率为192004=4800;如果需要在串口0——2上获得波特率,则需按以下公式改变时钟频率即可。=4800×10其中≤20④1、10为下行地址线,1、0=00、01、10时,分别对应子串口0、1、2、1、0=11时,为串口3的地址;同时,它也是2338的命令数据口地址。⑤1、0为上行数据的串口地址线,1、0=00、01、10时,分别对应子串口0、1、2当上位机接收到由串口3发送来的数据时,立即读取地址线1和0的状态。根据1和0的状态即可判断出数据是由哪个串口发送来的。⑥芯片唤醒条件为向串口0——串口3的任意一个数据接收端口写入1个字节数据。由于2338的唤醒时间为25左右,故用于芯片唤醒的数据将不能被正确接收,因此应采用下面的芯片唤醒流程;先发送1个字节数据,用于唤醒芯片,延时25后再发送有效的数据。⑦为了快速可靠地传输批量数据,可以采用下面的方法,实现数据快速可靠的接收、发送。如上位机只需要向一个串口发送数据,则可向该串口发送完1个字节数据后再向地址11串口3的地址连续发送4个字节000其后向需要发送数据的串口发送1个字节数据,再向串口3发送4个字节000,按此方式循环发送即可。如果此位同需向两个串口分别发送两个数据块,则可分别向两个相应的子串口发送1个字节的数据后再向串口3发送4个字节的000,然后分别将两个数据块的下一个字节发送到两个子串口上。如果上位机有3个数据块需要分别向3个子串口发送,则可先向3个子串口分别发送1个字节的有效数据后再向串口3发送2个字节的000,然后循环向3个子串口发送有效的数据。注意写入串口3用于延时的数据只能是000,写入其它数据将产生可预料的结果。⑧233数据发送工作过程如下如果上位机需要将数据028由串口2发送出去,则需先将1置为1,0置为0,再将数据028通过上位机的口发送到串口3即可。⑨2338可执行的命令仅...