分选机的下位机程序设计、硬件设计、通信协议等
Go to file
2024-05-11 17:57:53 +08:00
doc feat(app): 新增了模拟上位机的软件程序 2023-06-20 18:54:42 +08:00
hardware Schlib update 2024-05-11 17:57:53 +08:00
protocol refactor(pro): 升级了上位机和下位机的通信协议 2023-05-05 17:01:58 +08:00
README.assets 寒假前烟梗分选机上已经开始用的 2022-07-03 19:47:53 +08:00
script refactor(pl,drv,doc,scr): 补充pl端源码 2023-04-29 02:22:41 +08:00
source feat(app): 新增了模拟上位机的软件程序 2023-06-20 18:54:42 +08:00
.gitignore feat(app): 新增了模拟上位机的软件程序 2023-06-20 18:54:42 +08:00
LISCENSE original version 2022-01-16 13:44:50 +08:00
mw.SchLib Schlib update 2024-05-11 17:57:53 +08:00
README.md feat(app): 新增了模拟上位机的软件程序 2023-06-20 18:54:42 +08:00

下位机

下位机按上位机指令根据传送带脉冲等触发相机完成刨花板的缺陷分选任务。本次下位机不连接阀板是由PLC翻板机的机械装置作为执行器对木板进行分选。采用的硬件是Microphase的XME0724CB ZYNQ开发板具体核心板型号为XME0724-10到手后记得把各排插针焊一下如左图

1

为了供电稳定采用叠板给底板5V供电由底板输出3.3V供回给叠板叠板就是IO扩展板将IO扩展板插在底板排针上叠起来因此称为叠板如上图中和上图右。

IO扩展版提供了

  • 1个12V电源输入
  • 4个相机触发本次项目为2个相机触发其余冗余
  • 1个ZYNQ散热风扇接口
  • 6个编码器或IO输入本次项目为1个编码器输入、1个物体传感器输入其余冗余
  • 8个阀板接口本次项目没有用到

接线时12V电源连接到IO扩展板的电源接口相机线应连接相机触发接口TRIG1TRIG2和对应的GND接口,编码器线应连接在编码器输入接口E1和对应的GND接口,物体传感器应连接输入接口E3和对应的GND接口。注意底板不连接任何外部电源。

开发和部署说明见doc/develop_and_deploy.md

目录结构

  • doc为说明文档包括开发和部署细节、硬件设计的描述等

  • script为配置系统、安装环境、安装可执行文件、卸载可执行文件等的脚本

    关于脚本的使用,见doc/develop_and_deploy.md

    • target.sh为嵌入式linux中自动启动应用程序脚本

    • load*.sh为嵌入式linux中加载驱动的脚本

    • .bashrc为嵌入式linux中配置环境变量的脚本

  • protocol为上位机和下位机通信的协议

  • hardware下位机主板、接口板、底板等的硬件设计

    • pl_platform为PL端硬件设计
    • xme0724ioextend为IO叠板的原理图和PCB
  • source为XME0724板子上运行的源程序和模拟上位机程序

    • liunx_app为Linux上运行的应用程序即业务逻辑
    • linux_driver为Linux上的驱动用于控制自定义的PL端硬件其中drv_test结尾的目录为相应驱动模块的测试应用程序
    • petalinux_config为petalinux工具在编译u-boot、kernel、rootfs前进行的配置
    • petalinux_devicetree为本次自定义的Linux设备树文件部分其余设备树为自动生成的
    • petalinux_hwdescription为petalinux所使用的硬件描述文件包含了vivado工程中的比特流等信息
    • sim_uppermachine_manul为基于pyside6所编写的软件用于模拟上位机发送指令方便调试

版本

由于经常有不同类型的新要求出现,比如分选糖果、分选烟梗、同为糖果也具有不同的参数,因此不同的下位机型号(注意不是更新,比如同一台机器需要设置新的参数)应建立不同的分支,主分支无实际意义

分支命名规则(不使用中文,小写无空格)

b分支编号-p生产环境项目名-t分选对象[-其他特点1[-其他特点2...]]

中括号在这里表示可省略的项,中括号本身不应出现在实际命名中,其他特点应字母打头,可有多个,"-"相连

使用Git的tag功能定义版本注意连着tag一起pushGithub仓库的release功能同步发布最新版本

版本号遵循定义如下(不使用中文,小写无空格)

b分支编号-d文档版本-hPCB设计版本-lFPGA设计版本-p协议版本-s脚本版本-aAPP代码版本-i驱动版本-c系统编译配置版本-e设备树版本

分支编号和分支命名中编号一致。各部分版本应在相应目录下创建文件注明,比如2.1版本的PCB设计PCB工程目录中建立version文本文件,内容为文本2.1。对于涉及整体设计的大改动版本号加1,其余改动版本号加0.1。每个分支的版本各自独立,新分支的版本从1.0起计算,也可从建立分支处原有版本起计算

作者

作者觉得还是不说明是谁比较好,免得毕业后有提着示波器的师弟师妹来问问题