飞思卡尔摄像头组原理 飞思卡尔智能车大赛

cht 2023-03-22 5次阅读

飞思卡尔摄像头组原理(飞思卡尔智能车大赛)(1)

DMA框图

基本知识:翻阅K60原版英文文档DMA章节

问题一:现有调试手段不能直观的去得知摄像头的调试效果

记录:用python编写串口上位机,了解字节流,编码,解码,printf()的

putchar()函数重定义等相关概念

将python串口上位机与K60串口波特率设置为460800最为合适(速度

与正确率折中最优);

问题二:DMA像素字节减少一半丢失了YUV传输格式两字节中的一个字节而且接受的图像存在错位现象

记录:挂示波器发现波形会在DMA接受完一帧图像后未执行用户函数而

立马接受下一帧的现象

猜测1.帧中断引脚与DMA中断触发源PCLK冲突

结果:实践证明猜测错误

猜测2.DMA通道出现错误中断导致再次重新传输

结果:实践证明错误

猜测3.DMA与CPU地址中线冲突导致标志位被延时恰好跳过if语句的判断

结果:问题解决:优化函数工作时序:进入帧中断且满足开启DMA传输条件后

在开启DMA传输时禁止帧中断直到DMA传输完成且用户函数调用完成

后才允许帧中断(这样功能没发生改变而且减去在用户函数执期帧断

函数的执行)

记录:图像错位和字节减半问题是属于一个问题(DMA接不下来频率12M的数据)

查阅K60官方英文文档DMA章节的DMA应答频率系统时钟频率有关如图1,图2,

飞思卡尔摄像头组原理(飞思卡尔智能车大赛)(2)

图1

飞思卡尔摄像头组原理(飞思卡尔智能车大赛)(3)

图2

易得:在当时系统频率96M的情况下有公式计算的DMA的应答频率为

96/11.5=8.34M,恰好小于频率12M的摄像头数据所以导致智能接收到减半

的像素数据并且图像会产生畸变。

解决办法:将系统时钟频率升至200M(11.5*12M=138M以上即可)测时问题

完美解决。

调试心得:当时第一时间就发现了像素数据减半问题的存在也怀疑可能是DMA接不过过来这

么高频率的数据,但是却毫无凭据的直觉认为这么牛逼的DMA怎么可能接不下来而

导致忽略了这一猜测从而将注意力专至DMA寄存器的配置及DMAMUX的寄存器的

配置,到头来才发现问题根源就出在DMA接收应答频率的上面。

总之一句话:调试

要步步分析猜测,猜测了就要去实践不能没有凭据而凭直觉,否则你只会越调越

乱,越调越迷。


标签: 飞思  摄像头  大赛  原理  卡尔  智能 


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。