明德扬整理了的同学们在学习中提出的问题,本帖将所有问题进行一个汇总,大家可以从这里找到要学习或疑惑的问题,然后进入对应的汇总贴进行学习。本文只是针对明德扬案例作出的一个小汇总。为方便随时找到答案,敬请收藏本网址.;mdy-edu.com/wentijieda/20,如果同学们的问题我们帖子里面没有的请第一时间联系我微信同步:13112063618易老师,我们对新问题进行补充!
1. AD和DA案例
1.1 案例编号:000400000001 简易示波器
【问题1.1.1】 下载开发板后,无波形显示
答:可能的原因有如下,请逐个确认排除:
1. SMA线注意是要公头,请与开发板核对一下。
2. 信号发生器没有产生波形,可以将其接到示波器观察,确认是有波形输出的。
3. 阈值电平设置太高,没有达到触发的水线,要注意调节阈值,调节方法:MP801最右边的按键。
4. VGA线未连接。这个要看显示器,一般上电后,会显示背景图的。
5. 注意,设置完阈值后,一定要按按键s1 !!!只有按了S1,才能正常启动。6,当显示的波形过于靠上或者靠下,以至于显示不完整的时候,请调节信号发生器输出波形的偏置。
7. 如果还有问题,请与我们客服联系,要求技术人员介入。
【问题1.1.2】显示出来波形在屏幕的最下面,而且只显示一部分。
答:调整信号发生器输入进来信号的偏置。
2. 边缘检测系列案例
2.1 边缘检测工程,相关案例编号:000500000002、000500000003、000500000004、000500000005、000500000006、000500000007、000500000008、000500000009
【问题2.1.1】点拨开发板,下载工程检测工程后,没有反应。
答:注意:下载后,需要按下矩阵键盘的按键0(即左上角第一个按键),才能显示!!!
【问题2.1.2】点拨开发板可以显示摄像头拍摄过来的图片吗?
答:由于点拨开发板的资源不足,所以无法显示摄像头的图片,如要显示,建议购买MP801开发板。
【问题2.1.3】PCLK和XCLK的异同
答:FPGA提供XCLK给摄像头,摄像头利用XCLK产生PCLK。所以PCLK来源于XCLK,所以XCLK是多少,PCLK就是多少。也就是说PCLK和XCLK频率大小一样,只是说可能不同相。
【问题2.1.4】是否不使用PLL,而是用PCLK来作为采集模块的时钟?
答:PCLK经过插件连到FPGA,由于连线问题,这可能会不稳定。为解决此问题,将PCLK连到PLL,产生一个同频同相的时钟,使用这个时钟作为采集模块的工作时钟。这样,即使PCLK缺少或者不稳定,但产生的时钟也会保持稳定。
【问题2.1.5】摄像头寄存器配置模块中,配置的是04对应RGB,但是数据手册中RGB应该是01,这是为什么?
答:这里的Bayer RAW本质上是RAW RGB格式,也是RGB格式。
RAW RGB:在摄像头里没有经过任何处理的数据。
RGB:在摄像头里经过了ISP等算法处理的数据。
如果想要最原始的数据,就使用RAW格式;如果要摄像头先美化一下,就使用RGB格式。想要哪种格式,取决于您的需求。
【问题2.1.6】边缘检测寄存器是怎么样配置的呢? 答:边缘检测中,ov7670_cfg模块和sccb模块,就是用来配置的,可以参考。
【问题2.1.7】现有vga的像素是[7:0] 需要将其移植到[9:0]的开发板中 是不是可以直接将 [9:0] <= {[7:0],[1:0]} 直接将低位补0? 答:像素变换的时候,要注意数据代表的含义。当是RGB格式并且VGA像素是8位,大概率是R323的格式。即data[7:5]是R,data[4:3]是G,data[2:0]是B。当要扩展位宽为10位的时候,就要考虑10位中,哪些位是表示R、G、B的,然后在相应的位置补0。假设分别是433来表示RGB,那么应该是这样拼接:{data[7:5],1'b0,data[4:3],1'b0,data[2:]}。上面是举例子,请按此种思想来变换位宽。
【问题2.1.8】RGB565转成8位的灰度值,怎么转换成16位直接让vga输出?让vga输出这个8位的dout灰度值 答:三种颜色的低位补0即可。
【问题2.1.9】移位寄存器的IP核两个tap之间间隔的值可以任意设置吗,我看设置上只能设置2的次方的一些固定值,并且最大只能到256, 所以说边缘检测里说每个tap存640个数据是怎么达到的呢? 答:界面上下拉出来的是一些常用值,实际上是可以直接填数的,在界面上直接填上您需要的数即可。
3.中型综合案例
3.1 简易计算器,编号:000600000010
【问题3.1.1】在简易计算器的“工作状态选择模块”代码中,有一个状态机,但状态机的跳转条件没有定义,没有数据类型,可以直接用吗? 答:在VERILOG代码中,如果对信号没有定义,默认的为1位的wire型。按这个去使用即可。
4.串口案例
4.1串口相关案例,相关编号:000900000237,000900000238,
【问题4.1.1】在串口回环工程中,数据处理模块中ifdef XILINX的意思是什么?
答:他的下面是XILINX的ip核,当定义这个宏的时候,就会使用这个ip核,没有定义,则使用my_fifo这个ip核代码。
【问题4.1.3】串口环回工程输入数据之后点一下发送并不能收到,要点好多下发送他才能收到一些数据是什么原因? 答:本案例实现的功能,是“收到60个”后再返回给PC,所以这是正确的。
【问题4.1.4】串口环回工程我想实现发一个收一个的功能,应该如何修改代码。 答:提供两种方法思路供,具体请自行实践。
方法1思路:保证串口接收模块和串口发送模块,不需要data_handle模块。串口接收模块的输出直接连到串口发送模块的输入。
方法2思路:打开data_hanle模块,将“60”这个数字改为1。
【问题4.1.5】在串口接收中,为什么要在数据的中间时刻进行采样而不是在开始和结尾? 答:由于我们通过计数器对数据的长度进行计数的时候是有误差的,在开始和结尾进行采样的话数据容易出错。
【问题4.1.6】请问这个104166是怎么得来的
答:波特率为9600,那么1秒时间传输的数据个数为9600,每个数据需要的传输时间为:1s/9600约等于0.000104166s,即104166ns。
【问题4.1.7】串口接收模块中,为什么计数器不数停止位,数了就错呢? 答:如果要数停止位,那么当您数完停止位的时候,是不是有可能在下一段数据的开始位上?这个时候您才去检查停止位的下降沿,但这个时钟下降沿已经没有了。
接收方向,不数停止位,那么接收完毕是在最后一个数据,或者停止位这个时刻上,然后会开始捕捉新的一段数据 的“开始位下降沿”,那么这个时候就正常了。
5.VGA案例
5.1 VGA相关案例,相关编号:
【问题5.1.1】VGA案例中,使用25M的频率,是怎么算出来的?
答:MDY默认的案例是640*480分辨率,加上前沿、后沿等,是800*525,60帧/秒。即每帧占用时间为:(1/60)秒,每个像素时间是:(1/60)/(800*525),结果约为40ns,即25M,这是每个像素的时间。
6.其他接口案例
6.1 超声波测距系统,编号:000700000011
【问题6.1.1】非MP603、MP801的管脚配置问题。
答:超声波模块有4根管脚,分别是VCC、GND、echo和trig。如果您使用非MP603和非MP801开发板(案例中的开发板),
则记得电流和GND要接正确,而echo和trig可以插在任意通用IO口上,然后FPGA管脚要配置正确,这样就可以了。
【问题6.1.2】MP603点拨开发板中,绿色线连到哪里?图上不清晰 答:连到P1座子的1位置上,即电源3.3V位置上。
【问题6.1.3】 数据管上的显示的距离不稳定,数字会跳变。
答:超声波的原理是发出超声波,遇到障碍物后返回,从而得到距离。如果数字不稳定,可能是障碍物硬度不够,请换一个厚点的障碍物测试。
(MDY)除了承接项目外,还可为客户提供FPGA芯片、电源芯片、AD芯片等元器件,可找我们了解。
|