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

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

3天内不再提示

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

lcdz66 来源:雨飞工作室 2023-06-19 16:37 次阅读

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

1、SP2338简介

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

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

67209042-0e7a-11ee-962d-dac502259ad0.jpg

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

1)先向SP2338的串口地址线ADRI0、ADRI1送地址信号(ADRI0、ADRI1=00子串口0,ADRI0、ADRI1=01子串口1,ADRO0、ADRO1=10子串口2);再向与自己相连的母串口的通信线上送数据;

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

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

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

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

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

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

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

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

与子串口波特率的关系如下:K子=480*Fosc,

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

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

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

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

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

672e1906-0e7a-11ee-962d-dac502259ad0.jpg

2)软件实现

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

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

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

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

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

串口中断流程图3所示。

67463068-0e7a-11ee-962d-dac502259ad0.jpg

3、结语

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

审核编辑:汤梓红

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

    关注

    6029

    文章

    44480

    浏览量

    631589
  • gps
    gps
    +关注

    关注

    22

    文章

    2873

    浏览量

    165888
  • 串口
    +关注

    关注

    14

    文章

    1540

    浏览量

    75991
  • 记录仪
    +关注

    关注

    1

    文章

    445

    浏览量

    21648
  • SP2338
    +关注

    关注

    0

    文章

    2

    浏览量

    6776

原文标题:SP2338串口扩展芯片在汽车行驶记录仪中的应用

文章出处:【微信号:雨飞工作室,微信公众号:雨飞工作室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    多功能汽车行驶状态记录仪的设计

    ;p><font face="Verdana">摘要:介绍了一种多功能汽车行驶状态记录仪的主要功能及其硬软件设计,并针对其工作环
    发表于 11-26 17:13

    多功能汽车行驶状态记录仪的设计

    及通过RS232 串行记录仪进行数据读取;管理计算机用于对原始记录数据进行统计、报表、存储及查询。  记录仪是整个系统的核心,其主要功能如下:(1)可实时监测并
    发表于 01-21 15:32

    汽车行驶记录仪

    汽车行驶记录仪
    发表于 10-27 09:21

    汽车行驶记录仪的数据传输设计

    方式,通过RS232串行口记录仪和管理计算机之间建立通信链路,直接进行数据传输。这种传输方式容易实现,而且可靠性高,是汽车行驶记录仪国家标准要求的标准配置接口。但每次读取数据时都要建
    发表于 12-04 10:37

    如何利用嵌入式系统设计汽车行驶记录仪

    引言汽车行驶记录仪是能够记录和再现汽车行驶状态的一种数字式电子记录装置,它可以全程记录
    发表于 07-30 08:16

    SP2338汽车行驶记录仪中有哪些应用?

    SP2338是什么?SP2338汽车行驶记录仪中有哪些应用?
    发表于 05-12 06:10

    如何提高汽车行驶记录仪的抗干扰能力?

    汽车电器的电磁兼容设计汽车行驶记录仪的抗干扰设计线路板设计需注意的抗干扰问题
    发表于 05-13 06:43

    怎么实现多功能汽车行驶状态记录仪的设计?

    怎么实现多功能汽车行驶状态记录仪的设计?
    发表于 05-17 06:26

    汽车行驶记录仪在客车上的应用

    介绍汽车行驶记录仪在国内外的应用现状,针对公路客车的特点提出汽车行驶记录仪应用建议。关键词:汽车行驶记录
    发表于 07-25 15:16 26次下载

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

    1.SP2338简介SP2338串口扩展芯片能将普通的51系列单片机的一个串口
    发表于 05-16 09:19 3195次阅读
    <b class='flag-5'>SP2338</b><b class='flag-5'>串口</b><b class='flag-5'>扩展</b><b class='flag-5'>芯片在</b><b class='flag-5'>汽车行驶</b><b class='flag-5'>记录仪</b><b class='flag-5'>中</b>的应用

    汽车行驶记录仪USB HOST相关模块的设计

    汽车行驶记录仪USB HOST相关模块的设计 本文介绍了基于单片机和USB HOST接口芯片在汽车行驶
    发表于 09-26 17:47 2241次阅读
    <b class='flag-5'>汽车行驶</b><b class='flag-5'>记录仪</b><b class='flag-5'>中</b>USB HOST相关模块的设计

    基于嵌入式系统的汽车行驶记录仪的设计

     基于嵌入式系统的汽车行驶记录仪的设计  引言   汽车行驶记录仪是能够记录和再现汽车行驶
    发表于 01-12 11:10 1684次阅读
    基于嵌入式系统的<b class='flag-5'>汽车行驶</b><b class='flag-5'>记录仪</b>的设计

    汽车行驶记录仪(汽车黑匣子)

    汽车行驶记录仪(汽车黑匣子)
    发表于 01-14 15:09 27次下载

    新型智能式汽车行驶记录仪

    简要介绍了 MSP430 的结构, 给出了新型智能汽车行驶记录仪具备的功能, 介绍了新型智能汽车行驶记录仪系统的框图以及软件流程, 最后, 给出了基于 MSP430的智能
    发表于 04-28 10:01 18次下载
    新型智能式<b class='flag-5'>汽车行驶</b><b class='flag-5'>记录仪</b>

    基于CAN总线在汽车行驶记录仪的应用

    电子发烧友网站提供《基于CAN总线在汽车行驶记录仪的应用.pdf》资料免费下载
    发表于 10-18 10:34 0次下载
    基于CAN总线在<b class='flag-5'>汽车行驶</b><b class='flag-5'>记录仪</b><b class='flag-5'>中</b>的应用