ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PIC16 bootloader之I2C bootloader

2021-05-03 20:01:45  阅读:314  来源: 互联网

标签:bootloader USB 字码 PIC16 LCD I2C


  了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序)。

  PIC16 bootloader之I2C bootloader, 是使用I2C通信接口的I2C bootloader。由于电脑只有USB接口,所以需要用USB-to-I2C的适配器来转发数据,将电脑端的数据转发到PIC16单片机,或者将PIC16单片机的数据转发到电脑。系统接线图如下:

  PC端运行的上位机程序目前最新版本是V3.0。上位机目前只在Win7电脑上测试过。上位机使用时,需要选择I2C端口,Bit Rate选择100KHz,从地址0xA8,由于我的硬件板子的SDA脚没有外接上拉电阻,所以上位机需要设置上拉使能,这样USB-2-I2C适配器会在SDA脚上拉到VCC。见下图:

  USB-to-I2C适配器,使用的是Microchip PICKit Serial。这个工具可以配置成I2C Master,I2C Slave,或SPI Master。在这里需要由上位机配置它为I2C Master (I2CM)。

  PIC16 I2C bootloader 和PIC16 SPI bootloader 一样软件构架也是分三层,应用层和驱动层完全分离,如果换用其他芯片,移植非常容易。软件架构见下图:

  PIC16 I2C bootloader 是为工业产品设计的bootloader, 是一个工业级bootloader。 工业产品大多有LCD屏幕。PIC16 I2C bootloader 可以通过LCD实时地显示应用程序升级的进度,这是一个独创性的功能。LCD 屏自带的字库只有0~9,a-z, A~Z的ASCII 字码, 以及一些通用符号的ASCII 字码,没有进度条需要的字码。为此我自定义了以下字码:

  LCD 一行有16个5*8的点阵,每个点阵都跟随升级的进度依次显示上面5个自定义的字符,就可以实时显示应用程序升级的进度。我录制了一个PIC16 I2C bootloader 升级应用程序的完整过程,右边为视频链接:工业级I2C接口PIC16 Bootloader 应用程序升级视频-科技-高清完整正版视频在线观看-优酷 (youku.com)

标签:bootloader,USB,字码,PIC16,LCD,I2C
来源: https://www.cnblogs.com/geekygeek/p/pic16_i2c_bootloader.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有