基于AVR 8位微处理器的FSPLC微处理器SOC设计

发布者:数字奇迹最新更新时间:2020-01-22 来源: eefocus关键字:AVR  8位微处理器  FSPLC微处理器  SOC 手机看文章 扫描二维码
随时随地手机看文章

1 引言
随着芯片集成程度的飞速提高,一个电子系统或分系统可以完全集成在一个芯片上,IC产业中形成了以片上系统SOC(System-on-Chip)技术为主的设计方式。同时IC设计能力和EDA工具却相对落后于半导体工艺技术的发展,两者之间日益加剧的差距已经成为SOC技术发展过程中一个突出的障碍。采用基于IP复用技术进行设计是减小这一差距惟一有效的途径,IP复用技术包括两个方面的内容:IP核生成和IP核复用。文中采用IP核复用方法和SOC技术基于AVR 8位微处理器AT90s1200IP Core设计专用PLC微处理器FSPLCSOC模块。


2 IP核复用
IP核复用(IP Core Reuse)是指在集成电路设计过程中,通过继承、共享或购买所需的知识产权内核(第三方IP核),然后再利用EDA工具进行设计、综合和验证。IP核是IP复用的载体和核心内容,基于应用需求、规范协议和行业标准的不同,IP核的内容也是千差万别的。在IC产业中,IP核被定义为用于ASIC, ASSP, PLD等芯片中,且预先定义好功能、经过验证的、可重复利用的电路功能模块,如PCI接口核、ADC核,FIR滤波器核、SDRAM控制器核等。根据IC设计层次的不同。IP核分为以下三类:软IP(Soft IP)、硬IP(Hard IP),固IP (Firm IP)。文中主要涉及到软IP核设计和复用。软IP是可类比、综合的硬件描述语言(HDL)模型,通常是可综合的RTL模型,包括逻辑描述、网表和测试的文档(Testbench)。软IP设计周期短、投人少,与工艺无关,可灵活修改,在设计中只须对时序、面积和功耗进行修正,可复用性最高。基于软核的设计(Soft Core-based design)是一种非常实用的SOC设计方法。它将系统的功能划分为不同的软核,包括微处理器、ALU、ROM、PC、ROM、I/0等。由于软IP核仅提供能够综合的HDL描述,因此复用前需要深人地了解HDL文件描述的RTL模型,采用适当工艺技术的标准单元库,再重新进行综合、布局布线、后仿真提取网表、验证时序等反复工作,最后集成到SOC设计中,因此SOC设计即生成的IP核和第三方复用IP核集成整合。


3 FSPLC微处理器IP核设计
3.1 IP软核生成
文中基于AVR8位微处理器分析实际PLC梯形图及其指令表,设计逻辑处理器LP、布尔处理器BP、存储器位接口MBI等3个模块用于提高PLC执行速度,下面以逻辑处理器LP单元模块为例,描述IP软核生成。PLC梯形图包括8种基本电路:左分支触点LBC/非触点LBCN,右分支触点RBC/非触点RBCN, 双分支触点DBC/非触点DBCN,不分支触点NBC/不分支非触点NBCN。文中根据这8种基本电路设计一个16xl6触点矩阵电路,即逻辑处理器LP单元,矩阵中各个触点由电子电路模拟PLC梯形图基本电路。在任何一个触点上包括横线输入、竖线输入、引出输出线圈。触点矩阵中共有256个横线输入圈节点hi,240个竖线输入圈节点vi,256个输出线圈Io。当一行超过16时,转向下一行,以此构成矩阵电路,如hi,vi,lo表示某个触点的横线输入、竖线输入、输出,那么其同行的下一个触点的横线输入、竖线输入、输出分别为hi[i+ 1]、vi[i+1]、lo[i+1],其同列的下一个触点hi[i+16]、vi[i+16]、lo[i+16],那么输出触点的表达式为

I0=I0[i-1]hi+vi[i-16]lo[i-16]+vilo[i+16-1]hi[ i+16] 。

以此各个触点彼此互相连接组成处理梯形图的触点矩阵。如图1所示。



图1  LP单元触点电子电路模拟

逻辑处理器LP采用Verilog描述,借助Model-Sim进行功能仿真,验证模块功能的正确性。LP单元功能仿真波形如图2所示。



图2  LP单元功能仿真波形

验证功能正确后,借助Synosys的综合工具Synplify Pro对模块进行综合。综合包括Compiling、Mapping、Optimization。综合时将经ModelSim。功能仿真验证的源代码调人Synplify Pro,执行Compiler,编译后,创建约束文件。sdc,编辑约束文件对模块添加约束条件,包括时钟、面积、扇人扇出、延时等,添加约束后执行综合,产生网表文件。EDF。根据综合后给出的。log文件观察Constraint文件中的约束条件是否满足需要,例如按照给出的“Worst Path Information,修改约束以满足Worst Path的要求。综合完成后在Quartus Ⅱ4。0展开网表文件,布局布线后编译形成。sof文件,将此文件下级到Alters Nios开发板进行验证,验证正确后再借助ModelSim进行时序验证。

3.2 AVRIP核复用
AVR8位微处理器AT90S1200IP核由opencores。org提供。整个微处理器IP核包括ALU、PC、SRAM、IR、ROM、I/0,控制等”个模块,可以分成3个单元;取指单元、执行单元和I/0单元。指令执行时,取指单元负责取出下一个指令,执行单元负责执行当前指令,而LO单元负资和外界的连接。取指单元和执行单元组成微处理器的CPU。

整个AVRIP核包括许多寄存器:指令寄存器、指令备份寄存器、程序计数器、通用寄存器、存储地址寄存器(MAR),1/O口控制寄存器等。整个系统的工作就是基于这些寄存器之间的数据传输。设计所有的寄存器以及它们之间的组合逻辑及其连接就是系统的数据通道设计。控制模块决定怎样进行寄存器传愉。数据通道和控制单元组成了整个微处理器。

对于AT90S12001P核复用,考虑到IP核在SOC中集成整合,首先须彻底了解所复用核的架构和指令集,借助ModelSim进行功能仿真,建立Testbench平台测试波形验证功能的正确性,如图3所示。编译无误且功能正确后借助Synplify Pro对IP核饰代码进行逻辑综合,如果VHDL程序正确无误并且其编程风格符合Synplify Pro综合要求,Synplify Pro将产生一个网表文件(。EDF文件),再借助QuartusA4。0和ModelSim分别进行FPGA验证和时序验证,此过程不断循环,直至复用的微处理器IP核没有任何错误。



图3  AVRIP复用测试平台Testbench框图


4 FSPLC微处理器核SOC设计
4.1 SOC硬件结构
根据FSPLCSOC系统功能定义,设计完成FSPLC微处理器硬件结构,如图4所示。



图4  FSPLCSOC硬件结构框图

FSPLCSOC由AT90S1200、布尔处理器BP、存储器位接口MBI、逻辑处理器LP,CAN总线1。0接口CBI、底板总线接口BBI等6个模块组成。AT90S1200模块是SOC的核心,实现PLC指令的执行;BP模块由两个位累加器和一个位逻辑堆浅BLS组成,该结构可以有效处理IEC61131-3(国际电工委员会制订的基于Windows编程语言标准)PLC指令表语句中复杂的嵌套逻辑运算,使运行频率最高的位指令达到最大的执行速度;存储器位接口模块由一个存储器位寻址接口逻辑和一个8选1选择器组成,为布尔处理器和数据存储器之间的位访间接口;CAN总线1。0接口CBI模块和外部基于Atmega8515的USB-CAN适配器相连,通过此适配器FSPLC可以和其他带有CAN接口的PLC实现CAN通讯;通过底板总线接口BBI模块可以在FSPLC片外扩展模块,最多可以达到8个,包括I/0扩展模块、AID模块、D/A模块、计数模块等。其中AT90S1200,MBI,LP,CBI,BBI模块通过内部总线连接,BP通过MBI模块转换实现和其他模块的连接。

4.2 FSPLCSOC仿真、综合、验证
由于SOC设计是一种面向IP核集成的设计,整合后的SOC模块同第三方IP核复用一样需要进行模块的仿真、综合和验证。FSPLC SOC同复用AT90SI200核一样借助ModelSim进行功能仿真和验证后时序仿真,借助Synplify Pro进行综合。

下面具体描述FSPLCSOC的验证,SOC设计中包含了系统设计和模块设计,因此SOC验证一般包含了模块验证、芯片验证和系统验证三个部分。由于FSPLCSOC涉及到的主要是数字IP核,文中采用Altera NioslI开发板作为设计的验证平台,该开发板带有一个20多万门的Altera EP20K200EFC484-2的FPGA芯片、拨码开关、数码显示器等,用一个实际PLC应用程序在此开发板上对FSPLCSOC进行了可行性验证,同时通过对AVR编译器Avral。0的编译代码变量中增加PLC指令代码,使之能够对PL(:指令进行编译。图5,图6分别为PLC控制程序的梯形图及其汇编程序。



图5  PLC控制程序的梯形图

开发板的拨码开关SWl的1、2、3、4来模拟上述开关的闭合,观察数码显示器Dl数码段明暗,验证设计的可行性。FSPLCSOC在Altera Nios开发板的FPGA芯片上进行了可行性验证,获得了理想的运行效果:在33MHz晶振下,执行基本逻辑指令速度为0。09μ/条,达到了国际上大中型PLC的处理速度。



图6  PSPLC汇编程序


5 结束语
目前IC产业中,SOC已成为最主要的集成电路设计方法8位RISC微处理器芯片设计正在向SOC化发展,通过IP核复用方法以缩短周期、降低成本、提高效率。文中基于IP核复用和SOC技术借助ModelSim、Synplify Pro、QuartusⅡ等EDA软件设计了拥有自主知识产权的专用PLC微处理器SOC模块FSPLC,在复用了第三方AVRAT90SI200IP核基础上集成了自行设计的LP、BP、MBI、CBI、BBI等模块,具有快速处理PLC梯形图程序、快速处理IL语句表中复杂的嵌套逻辑运算、PLC之间CAN总线通讯等优点。最后采用Altera NiosII作为验证平台,对实际的PLC应用程序做了可行性验证,获得了理想的效果。

关键字:AVR  8位微处理器  FSPLC微处理器  SOC 引用地址:基于AVR 8位微处理器的FSPLC微处理器SOC设计

上一篇:一种基于AVR Butterfly的多功能电源设计
下一篇:AVR模数转换程序

推荐阅读最新更新时间:2024-11-13 11:34

AVR单片机直接控制其步进电机
用mege8L的PB0-PB3连接步进电机的四个接线端!该步进电机的转矩很小,强烈建议不要将其从底座上拆下!!!否则没有轴承支撑,摩擦力太大,转不起来! #include iom8v.h #define uchar unsigned char #define uint unsigned int uchar np; const uchar motortb ={0x11,0x99,0x88,0xcc,0x44,0x66,0x22,0x33};//步进电机运行数据表 void delay(uchar t)// 每步延时的子程序 { uchar i; uint j; for (i=0;i t;i++) for (j=0;j 900
[单片机]
AVR单片机教程——数码管
先解答之前一个思考题:如果不把引脚配置为输出而写高电平,连接LED会怎样? 实验结果是,LED会亮,但相比于输出高电平的情况,亮度很低。这是为什么呢? 通过上一篇教程我们知道,引脚输入输出模式是由寄存器DDRx中DDxn位控制的,可以推断出 pin_mode 函数会改变一个引脚对应的DDxn值,输入为0,输出为1,而其复位后的值为0,即输入,因此如果不把引脚配置为输出,它的模式就是输入。类似地 pin_write 函数会改变PORTxn,其值为函数的第二个参数。 所以不配置输出而写高电平的结果就是,这一引脚的DDxn为0,PORTxn为1,是带上拉电阻的输入模式。上拉电阻相当于VCC接电阻后再接在引脚上,外部电路是引脚
[单片机]
<font color='red'>AVR</font>单片机教程——数码管
Wireless Gecko SoC产品系列支持Bluetooth 5连接和扩展的内存选项
2017年6月15日,Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB)发布了新型的支持全面Bluetooth®5连接和更多存储容量选项的多频段SoC,进一步扩展了其Wireless Gecko片上系统(SoC)产品系列。Silicon Labs的新型EFR32xG13 SoC为开发人员提供了极大的设计灵活性以及更多的功能,非常适用于那些使用单一无线协议或者需要更多存储容量的多协议解决方案,以及对容量需求更大的应用或者在线(OTA)升级的应用。EFR32xG13器件还集成了可减小物料清单(BOM)成本的先进片内振荡器,以及安全加速、电容传感、低功耗传感和增强的RF性能。 新型EFR32xG13系列产品支持所有Bl
[网络通信]
AVR单片机和GTJ4-10A固态继电器实现实时测量监控系统的设计
随着计算机技术尤其是单片微型机技术的发展,温度对人们的生活与工作影响很大,所以要实时采集温度并且对其进行分析。为此,实现实时准确的测量监控。采用串口传送数据并且在PC机上进行分析。由于单片机的控制方便、简单和灵活等优点,采用了高性能avr单片机来控制GTJ4-10A固态继电器,最总实现温度的控制。从而最总在PC机上绘制温度曲线并保存数据和分析温度的数据。 1 、系统组成及基本原理 本系统由温度采集模块,固态继电器控制模块,单片机模块,PC机软件处理模块。4个模块加起来实现温度的控制,以及温度采集和温度经过软件处理的分析。它们的逻辑关系如图1所示。 本系统的任务是对某种特定环境的温度进行采集并进行保存和再显示,通过单片机去控
[单片机]
<font color='red'>AVR</font>单片机和GTJ4-10A固态继电器实现实时测量监控系统的设计
avr单片机 TC1的16位PWM输出程序
********************************************/ * 工作频率:内部8M * * 编 译 器:ICCAVR 6.31A * * 输 出:PD4输出PWMB,PD5输出PWMA * * 产生的PWM频率为8M/65536约122Hz * ********************************************/ #include iom16v.h #include macros.h //延时函数:入口time 需延时的MS数 void delay_ms(unsigned int time) { unsi
[单片机]
AVR单片机熔丝位的设置和详细的拯救方法
熔丝位是ATMEL公司AVR单片机比较独到的特征。在每一种型号的AVR单片机内部都有一些特定含义的熔丝位,其特性表现为多次擦写的E²PROM。用户通过配置(编程)这些熔丝位,可以固定地设置AVR的一些特性,参数以及I/O配置等,当然也包括对片内运行代码的锁定(加密)。 用户使用并行编程方式、ISP编程方式、JTAG编程方式都可以对AVR的熔丝位进行配置,但不同的编程工具软件提供对熔丝位的配置方式(指人机界面)也是不同的。有的是通过直接填写熔丝位位值(如:CVAVR、PonyProg2000和SLISP等),有的是通过列出表格选择(如AVR STUDIO、BASCOM-AVR)。前者程序界面比较简单,但是需要用户在仔细查询操作,
[单片机]
<font color='red'>AVR</font>单片机熔丝位的设置和详细的拯救方法
电装与NTT将验证V-SOC技术 开发弹性互联汽车安全解决方案
据外媒报道,电装公司(DENSO)和日本电信电话公司(NTT Communications Corporation,简称NTT Com)将于2020年1月开始验证双方联合开发的车辆安全操作中心(Vehicle Security Operation Center,简称V-SOC)技术,用于监测和分析车辆的安全状态。 (图片来源: www.prnewswire.com ) 利用ICT(信息通信技术)的新汽车技术和解决方案不断涌现。而与此同时,网络攻击变得越来越复杂,并且越来越难以察觉。因此,互联汽车的网络安全变得愈发重要。互联汽车需要配备安全技术,以快速检测和分析网络攻击,并根据情况无缝地提供适当支持。 自2017年以
[汽车电子]
电装与NTT将验证V-<font color='red'>SOC</font>技术 开发弹性互联汽车安全解决方案
SoC FPGA提升蜂巢网络设备整合度
蜂巢式网络服务供应商对降低营运成本的需求愈来愈迫切,因此现场可编程门阵列(FPGA)业者推出整合嵌入式处理器的SoC FPGA方案,并导入效能更高的数字预失真(DPD)演算法,协助网络设备制造商以更低功耗及成本,打造更高生产力的产品。   蜂巢式网络业者设法透过全新传输界面、传输频率、更高频宽以及增加天线的数量和更多无线基地台提升网络密度,因此须要大幅降低设备的成本。另外,这些业者为降低营运成本,也需要更高运作效率和网络整合度的设备。无线基础设备制造商为提供可以符合不同要求的设备,皆在寻求更高整合度、更佳效能和灵活度高的解决方案,并且同时降低功耗和成本。   整合度是降低整体设备成本的关键,然而这必须依赖可提升功率放大器效率的
[模拟电子]
<font color='red'>SoC</font> FPGA提升蜂巢网络设备整合度
热门资源推荐
热门放大器推荐
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved