郵箱:mack123@126.com
手機:13929279671
電話:13929279671
地址:中国 广东 东莞市大朗镇蔡边村盆古庙区153号
Industry News
:2021-09-15 16:53:40 :
一种基于新SOC技术的简单8 LED灯珠灯序设计 LED灯珠技术越来越多的应用到我们的生活中,对于开发者来说,通过片上系统(SOC)平台实现LED灯珠或其他设备次序器,从而找到一种减少成本、降低设计难度的设计需求变得越来越普遍。SOC器件通过单芯片集成了完整LED灯珠子系统所需的单片机功能和各种数字外围设备。本文介绍了一种基于 新SOC技术的简单的8 LED灯珠灯序。在这个设计中 精彩的部分就是无需进行干预。不是采用传统的由单片机处理器干预的被动的数字外设,此设计完全是基于SOC数字系统的智能分布式处理功能。这使中央处理器从管理灯序电路的工作中解脱出来,节省CPU资源从而设计效率更高。 该设计方法可以很容易的扩展到LED灯珠以外的需要用指定顺序开启或关闭的其他设备,比如不同长度、不同模式的序列定时器等等。该设计示例中还有额外的功能: 7位计数器(TC)终端计数 指示设备开启关闭的输出 为序列器件提供的8位输出 给Verilog状态机的时钟输入 给8位ALU(bit-slice)处理器的总线时钟 这篇文章中用到的是赛普拉斯半导体可编程片上系统(PSoC)的集成开发环境PSoC Creator。 原理图设计 设计的 步是在创建一个Verilog符号来定义输入、输出和与之相关的位宽度(见图1)。一旦上层Verilog模型(原理图)已经建立,它就可以用来产生包含所有模块中引脚定义的Verilog源文件。这一步不需要开发功能Verilog代码。 图1:Verilog 符号。 刚才创建的Verilog符号现在可以放置到高层原理图设计。在这里,每一个输入及输出都能连接到时钟源、I / O引脚、状态和控制寄存器等等。8-LED灯珠灯序电路高层原理设计见图2。 图2:高层原理设计示例。 到现在为止,Verilog符号已经建立,放置到了高层原理设计里,并且连接到了设备的I/ O和时钟。现在可以生成Verilog代码来履行某些功能,在这个 中可使发光二极管闪烁。为了管理序列的逻辑能力,可以在设计里引入一个简单的数据路径。 这个数据路径包含一个8位ALU,其具备精简指令集,两个数据寄存器、两个累积器、位移和比较逻辑、一个4 deep的 8位FIFO。为了保持设计简单,只用到了两个ALU,用来将累加器设置为0,每次开启或关闭序列执行的时候累加器就递增。对于较复杂的定序设计,开发人员可以联合多个ALU形成一个16位或24位处理器。这样的处理器类似于bit-slice处理器,其在70年代和80年代早期比较流行,它可以为次序的子系统提供足够的处理能力,。 数据路径配置工具示图如下。请注意CFGRAM(配置RAM)的前二行注释:“A0 <- 0”,这是给累加器0清零,“A0 <- A0+1”,实现在A0累加值。 片上系统(SOC)技术以可编程的方式重新利用了bit-slice技术,用来把处理任务智能地分配到其他可编程硬件,从而减少主CPU的负荷。使用这种方法,可以研制出一种标准状态机。不同的是,通常算法功能要消耗大量的逻辑门。而在新的方式中这已无需再关注,因为这些功能在标准标准ALU即可实现,它包含由基于PLD的状态机控制的数据路径与/或逻辑。 这个设计独立运行于主CPU。主应用程序可以通过API(可以修改执行参数)控制灯序电路,灯序电路初始化之后,就不再需要CPU。此外,这种实现方式同使用CPU方式相比,本身即可提高效率、可以使用更少的晶体管,从而更好的降低整体系统功耗,给其他特性预留出更多资源。