我们在使用 2812 开发的时候,经常会遇到这样的情况,例如做电机控制时需要显示 AD 采样之后得到
电机电压、电流、转速等数据,当然,我们可以使用液晶屏来显示,还有一种很好的方法就是将这些数据
通过某种协议将它们上传给 PC 机,由 PC 机上的软件进行显示,监测,又例如某些项目中需要 PC 机发送
预先设定的指令来控制 2812 中程序的运行方式。那 2812 怎么样才能和 PC 机之间实现数据的传输呢?今
天,我们就和大家来一起学习最为常用的一种方法——SCI。
SCI(Serial Communication Interface),即串行通信接口,是一个双线的异步串口,即具有接收和发送
两根信号线的异步串口,一般可以看作是 UART(通用异步接收/发送装置)。或许有朋友会问,2812 的
SCI 只能够和 PC 机上串口进行通信吗?答案自然是否定的,2812 的 SCI 模块支持 CPU 与采用 NRZ
(non-return-to-zero 不归零)标准格式的异步外围设备之间进行数字通信。如果设计时我们的 SCI 使用的
是 RS232 串行接口,那么,2812 就能和其他使用 RS232 接口的设备进行通信。例如 2812 内部的两个 SCI
之间,或者 2812 的 SCI 和其他 DSP 的 SCI 之间均能实现通信。
2812 内部具有两个相同的 SCI 模块,SCIA 和 SCIB,每一个 SCI 模块都各有一个接收器和发送器。SCI
的接收器和发送器各具有一个 16 级深度的 FIFO(First in fist out 先入先出)队列,它们还都有自己独立的
使能位和中断位,可以在半双工通信中进行独立的操作,或者在全双工通信中同时进行操作。根据信息的
传送方向,串行通信可以分为单工、半双工和全双工三种,其各自的定义如下图所示。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !