OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8127|回复: 9

关于STM32与FPGA的振镜扫描控制系统的问题,感兴趣的欢迎进来讨论~

[复制链接]

66

主题

224

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1349
金钱
1349
注册时间
2018-10-4
在线时间
200 小时
发表于 2019-9-26 11:15:35 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 潘长青 于 2019-9-26 11:22 编辑

前言这是自己在做的一个学校小项目,目的是解决目前需要用电脑端的问题,用电脑太笨拙了。
考虑项目只需要激光清洗,不需要打标,所以在扫描图像和扫描点的生成上都比较简单。
1.图像规定为任意多边形
2.填充只采用了扫描线填充
简单地说,就是只要知道多边形的几个顶点就可以在STM32中完成整个图形的填充。效果图如下:
QQ拼音截图20190926103001.png
左图是CAD中的图形,文件格式为dxf格式,通过解析文件,找出四个顶点,
在通过填充算法,计算出一个点就填充一个点,最后得出右图。

第一部分
好了,接下来就要考虑怎么把坐标点发送到FPGA里去,让FPGA驱动振镜扫描出这些点了。
那振镜怎么驱动呢?振镜的通信协议是XY2-100,简单的讲就是,需要一个2MHz的时钟线,在
时钟线的驱动下,发送X和Y坐标点。具体协议如下所示:
(我用的是STM32F103,2MHz的时钟线,还要用它参与X和Y轴数据的判断,STM32做不到,只能用FPGA;或者改用STM32F7系列。)
xy2-100.png

第三部分
STM32与FPGA的通信,我打算用SPI,因为暂时用的是战舰板,FSMC没有用户接口。
通信速率(FPGA接收速率)大于FPGA发送速率


问题
那么问题来了。
STM32计算出来的坐标点数据量很大,我需要把数据发送给FPGA,再让FPGA按照xy2-100协议发送出数据,这一部分怎么实现呢?
用FIFO,SDRAM,还是什么?

困扰多时,希望大家帮帮看看,怎么解决?
或者是这个方案根本就行不通呢?

补充知识
目前市场上的打标控制卡,应用最广泛的是北京金橙子的卡,如下所示:
金橙子板卡.jpg
可以看到,最中间的那个是他们公司的芯片,其实就是FPGA,最上角是cy7c68013,是USB 2.0协议的微处理器,
中上处是2MB的SRAM,右上角通过淘宝上的观察是CPLD,不知道具体拿来干嘛的。
这块控制卡是通过USB与电脑通信的,电脑上位机软件也是产生了很大的数据量,
我不清楚他们具体是怎么解决我遇到的这个问题的。
是不是跟cy7c68013有关系呢?

Thank your for time~
☺



最佳答案

查看完整内容[请看2#楼]

搞好了,最终还是用STM32控制的,时钟线没有2MHz,只有500KHz,但是可以用。 上位机发送G代码来实现线段扫描。 根据G代码下位机自主判断何时开关激光。 畸变校正可以使用多项式拟合算法。
吾虽浪迹天涯 却未迷失本心
欢迎光临我的CSDN博客
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

66

主题

224

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1349
金钱
1349
注册时间
2018-10-4
在线时间
200 小时
 楼主| 发表于 2019-9-26 11:15:36 | 显示全部楼层
glj198801 发表于 2020-12-3 13:34
朋友,振镜扫描控制系统搞好了吗?

搞好了,最终还是用STM32控制的,时钟线没有2MHz,只有500KHz,但是可以用。
上位机发送G代码来实现线段扫描。
根据G代码下位机自主判断何时开关激光。
畸变校正可以使用多项式拟合算法。
吾虽浪迹天涯 却未迷失本心
欢迎光临我的CSDN博客
回复

使用道具 举报

66

主题

224

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1349
金钱
1349
注册时间
2018-10-4
在线时间
200 小时
 楼主| 发表于 2019-9-26 16:29:05 | 显示全部楼层
顶一下
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2019-9-27 02:35:36 | 显示全部楼层
帮顶
回复

使用道具 举报

66

主题

224

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1349
金钱
1349
注册时间
2018-10-4
在线时间
200 小时
 楼主| 发表于 2019-9-27 09:27:19 | 显示全部楼层
吾虽浪迹天涯 却未迷失本心
欢迎光临我的CSDN博客
回复

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2018-12-4
在线时间
21 小时
发表于 2019-9-27 10:08:40 | 显示全部楼层
可以试试双口RAM
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2020-6-11
在线时间
11 小时
发表于 2020-12-3 13:34:05 | 显示全部楼层
朋友,振镜扫描控制系统搞好了吗?
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2020-4-30
在线时间
10 小时
发表于 2021-12-11 14:02:03 | 显示全部楼层
大哥,这个是用哪款开发板做的?
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2020-4-6
在线时间
11 小时
发表于 2022-1-11 18:03:26 | 显示全部楼层
畸变校正算法,可以分享一下吗?目前正在研究畸变补偿。邮箱:tttppp119@163.com
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2022-8-1
在线时间
0 小时
发表于 2022-8-1 12:22:02 | 显示全部楼层
潘长青 发表于 2019-9-26 11:15
搞好了,最终还是用STM32控制的,时钟线没有2MHz,只有500KHz,但是可以用。
上位机发送G代码来实现线段 ...

能私下代码吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 10:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表