m0单片机io口_通过WiFi对STC单片机程序下载和调试

简介

本文设计了基于WiFi-UART的STC单片机下载调试模块,这样便于对嵌入式系统进行远程调试开发,特别是在一些具有移动功能的平台,强电平台以及需要实时监视和修改程序的应用场合。

本文相关的下载资源:

  1. WiFi模块下载STC程序设计文件[1]
  2. 扩展32kRAM的信号采集版.zip-网络攻防文档类资源-CSDN下载[2]

文章目录

  • 简介
  • 电路设计
  • 固件开发
  • 上位机软件
  • 下载资源

电路设计

AD设计工程文件:

D:zhuoqingAltiumDesignerSTCToolsDownloadWiFIDownload8G1K.PcbDoc *

1. 原理图

电路中的CPU部分包括有MCU、外部RAM、程序下载接口以及LED工作指示灯。

由于电路功能相对比较简单,所以使用了STC8G1K08, SOP16封装的单片机。由于内部只有1KByteRAM,扩充了一块外部RAM。

STC8G1K08具有两个UART,可以分别用于接收上位机和下位机进行通信。

其中外部RAM选用24LC1024,128KByteRAM,用于缓存下载程序数据。这是为了克服通过WiFi链路中的通讯速度不稳定,会造成对单片机编程速度跳动。所以在下载程序之前,上位机先通过WiFi将程序发送到下位机,并存储在23LC1024中。后面在启动从单片机直接对下载STC单片机的下载过程。

在博文**单片机片外RAM,串行的**[3]介绍了这种SPI接口RAM的实验结果。

e8a7a5b02ec7944f12f5a26c28b14b9b.png

▲ CPU以及外部RAM电路

下图是电路中的WiFi接口部分。这里选用的是**友人科技**[4]的WiFi转串口通信模块 “USR-WiFi232-T”。该模块的供电电压为3.3V,在后面电源部分使用了一个5V-3.3V的稳压芯片。

56310a6f98f58383c73cc5a164e9991b.png

▲ WiFi接口电路

控制被下载电路的电源是STC单片机下载的特点。之前在**STC单片机自动下载调试器设计**[5]中使用了微型机械继电器来控制电源,比较可靠,可以提供大的控制电流范围。读出增加可电路的体积。

在下面电源控制电路中使用的N沟道的MOS管来控制被调试电路的电源。驱动MOS管的高压使用了博文**如何利用单片机IO口产生两倍的电源电压**[6]中介绍的利用单片机IO口进行倍压整流的方案。

0c03fe3335baa5e54f69ac1a46794185.png

▲ 电源控制部分

电源中AS1117提供了5V转3.3V,供WiFi-UART模块使用。此外还有一个按年BT用于手工控制ISP电源开关。在对调试电路进行接口连接的时候,不必将整个电路板掉电,可以节省WiFi模块重启的时间。

0b827d788f0f43bb84cbd224ba530ee2.png

▲ 电源模块电路

2. PCB

实验电路板采用单面PCB设计方式,可以使用**一分钟制版法**[7]完成实验PCB的制作。

2bc5b42dbfe7077c25cb8a84c0a148b0.png

▲ 测试PCB电路板

在**一分钟制版之后**[8],焊接组装实验电路。

使用Keil C51编程,开发相应的下载程序。

abf6723aa1180b0526640dcf9678e006.gif

▲ 焊锡装配完之后的实验电路板

下载模块工作时,需要提供5V的工作电源。它通过四芯的ISP接口为下载程序的单片机核心电路提供工作电源。

固件开发

STC8G1K的固件开发目录:

D:zhuoqingwindowC51STCToolsSTCDLWiFiDL8G1KWiFiDL8G1k.uvproj

1. STC单片机程序下载协议

对于STC单片进行ISP的相关协议并没有得到公开的文档,在博文**使用单片机对STC8G,8H,8A进行ISP下载程序**[9]介绍了在单片机数据手册中的一些实现情况。

基于范例程序,编写STC单片机的ISP下载程序。

b226e2fdbf20bc561df1195bf8476ae8.png

▲ STC8G1K08技术手册附录

2. 固件的功能

功能1:完成STC单片机的ISP下载 这部分的实现可以参见博文:使用单片机对STC8G,8H,8A进行ISP下载程序[10]中的实现。

功能2:接收上尉即发送的下载程序数据: 在对STC单片机进行ISP之前,将程序通过WiFI接收到片外ISP接口的RAM中进行缓存,然后再完成对ISP单片的程序下载。

功能3:建立被调试单片机与上位机通信 在程序下载完之后,建立起被调试单片机与上位机之间的通信联系,也就是将UART1,UART2两个串口之间完成数据的转发。这样就可以在上位机中实现对下位机的调试功能。

7150ce58e3fed933b17d50eb0f6b82c0.gif

▲ 调试中的电路

功能4:接收按钮,实现手动控制下位机电源 在电路板上有一个按钮,可以用于手工来控制下位机的电源。软件通过读取按钮所在的端口的电平,来控制MOS的驱动电压。

上位机软件

上位机软件是在原来的STM32单片机下载程序的基础上,经过扩充功能只能实现对STC单片机下载的。这主要利用了原来程序对HEX文件的读取,人机界面,串口以及UDP等编程的基础功能

在原来程序的基础上,增加了相应的两个程序:STCDownload()、STCDownloadWiFi(),分别实现通过PC的串口以及UDP与下载板的通讯。使用WiFi功能下载的时候,就是通过UDP编程来将程序下载到调试单片机中。

使用该软件时,需要在程序右上方选择STC8H, STC8G ,STC8A单片机。这三类单片机,STC8H,8G下载协议是相同的。STC8A与前两者之间有些区别。

2471e1b259ddf1f3f4c43e71f9ed62b8.gif

▲ 上位机下载程序操作过程

然后在UDPDL页中,设置IP地址与端口,它应该与USR-WiFi模块的网络UDP服务对应的接口一致。

在UDP File中指明被下载的单片机 HEX文件。按动UDP Dwn 便可以进行WiFI远程程序下载了。

下载资源

本文所涉及到的电路设计、单片机程序以及上位机软件都可以在CSDN中下载“WiFi-STC-DOWNLOADER.zip”中获得。

参考资料

[1] WiFi模块下载STC程序设计文件: https://download.csdn.net/download/zhuoqingjoking97298/12385119

[2] 扩展32kRAM的信号采集版.zip-网络攻防文档类资源-CSDN下载: https://download.csdn.net/download/zhuoqingjoking97298/12372023

[3] 单片机片外RAM,串行的: https://zhuoqing.blog.csdn.net/article/details/105891541

[4] 友人科技: http://www.usr.cn/

[5] STC单片机自动下载调试器设计: https://zhuoqing.blog.csdn.net/article/details/105543574

[6] 如何利用单片机IO口产生两倍的电源电压: https://zhuoqing.blog.csdn.net/article/details/105888159

[7] 一分钟制版法: https://zhuoqing.blog.csdn.net/article/details/104120559

[8] 一分钟制版之后: https://zhuoqing.blog.csdn.net/article/details/104133981

[9] 使用单片机对STC8G,8H,8A进行ISP下载程序: https://zhuoqing.blog.csdn.net/article/details/105907433

[10]使用单片机对STC8G,8H,8A进行ISP下载程序: https://zhuoqing.blog.csdn.net/article/details/105907433

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值