查看: 33858
回复: 17
SPI NOR FLASH 烧录器
TonyWong
4
主题
69
回复
发表于2017-05-26 09:15:17 | 显示全部楼层
1# 电梯直达

【报名阶段需要填写的内容】


1. 参赛者姓名(必填项):

王世东

2. 单位或学校名称(必填项):

深圳贵之族生科技有限公司

3. 当前职务或职称(必填项):

软件工程师

4. 参赛作品的名字(必填项):

SPI NOR FLASH 下载器

5. 简要陈述您的idea和作品(必填项):

使用STM32F103R8T6的18MHz的SPI,采用DMA控制方式,对SPI NOR FLASH进行数据下载,显示用1.54寸IPS屏,STM32F030K6T6控制

6. 拟用到的立创商城在售物料(必填项):

STM32F103R8T6,STM32F030K6T6

7. 拟用到的非立创商城物料或其它补充(必填项):

AOZ1017

【作品正式发表(报名成功后进入设计阶段)需要填写的内容】


一、作品简介

例如,可以包括但不局限于以下内容:

1.作品的整机外观图片或焊接组装好的PCBA图片;


PCBA 正面:


 


PCBA 反面:


 


PC机母片制作操作界面

 


TFT屏显示的图片在PC机上的预处理程序界面


 

2.作品的研究背景、目的和功能、市场应用前景;


串行Flash是用串行接口进行连续数据存取的小尺寸,低功耗的flash memory. 串行flash比并行flash用更少的线从系统中传送数据。对于引脚数目少的串行flash来讲它的优势是减少了系统板的空间,功耗和成本。在一些应用中,程序数据需要预先保存,数据的写入则成为制约生产效率的巨大瓶颈。本烧录器则使用STM32F103R8T6加上少许外围元件,则可轻松实现对8片甚至16片SPI型FLASH同时烧写,烧写速度基本达到SPI FLASH的最大值


3.作品在创新性、趣味性、实用性甚至公益性方面,有哪些亮点可体现?

本产品使用了1.54寸的240*240分辨率的IPS屏,显示细腻操作方便


1.54寸 240*240 IPS彩屏的驱动电路,可显示200余张BMP图片,刷新速度 < 20ms



二、系统构架图

用流程图或思维导图等形式,描述您的作品的组成构架,即方案图。

 点击查看大图

三、硬件部分的描述

1.附上原理图&PCB实物图的图片或者源文件(官方建议大家尽量用源文件上传),如果是图片,请确保图片是清晰可辨的;

2.用文字把该作品的实现原理、系统的工作过程大致讲解一下。

 

显示板原理图

lcdPcbP.pdf 

主控板原理图

ON.pdf 


显示部分:
STM32F030C8T6 的SPI速度为18MHz,将显示的图片(最大240*240像素)用24位BMP格式存储到SPI FLASH

文件中。存储芯片设置成4输出,两片并联为8位,显示屏采用8位8080接口,MCU 8位IO口,FLASH 8位IO口与

显示屏IO数据口直接连接,通过片选及时钟信号控制实现FLASH数据直接到彩屏的传输,在传输过程中,MCU的

SPI仅使用SCLK信号线提供时序。
1. 从SPI flash中读取图片信息:显示位置,图片大小---显示驱动芯片ST7789时钟信号禁止
2. 根据读取的信息配置彩屏驱动芯片ST7789  ---FLASH的时钟信号禁止
3.模拟SPI传送部分数据 --- 时钟信号 同时控制FLASH与ST7789
4.启动SPI DMA传输其余整块数据 时钟信号 同时控制FLASH与ST7789
5.传输完成,关闭DMA,进行其他控制信号处理

主控板部分:

上位机母片制作:
与PC机通讯,采用了USB转串口模块,主芯片为PL2303,波特率工作在3Mbps。采用的也是DMA控制方式,每次传输16384字节数据。主控芯片接收到的数据先保存在内部RAM中,然后再写入内部FLASH(或者外部FLASH),保存完成后,回传确认信息,然后在传送下一个数据块。

芯片烧录过程:
1.先配置母片数据地址信息
2.配置子片数据地址信息(N片FLASH同时配置)
3.启动DMA传输256字节数据
4.一页数据传输完成后,跳转置2继续传输下一页数据,直至数据烧写完成
5.配置母片数据地址
6.配置子片数据地址
7.SPI的SCLK同时控制母片与N片子片,数据到达器件74LVC86,将二者数据进行比较,如不同,则引发中断。

所有器件均使用高速芯片,延时为ns级别,STM32F103的SPI速度为18MHz,约为55ns,TM32F103的外部IO中断响应脉宽最小值为10ns,T/2 = 55/2 > 10ns,所以只要有数据不一致,74LVC86与STM32F103均能检测到并能响应中断


PCB正面图:

 


PCB反面图:

 


LCD显示部分PCB文档

lcdpcb.rar 

PCB文档

on.rar 


四、材料清单(BOM列表)

列出您这个作品所用到的主要器件(关键器件即可),比如单片机&ARM芯片、专用集成芯片(ASIC)、传感器、功能模块等。

如果所列出的芯片是来自我们立创商城上的,最好能写出该器件的商品编号或附上对应购买链接。


编号          标识                    封装               型号                         连接

C46034      U1                     LQFP64       STM32F103R8            http://www.szlcsc.com/product/details_47037.html

C7840       U5,U6                 SOT23-5      74LVC1G32               http://www.szlcsc.com/product/details_8317.html
C7826        U8                     SOT23-5     74LVC1G00                http://www.szlcsc.com/product/details_8303.html
C6088        U11                   SOP20        74LVC373                  http://www.szlcsc.com/product/details_6554.html
C6101        U12,U13            SOP14         74LVC86                   http://www.szlcsc.com/product/details_6567.html

五、软件部分的描述(选填)

如果您的作品涉及到软件,请列出作品对应的软件工作流程图,及关键部分的例程、源码(如果您想开源的话请上传全部源码)。

 

显示部分图片驱动函数代码

 点击查看大图

部分源代码: 母片烧录到子片程序代码片段


motosub.rar 


六、作品演示

请上传您的作品的功能演示到腾讯视频,并编辑到本楼(或附上视频链接)。按要求上传视频可获得5分,具体详见活动规则。

https://v.qq.com/x/page/i0538m9sc39.html

七、总结

例如您在完成该作品过程中的一些体会、碰到的技术问题或调试经验、作品的未来规划,及对我们主办方的建议和意见等。

在产品功能设计到功能的具体实现,是有极大的挑战的,首先是显示部分,为了实现240*240*3位的分辨率,整幅20ms以内的刷新速度,经过了大量的测试与修改。8片芯片的同时烧录与快速校验的实现,需要有对芯片功能全面掌握以及对逻辑器件的巧妙运用。接下来,在现有产品的基础上,增加电平变换,实现会对低压NOR FLASH芯片的支持(1.2V - 1.8V)。




TonyWong
4
主题
69
回复
发表于2017-08-29 13:58:24   |  显示全部楼层
12#
发表于2017-08-29 13:52:25  11# MARK!支持一下!
谢谢,再补充部分资料供大家参考
TonyWong
4
主题
69
回复
发表于2018-05-25 20:51:11   |  显示全部楼层
17#
发表于2018-05-24 17:18:24  16# 有全部的代码吗
肯定有的啊

主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部