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

关键词STC单片机下载电路设计

§01 简介


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

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

§02 电路设计


  AD设计工程文件:

D:\zhuoqing\AltiumDesigner\STC\Tools\Download\WiFIDownload8G1K.PcbDoc *

1.原理图

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

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

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

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

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

▲ CPU以及外部RAM电路

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

  修正 : 2020,5,4:
  针对于STC8G为5V器件,而USR-WiFi为3.3V器件,它们之间的通讯需要进行匹配和平衡。
  在这里,对TXD串接一个221~511的电阻减少8G1K对于USR的影响。同样在RXD上增加一个上拉到5V的1到10k的电阻来提高8G1K08接收高电平的幅值。

▲ WiFi接口电路

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

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

▲ 电源控制部分

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

▲ 电源模块电路

2.PCB

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

▲ 测试PCB电路板

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

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

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

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

3.固件开发

  STC8G1K的固件开发目录:

D:\zhuoqing\window\C51\STC\Tools\STCDL\WiFiDL8G1K\WiFiDL8G1k.uvproj

(1)STC单片机程序下载协议

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

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

▲ STC8G1K08技术手册附录

(2)固件的功能

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

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

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

▲ 调试中的电路

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

§03 上位机软件


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

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

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

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

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

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

§04 下载资源


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

通过WiFi对STC单片机程序下载和调试相关推荐

  1. stc8g1k08程序范例_通过WiFi对STC单片机程序下载和调试

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

  2. STC单片机程序下载失败总结

    STC单片机下载失败总结 --PurpleSword STC为宏晶公司推出的国产51单片机,其优点在于价格低廉,功能强大,使用方便,尤其是其串口ISP下载程序的方式方便了大量用户,免去了购买昂贵的编程 ...

  3. 51单片机程序下载、ISP及串口基础知识

    本文详细介绍了串口.51单片机的ISP下载等基础知识,已经学过单片机的也可以看看,加强一下对这方面的了解. 串口 串行接口简称串口,也称串行通信接口,是采用串行通信方式的扩展接口. 我们比较熟悉的US ...

  4. STC单片机高速下载电路改进

    01改进的思路 在2020年5月20日,收到了来自STC公司发送过来更新后的STC8H技术手册,其中对于原来连接在UART-TTL转换RS232芯片与STC8H下载端口的二极管和电阻可以去掉了. 这两 ...

  5. 单片机小白学步系列(十五) 单片机程序下载失败总结

    前面介绍了点亮第一个LED的全过程,很多人可能很幸运的点亮了LED,然而也很可能不少人非常不幸没有把程序下载进去.初学者常会遇到程序无法下载的情况,很多人在尝试多次未果后比较受打击,因此放弃了学习,实 ...

  6. 串口 单片机 文件_STC单片机ISP下载编程软件下载|STC单片机ISP下载编程软件 6.87 官方版...

    别看了,这款软件免费!没有额外的收费,如果你囊肿羞涩,这一款软件一定是你可以选择的比较重要的软件之一.小编亲测,在多个功能上都有着自己比较鲜明的特点,首先第一眼就是界面了,不知道你有什么感受. STC ...

  7. STC单片机程序烧录你了解吗

    STC是国内比较有名的51单片机厂商,它独特的串口烧录方式和ISP下载工具(STC单片机ISP下载工具如图所示.),免去了昂贵的烧录工具,深受广大学生的喜爱,也是很多大学生入门首选单片机.今天介绍一下 ...

  8. STC单片机蓝牙无线下载-烧写程序ISP(STC8 STC15 STC12 STC11 STC89)

    前一阵子用单片机开发一个小东西,其应用在一个非常潮湿的环境,以至于电脑和人员没发接近,但是又需要很长时间来调整参数,才能将设备设定好.另外设备一直在转动,这又导致不能通过电缆下载程序.在此时,我想到了 ...

  9. stc单片机自动下载程序原理和代码实现

    1/stc单片机下载程序的原理 首先我们要理解stc单片机下载程序的原理.在stc单片机中有两个程序区:用户程序区和ISP监控程序区. 这是stc89c52单片机数据手册中的内容. 根据数据手册,我们 ...

最新文章

  1. do还是doing imagine加to_中学必背英语短语集合:54个doing动名词的固定搭配
  2. 新奇漂亮的Ajax/CSS表格设计汇集
  3. list的交集,差集,并集
  4. cocos2d-x 绘制图形
  5. MapGuide应用程序演示样例——你好,MapGuide!
  6. python爬虫代理怎么使用_Python爬虫设置代理IP(图文)
  7. 并发测试工具Jmeter安装与简单使用
  8. 003 Nginx虚拟主机配置
  9. 详解DAO类(数据库操作对象)
  10. Golang:后台管理系统Revel搭建教程
  11. 职场菜鸟捕食指北【相亲篇】
  12. matplotlib 绘图非洲国家GDP排行前12的国家python
  13. 常见图片格式(HTML)
  14. 【爬虫进阶】易班登录加密逆向
  15. Java音乐播放器设计
  16. 企业面试题|最常问的MySQL面试题集合(二)
  17. XShell个人免费下载使用
  18. Json字符串转JsonObject例子
  19. 关于快排算法的基本实现
  20. 计算机英语单词练习二

热门文章

  1. 第28篇 js中let和var
  2. javascript pattern
  3. 实战篇:如何用Keras建立神经网络(附全部代码)
  4. C 标准库 - assert.h
  5. 浅析Java虚拟机结构与机制
  6. LINUX利用Speedtest测速
  7. Codeforces Round #352 (Div. 2) A. Summer Camp 水题
  8. 安卓学习UI组件-ExpandablelistView-可拓展的两级列表
  9. Python的StringIO模块和cStringIO模块
  10. 计算两个字符串之间是否包含的简单方法