资讯动态
资讯资讯
- 了解PCB布局中的阻抗计算和截面特征
- 有哪些基本标准电容器变得稀缺?
- 如何处理微控制器上未使用的引脚?
- 教你最基础的PCB线路排版常识
- PCB设计中焊盘的重要考虑因素:预防焊盘凹凸
- 德州多层2020十大正规网赌网址:pcb过孔的三种分类
- 印制十大赌博正规澳门平台的IPC标准目录(一)
- 塘厦多层2020十大正规网赌网址:详解PCB板设计工艺十大缺陷
- 重庆多层2020十大正规网赌网址:为什么pcb生产时会预留工艺边
- 东营多层2020十大正规网赌网址:PCB设计中敷铜处理经验
- 深圳多层2020十大正规网赌网址:多层pcb2020十大正规网赌网址制作流程
- 印制十大赌博正规澳门平台术语总汇中英文之基材的材料(三)
- 如何利用平面的PCB叠层设计实现阻抗管理
- 挑选pcb高频板的四大因素
- pcb高频板布线时需注意的四个点
- 如何在十大赌博正规澳门平台轮廓内设计刚性柔性PCB?
- pcb电路设计的一大进步,进入健身领域
- 采用物联网PCB的模块化设计理念有哪些优势?
- pcb高频板是怎么定义的 高频十大赌博正规澳门平台的参数
- 选择pcb多层2020十大正规网赌网址工厂的四大注意事项
联系大家
联系人:李晓秋
手机:18938888028
地址:深圳市宝安区福永锦灏大厦10楼
行业资讯
设计一种跳转到Avalon总线的简单方法
许多FPGA设计使用嵌入式处理器进行控制。典型的解决方案涉及使用诸如Nios的软处理器,尽管具有内置硬处理器的FPGA SoC也变得流行。图1显示了典型的Altera FPGA系统,其中包含处理器和通过Altera的 Avalon 存储器映射(MM)总线连接的外设组合。这些处理器极大地简化了最终应用程序,但需要强大的编程背景和复杂工具链的常识。这可能会妨碍调试,特别是如果硬件工程师需要一种简单的方法来读取和写入外设而不会影响App工程师。
图1使用Avalon内存映射总线连接的典型Altera FPGA系统
本设计方案使用Altera的 SPI Slave to Avalon MM Bridge 提供了一种跳转到Avalon总线的简单方法。这种技术有两个优点:它不会损害原始系统设计,并且桥接器可以与嵌入式处理器共存。对于图1中所示的系统,SPI桥允许工程师直接控制LTC6948小数N分频PLL的频率,设置LTC1668 DAC电压,读取LTC2498 ADC的电压或读取来自LTC2983的温度,就像处理器一样。
图2荧光笔+示例代码+反向工程= Python脚本(可缩放图像)
Altera为SPI-Avalon MM桥提供参考设计。不幸的是,文档最多是稀疏的,并使用Nios处理器作为SPI主控制器。这有效地破坏了SPI桥的目的,因为
对Altera示例设计进行逆向工程后(图2的左侧),开发了一个Python库来创建桥接器可以接受的数据包。然后将这些数据包转换为Linduino命令。然后,Python脚本允许硬件工程师完全控制项目,而无需重新构建接口协议。 LinearLabTools Python文件夹中提供了一个示例Python脚本,用于控制LTC1668 DAC的数字码型发生器的频率。图3显示演示设置。
图3DC2459 DAC演示板(R)插入FPGA板(L)
图4显示系统框图。注意,数控振荡器(NCO)可以由移位寄存器或PIO内核控制。包含移位寄存器用于调试,因为它允许直接控制NCO。将GPIO线设置为高电平可启用SPI-Avalon桥,后者又控制Avalon总线上的32位PIO端口。然后,PIO输出控制NCO频率。
图4FPGA系统框图
在基本系统运行的情况下,可以将额外的外围核心连接到总线。为了设计系统,Altera提供了一个名为Qsys的工具,它提供了一个GUI来连接IP。 Qsys将GUI设计的系统(图5)转换为HDL。外设地址是完全可配置的。在这种情况下,PIO设置为0x0的基数。
图5Qsys GUI
一旦设计在FPGA中实现,LinearLabTools中提供的Python库包含两个与设计接口的函数:
transaction_write(dc2026,base,write_size,data)
transaction_read(dc2026,base,read_size)
这些函数的第一个参数是Linduino串口实例。第二个参数是Avalon总线上的外设地址。函数分别接受和返回字节列表。编写这两个函数是为了在写入和读取IP时具有灵活性。要为所提供的示例设置NCO,需要transaction_write功能。公式1用于确定调谐字。
将NCO设置为1kHz使用50MSPS采样率时,调整值为85899或0x00014F8B,它作为四个字节的列表传递。因此,将DAC设置为1kHz的python代码是:
transaction_write(linduino_serial_instance,0,0,[0x0,0x01,0x4F,0x8B ])
图6Python Avalon总线示例
图6中的Python脚本说明了简单文本配置NCO的接口。一个重要的注意事项:桥接器使用SPI模式3.通过反复试验确定了正确的模式,并通过分析Altera示例中的Nios处理器的SPI接口进行了验证。
- 上一篇:莱迪思半导体的iCE40 Ultra 可穿戴设备
- 下一篇:如何设计可靠稳定的电源
资讯资讯
-
2020-04-15
PCB热应力试验的做法
-
2020-04-15
十大赌博正规澳门平台厂的PCB维修方法
-
2020-04-15
揭秘以太网接口在2020十大正规网赌网址厂里的十大赌博正规澳门平台上的实现
-
2020-04-15
汽车2020十大正规网赌网址绿漆上PAD如何测试?
-
2020-04-15
十大赌博正规澳门平台设计后期检查的几大要素
-
2020-04-15
PCB十大赌博正规澳门平台维修中怎样带电测量?
-
2020-04-15
2020十大正规网赌网址厂如何解决多层PCB设计时的EMI问题
-
2020-04-15
十大赌博正规澳门平台厂板子锡焊质量影响因素有哪些
-
2020-04-15
关于汽车PCB2020十大正规网赌网址电测技术分析
-
2020-04-15
PCB厂的2020十大正规网赌网址差分线过孔的高速仿真分析