5007|4

36

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

MB9B506R多功能串行接口 [复制链接]

MB9B506R多功能串行接口非常有特色。

        首先,MB9B506R具有8通道多功能串行接口(Multi Function Serial Interface,缩写MFS),通过串行模式寄存器(SMR)可把每个通道自由配置成UART、CSIO、LIN和 I2C。此外,MB9B506R的外部封装引脚复用许多功能,可以通过寄存器的设置,可以选择每个通道的功能引脚可以引到2~3个外部封装的引脚的其中1个上。这样就可以根据不同应用配置不同的功能,以及方便布局布线。

        在这里首先需要设置EPFRx寄存器,确定通道的功能引脚引到哪一个外部封装的引脚上。其次需要设置PFRx寄存器,确定外部封装引脚使用普通GPIO,还是特殊功能(如SPI引脚、I2C引脚等)。用多功能串行接口MFS的引脚配置举例:多功能串行接口MFS的通道0的SIN可以配置到外部封装的88引脚或66引脚(LQFP-120封装),我们首先需要设置EPFR07寄存器(对应0~3通道)对应位,确定SIN0选择SIN0_0(对应88引脚P21)还是 SIN0_1(对应66引脚P14)。接下来需要将外部封装的88引脚P21或66引脚P14(根据前面的选择)设置成使用特殊功能(设置66引脚P14对应PFR1寄存器,88引脚P21对应PFR2寄存器,对应位写0为GPIO,写1为外设引脚)。

        这里需要提醒大家的是:MB9B506R的外部封装引脚复用许多功能,象上面举例步骤一样通过寄存器设置,但它是面向功能而不是引脚。所以大家在设置时需要注意,不要不小心将两个外设功能设置到同一个引脚上,引起冲突。(当然,特意的除外,比如说一个外部输入信号做为几个外设的输入,而这几个外设的输入正好可以配置到同一个外部封装的引脚上)。


下面就说一说MB9B506R上面各种串行接口的特点。
1、UART
配有全双工缓存;内置波特率发生器;可以用外部时钟来配置串口时钟;支持硬件流控制;可选择的错误检测功能。

需要注意的是,只有通道4具有硬件流控功能,此外,MB9B506R的UART可以支持点对点和点对多点(主从)模式。MB9B506R的0~3通道无FIFO,4~7通道有每通道16字节的FIFO

2、CSIO
CSIO 是Clock Sync IO的缩写。顾名思义就是时钟同步串行接口。
配有全双工缓存;内置波特率发生器;可选择的错误检测功能。
需要注意的是,MB9B506R的CSIO没有片选,所以当作SPI使用时需要用GPIO来模拟外设片选。

3、LIN
支持LIN总线2.1协议;配有全双工缓存;支持主从模式;可选择的错误检测功能


4、I2C
支持标准模式(最大100Kbps)和高速模式(最大400Kbps)


        因为最近在做同SPI相关的工作,所以在这里特别讲一下CSIO。
        简单点来说,CSIO 其实就是SPI,只是它的功能更强大,可以通过寄存器设置来满足不同厂商的SPI总线的要求。

        先简单介绍一下SPI总线,MOTOROLA公司最初定义的SPI总线的基本信号线为3根传输线,即SI、SO、SCK。传输的速率由时钟信号SCK决定,SI为数据输入、SO为数据输出。采用SPI总线的系统如下图所示,它包含了一个主片和多个从片,主片通过发出片选信号/CS来控制对哪个从片进行通信,当某个从片的/CS信号有效时,能通过SI接收指令、数据,并通过SO发回数据。而未被选中的从片的SO端处于高阻状态。

      

         在SPI传输中,数据是同步进行发送和接收的。数据传输的时钟基于来自主处理器的时钟脉冲,摩托罗拉没有定义任何通用SPI的时钟规范。这里就有个问题,就是时钟信号SCK如何决定什么时间数据输入,什么时间数据输出。上升沿?下降沿?时钟信号SCK空闲时是高电平还是低电平?不同半导体厂商不一样。最常用的时钟设置基于时钟极性(CPOL)和时钟相位(CPHA)两个参数,CPOL定义SPI串行时钟的活动状态,即时钟信号SCK空闲时是高电平还是低电平。而CPHA定义相对于SO-数据位的时钟相位。CPOL和CPHA的设置决定了数据取样的时钟.

CPOL=0时,时钟在逻辑0处空闲:

* 如果CPHA=0,数据会在SCK的上升沿上读取,在下降沿上变化。 对应MB9B506R外设手册的SPI transfer (II) 
* 如果CPHA=1,数据会在SCK的下降沿上读取,在上升沿上变化。 对应MB9B506R外设手册的Normal transfer (II)

CPOL=1时,时钟在逻辑高电平处空闲:

*如果CPHA=0,数据会在SCK的下降沿上读取,在上升沿上变化。  对应MB9B506R外设手册的SPI transfer (I)
*如果CPHA=1,数据会在SCK的上升沿上读取,在下降沿上变化。  对应MB9B506R外设手册的Normal transfer (I)



CPHA 对应MB9B506R的SMR寄存器中SPI位的非值,CPOL对应MB9B506R的SMR寄存器中SCINV位的非值。

富士通的MB9B506R容许你自己根据情况通过设置寄存器来满足外部器件的要求,


对于富士通的MB9B506R有两点建议:
1、引脚功能这么复杂,应该提供图形化的软件工具来配置。目前许多厂商都已经实现了。象CYPRESS/TI/INFINEON/FREESCALE等。
2、引脚配置功能还是弱了些。目前许多厂家已经实现了CROSS BAR,除特殊引脚(象CAN/USB等)固定外,大多数功能引脚可以配置到任意外部封装引脚。

最新回复

  详情 回复 发表于 2012-7-20 12:09
点赞 关注
 

回复
举报

36

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
上面所谈仅是将MFS的引脚引到外部封装的某个引脚上。功能的配置,比如到底是UART?SPI?I2C?还需要设置相应的寄存器。最后,别忘了相关中断使能、功能使能。详细的内容,等我忙完SPI接口的ENC28C60网络模块,空闲下来再详细解说。
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

板凳
 
挺详细的
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

4
 

挺详细的

挺详细的 挺详细的
 
 
 

回复

1万

帖子

16

TA的资源

版主

5
 

讲的不错顶个

个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表