赛灵思
直播中

卢颖萍

8年用户 108经验值
私信 关注
[问答]

如何将ML506套件的AC97模块与基于系统发生器的模块相结合?

你好,
我在系统生成器环境下设计了一个调制解调器模块
我生成了HDL代码,使用ISE将其下载到ML506套件上,并成功检查了tx和rx信号,但仅限于数字信号格式。
现在我想使用ML506套件的AC97音频编解码器模块将数字信号转换为模拟信号格式。
请让我知道如何将AC97模块与基于sysgen的设计模块相结合。
恐怕我必须使用包括EDK处理器在内的设计程序,我对此并不熟悉。
有没有更简单或更快的方法,最多只使用系统生成器或ISE?
我为初学者的问题道歉。
谢谢。
jein

回帖(7)

陈舒斌

2020-3-6 08:55:34
嗨,
有一个针对ATLYS Board的Q& D vhdl参考设计,它也使用类似的AC97设备。
它提供简单的音频线路输入和输出标准设置。
http://tristesse.org/FPGA/DigilentAtlysResources
我让它在ATLYS Board上运行,并且很容易根据自己的需要进行修改(例如自己的数据源)。
可能你只需要创建一个ML506兼容的UCF部分来分配正确的引脚。
我也有这个想法,但还没有找到时间。
所以如果你想尝试一下,我想听听你的经历。
有一个很好的综合 
Eilert
举报

刘鑫

2020-3-6 09:04:51
谢谢,艾利特
你已经通知http://tristesse.org/FPGA/DigilentAtlysResources,这正是我一直在寻找的。
我从站点获得了VHDL源代码,根据ML506板修改了UCF文件,并对其进行了核实。
他们工作,但不幸的是并非总是如此。
Wheneverthey没有工作,我按下设计的重置按钮到AC97设备。
经过几十次重置后,它要么快乐地结束了工作状态,要么最终结束了董事会的僵局。
我试图通过逐行调查源代码来修复不稳定的行为,但我无法找到任何故障。
我尝试更换电路板或电源适配器,但结果没有改变。
尽管你的帮助,我仍然陷入困境。
让我感到尴尬的是,它偶然发生了,即使偶尔也是如此。
问候,
Jein
举报

魏双艳

2020-3-6 09:34:07
感谢您的评论,Eilert
我附上了我的项目文件
它们与原始源代码略有不同。
至于prueba_ac97.vhd,我添加了一些探测信号,一个用于复位按钮的去抖动电路,以及一个三角波发生器,以便更快地检查。
对于AC97.vhd,我通过reset按钮添加了一个初始化例程,并为audsync,bit_count,frame_count重写了信号分配行。
从我的理解到现在,AC控制器的初始化似乎没有正确完成。
即使添加了初始化例程,它似乎也无法正常工作。
因为AC97.vhd组件使用AC97设备生成的时钟(bitclk)作为其操作,而该设备可以通过AC97.vhd复位。这意味着存在一种反馈环路,因此一旦复位
通过AC97.vhd组件发出的AC97设备,时钟(bitclk)停止运行,这使得AC97.vhd组件无法成功初始化。
感谢您的帮助。
问候,
jein
test.zip 643 KB
举报

陈舒斌

2020-3-6 09:47:05
嗨,Jein,
感谢您的数据和评论。
下周我将与我的董事会核对并告诉你结果。
亲切的问候
Eilert
举报

更多回帖

发帖
×
20
完善资料,
赚取积分