欢迎来到亿配芯城! | 免费注册
你的位置:Pango(紫光同创)FPGA/CPLD芯片全系列-亿配芯城 > 芯片资讯 > 一种基于新SOC技术的简单8 LED灯序设计
一种基于新SOC技术的简单8 LED灯序设计
发布日期:2024-08-02 08:13     点击次数:112

    LED技术越来越多的应用到我们的生活中,对于开发者来说,通过片上系统(SOC)平台实现LED或其他设备次序器,从而找到一种减少成本、降低设计难度的设计需求变得越来越普遍。SOC器件通过单芯片集成了完整LED子系统所需的单片机功能和各种数字外围设备。本文介绍了一种基于新SOC技术的简单的8LED灯序。在这个设计中精彩的部分就是无需进行干预。不是采用传统的由单片机处理器干预的被动的数字外设,此设计完全是基于SOC数字系统的智能分布式处理功能。这使中央处理器从管理灯序电路的工作中解脱出来,节省CPU资源从而设计效率更高。

    该设计方法可以很容易的扩展到LED以外的需要用指定顺序开启或关闭的其他设备,比如不同长度、不同模式的序列定时器等等。该设计示例中还有额外的功能:

    7位计数器(TC)终端计数

    指示设备开启关闭的输出

    为序列器件提供的8位输出

    给Verilog状态机的时钟输入

    给8位ALU(bit-slice)处理器的总线时钟

    这篇文章中用到的是赛普拉斯半导体可编程片上系统(PSoC)的集成开发环境PSoCCreator。

    原理图设计

    设计的步是在创建一个Verilog符号来定义输入、输出和与之相关的位宽度(见图1)。一旦上层Verilog模型(原理图)已经建立,它就可以用来产生包含所有模块中引脚定义的Verilog源文件。这一步不需要开发功能Verilog代码。

    3-1.jpg

    图1:Verilog符号

    刚才创建的Verilog符号现在可以放置到高层原理图设计。在这里,每一个输入及输出都能连接到时钟源、I/O引脚、状态和控制寄存器等等。8-LED灯序电路高层原理设计见图2。

    3-2.jpg

    图2:高层原理设计示例

    到现在为止,Verilog符号已经建立,放置到了高层原理设计里,并且连接到了设备的I/O和时钟。现在可以生成Verilog代码来履行某些功能,在这个中可使发光二极管闪烁。为了管理序列的逻辑能力,可以在设计里引入一个简单的数据路径。

    这个数据路径包含一个8位ALU,其具备精简指令集,两个数据寄存器、两个累积器、位移和比较逻辑、一个4deep的8位FIFO。为了保持设计简单,只用到了两个ALU,用来将累加器设置为0,每次开启或关闭序列执行的时候累加器就递增。对于较复杂的定序设计,Pango(紫光同创)FPGA/CPLD芯片 开发人员可以联合多个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方式相比,本身即可提高效率、可以使用更少的晶体管,从而更好的降低整体系统功耗,给其他特性预留出更多资源。