单片机在数字模块检测中的应用.docx_第1页
单片机在数字模块检测中的应用.docx_第2页
单片机在数字模块检测中的应用.docx_第3页
单片机在数字模块检测中的应用.docx_第4页
单片机在数字模块检测中的应用.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机在数字模块检测中的应用 (内蒙古机电职业技术学院 电气工程系,内蒙古 呼和 浩特 010010) 摘 要:文章详细介绍了单片机如何应用于检测数字模 块 ,具有一定的实用价值。 关键词:单片机;数字模块;检测 中图分类号:TN949.197 文献标识码:B 文章编号 :10076921(XX)11013102 模块化设计思想已经流行于产品的设计中,因此模块 化检测也慢慢地开始流行,原来的模块 检测使用整个机器 作为机架,这种检测方案,在数字模块大量出现的今天, 已经严重滞后, 而且也没有发挥出数字模块的应有特点 低压低功率,为了高效的检测数字模块,廉价的单 片机就 是设计的首选了。 检测对象从数字电视中的数字高频头的解码板、高频 头模块板到 HID 机中的数字处理板。典 型的例子: 740)this.width=740“ border=undefined 这些方案有很多相似之处,在软件方面几乎所有的控 制协议都是使用 I2C 协议,只是发送 和接收的数据不一 样,使用的校验不一样。 1 I2C 总线特点 I2C(InterIntegrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用 于连接微控制器 及其外围设备。I2C 总线产生于在 20 世纪 80 年代,最初 为音频和视频设备 开发,如今主要在服务器管理中使用, 其中包括单个组件状态的通信。 2 I2C 总线工作原理 I2C 总线是由数据线 SDA 和时钟 SCL 构成的串行总线, 可发送和接收数据。在 CPU 与被控 IC 之间、IC 与 IC 之间 进行双向传送,最高传送速率 100kbps。各种被控制电路均 并联在这条 总线上,但就像电话机一样只有拨通各自的号 码才能工作,所以每个电路和模块都有唯一的 地址,在信 息的传输过程中,I2C 总线上并接的每一模块电路既是主控 器, 又是发送器,这取决于它所要完成的功能。CPU 发出 的控制信号分为地址码和 控制量两部分,地址码用来选址, 即接通需要控制的电路,确定控制的种类;控制量决定该 调整的类别及需要调整的量。这样,各控制电路虽然挂在 同一条总线 上,却彼此独立,互不相关。 I2C 总线在传送 数据过程中共有三种类型信号, 它们分别 是:开始信号、 结束信号和应答信号。 开始信号:SCL 为高电平时,SDA 由高电平向低电平跳 变,开始传送数据。 结束信号:SCL 为高电平时,SDA 由低电平向高电平跳 变,结束传送数据。 应答信号:接收数据的 IC 在接收到 8bit 数据后,向 发送数据的 IC 发出特定的低电平 脉冲,表示已收到数据。 CPU 向受控单元发出一个信号后,等待受控单元发出一个应 答信号 ,CPU 接收到应答信号后,根据实际情况作出是否 继续传递信号的判断。若未收到应答信号 ,由判断为受控 单元出现故障。 3 总线基本操作 I2C 规程运用主/从双向通讯。器件发送数据到总线上, 则定义为发送器,器件接收数 据则定义为接收器。主器件 和从器件都可以工作于接收和发送状态。 总线必须由主器 件控制,主器件产生串行时钟控制总线的传输方向,并产 生起始和 停止条件。SDA 线上的数据状态仅在 SCL 为低电 平的期间才能改变,SCL 为高电平的期间,SDA 状态的改变 被用来表示起始和停止条件。参见图 1。 740)this.width=740“ border=undefined 控制字节在起始条件之后,必须是器件的控制字节, 其中高四位为器件类型识别符,接着三位为片选,最后一 位为读写位,当为 1 时为读操作,为 0 时为写操作。如图 2 所示。 740)this.width=740“ border=undefined I2C 硬件连接如图三需要一个上拉电阻: 具体实例: 上面是关于 I2C 协议的简单介绍,在具体的应用中 因为我们的单片机都是做主机的,而且 I IC 主机很容易模 拟,所以我们选用常用的 51 单片机模拟 IIC 的主机。具体 的硬件实现图,如 图 4 :740) this.width=740“ border=undefined 图 4 是我们测试 ADM1 和 DVB-T 的硬件图,其中我们使 用 P2.0、P2.1 分别作为 SDA、SCL,按键作 为检机使用, LED 作为工作中的指示灯。单片机的硬件连接简单而且方案 成本低,可以通用 。 软件方面的,由于都是使用的 I2C 协议,而且 I2C 协议的底层没有区别所以我们可以使用 统一的底层软件来 模拟的 I2C, 即在我们做工程的时候,直接添加 I2C 文 件即可。下面是 我们根据 I2C 协议使用软件来模拟 I2C 的函数。 bit I2CStart(); bit I2CStop(); bit I2CSendByte(UCHAR ucByte); bit I2CReceiveByte(UCHAR * pByte); bit I2CAck(bit a); bit I2CCommit(UCHAR ucSlaveAddr, UCHAR ucSubAddr, UCHAR * pWriteBuf, UCHAR ucWri teLength, UCHAR * pReadBuf, UCHAR ucReadLength); bit I2CCommitWrite(UCHAR ucSlaveAddr,UCHAR * pWriteBuf, UCHAR ucWriteLength); bit I2CCommitRead(UCHAR ucSlaveAddr,UCHAR * pReadBuf, UCHAR ucReadLength); 在我们使用过程中只需要调用下面两个函数就可以实 现我们的检机: bit I2CCommitWrite(UCHAR ucSlaveAddr,UCHAR * pWriteBuf, UCHAR ucWriteLength); bit I2CCommitRead(UCHAR ucSlaveAddr,UCHAR * pReadBuf, UCHAR ucReadLength); 对于具体的数字模块测试我们只需要根据具体提供的 协议来发送数据给数字板就可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论