欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    I2C总线接口电路设计(共22页).doc

    • 资源ID:11387716       资源大小:259.50KB        全文页数:22页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    I2C总线接口电路设计(共22页).doc

    精选优质文档-倾情为你奉上FPGA与I2C总线器件接口电路设计利用FPGA模拟I2C总线协议对I2C总线接口器件AT24C256 进行读写操作。利用按键输入读写命令和相应的地址、数据,对芯片进行读写操作,读写的数据用数码管显示。一、I2C总线接口电路设计分析1. I2C 总线协议I2C 总线的两根通信线,一根是串行数据线SDA,另一根是串行时钟线SCL。多个符合I2C总线标准的器件都可以通过同一条I2C总线进行通信,而不需要额外的地址译码器。每个连接到总线上的器件都有一个唯一的地址作为识别的标志,都可以发送或接收数据。I2C 总线通信速率受主机控制,标准模式下可达100kbit/s。一般具有I2C总线的器件其SDA、SCL引脚都为集电极(或漏极)开路结构。因此实际使用时,SDA和SCL信号线必须加310K的上拉电阻。总线空闲时均保持高平。I2C总线接法如图1所示。主机SDA SCL从机1SDA SCL从机2SDA SCL从机nSDAVCCSCL图1 I2C总线连接示意图(1) I2C的主机和从机,发送器和接收器产生I2C总线时钟信号和起始、停止控制信号的器件,称为主机,被主机寻址的器件称为从机。任何将数据传送到I2C总线的器件称为发送器,任何从I2C总线接收数据的器件称为接收器。主机和从机都可作为发送数据器件和接收数据器件。(2) I2C 总线上数据的有效性:时钟线SCL为高电平时,数据线SDA的任何电平变化将被看作总线的起始或停止信号;在数据传送过程中,当时钟线SCL为高电平时,数据线SDA必须保持稳定状态,不允许有跳变;数据线SDA的状态只能在SCL低电平期间才能改变。即进行串行传送数据时,在SCL高电平期间传送位数据,低电平期间准备数据。(3) 从机地址 I2C总线不需要额外的片选信号或地址译码。多个I2C总线接口器件可连接到一条I2C总线上,它们之间通过地址来区分。主机是主控制器件,只有一个主机的不需要地址。其它器件均为从机,均有器件地址,但必须保证同一条I2C总线上的器件地址不能重复。一般从机地址由7位地址位和1位读写位组成,地址位为高7位,读写位为最低位。读写位为0时,表示主机将向从机写入数据;读写位为1时,表示主机将要从从机读取数据。(4) I2C 总线的通信时序I2C 总线的通信时序如图2所示。SDASCLS起始条件P停止条件ACK应答ACK应答总线暂停控制停止条件1217892图2 I2C 总线的通信时序 首先主机发送一个起始信号。当时钟线SCL处于高电平期间,数据线SDA电平从高到低的跳变形成I2C总线的起始信号,启动I2C总线。 主机逐位发送7位(高位在前,低位在后)从机地址和1位读写控制信号,共8位。需8个时钟。 与传送地址一致的从机发应答信号(ACK)。在第9个时钟周期时将SDA线拉低表示其已收到一个8位数据。若在第9个时钟周期,SDA为高电平时为非应答。 开始传送数据,传送数据数量不限。每个字节(8位)后紧跟1个接收器件发出的应答位。若是主机读取从机数据时,从机发送数据,主机发应答位;若是主机写数据到从机时,主机发送数据,从机发应答位。 数据传输结束时,主机发送1个停止信号,当时钟线SCL为高电平时,数据线SDA由低电平变为高电平时形成终止信号,停止I2C总线通信。(5) 数据传输基本格式如表1。表1 I2C总线数据传输基本格式SA7A1R/WACKD7D0ACKD7D0ASKP起始位7位地址0:写1:读应答位8位数据应答位8位数据应答位0:应答1:非应答停止位其中S、A7A1、R/W、P总是由主机产生;写数据时,ACK由从机产生,D7D0由主机产生;读数据时,ACK由主机产生,D7D0由从机产生。2. I2C总线器件AT24C256 AT24C256 是一个256K 位的串行CMOS型 E2PROM, 可存储32768 个字节。该器件通过I2C总线接口进行操作,其引脚如图3所示,各引脚功能见表2。图3 AT24C256引脚图表2 AT24C256引脚功能说明管脚名称功能说明SCLAT24C256 串行时钟输入管脚。用于产生器件所有数据发送或接收的时钟,是输入管脚。SDA双向串行数据/地址管脚。用于器件所有数据的发送或接收,SDA 是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或wire-OR。WP写保护。当WP 脚连接到Vcc ,所有内存变成写保护只能读;当WP 引脚连接到Vss 或悬空,允许器件进行读/写操作。A0 A1器件地址输入。这些管脚为硬连线或者不连接,对于单总线系统最多可寻址4 个AT24C256器件。当这些引脚没有连接时其默认值为0。VSS电源地VCC1.86VNC空脚作为带有I2C总线接口的器件,每个AT24C256都有一个7位的从机地址,其高5 位固定为“10100”,接下来的2 位由AT24C256的引脚A1 A0 硬连线输入决定(A1、A0直接接电源VCC或GND),同一I2C总线上最多可以连接4 个AT24C256器件。AT24C256除了有作为从机的地址,其内部还有作为存储单元的编码子地址,其子地址为双字节(16位),从0000H7FFFH。本设计中只有1 个AT24C256,可将AT24C256的引脚A1、 A0直接接地,其硬件电路如图4所示。则该AT24C256作为从机的7位地址为“”。图4 单个AT24C256连接电路图3. 对AT24C256的读写过程(1) 向AT24C256某一存储单元写入1个字节数据,过程如下: 主机(这里为FPGA控制器)发送一个起始信号,启动发送过程; 主机发送7 位从机地址(这里为)和1位写控制位(为0); 从机(这里为AT24C256)发应答位。在主机发送起始信号和从机地址字节后,AT24C256 监视总线并当其地址与发送的从地址相符时,响应一个应答信号。在第9个时钟,将SDA 线拉为低电平; 主机接收到应答位后,发从机子地址高8位(为AT24C256某一存储单元地址)。 从机接收完高8位子地址后,发应答位; 主机接收到应答位后,发从机子地址低8位; 从机接收完低8位子地址后,发应答位; 主机接收到应答位后,发送待8位写入数据; 从机接收完8数据后,发应答位,并开始内部数据的擦写; 主机接收到应答位后,发停止位,结束传送,总线挂起。SDA上数据传输格式见表3,数据传送时序如图5所示。表3 向AT24C256写1个数据时总线SDA上数据传输格式SA7A100AD15AD80AD7AD00D7D00/1P起始位7位器件地址写应答位高8位指针地址应答位低8位指针地址应答位写入8位数据应答位停止位主机发送从机发送主机发送从机发送主机发送从机发送主机发送从机发送主机发送图5 向AT24C256写一个数据时序(2) 从AT24C256某一存储单元读出1个字节数据,过程如下: 主机发送一个起始信号,启动发送过程,接着发送7 位从机地址()和1位写控制位(0); 从机检测到起始信号及本身从地址相符时的从机地址后,发应答位。 主机接收到应答位后,发从机子地址高8位(为AT24C256某一存储单元地址)。 从机接收完高8位子地址后,发应答位; 主机接收到应答位后,发从机子地址低8位; 从机接收完低8位子地址后,发应答位; 主机接收到应答位后,再发送一个起始信号(称为重复起始信号),接着再发送7 位从机地址()和1位读控制位(为1); 从机检测到重复起始信号及从机地址后,发应答位,并将子地址对应的存储单元数据发送到总线上。 主机接收到应答位后,接着准备从总线接收数据,从总线接收完8数据后。发非应答位和发停止位,结束传送,总线挂起。SDA上数据传输格式见表4所示,数据传送时序如图6所示。表4 从AT24C256上读1个数据时总线SDA上数据传输格式SA7A100AD15AD80AD7AD00SrA7A110D7D00/1P起始位7位器件地址写应答位高8位指针地址应答位低8位指针地址应答位重复起始位7位器件地址读应答位读出8位数据非应答停止位主机发送从机发送主机发送从机发送主机发送从机发送主机发送从机发送从机发送主机发送主机发送图6 从AT24C256读一个数据时序4. FPGA内部电路模拟I2C总线对AT24C256的读写控制电路基本结构框图如图7所示。AT24C256读写控制接口字节传输控制电路位传输控制电路IO总线端口电路SclSda命令寄存器传送寄存器接收寄存器移位寄存器标志寄存器图7 模拟I2C总线对AT24C256的读写控制框图(1) I2C总线端口I2C总线端口为三态输出,当使能端有效时,总线输出为低电平;当使能端无效时三态门输出为高阻,但由于I2C总线上有上拉电阻,总线保持在高电平或由总线上从机输出数据决定。总线数据始终能被读入。其结构示意图如图8所示。SdaSda_enSda_iVccSclScl_enScl_iVcc图8 I2C总线端口示意图(2) 位传输控制模块位传输模块以“位”为单位产生各种I2C协议命令(开始、停止和重复开始)以及进行位数据读写。为了读写到稳定的“位”数据,读写1位数据分为4到5个阶段完成。1位数据传输时序要求如图9所示。这样内部读写时钟频率一般采用5倍于SCL时钟总线频率。SCLSDASCLSDASCLSDASCLSDASCLSDA开始重复开始停止写读ABC图9 I2C协议命令和位数据传输的执行时序位传输控制电路根据输入的控制命令,将来自字控制模块的一位待写入的数据送到总线上,或从总线上读入一位数据给字控制模块。当完成1位数据传输时产生读写完成标志,并根据数据传输情况产生忙标志和总线仲裁丢失标志。(3) 字传输控制模块字节传输模块以字节为单位控制I2C总线的数据传输。该模块根据输入控制命令,将存放在发送寄存器中的数据加载到一个移位寄存器,然后逐位发送到位传输模块,再控制位传输模块将数据发送到I2C总线上。或控制位传输模块从总线上逐位接收位数据,暂存到移位寄存器,再转换成字节数据送给数据输出。同时给出相关传输标志。(4) AT24C256读写控制根据输入控制信号和来自位传输模块的反馈标志,将控制信号加到命令寄存器,给字节传输模块提供控制信号;将输入数据或指定单元地址加载到数据传送寄存器;将从字节模块读取的数据回送到数据接收寄存器。 二、FPGA硬件系统电路设计(略)三、I2C总线接口电路VHDL设计1. I2C总线端口(1) 名称:IIC_IO.vhd(2) 功能:I2C总线双向端口电路描述(3) 端口说明方向端口名宽度说明输入Sda_en1数据线三态使能控制端,来自位传输控制模块Scl_en1时钟线三态使能控制端,来自位传输控制模块输出Sda_i1回送的数据线信号,给位传输控制模块Scl_i1回送的时钟线信号,给位传输控制模块双向Sda1I2C的数据线,外接I2C器件Scl1I2C的时钟线,外接I2C器件(4) VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY IIC_IO ISPORT( Scl_en,sda_en:IN STD_LOGIC; Sda,Scl: INOUT STD_LOGIC; Scl_i,sda_i : OUT STD_LOGIC);END IIC_IO;ARCHITECTURE one OF IIC_IO ISBEGIN Sda_i<=sda; Scl_i<=scl; Scl<='0' WHEN scl_en='0' ELSE 'Z' Sda<='0' WHEN sda_en='0' ELSE 'Z'END one;2. 位传输控制模块(1)名称:bit_txd_rxd.vhd(2)功能:实现位数据或协议命令的传输(3)端口说明方向端口名宽度说明输入Rst1复位信号,低电平复位clk_sys1系统时钟ena1系统使能信号,高电平有效cmd4控制命令,由字节传输模块给出Bit_data_wr1待写入总线的1位数据Scl_i1总线时钟输入Sda_i1总线数据输入输出Scl_oen1总线时钟输出使能Sda_oen1总线数据输出使能Bit_finish 1完成1位读写的标志,1为完成,0为未完成busy1总线忙标志,1为忙,0为闲lose1总线仲裁丢失标志,1为出错,0为正确Bit_data_rd1从总线读出的1位数据(4) VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_Arith.ALL;USE IEEE.STD_LOGIC_Unsigned.ALL;ENTITY bit_txd_rxd ISGENERIC (n:INTEGER:=48);-分频系数PORT( Clk_sys:INSTD_LOGIC; Rst,ena:INSTD_LOGIC; cmd: INSTD_LOGIC_VECTOR(3 DOWNTO 0); Bit_data_wr: IN STD_LOGIC;- Scl_i,sda_i : IN STD_LOGIC; Scl_oen,sda_oen:OUT STD_LOGIC; Busy,Lose: OUT STD_LOGIC; Bit_data_rd,Bit_finish: OUT STD_LOGIC);END bit_txd_rxd;ARCHITECTURE two OF bit_txd_rxd ISType state_t IS (bit_idle,start_a,start_b,start_c,start_d,start_e,stop_a,stop_b,stop_c,stop_d, write_a, write_b, write_c, write_d,read_a, read_b, read_c, read_d);SIGNAL sta_p: state_t;CONSTANT n:INTEGER:=48; -产生500KHz的分频系数SIGNAL en_500k:STD_LOGIC;-500KHz时钟使能信号SIGNAL Scl_a,Sda_a, Scl_b,Sda_b:STD_LOGIC;-同步SCL和SDA中间信号SIGNAL scl_edg: STD_LOGIC;-SCL的边沿信号SIGNAL scl_oen_r, sda_oen_r: STD_LOGIC;-总线使能信号SIGNAL sda_chk: STD_LOGIC;-写数据时,检查总线信号SIGNAL dscl_oen,slave_wait: STD_LOGIC;-时钟延迟等待的信号SIGNAL Sda_S,Sda_P: STD_LOGIC;-启动、停止标志位SIGNAL Busy_r,Lose_r: STD_LOGIC;-忙标志、丢失标志信号SIGNAL stop_cmd,stop_cmd_r: STD_LOGIC;-停止命令信号BEGINPROCESS (clk_sys,rst) -同步SCL和SDA的输入信号BEGIN IF rst='0' THENScl_a<='1' Sda_a<='1' Scl_b<='1' Sda_b<='1' ELSIF RISING_EDGE(clk_sys) THEN -暂存SCL、SDA的值 Scl_a<= Scl_i; Sda_a<= Sda_i; Scl_b<= Scl_a; Sda_b<= Sda_a;END IF;END PROCESS;Scl_edg<=scl_a AND( NOT Scl_b);-检测时钟SCL上升沿PROCESS (clk_sys) -产生数据输出信号,在SCL上升沿时锁存SDA上的数据值BEGIN IF RISING_EDGE(clk_sys) THEN IF scl_edg='1' THEN Bit_data_rd<=Sda_a; END IF; END IF; END PROCESS;-从节点未准备好时,下拉SCL延迟周期;当给出的SCL使能为1时,检测SCL总线为0时,则节点未准备就绪,产生等待信号。PROCESS (clk_sys) BEGIN IF RISING_EDGE(clk_sys) THEN dscl_oen<=scl_oen_r; END IF;END PROCESS;Slave_wait<=dscl_oen AND (NOT scl_a); PROCESS (clk_sys,rst) -将24M系统时钟分频产生500KHz时钟使能控制信号VARIABLE cnt: INTEGER RANGE 0 TO n-1;-时钟分频计数器BEGIN IF rst='0' THEN cnt:=0; en_500k<='1' ELSIF RISING_EDGE(clk_sys) THEN IF clk_cnt<n-1 THEN -n为分频系数 IF ena='1' THEN cnt:= cnt+1; en_500k<='0' END IF; ELSE IF Slave_wait='0' THEN-从节点准备好,给出时钟使能cnt:=0; en_500k<='1' ELSE -从节点未准备好,延迟等待 cnt:= cnt; en_500k<='0' END IF; END IF; END IF;END PROCESS;-生成启动标志和停止标志-在SCL高电平时,检测SDA的下降沿(起始信号),产生启动标志-在SCL高电平时,检测SDA的上升沿(停止信号),产生停止标志PROCESS (clk_sys,rst) BEGIN IF rst='0' THEN Sda_S<='0'-启动标志复位 Sda_P<='0'- 停止标志复位 ELSIF RISING_EDGE(clk_sys) THEN Sda_S<=(NOT Sda_a ) AND Sda_b AND Scl_a ;-生成启动标志 Sda_P<=Sda_a AND ( NOT Sda_b ) AND Scl_a; -生成停止标志 END IF;END PROCESS;-生成总线忙标志-检测到启动信号发生,但无停止信号发生时表示总线处于忙状态PROCESS (clk_sys,rst) BEGIN IF rst='0' THEN Busy_r<='0' ELSIF RISING_EDGE(clk_sys) THEN Busy_r<=(Sda_S OR busy_r) AND (NOT Sda_P); END IF;END PROCESS;Busy<=busy_r;-忙标志输出-产生仲裁丢失标志,-当没有停止请求时,检测到停止信号,产生仲裁丢失标志-当驱动SDA总线为高时,但检测SDA一直为低,产生仲裁丢失标志PROCESS (clk_sys,rst) BEGIN IF rst='0' THEN stop_cmd<='0'-停止命令信号 stop_cmd_r <='0' Lose_r<='0' ELSIF RISING_EDGE(clk_sys) THEN IF cmd<= "0010" THEN -有停止命令 stop_Cmd<='1' ELSE stop_Cmd<='0' END IF; stop_Cmd_r <= stop_Cmd; Lose_r<=(Sda_P AND (NOT stop_Cmd_r ) OR(NOT sda_a AND sda_chk AND sda_oen_r);-丢失标志 END IF;END PROCESS;Lose<=Lose_r;-位传输状态机Scl_oen<=scl_oen_r;Sda_oen<=Sda_oen_r;PROCESS(clk_sys,rst) BEGIN IF rst='0' THEN Sta_p<=bit_idle;-初始准备状态 bit_finish<='0' -1位信号发送或接收完成标志 Scl_oen_r<='1'-时钟输出使能 Sda_oen_r <='1'-数据输出使能 Sda_chk<='0'-不检查输出 ELSIF RISING_EDGE(clk_sys) THEN IF Lose_r='1' THEN-数据传输信号丢失 Sta_p<=bit_idle; bit_finish <='0' Scl_oen_r <='1' Sda_oen_r <='1' Sda_chk<='0' ELSE bit_finish <='0' IF clk_en='1' THEN CASE sta_p IS WHEN bit_idle=> -准备状态 Scl_oen_r <=scl_oen_r;-保持SCL在同一状态 Sda_oen_r <=sda_oen_r; -保持SDA在同一状态 Sda_chk<='0' CASE cmd IS -状态命令字 WHEN "0001"=> sta_p<=start_a;-发送起始信号状态 WHEN "0010" => sta_p<=stop_a;- 发送停止信号状态 WHEN "0100" => sta_p<=write_a;-写入1位数据 WHEN "1000" => sta_p<=read_a; -读出1位数据 WHEN OTHERS=> sta_p<=bit_idle; END CASE; -启动I2C状态,分5个时钟段产生起始信号 WHEN start_a=> sta_p<=start_b; Scl_oen_r <=scl_oen_r; -保持SCL Sda_oen_r <='1' -SDA处于高 Sda_chk<='0' -不检查输出 WHEN start_b=> sta_p<=start_c; Scl_oen_r <='1' Sda_oen_r <='1' Sda_chk<='0' WHEN start_c=> sta_p<=start_d; Scl_oen_r <='1' Sda_oen_r <='0' Sda_chk<='0' WHEN start_d=> sta_p<=start_e; Scl_oen_r <='1' Sda_oen_r <='0' Sda_chk<='0' WHEN start_e=> -开始状态5 sta_p<=bit_idle;-回到等待状态 bit_finish <='1'-起始信号传送完成,给出标志 Scl_oen_r <='0' Sda_oen_r <='0' Sda_chk<='0'-停止I2C状态,分4个时钟段产生停止信号 WHEN stop_a=> sta_p<=stop_b; Scl_oen_r <='0' Sda_oen_r <='0' Sda_chk<='0' WHEN stop_b=> sta_p<=stop_c; Scl_oen_r <='1' Sda_oen_r <='0' Sda_chk<='0' WHEN stop_c=> sta_p<=stop_d; Scl_oen_r <='1' Sda_oen_r <='0' Sda_chk<='0' WHEN stop_d=> sta_p<=bit_idle; bit_finish <='1'-停止信号传送完成,给出标志 Scl_oen_r <='1' Sda_oen_r <='1' Sda_chk<='0'-读状态,分4个时钟段读1位信号 WHEN read_a=> sta_p<= read_b; Scl_oen_r <='0' - SCL处于低 Sda_oen_r <='1' -SDA由从器件决定 Sda_chk<='0' WHEN read_b=> sta_p<= read_c; Scl_oen_r <='1' Sda_oen_r <='1' Sda_chk<='0' WHEN read_c=> sta_p<= read_d; Scl_oen_r <='1' Sda_oen_r <='1' Sda_chk<='0' WHEN read_d=> sta_p<=bit_idle; bit_finish <='1'-读完1位数据,给出标志 Scl_oen_r <='0' Sda_oen_r <='1' Sda_chk<='0'-写状态,分4个时钟段写1位信号 WHEN write_a=> sta_p<= write_b; Scl_oen_r <='0' - SCL处于低 Sda_oen_r <=bit_data_wr; -输入数据 Sda_chk<='0' WHEN write_b=> sta_p<= write_c; Scl_oen_r <='1' - Sda_oen_r <=bit_data_wr; Sda_chk<='1'- WHEN write_c=> -写状态3 sta_p<= write_d; Scl_oen_r <='1' - Sda_oen_r <= bit_data_wr; Sda_chk<='1' WHEN write_d=> -写状态4 sta_p<=bit_idle; bit_finish <='1'-写完1位信号,给出标志 Scl_oen_r <='0' Sda_oen_r <= bit_data_wr; Sda_chk<='0' WHEN OTHERS=>null; END CASE; END IF; END IF; END IF;END PROCESS;END two;3. 字传输控制模块(1)名称:byte_txd_rxd.vhd(2)功能:实现字节数据的传输控制。(3)端口说明方向端口名宽度说明输入Rst1复位信号,外接按钮开关,低电平复位clk_sys1系统时钟start1启动命令stop1停止命令read1读命令write1写命令Ack_in1应答输入信号Data_txd8待发送的8位输入数据或地址,由发送寄存器提供Bit_data_rd1从位模块接收的1位数据Lose1总线仲裁丢失标志Bit_finish1来自位模块的1位传送完成标志输出cmd4输出命令Bit_data_wr1向位模块发送的数据Data_rxd8接收到的8位数据,送给接收寄存器,Ack_finish1应答完成标志Ack_out1从总线上读出的应答信号(4) VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_Arith.ALL;USE IEEE.STD_LOGIC_Unsigned.ALL;ENTITY byte_txd_rxd ISPORT( clk_sys:INSTD_LOGIC; rst:INSTD_LOGIC; ack_in: IN STD_LOGIC; data_txd: INSTD_LOGIC_VECTOR(7 DOWNTO 0); start,stop,write,read: IN STD_LOGIC; lose:INSTD_LOGIC; bit_data_rd:INSTD_LOGIC;-从位控制模块读入的一位数据 bit_finish: IN STD_LOGIC;-1位传送完成标志 cmd:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); bit_data_wr:OUT STD_LOGIC;-待写出的位数据 ack_finish,ack_out:OUT STD_LOGIC; data_rxd:OUT STD_LOGIC_

    注意事项

    本文(I2C总线接口电路设计(共22页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开