2012年PSoC设计培训_第二部分_第1页
2012年PSoC设计培训_第二部分_第2页
2012年PSoC设计培训_第二部分_第3页
2012年PSoC设计培训_第二部分_第4页
2012年PSoC设计培训_第二部分_第5页
已阅读5页,还剩152页未读 继续免费阅读

下载本文档

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

文档简介

何宾 Tel:email: CYPRESS PSOC系列 培训课程 Cypess PSoC Training Analog & Digital Circuit Design 版权所有,禁止未经授权的商业使用行为 CYPRESS PSOC系列 培训课程 培训目标及内容 第二部分培训目标 : 基于逻辑表达式的门电路设计与实现 3-8译码器电路的 IP设计和调用 SR锁存器的 IP设计和调用 有限状态机的设计和实现 计数器的设计和实现 多谐振荡器电路的设计和实现 HDL高层次描述 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -基本概念 术语 “乘积 ”和 “和 ”来自数学,用来描述与( AND) 和或( OR)逻辑操作。 “乘积 ”定义为多个变量之间的 AND关系。 “和 ”定义 为任意数量逻辑变量的 OR关系。 任何逻辑系统能用两种逻辑等效的方法表示,即积 之和( Sum of Product, SOP)形式和和之积 (Product of Sum, POS)形式。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -基本概念 如下表所示,对于真值表的每一列,能生成一个乘 积项,称为最小项。最小项通过对输入变量相关的值 “ 相与 ”AND得到。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -基本概念 如果真值表特定的一行的变量值为 1,则包含变量 的名字, 比如 A。如果真值表特定的一行的变量值为 0 ,则包含变量名字的取反,比如 A。 如果关心输出 Y为 1的行,可以发现当 m1, m3, m5时,输出 Y为真。因此,可以写 Y,通过简单的逻 辑 “或 ”上最小项(这些最小项输出为 1)。输出 Y可以 表示为: CBACBACBAY S O P _CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -基本概念 现在关注的不是真值表输出为 1的行,而是关注的是 真值表输出为 0的行。如上表所示。注意在这种情况下 Y 是 m0、 m2、 m4、 m6和 m7。从前面的最小项的定 义,使用德摩根 De Morgan定理,得到 : CBACBACBACBAmomN O T |)|()&(0 称 m0为最大项 M0。最大项是对最小项的取反。 输出 Y可以通过简单的逻辑“与”上最大项。输出 Y可以表示为: )()()()()(_CBACBACBACBACBAY P O S CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -POS和 SOP逻辑电路的设计 1打开 PSoC Creator2.0 软件,在主界面主菜单下, 选择 File-New-Project , 弹出如图 2.1所示的界面,选 择 Design标签。在 Design标 签下,选择 Empty PSoC3 Design类型。在 Location右 边输入该设计的路径,在 Name右边给出该设计的工 程名字 pos_sop,然后点击 “OK”按钮。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -POS和 SOP逻辑电路的设计 2. 如下图所示,在 Workspace Explorer界面中,选择 Source标签,在该窗口下,选择 TopDesign.cysch,鼠 标双击该条目,打开原理图界面。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -POS和 SOP逻辑电路的设计 3. 如图所示,在主界面右侧 “Component Catalog”窗口中,选 择 Cypress标签栏,并展开 Digital ,并展开。找到 Logic子条目,并 展开。可以看到在这个子条目下 ,提供了基本的逻辑门、 D触发器 、查找表( LUT)、逻辑高和逻 辑低等资源。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -POS和 SOP逻辑电路的设计 4.如下图所示,在原理 图界面中将分别绘制 POS和 SOP逻辑表达式的逻辑电路 。 在该设计中使用的逻辑 资源有: AND、 Not、 Or。 按照图中的参考电路,将所 需要的逻辑门用鼠标拖到原 理图界面中,并按照下图放 置这些逻辑门。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -POS和 SOP逻辑电路的设计 5. 从下图所示的绘图工具栏中 ,选择连线按钮。 将上图中的逻辑门连接在一起。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -POS和 SOP逻辑电路的设计 6. 如下图所示,在主界面右侧 “Component Catalog”窗 口中,选择 Cypress标签栏,并展开 Ports and Pins,并展开 。找到 Digital Input Pin。并将 Digital Input Pin分别拖到图的 位置,引脚的名字分别为 Pin_1, Pin_2和 Pin_3。并将其连 接到设计中。 7. 如下图所示,在主界面右侧 “Component Catalog”窗 口中,选择 Cypress标签栏,并展开 Ports and Pins。找到 Digita Output Pin,并将 Digital Output Pin分别拖到图的位置 ,引脚的名字分别为 Pin_4和 Pin_5。并将其连接到设计中。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -POS和 SOP逻辑电路的设计 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -POS和 SOP逻辑电路的设计 8. 双击 Pin_1,打开其配置界面,如图所示配置参数: 在 General标签下, 将 Drive Mode改为 Resistive Pull Up。 Name: Pin_A 点击“ OK”按钮 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -POS和 SOP逻辑电路的设计 9. 按步骤 8,分别将 Pin_2改名为 Pin_B和将 Pin_3改名 为 Pin_C。在 General标签下,将 Drive Mode改为 Resistive Pull UP。 10.双击 Pin_4,打开配置界面。将其名字改为 Pin_X ;双击 Pin_5,打开配置界面。将其名字改为 Pin_Y。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -POS和 SOP逻辑电路的设计 为了使设计有更好的可读性。添加一些图形和说 明文字到设计中。如左图所示,选择注解 和长方形 工具按钮。按照下图所示,完成整个设计。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -引脚分配 下面给出分配引脚的步骤,其步骤主要包括: 需要注意的是,在使用 PSoC不同的开发平台时,根 据不同平台的设计资源,进行引脚的分配,本节给出的 引脚分配仅供参考。 1. 如下图所示,在 Workspace Explorer界面中,选择 Source标签,在该窗口下,选择 pos_sop.cydwr,鼠标双 击该条目,打开引脚分配界面。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -引脚分配 如下图所示,分配引脚。 注: Pin_A、 Pin_B和 Pin_C引脚连接到外部的按键或开关上, Pin_X 和 Pin_Y引脚连接到外部的 LED灯上。 CYPRESS PSOC系列 培训课程 简单逻辑门电路设计与实现 -设计下载与测试 下面给出编译设计并将其下载到目标系统的步骤, 其步骤主要包含: 1. 在主界面主菜单下,选择 Build-Build pos_sop, 对设计进行编译; 2. 给所用的 Cypress PSoC发板供电,并连接相应的扩 展模块。 3. 在主界面主菜单下,选择 Debug-Program,将设 计下载到目标系统中; 4. 改变开关的高低位置,观察此时两个 LED灯按照 相同的规律变化,即验证两种表达式的等效性。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -设计原理 本节将介绍 74LS138 3-8译码器的实现原理,左图给出 了 74LS138译码器的符号描述。下表给出了编码器的真值 表描述。编码从 C, B, A引脚输入。输出 Y7-Y0用来指示 输入的编码的组合。 G1 G2A G2B C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 X 1 X X X X 1 1 1 1 1 1 1 1 X X 1 X X X 1 1 1 1 1 1 1 1 0 X X X X X 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -设计原理 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2_ _ _ _21 )(0 ABCGGGY BA _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2_ _ _ _ _21 )(1 ABCGGGY BA _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2_ _ _ _21 )(2 ABCGGGY BA _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2_ _ _ _ _21 )(3 BACGGGY BA _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2_ _ _ _21 )(4 ABCGGGY BA _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2_ _ _ _21 )(5 ABCGGGY BA _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2_ _ _ _21 )(6 ABCGGGY BA _ _ _ _2_21 )(7 ABCGGGY BA CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -3-8译码器 IP核的设计 1. 打开 PSoC Creator2.0软件,在主界面主菜单下,选择 File-New-Project ,弹出创建新工程对话框。在对话框 中选择 Other标签。在 Other标签下,选择 PSoC Library类型 。在 Location右边输入该设计的路径,在 Name右边给出该 设计的工程名字 3-8 decoder。点击 “OK”按钮。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -3-8译码器 IP核的设计 2在主界面的左侧的 Workspace Explorer窗口,选 择 Components标签,选中 “Project 3-8 decoder条目, 点击鼠标右键,出现浮动菜单,选择 “Add Component Item” 选项。 3弹出添加元件条目( Add Component Item)对话 框界面,在 Implementation下,选择 Schematic类型,在 Component name的右边给出元件的名字 decoder3_8。点 击“ Create New”按钮。 4出现原理图设计界面,将鼠标移动到原理图的 Page1标签上,并点击鼠标的右键,弹出浮动菜单, 选择 Rename Page,将该图纸的名字修改成 low output。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -3-8译码器 IP核的设计 5该设计中,整个设计分别在两张设计图纸内完成 ,因此需要再生成一张设计图纸。再将鼠标移动到 low output标签上,点击鼠标右键,弹出浮动菜单,选择 Add Page,创建新的名字为 Page1原理图,按照前面的步骤, 将该图纸的名字修改成 high output。 6在主界面右侧的 Component Catalog窗口内,选择 Cypress标签,在 Cypress Component Catalog下面找到 Digital条目,并展开。在展开项中找到 Logic条目,并展 开,设计数字系统的所需要的元件包含在 Logic条目展开 项中。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -3-8译码器 IP核的设计 7. 如图所示,选择 low_output设计图纸,在该图纸 中将完成 Y0Y3输出逻辑电路的设计。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -3-8译码器 IP核的设计 注 1:图中的 A1,A2,A3和 S0网络上,存在跨页连接符 号 ,表示这些网络将被另一张设计图纸使用,即跨页 网络的连接。 注 2:如果想修改该设计中任何一处连线的网络名字 ,用鼠标双击该连线,弹出 “Signal Name”对话框,不选择 “Use computed name and width”,在 Signal Name下输入所 希望的网络的名字。按照图上的标出的网络的名字修改相 应连线的网络名字。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -3-8译码器 IP核的设计 8. 如下图所示,选择 high_output设计图纸,在该 图纸中将完成 Y4Y7输出逻辑电路的设计。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -3-8译码器 IP核的设计 注 1:图中的 A1, A2, A3和 S0网络上,存在跨页 连接符号 ,表示这些网络和名字为 low_output的设 计图纸相关的网络有连接关系,即跨页网络的连接。 注 2:如果想修改该设计中任何一处连线的网络名 字,用鼠标双击该连线,弹出 “Signal Name”对话框, 不选择 “Use computed name and width”,在 Signal Name 下输入所希望的网络的名字。按照图上的标出的网络 的名字修改相应连线的网络名字。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -3-8译码器 IP核的设计 9设计完成后,鼠标右键点击任意一张原理图, 出现浮动菜单,选择 “Generate Symbol”选项,生成如下 图所示的原理图符号。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -3-8译码器 IP核的设计 10在主界面主菜单下选择 File-Close Workspace ,退出该设计。 下面准备调用生成的 IP核,完成一个完整的设计。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -添加 3-8译码器 IP核实现设计 前面一节实现了 3-8译码器的逻辑电路的设计,这个 编码器逻辑是以 IP核形式存在的。本节将通过调用这个 IP核,最终实现编码器的逻辑功能。 1打开 PSoC Creator2.0软件,在主界面主菜单 下,选择 File-New-Project ,弹出创建新工程界 面,选择 Design标签。在 Design标签下,选择 Empty PSoC3 Design类型。在 Location右边输入该设计的路 径,在 Name右边给出该设计的工程名字 3-8 decoder, 然后点击“ OK”按钮。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -添加 3-8译码器 IP核实现设计 2在主界面的 Workspace 3-8 decoder窗口下,选 择 Components标签栏,鼠标右键点击 Project 3-8 decoder 条目,出现浮动菜单,选择 “Import Component” 3出现导入元件对话框界面。点击按钮 ,在 digital_designdigital_ip 3-8decoder 3-8decoder.cylib目录 下,找到 3-8decoder.cyprj文件,并打开。导入工程后的 Source Project: 3-8decoder; Source Component: decoder3_8; Target Project: 3-8 decoder。 点击“ OK”按钮。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -添加 3-8译码器 IP核实现设计 4. 可以看到在 Workspace 3-8 decoder窗口下, Components标签栏的窗口中,新添加了 decoder3_8元 件。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -调用 3-8译码器 IP核实现设计 1在 Workspace Explorer界面中,选择 Source标 签,在该窗口下,选择 TopDesign.cysch,鼠标双击该 条目,打开原理图界面。 2在主界面右侧 “Component Catalog”窗口中, 选择 Default标签栏,并展开 Components,选中 decoder3_8,并将其拖入到原理图界面中; CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -调用 3-8译码器 IP核实现设计 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -调用 3-8译码器 IP核实现设计 4在主界面右侧 “Component Catalog”窗口中,选 择 Cypress标签栏,并展开 Digital。在展开条目中找到 Logic,并展开。将 Logic Low0和 Logic High1分别拖入 到原理图界面中,如图 3.20所示,选择工具 ,将 IP核 与并相应的引脚连接在一起。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -调用 3-8译码器 IP核实现设计 5用鼠标双击 Pin_A、 Pin_B和 Pin_C引脚,打开配 置界面,在 General标签窗口下将 Drive Mode改成 Resistive Pull Up(注意:必须修改成该配置)。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -引脚分配 需要注意的是,在使用 PSoC不同的开发平台时,根 据不同平台的设计资源,进行引脚的分配,本节给出的 引脚分配仅供参考。 1在 Workspace Explorer界面中,选择 Source标签 ,在该窗口下,选择 3-8 decoder.cydwr,鼠标双击该条 目,打开引脚分配界面。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -引脚分配 2如下图所示,分配引脚。 注: Pin_A、 Pin_B和 Pin_C引脚连接到外部的按键或开关上, Pin_Y0 Pin_Y7引脚连接到外部的 LED灯上。 CYPRESS PSOC系列 培训课程 3-8译码器电路的 IP设计和调用 -设计下载与测试 1在主界面主菜单下,选择 Build-Build 3-8 decoder ,对设计进行编译; 2给所用的 Cypress PSoC开发板供电,并连接相应 的扩展模块。 3在主界面主菜单下,选择 Debug-Program,将设 计下载到目标系统中; 4改变编码的输入条件,观察输出的变化,验证设 计的正确性。 CYPRESS PSOC系列 培训课程 SR锁存器的 IP设计和调用 -基本概念 下图给出了基本 SR锁存器的实现原理。 Q S R Q Q 状态 0 0 1 1 不允许 0 1 1 0 置位 1 0 0 1 复位 1 1 Q0 Q0 保存 CYPRESS PSOC系列 培训课程 SR锁存器的 IP设计和调用 -基本概念 仔细观察上图,虽然基本 SR锁存器还是由基本的 逻辑门组成,但是和前面的组合逻辑电路最大的不同点 是,锁存器增加了输出到基本逻辑门的 “反馈 ”,而前面 的组合逻辑电路并不存在输出到输入的 “反馈 ”。 这个反馈的重要作用表明在:有反馈的逻辑电路中 ,当前时刻逻辑电路的状态,是由当前时刻逻辑电路的 输入和前一时刻逻辑电路的输出状态共同确定。 CYPRESS PSOC系列 培训课程 SR锁存器的 IP设计和调用 -基本概念 1)假设 S=0,而 R=1时,则 Q=1, Q=0。将这种输入 称为对 SR锁存器置位。 2)如果此时 S=1,则 Q和 Q输出不发生变化。因为 S输入 变化,不会引起图中底下 NAND状态的变化,称此时为保存条件 ,因为此时输出的状态和 S变成 1是一样的。 3)如果此时 R=0,图中上部的 NAND的输出状态发生变化 ,即 Q= 1, Q=0。称此时的输入条件为复位条件,因为此时 Q 输出为 0; 4)如果此时 R=1,由于前一时刻 Q=0, Q输出 =1。 Q和 Q输出状态保持不变。 5)如果此时 R=0,且 S=0时, Q=1,Q=1均为高。这 是不允许的状态,这是因为总是希望 Q和 Q是互补的。 一次只有一个输入为低,然后为高。给一个 S脉冲为低,这 样设置 Q为 1,给 R脉冲为低,设置 Q为 0。 CYPRESS PSOC系列 培训课程 SR锁存器的 IP设计和调用 - SR锁存器的 IP设计 1打开 PSoC Creator2.0软件,在主界面主菜单下, 选择 File-New-Project ,弹出创建新工程对话框。在 对话框中选择 Other标签。在 Other标签下,选择 PSoC Library类型。在 Location右边输入该设计的路径,在 Name右边给出该设计的工程名字 RS_Latch。点击 “OK” 按钮。 CYPRESS PSOC系列 培训课程 SR锁存器的 IP设计和调用 - SR锁存器的 IP设计 2在主界面的左侧的 Workspace Explorer窗口,选 择 Components标签,选中 “Project RS_Latch条目,点击 鼠标右键,出现浮动菜单,选择 “Add Component Item” 选项。 3弹出添加元件条目( Add Component Item)对话 框界面,在 Implementation下,选择 Schematic类型,在 Component name的右边给出元件的名字 RS_Latch。 点击“ Create New”按钮 CYPRESS PSOC系列 培训课程 SR锁存器的 IP设计和调用 - SR锁存器的 IP设计 4出现原理图设计界面,将鼠标移动到原理图的 Page1标签上,并点击鼠标的右键,弹出浮动菜单,选择 Rename Page,将该图纸的名字修改成 RS。 5在主界面右侧的 Component Catalog窗口内,选 择 Cypress标签,在 Cy

温馨提示

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

评论

0/150

提交评论