完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
亲爱的各位,
现在,我有一个项目,遵循这个过程:1.WaveDAC8可以产生正弦波形。2. WaveDAC8的输出是ADC.3的输入。通过DMA。4将ADC输出发送到滤波器。 但是我不能得到由WaveDAC8生成的LCD上的正弦波数据。你可以下载这个项目并测试它。现在我想调试它,但是我能看到的明显现象可能是存储在SRAM中的数据。有没有其他方法我可以发现错误?谢谢! 以上来自于百度翻译 以下为原文 Dear all, Now i have a project,following the process:1.WaveDAC8 can generate the sine wave.2.The output of WaveDAC8 is the input of a ADC.3.Sending the ADC output to the filter by the DMA.4.I store the filter output datas into SRAM and display them on LCD. But i can not get the sine wave datas on LCD which generated by WaveDAC8.You can download the project and test it.Now i want to debug it ,but the obvious phenomenon i can see maybe is the data stored into the sram.Dose any other ways i can find the errors? Thanks! |
|
相关推荐
15个回答
|
|
@
正弦波是由WaveDAC8生成的,如何判断数据是通过ADC从正弦波中采样的?如果我用PWM方式产生正弦波,我就列出了正弦波的全部数据,所以我可以判断数据是否需要,所以我不知道如何从两个数据中判断出需要的正弦波。钻孔工程?谢谢你坚持不懈的帮助。 以上来自于百度翻译 以下为原文 @ H L, The sine wave is generated by the WaveDAC8,how can i judge whether the datas are sampled from the sine wave by the ADC?If i use the PWM way to generate the sine wave,the whole datas of the sine wave are listed by myself,so i can judge the datas whether i needed.So i don't know how to judge the two datas wether from the sine wave i needed.Can you point out the errors leading to the errors during the process of the whole project ?Thanks for your insisted help. |
|
|
|
WaveDAC部件具有周期结束(1周期)输出。
信号。你可以用它来记录一个周期的正弦波读数。 用ADC,然后查看数组的数组,看看它是否也有 1个周期的数据值,也是你期望的正弦值。 使用WC1输出的WaveDAC,将其绑定到ISR组件,并在第一 ISR翻转指向空数组的指针,然后用数组填充该数组,然后 当下一个ISR事件发生时,将指针指向另一个停止的数组。 填充数组,您只需完成,然后读取刚才填充的数组。 WEADEAC分量的一个周期/周期。 但是,如果WaveDAC与A/D同步,这仅适用。 阵列是100个样本,正弦是1千赫,那么A/D必须同步。 WaveDAC时钟并运行在100 kSPS以精确填充数组 100±1样本。 这将证实您的采样和DMA是正确的。 在TektrnIX中用等效时间采样对同步问题进行求解。 AP注我张贴。 另一种方法是创建一个PLL,以在单周期模式下运行A/D。 但这是更复杂的,实现PLL。 问候,Dana。 以上来自于百度翻译 以下为原文 The Wavedac component has an end of cycle (1 period) output signal. You could use that to take one cycle of sinewave readings with ADC and then look at array of samples to see if it also has 1 cycle worth of data and is also a sine as you expect. Use the wc1 output of wavedac, tie it to isr component, and at first isr flip a pointer to an empty array, fill that array with samples, then when next isr event occurs, flip pointer to another array which stops filling array you just finsihed, and read the array you just filled with one period/cycle of wavedac component. Note however this only works if wavedac is in synch with A/D. So if array is 100 samples, sine is 1 Khz, then A/D must be synch with wavedac clock and running at 100 KSPS to exactly fill array with 100 +/- 1 sample. This would confirm your sampling and dma is right. The synch issue is aleviated by equivalent time sampling, in the Tektronix ap note I posted. Another way is to create a PLL to clock A/D running in single cycle mode, but that is more complicated, implementing PLL. Regards, Dana. |
|
|
|
当我说“你怎么知道它错了:我的意思是”
你是否期待某种价值,而价值却不是你所期待的? 根据你提出的期望值? 以上来自于百度翻译 以下为原文 When I say "how to you know it it wrong: I mean Are you expecting some value and the value is not what you expected? And based on what you come up with your expected value? |
|
|
|
你能用中文发表你的问题,我能理解中文,并能翻译你的愿望。
以上来自于百度翻译 以下为原文 Could you post your question in chinese, I can understand chinese, and can translate it you wish. |
|
|
|
我需要编辑功能
“如果你愿意的话,可以把它翻译成英语。” 以上来自于百度翻译 以下为原文 I need the editing function "..., and can translate it to english - if you wish." |
|
|
|
|
|
|
|
|
|
|
|
1。你有
It*dST作为全局变量 和 在主循环中的int dST(100)。 2。当你说不能离开时,到底发生了什么?你可以看到 数据: 是展示而不是价值,还是在展示其他东西? 以上来自于百度翻译 以下为原文 1. you have int* dst as global variable and int dst[100] in your main loop. 2. when you say cannot dispaly, what actually happen? you can see the DATA: on the display but not the value or it is showning something else? |
|
|
|
正如L.L.所说:从程序中删除“INT*DST”并移动定义。
“int dST(100)”到全局变量区域。 查看DMA数据表,看看SRAM地址应该如何与PSoC3设计相反。 调试DMA有点复杂,因为没有可以停止的指令。我建议在一个完整的DMA传输中编写和连接一个中断,让您设置一个断点。 鲍勃 以上来自于百度翻译 以下为原文 As L.L. said: remove the "int * dst" from program and move the definition "int dst[100]" to the global variable area. Have a look into the DMA-datasheet to see how sram-addresses should be defined in opposite to PSoC3 designs. Debugging DMA is a bit complicated, since there is no instruction you can stop at. I would suggest to write and connect an interrupt that gives you a breakpoint to set at a complete DMA-transfer. Bob |
|
|
|
@ L.L,@鲍伯,“达纳骑士”
是的,我删除int *dST,并设置int dST(100)ToLoBar变量区域。现在不管我如何设置过滤器截止,LCD只显示两个数据在一个循环上。我的理想数据数是100。 以上来自于百度翻译 以下为原文 @L.L,@Bob,@danaaknight Yeah,i delete the int *dst,and set the int dst[100]to global variable area.Now no matter how i set the filter cutoff, the LCD only display two datas on it for a cycle.My ideal number of datas is 100. |
|
|
|
马克:我想你应该说一下你想做什么。LCDis不是那么快,它可能每秒更新10次。
以上来自于百度翻译 以下为原文 @Mark: I guess you should tell a little bit about what you want to do. The LCD is not that fast, it might be updated 10 times per second. |
|
|
|
@呃,呃,
我只想对WaveDAC8产生的正弦波进行数字化,把数据存储到SRAM中,采样数据数是100。在LCDApReltIt8()之后添加CyDelay-(),所以我认为它不会快速更新。 以上来自于百度翻译 以下为原文 @H L,@hil, I just want to digitalize the sine wave generated by WaveDAC8,and store the datas into sram.And the sampled datas number is 100.I add a CYdelay() after the LCD_PrintInt8(),so i think it will update not to fast. |
|
|
|
你说的“数字化正弦波”是什么意思?
据我所知,你有一个WaveDAC8,产生正弦波。DACIS的输出路由到ADC,ADC又连接到DFB块。然后,DFB将过滤后的结果存储在SRAM中。 但是你想要展示什么呢? 以上来自于百度翻译 以下为原文 What do you mean by "digitalize the sine wave". As far as I understood you have a WaveDAC8, generating a sine wave. The output of the DAC is routed to an ADC, which in turn is connected to a DFB block. The DFB then stores the filtered result in sRAM. But what is it that you want to display? |
|
|
|
为了数字化正弦波,就像DSO一样,你可以实时地进行,
这意味着你对波形过度采样,或者你可以使用等效时间。 如果取样速度不够快,取样。然而,这仅限于连续的。 时间信号,不像实时采样。附件中讨论的原则。 你需要,对于任何频率输入,它总是产生一个单一的100个样本 波形的周期? 注意,有几个示例项目演示如何使用DMA,这里 HTTP://www. CyPress?COM/?RID=37793 AN51705 问候,Dana。 简单地 桑普尔 基本范围 275.2 K 以上来自于百度翻译 以下为原文 To digitize the sinewave, much like a DSO does, you can either do it in real time, which means you oversample your waveform, or you can use equivalent time sampling if you cannot sample fast enough. However this is limited to continuous time signals, unlike real time sampling. Principles discussed in attachment. Do you need, for any frequency input, it to always yield 100 samples for a single cycle of the waveform ? Note there are several example projects that show how to accompish DMA, here - http://www.cypress.com/?rID=37793 AN52705 Regards, Dana. simply sampl
|
|
|
|
1。我也会把LCD的数组索引打印出来。
2。你从LCD上看到了什么?空白?错误的价值?有些数字,但不是数字?…… 以上来自于百度翻译 以下为原文 1. I would also print out the array index to the LCD 2. What did you see from the LCD? BLANK? wrong value? some charaters but not numbers?...... |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2105 浏览 1 评论
1851 浏览 1 评论
3669 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1786 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
568浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
422浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
437浏览 2评论
383浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
915浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 06:31 , Processed in 1.311583 second(s), Total 104, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号