登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
单片机应用于方案
›
松耦合式可编程复杂SoC的设计实现
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版
松耦合式可编程复杂SoC的设计实现
[复制链接]
1250
0
ad***
管理员
发表在
嵌入式/ARM
2013-3-20 02:10:26
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
随着科技的发展,信号处理系统不仅要求多功能、高性能,而且要求信号处理系统的开发、生产周期短,可编程式专用处理器无疑是实现此目的的最好途径。可编程专用处理器可分为松耦合式(协处理器方式,即MCU+协处理器)和紧耦合式(专用指令方式,即ASIP),前者较后者易于实现,应用较广。本文就是介绍一款松耦合式可编程专用复杂SoC设计实现,选用LEON3处理器作为MCU,Speed处理器作为CoProcessor。
LEON3及Speed
LEON3是由欧洲航天总局旗下的Gaisler Research开发、维护,目的是摆脱欧空局对美国航天级处理器的依赖。目前LEON3有三个版本(如表1),其中LEON3FT(LEON3 Fault-tolerant)只有欧空局内部成员可以使用。LEON3 (basic version)是遵循GNC GPL License的开源处理器,和SPARC V8兼容,采用7级Pipeline,硬件实现乘法、除法和乘累加功能,详细特性请参考相关技术文档[1]。
表1 LEON3的不同版本
目前,LEON3处理器因为开源、高性能、采用AMBA总线易扩展及软件工具完备等因素,在国内外大学(如UCB、UCLA、Princeton University等)及科研院所的科研活动中得到广泛应用。
Speed(又名GA3816)是一款我国自主研发、处于同时代国际先进水平、可重构、可扩展的面向FFT、IFFT、FIR及匹配滤波应用的信号处理器,其内部结构如图1所示,具有以下特点[2~4]:
1)Speed在追求运算速度的同时兼顾通用性,通过设置64位控制字,器件内部资源可根据不同应用进行重组;
2)可以实现FFT、IFFT、FFT-IFFT、FIR、滑窗卷积等运算,峰值运算能力达256亿次浮点乘累加/秒;3)由160个实数浮点乘法累加运算器组成40个复数乘法累加器阵列,1Mbit的双口SRAM,8个512×32bit系数ROM,两个直角到极坐标转换电路,两个对数变换电路及其它辅助电路和控制电路。
图1 Speed的内部模块结构
Speed传统的工作方式是通过片外
FPGA
输入控制信号和待处理数据,这不仅增大了
PCB
板级布线、调试的工作量,而且FPGA不能用C等高级语言编程,算法改动起来不灵活。另一方面,随着半导体工艺、微电子技术的发展,大规模的复杂SoC实现技术逐渐成熟,因此有必要将板级FPGA + Speed改进为芯片级MCU + Speed,这样既能实现真正的可编程增大灵活性,又能加快用户开发信号处理系统的速度。利用AHB实现通信
为了实现可编程,需要将C/C++程序表达的信息经过编译器、LEON3处理器、AHB总线、DMA控制器和必要的HDL代码,转化成Speed能够识别的信息,进入Speed模块中,如图2。其中AHB总线是LEON3 Core和Speed Core结合的关键。
图2 实现软件可编程的过程
AHB总线及AHB控制器
AMBA总线是一种应用广泛的层次化总线结构,有高速的AHB和低速APB之分,其中AHB是一种流水式高速总线结构,地址和数据总线相互独立,可挂载16个Master和Slaver设备,常用来组织和连接高性能模块,如处理器、DMA控制器、协处理器等[5~7]。AHB总线的核心是AHB控制器,主要包括仲裁器,译码器和多路复用器,其中仲裁器选择AHB Master,而译码器选择AHB Slave,实现写数据WDATA和读数据RDATA分开,如图3所示。
DMA控制器
DMA是指设备直接对计算机存储器进行读写操作的方式。这种方式下数据的读写无需CPU执行指令,也不经过CPU内部寄存器,而是利用系统的数据总线直接在源地址和目的地址之间传送数据,达到极高的传输速率。DMA控制器一方面可以接管总线,即可以像CPU一样视为总线的主设备,这是DMA与其它外设最根本的区别;另一方面,作为一个I/O器件,其DMA控制功能正式通过初始化编程来设置。当CPU对其写入或读出时,它又和其它的外设一样成为总线的从属设备。本文中为了实现DMA和AHB密切配合,即启动DMA后大量原始数据通过AHB总线从数据存储器进入Speed模块,需要DMA控制器内部包含AHB Master模块,如图4所示。另外需要说明的是,LEON3为了实现AHB上设备的plug&play需要在0xFFFFF000-0xFFFFF800地址空间添加设备信息[8~9],所以DMA 控制器和Speed协处理器亦要如此,以便LEON3的软硬件协调一致。在C语言实现DMA时,向DMA的控制寄存器写入相应的信息,即可启动DMA传输,如图5所示。
图4 DMA与AHB Master的关系
图5 启动DMA的C代码示意
Speed的AHB接口
为了使Speed可以顺利接收LEON3传送过来的控制字或DMA传送过来的原始数据,需要在原有的Speed core模块顶层添加AHB Slaver协议来接收AHB上传送的数据,以及产生相应波形的HDL代码来将C程序的信息生成Speed所能识别的信号波形进入Speed模块内部,即从图6中的控制字,转化成图7中的时序。
图6 C语言描述的Speed控制字
图7 Speed core所需的配置时序
同理于控制字,滤波系数和原始数据的输入亦需要一定的HDL代码来实现指令或数据向时序图的转化,其本质相当于译码,实现起来难度不大,此处就不再累述。Speed处理后数据通过状态信号(zero_flag)下降沿触发LEON3的中断响应,实现向外部存储器的输出,此过程和数据输入类似。
关键字:SOC 松耦合
编程、编译及仿真
用户在C编程时,只需要按照Speed所需的启动方式,先设置控制字、再输入滤波系数、然后启动DMA输入原始数据。值得注意的地方是,为了实现Speed的运算与DMA中原始数据输入同步,需要在C代码的不同指令间插入一定的延迟指令,此延迟间隔可根据软硬件的响应速度来计算。
Gaisler Research公司提供完整的LEON3开发套件,包括C代码编译器sparc-elf-gcc,大大方便了软硬件开发和联合调试。 将LEON3和Speed的SoC硬件HDL描述,及编译后的二进制指令调入Modelsim进行软件仿真,再利用FPGA进行硬件仿真,其结果如图8、9、10所示。
图8 从C语言控制字产生的配置时序
图9 触发中断响应的zero_flag信号
图10 在Altera StratixII 2S180中的仿真结果
结语
本项目利用LEON3的高性能、易编程、开源等优点,开发了AHB总线接口和DMA控制器,实现了Speed专用信号处理器的软件可编程,大大简化了Speed用户的开发过程。有待改进之处是,1)当前Speed可处理40bit数据,而Leon3是32bit,没有最大限度发挥Speed的运算能力;2)如果在LEON3上运行RTEMS (Real Time Executive for MultiProcessor Systems) 操作系统,将进一步方便用户扩展LEON3的利用价值。
举报
回复
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
外围器件论坛
模电数电论坛
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
产品品牌:永嘉微电/VINKA 产品型号:VKL44A 封装形式:TSSOP48 概述 VKL144是
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
产品品牌:永嘉微电/VINKA 产品型号:VKL128 封装形式:SSOP44 概述 VKL128是一
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
产品品牌:永嘉微电/VINKA 产品型号:VK2C23A/B 封装形式:LQFP64/48 概述 VK2C
高抗干扰液晶驱动/点阵式液晶显示IC/VK2C21
产品品牌:永嘉微电/VINKA 产品型号:VK2C21D 封装形式:SOP16 概述 VK2C21D是
I2C通信接口段码液晶驱动芯片VK2C21C SOP20
产品品牌:永嘉微电/VINKA 产品型号:VK2C21C 封装形式:SOP20 概述 VK2C21C是
更多
精华推荐
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
高抗干扰液晶驱动/点阵式液晶显示IC/VK2C21
I2C通信接口段码液晶驱动芯片VK2C21C SOP20
VK2C21B SOP24高抗干扰LCD液晶段码驱动芯片
低成本、高性能、带EEPROM了解一下
工控仪表/水电气表LCD驱动/抗干扰液晶段码
更多
社区学堂
VKL144A TSSOP48 点阵式液晶驱动芯片/
高抗干扰液晶显示驱动/省电液晶驱动IC/
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
产品品牌:永嘉微电/VINKA 产品型号:VKL44A 封装形式:TSSOP48 概述 VKL144是
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
产品品牌:永嘉微电/VINKA 产品型号:VKL128 封装形式:SSOP44 概述 VKL128是一
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
产品品牌:永嘉微电/VINKA 产品型号:VK2C23A/B 封装形式:LQFP64/48 概述 VK2C
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表