SPI锡高检测的编程主要涉及两个方面:硬件配置和软件编程。以下是具体的步骤和注意事项:
硬件配置
选择并调整PCB
新建程序后,调整PCB的宽度,并设置PCB的左下角为原点,右上角为最大范围设置点。
导入Gerber文件
导入钢网厂回传的Gerber文件,删除不需要的元件后,设置MAKE点。
校准MAKE点
设置好光源,获取MAKE图片下呈粉色即完成校准。
设置模板
设置PCB、锡膏、焊盘的模板,调整好色彩。在3D图片中,锡膏区域应呈粉色,其余丝印层为其他颜色。
软件编程
使用Linux自带的SPI驱动
启动SPI设备
使用`ls /dev`命令查看SPI设备是否启动。如果没有启动,执行以下命令启动SPI内核驱动:
```bash
sudo raspi-config
```
选择`Interfacing Options` -> `SPI` -> `yes`来启动SPI内核驱动。
`/dev`目录下应能看到两个SPI设备:`spidev0.0`和`spidev0.1`,CE0和CE1分别对应`spidev0.0`和`spidev0.1`。
编写应用程序
Linux应用程序主要包含`open`、`close`、`read`、`write`、`ioctl`的使用。其中`open`和`close`比较简单,略过。
设置和获取SPI工作模式:
使用`ioctl`设置和获取SPI工作模式,具体命令如下:
```c
include
// 设置SPI工作模式为读模式
int ret = ioctl(spi_fd, SPI_IOC_RD_MODE, &spi_mode);
// 设置SPI工作模式为写模式
int ret = ioctl(spi_fd, SPI_IOC_WR_MODE, &spi_mode);
```
`spi_mode`的参数类型为`spi_device.mode`,有以下几种类型:
```c
define SPI_MODE_0 (0|0) // SCLK空闲时为低电平,第一个时间沿采样
define SPI_MODE_1 (0|SPI_CPHA) // SCLK空闲时为高电平,第一个时间沿采样
define SPI_MODE_2 (1|0) // SCLK空闲时为高电平,第二个时间沿采样
define SPI_MODE_3 (1|SPI_CPHA) // SCLK空闲时为低电平,第二个时间沿采样
```
测试与调试
打开调试窗口
测试结束后,根据实际情况设置合理的偏差范围,以保证效率和方便测试,同时保证质量,减少误报NG。
在测试印刷有不可接受缺陷能完全暴露的情况下,测试结果报NG即合格。
建议
确保硬件连接正确,特别是SPI设备的CE引脚和SPI总线的时钟、数据引脚。
在编写应用程序时,仔细检查`ioctl`命令的参数和返回值,确保正确设置和获取SPI工作模式。
在测试过程中,根据实际情况调整偏差范围,以提高测试效率和准确性。
通过以上步骤和注意事项,可以实现SPI锡高检测的编程和测试。