HPM6750 CAN和GPIO读取并行数据测试,没实现
[复制链接]
新做了一个宝马热成像的扩展板,板子上画了CAN收发器和DS90C124,数据DS90C124输出17位并行数据,数据频率为5MHz,因为没使用FPGA做数据转换,就想着能不能用HPM6750的GPIO读取数据,然后对数据做处理。对这方面不是很了解,感觉使用软件来读数据应该够呛,不过考虑到HPM6750主频是816MHz,处理5MHz的数据好像又有点希望就准备试试。
这几天一直在外边干活,今天有时间把板子焊好了,接上HPM6750后先把CAN调通。
通过CAN总线可以和摄像头成功通信,刚开始调试的时候使用TCAN1042-Q1,买的时候没仔细看参数,以为封装和引脚定义差不多就能直接用,测试时总是提示超时,再仔细看手册才发现需要5V供电。把TCAN1042-Q1换成SIT65HVD233后通信总算正常了。
读取热成像数据时因为没有成组的GPIO,我在P1上挑了一些,PE,PB和PF这几个组成17bit的数据。
时钟连接到PB21,使用上升沿中断。
在PB21中断里读取PE,PF,和PB数据,然后拼接。
测试时发现一直跑不到main函数里主循环的断点上,CPU好像全部被中断占用了。
于是配置了一个PZ09做为输出,在中断里翻转然后用示波器查看频率。
示波器显示500K左右。
再试试不使用中断在while循环里直接翻转PZ09
速度能快一些了,但也只有6MHz左右。感觉还是太低了。
感觉像是CPU频率设置低了,不过通过串口显示是816000000Hz。
听群里说这个I/O能跑到400MHz,好像需要哪些配置,我到不要求输出频率有多高,就是不知道为什么处理不过来5MHz的数据。
我尝试在PB21输入中断里直接对PZ09翻转,5MHz(通道2)的输入理论输出应该2.5MHz,实际测试却只有1.263MHz(通道1)左右,懵了,不知道问题出在哪,有高手麻烦指点一下,谢谢。
|