由于操作过于频繁,请点击下方按钮进行验证!

SP2338串口扩展芯片在汽车行驶记录仪中的应用

利用一片SP2338则可以很好地解决这个问题。在由单片机组成的汽车行驶记录仪中,为了适应不同用户的需要,该记录仪需要配置串口打印、与上位机通信串口以及与GPS通信接口等三个以上(含三个)串口,直接利用单片机的功能无法满足这一需要。

 

1SP2338简介

 

SP2338串口扩展芯片能将普通的51系列单片机的一个串口扩展为三个独立的全双工串口,并且三个串口的波特率达到了9600bpsSP2338采用通用的协议1个起始位,8个数据位,1个停止位),同时,该芯片在与单片机相连时接口也非常简单。

 

SP2338共有四个串口,一个母串口,三个子串口,它们都是全双工的串行通信口,允许同时接收和发送数据。母串口与需要扩展的51单片机的串口相连,子串口与其他串口设备相连,这样就实现了只有一个串口的单片机可与三个串口设备相连。SP2338有两根发送地址线,两根接收地址线,用以选择发送串口和接收串口,见图1

 

 

当单片机要向串口设备发送数据时,其工作过程是:

 

1)先向SP2338的串口地址线ADRI0ADRI1送地址信号(ADRI0ADRI1=00子串口0ADRI0ADRI1=01子串口1ADRO0ADRO1=10子串口2);再向与自已相连的母串口的通信线上送数据;

 

2SP2338的母串口收到单片机串口送来的数据后就根据ADRI0ADRI1的状态,把数据送往相应的子串口;

 

3)该子串口再把数据送往相连的串口设备。

 

当串口设备向单片机发送数据时,其工作过程是:

 

1SP2338的某个子串口从串口设备接收到数据时,送给母串口;

 

2SP2338的母串口把该数据再送给单片机串口,同时在ADRO0ADRO1线上送出子串口的地址;

 

3)单片机根据SP2338接收地址线ADRO0ADRO1上的信号判定出由哪个串口设备发出的。

 

由于SP2338的每个串口都有自己的发送缓冲区和接收缓冲区,因此扩展后的三个串口就可以完全独立地同时通信,就好像单片机同时拥有三个串口似的,若一个单片机有两个串口,那么配上两片SP2338就可以扩展到6个串口。

 

SP2338每个子串口的波特率都可以达到9600bpsSP2338工作时需要配一个晶振,该晶振FOSC的频率与母串口的波特率有如下关系:

 

K=1920*Fosc

 

与子串口波特率的关系如下:

 

K=480*Fosc

 

因此,如果子串口采用9600波特率,根据以上公式,Fosc=20MHz。而母串口的波特率必须达到388400bps。这样与SP2338的母串口相连的单片机串口的波特率达到388400bps,若单片机采用非110592M的工作晶振,则波特率会有偏差,不过,SP2338允许波特率误差为25%。在我研制的汽车行驶记录仪中,系统采用的是24MHz的工作晶振,用定时器2作波特率发生器,并设:RCAP2H=0xFFRCAP2L=0xEC,可以正常通信。

 

由于某些单片机采用其他规格的晶振工作,达不到这么高的波特率,想把母串口的波特率降下来,则不仅仅是把单片机的波特率降下来,还要根据上面的公式,重新计算Fosc,把SP2338的工作晶振也换成合适的才行。

 

2SP2338在汽车行驶记录仪中应用

 

1)图2是硬件连接逻辑图

 

由于SP2338是单片机串口与其他串口设备的转接者,因此相对于单片机来说,SP2338Tx3与单片机的RXDM相连,SP2338Rx3要与单片机的TXDM相连。

 

 

2)软件实现

 

由于SP2338一上电就能正常工作,不需要任何初始化操作,因此不需要在软件中初始化。而SP2338的母串口与三个子串口是循回连续交换数据的,因此,

 

①当SP2338从串口设备接收到数据通过母串口送到单片机的串口线上时,单片机应及时把数据读走,并且判定ADRO0ADRO1的状态,否则容易造成数据的错误。因此在单片机上要用串口中断。

 

②当单片机向外部串口设备发送数据时,一定要按照先向子串口0发送一个字节的数据,再向子串口1发送一个字节的数据,再向子串口2发送一个字节的数据,再执行一条NOP命令的时序发送数据,依此循环。若外部的串口设备没有三个,则分别如下处理:

 

A.若上位机只需向一个子串口发送数据,先向该串口发送一个字节数据,再执行4条‘NOP’命令,其后再向该子串口发送第二个数据。

 

B.若上位机只需向两个子串口发送数据,则可以分别向两个串口发送一个字节的数据,再执行3NOP命令,再分别向这两个串口发送下一字节的数据。

 

串口中断流程图3所示。

 

 

3、结语

 

我在研制汽车行驶记录仪中使用了一片SP2338,把单片机一个串口扩展成三个全双工的串口,使汽车行驶记录仪可以与串行打印机、上位机和GPS等串口设备进行通信,符合国家GBT/19056-2003《汽车行驶记录仪》标准的相关规定,取得了满意的效果。


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。

网友评论 匿名:

分享到

相关主题