文章目录
前言
见《【研发日记】嵌入式处理器技能解锁(一)——多任务异步执行调度的三种方法》
背景介绍
近期使用TI C2000 DSP做的一个嵌入式系统开发项目中,在使用它的SCI(serial communication interface)通信时,遇到了挺多费时费力的事情。所以利用周末时间,在这些方面深入研究了一下,解锁了一些新技能。把它总结出来,以备将来翻看。
SCI通信
TI C2000 DSP中的SCI(serial communication interface)通信,跟常见的UART(Universal Asynchronous Receiver/Transmitter)非常类似,大部分内容都是相同的。由于这个芯片的DSP定位,所以SCI相比UART多了一些增强的功能,比如SCI支持多处理器之间以总线的方式寻址通信,并具备专门的地址匹配功能。再比如transmitter和receiver都有16-level deep FIFO,可以16 frame统一处理一次,能够减轻CPU的负荷。SCI在芯片中的工作原理如下图所示:
Tips:CPU和SCI通信接口之间的数据传递有两条路径可选,分别是经过FIFO和不经过FIFO,通过上图中的寄存器SCIFFENA即可配置。
Transmitter
SCI的数据发送过程如下: