用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

应用McBSP实现I2C总线控制器

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:47:35
可以控制总线。其中当SCL线为高电平且SDA线由高变低时为开始条件;而当SCL线为高电平且SDA线由低变高时为结束条件。如图3所示

javascript:window.open(this.src);" style="cursor:pointer;"/>


开始位:
void I2CSTA ( )
{ // I2C 开始位
Set_SDADirOut ( );//定义SDA为输出
switch ( FrameCount )
{
case (1): // 第2帧
Set_SCLHi ( );
Set_SDALo( );
break;
case (2): // 第三帧
Set_SCLLo ( );
Set_SDALo( );
break;
default: // 第一帧
Set_SCLHi ( );
Set_SDAHi ( );
}
FrameCount += 1; // 帧计数
if ( FrameCount > 2 )
{
FrameCount = 0;
BitIndex = 0x0080; } // 定义的低8位
}
停止位的编程方法只需要按照上面所说的将SCL线为高电平且SDA线由低变高即可。
3.2.3 I2C总线的数据格式

起始位 受控器件地址 读写控制位0/1 应答位 数据 应答位 … 停止位

    I2C总线数据传输格式[3]如图4。其中第一部分为数据传输起始信号,即由此开始进行数据传送;第二部分为受控器地址,用来选择向哪个受控器传送数据;第三部分为读/写控制位,用于指示受控器的工作方式,0表示写,1表示读;第四部分是被主控器选中的受控器向主控器回传的确认信号;第五部分是所传送的数据,每传送一个字节数据,都要求有一个应答位;第六部分是数据传输的结束信号。每个具有I2C总线接口的受控器件都有唯一固定的地址,当主控器发送数据时,I2C总线上挂接的受控器件都会将主控器发出的、位于起始信号后的8位地址信息与自己的地址进行比较,如果两者相同,则认为该受控器件被选中,然后按照读/写位规定的工作方式接收或发送数据。可以应用上面的程序来按照I2C总线的数据格式进行数据传送。

    4 结论

    应用DSP的McBSP来设计I2C总线接口,硬件接口简单,调试方便,并且可以节省硬件的花费,此方法已经应用在基于DSP的图像匹配机中,方法可行,并运行可靠。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:14,281.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号