TAG批量烧写程序仪器制作

  制作这个是为了批量给TAG烧录程序,通过给多个TAG烧录程序的实验发现,TAG上烧录程序的四个接口VCC,SDA,GND,SLK,在烧录程序时只需要切换SDA线就可以,其他三根线可以作为公共线。所以想的是用50个小型继电器来定时依次切换SDA线,然后通过STM8脱机烧录器做定时下载。

  具体功能:按下开始,气泵下压使50pcs电路板的四个下载口与夹具上的顶针贴合,LCD显示屏上显示正在下载哪一个TAG,在五十个下载完毕后,显示屏上将那些下载失败的TAG编号显示出来,然后气泵上升。如此完成一个循环。

  主要硬件:STM32,LCD,74HC154,电磁阀,5V继电器,12V继电器,117-3.3V,STM8脱机烧录器。

  主要思路:让STM8脱机烧录器处于等待下载的情况,将烧录器VCC,GND,SLK三个引脚与50pcs电路板的VCC,GND,SLK相连,SDA与继电器的常开脚相连,STM32上电后,给通过控制I/O的高低电平来让74HC154的某一引脚处于高电平,其他引脚处于低电平,这样使某一继电器就会吸合让SDA线导通,让STM8脱机烧录器会开始烧录程序,程序下载完毕后,通过脱机烧录器的串口告知MCU程序是否下载完毕,MCU得到消息后会显示这一编号的电路板下载成功并切换I/O的高低电平,换到下一个继电器,STM8脱机烧录器等待2s后继续开始烧录程序。若STM32的I/O切换高低电平后3s没有收到脱机烧录器发来的烧录成功的回答,则会记录下这一个电路板的编号,并在LCD上显示出此编号下载失败。然后继续切换I/O控制下一个继电器。依次控制完50个之后就会将之前下载失败的在LCD上全部显示出来。

  硬件方面打板次数3次

  第一次打板时做的也很拥挤,会使50个继电器焊接不方便,这一次打板想的是将VCC,SDA,GND,SLK四根线与顶针的另一端通过杜邦线相连,所以板子做的很小,但是发现链接杜邦线的话会有两百根杜邦线相连,非常不方便。

  第二次打板时做了一个转接板,将顶针另一端全部插入转接板上,然后通过转接板上的走线将三个公共线全部相连引到排针处,SDA线单独引到排针处,然后在功能板上相对应的位置放上排针母座,这样可以减少第一次的转接杜邦线的麻烦。

  第三次打板是TAG工艺改了,使拼版间距变了,必须重新找到各个下载口的位置。

  软件方面遇到的问题和学习的地方。

  1:第一次焊接完毕上电后发现50个继电器疯狂乱跳,检查硬件电路发现没问题,之后测电压74HC154的一些引脚电压时钟无法拉低。在这个地方找原因陆陆续续浪费了5天的时间,最后才发现STM32程序初始化里面我是先将JTAG接口设置为I/O再开I/O时钟的,这里出点步骤错误导致导致花费了很长的时间。

  2:因为LCD显示的是字符,而我程序里的存储的每一个元素都是数字,这里涉及到一个数字转字符的过程和数据存储的过程,因为最后要将字符输出,如下图所示

扫描二维码关注公众号,回复: 2498492 查看本文章

                                   display_string_8x16(1,1,"downloading ");  输出 downloading
                               display_string_8x16(1,108,Downloading_Num);  输出指针 Downloading_Num 指向的地址的内容

    因为指针Downloading_Num 所在的地址存储的内容肯定不止一个字符,所以需要为Downloading_Num 分配一个连续的指定大小的内存块区域,这里用到了malloc函数

    malloc函数,中文叫动态内存分配,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。

使用方法:
char *Downloading_Num,  //定义指针类型
No_Downloading_Num=(char*)malloc(10);//给Downloading_Num分配10个字符的存储空间并定义为char型

具体函数
     if(Down[0]>=10)
            {
                i=0;
            *(Downloading_Num+i) = '0'+Down[0]/10;
                *(Downloading_Num+1+i) = '0'+Down[0]%10;
                *(Downloading_Num+2+i) = ' ' 

原理图

1.MCU原理图

2.继电器部分原理图

程序下载:https://download.csdn.net/download/liaotanzhuangc8953/10567432

猜你喜欢

转载自blog.csdn.net/liaotanzhuangc8953/article/details/81223306
今日推荐