SCI串口自动波特率介绍

描述

自中科昊芯推出专题讲解SCI串口通信以来,第一期主要讲解SCI串口FIFO通信原理,本期主要讲解SCI串口自动波特率,FIFO中断通信逻辑将在下期内容中讲解。

HX2000系列SCI模块原理框图如下,自动波特率时,模块将工作于标准SCI模式,其功能可通过SCIFFTX[SCIFFENA]置零选择,其发送、接收与读取过程为:DSP端通过CPU,将数据装载到发送缓冲寄存器SCITXBUF中。使其能发送TXENA信号,通过TXSHF移位寄存器,逐步将SCITXBUF中的数据,移位到SCITXD引脚上。通过GPIOMUX配置发送SCITXD引脚,通过CH340等串行数据传输线向PC发送数据,以实现发送功能。通过GPIOMUX配置SCIRXD引脚,使得DSP端接收,PC端通过CH340等串行数据传输线发送的数据。使能接收RXENA信号,通过RXSHF移位寄存器,逐步将接收数据,移位到接收数据缓冲寄存器SCIRXBUF,以实现接收功能。通过SCIRXST[RXRDY]可判断,当前是否接收到数据,以便于CPU读取接收到的数据。

SCI

在HX2000系列SCI模块中,通过SPIFFTX[SPIRST]使能,可使SCI自动波特率逻辑工作,其编程过程为:设置初始波特率为1或小于500kbps,以便于自动调整任意波特率。使能SCIFFCT[CDC]选择标准SCI工作于自动波特率模式。使能SCIFFCT[ABDCLR]以清除ABD位,以备自动波特率。PC端发送“A”或“a”,等待主机接收“A”或“a”成功,以完成自动波特率与校准,同时产生SCI传输FIFO中断TXINT;使能SCIFFCT[ABDCLR]以清除ABD位,以响应中断。清除CDC位以锁定当前设置的波特率,以防止重复中断。

由此设计SCI串口AutoBud通信实例:采用SCI与串口CH340,通过串口调试助手,向CPU发送41,PC端接收到41后,任意发送一组数据,CPU接收所发送的数据。

基于以上分析,在CDK上开发SCI AutoBud自动波特率程序,代码包括:SCI GPIO外设引脚配置,标准SCI功能配置程序,SCI自动波特率配置程序,发送与接收程序,主程序调用执行。主要代码如下:

SCI

CDK上开发SCI 串口自动波特率,其编译结果为:

SCI

编译通过后,就可以开始调试了,其调试结果如下:

SCI

调试后,可通过串口调试助手查看自动波特率状态、发送与接收到的数据如下图:

SCI

  审核编辑:彭菁
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分