[STM32F4]

STM32F407 + FPGA + 百兆以太网 + 限流恒压源 + 上位机驱动

[复制链接]
11461|109
手机看帖
扫描二维码
随时随地手机跟帖
Kua_Max|  楼主 | 2019-1-22 11:25 | 显示全部楼层 |阅读模式
本帖最后由 Kua_Max 于 2019-2-16 17:43 编辑

STM32F407 + FPGA + 百兆以太网 + 限流恒压源 + 上位机驱动
自从公司走上正轨后,自己时间就较多了,准备写这么一份基础教程,同时开源下文提到的所有程序源码与PCB工程图
教程会用到如下内容:
1. 学会Altium Designer画原理图库,PCB封装库,原理图,PCB;
2. 入门恒压限流电路,学基本的运放,同时学会用Multisim做模电仿真,并分析电压环,电流环反馈电路;
3. 使用状态机写verilog程序,,同时学会MCU与FPGA之间用FSMC总线通讯,基本学会signal tap做波形仿真,学会modelsim写仿真文件;
4. 使用STM32F407,用W5500实现4MB通讯速度与上位机通讯(STM32F407自身的以太网有Bug,开10个socket端口,上位机作死通讯,网络丢包超级严重,407的以太网RX与TX收发DMA处理机制有问题);
5. 学会用DMA读写4个串口;
6. 用SPIFlash移植Fatfs做文件系统,实现文件读写;
7. 能够在屏上跑emwin,网上用电阻、电容触摸太多,此处用实体按键(数字键,上下左右,旋钮等);
8. 上位机编写Modbus驱动,应用程序能够调用驱动,实现与MCU通过以太网或串口正常通讯;
9. 上位机编写一个简单的虚拟键盘,能够模拟实体按键发送按键信息给下位机,并能控制显示屏做相应动作(能够翻页,设置上文提到的电源的输出与输入),为了与MCU保持一致,平台选用Builder C++,代码用纯C编写;

调查一下,有多少人有兴趣,如果感兴趣的人比较多,近期就着手开始了。
FPGA裸奔,MCU裸奔,所有外设的控制操作均使用状态机来实现,方便新手(也会Freertos,ucos,rttos......,只是更爱好裸奔,因为清爽)。

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥start,入坑¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
*************************************绘制原理图库********************************************************************
https://pan.baidu.com/s/1wsVAoKpsdlCMv54SvSZQJA

*************************************绘制封装库(待更新)*************************************************************


*************************************绘制原理图(待更新)*************************************************************


*************************************绘制PCB(待更新)****************************************************************


*************************************从0开始做一个简单的板子(待更新)***********************************************************

************************************STM32F407用状态机实现运行灯(待更新)*******************************************************


************************************STM32F407用DMA实现多个串口读写驱动(待更新)***********************************************


************************************STM32F407用操作四个串口读写,收到什么则发送什么(待更新)**************************


************************************FPGA用PLL将外部50M时钟倍频到100M*(MCU倍频原理与之类似)(待更新)****************


************************************FPGA用100M频率下,用if else 实现灯闪烁(待更新)*************************************


************************************使用modelsim写灯模块仿真文件(待更新)*************************************


************************************使用signal tap抓灯闪烁波形与各个寄存器变化过程(待更新)******************************


************************************使用FPGA写FSMC的读写寄存器(待更新)******************************


************************************使用MCU与FPGA通过FSMC的实现寄存器的读写(待更新)******************************


************************************使用signal tap抓FSMC实际的读写时序,并分析STM32F407的参数配置对FSMC时序的影响(待更新)*************


************************************使用FPGA实现写串口读写(待更新)*****************************


************************************STM32F407通过FSMC,读写FPGA例化出来的例子,达到10个串口(甚至更多),即FSMC转多串口(待更新)******


************************************STM32F407通过SPI的读写,实现W5500的网络通讯(待更新)******************************************


************************************STM32F407通过W5500的实现上位机发送什么,MCU就返回什么(待更新)********************************


************************************使用上位机编写串口与以太网的Modbus驱动(待更新)********************************


************************************使用上位机调用Modbus驱动(待更新)********************************


************************************使用上位机调用Modbus驱动,通过网络与STM32F407通讯(待更新)*****************************


************************************使用上位机调用Modbus驱动,通过串口与STM32F407通讯(待更新)******************************


*************************************上位机写虚拟键盘,并将键值用modbus传给STM32F407(待更新)*******************************


************************************STM32F407用Emwin弄几个Edit的框框(待更新)**********************************************


************************************STM32F407用虚拟键盘的值传给Emwin的Edit,达到普通键盘操作Edit(待更新)*********************


******************STM32F407用虚拟键盘的值传给Emwin的Edit1,STM32F407的DAC值根据Edit变化实时编号,ADC则采集DAC的输出,将采集到的值显示在Edit2*(待更新)******


*******************************讲解运放与反馈(待更新)*********************************************************************************

*******************************恒压限流电路(待更新)********************************************************************************


******************************ADC与DAC操作恒压限流电路(待更新)*****************************************************************************


¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥end,出坑¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥








电子入坑宝典.pdf

1.71 MB

评论
21ic小喇叭 2019-1-23 17:59 回复TA
期待分享技术贴 
mmuuss586| | 2019-1-22 11:55 | 显示全部楼层
不错;
玩玩是可以的

使用特权

评论回复
icecut| | 2019-1-22 16:13 | 显示全部楼层
可以做成视频教程,比**更容易接受

使用特权

评论回复
cxcdcfcv| | 2019-1-22 19:40 | 显示全部楼层
坐等更新,一起学习一下。

使用特权

评论回复
cuf_1798| | 2019-1-22 21:52 | 显示全部楼层
非常感兴趣

使用特权

评论回复
FAQ| | 2019-1-23 00:31 | 显示全部楼层

使用特权

评论回复
niukai19950129| | 2019-1-23 09:24 | 显示全部楼层
留名

使用特权

评论回复
houlianpi| | 2019-1-23 09:54 | 显示全部楼层
建议做成视频形式,更容易接受

使用特权

评论回复
杉树林罗| | 2019-1-23 20:22 | 显示全部楼层
强势关注

使用特权

评论回复
Kua_Max|  楼主 | 2019-1-23 21:05 | 显示全部楼层
小喇叭先把推荐去掉把,待所有教程都完了,大家认可了再推荐不迟,不然真不好意思;
更新会比较慢,画个板子,发出去到回来也得不少日子;
慢工出细活,初步计划那个小电源弄个0.05%精度,MCU的DMA跑串口弄个256000波特率,FPGA串口也弄个256000波特率(更高的波特率理论也支持,不过电脑不好测试),W5500用DMA跑SPI(TCP与UDP都支持)。
毕竟下班玩玩而已;
视频以后再说把。

使用特权

评论回复
wolf11111| | 2019-1-24 07:02 | 显示全部楼层
期待教程

使用特权

评论回复
qishi00| | 2019-1-24 10:14 | 显示全部楼层
感兴趣,期待!!!

使用特权

评论回复
ddb_21ic| | 2019-1-24 11:55 | 显示全部楼层
W5500只有8个Socket,你还嫌弃407的10个Socket会出问题?

使用特权

评论回复
chenhahaha| | 2019-1-24 14:25 | 显示全部楼层
别用W5500,用CH395Q。联系我QQ1829492196,我给你提供样品

使用特权

评论回复
123tt| | 2019-1-24 19:56 | 显示全部楼层
说的容易

使用特权

评论回复
Kua_Max|  楼主 | 2019-1-24 21:39 | 显示全部楼层
先将恒压限流仿真模型共享出来

https://pan.baidu.com/s/1QWMfBwQ5k3vr7eZRBLIV_A

感兴趣的可以下下来,直接放到multisim看看,改变负载,看看负载上的电压与电流关系,同时根据运放虚短虚断看看运放前段的电压比例关系。(用到了差分模式,开关模式)

粗略模型,运放选型与采样电阻需要额外考虑。

有关此处实际电路与电路细节,待板子出来调试出来后再详解。

CH395Q: SPI只有30M时钟,速度顶多3MB多,性能只有5500的一半样子,有点差距。
407的Mac首发优先级是接收高于发送,若发送的时候有接收数据,则很可能丢失数据,带了mac且有收发缓存的,则不存在这个问题,如5500,DM9000等。我的测试数据是8个UDP一来一回并行并行首发(3ms内完成来8组来回数据通信),PC接收数据包的概率有丢包率1%,DM9000同样条件,则只有0.01%的丢包率,不细节了这种问题。

使用特权

评论回复
yklstudent| | 2019-1-24 22:12 | 显示全部楼层
关注楼主更新

使用特权

评论回复
ckvlhf| | 2019-1-24 23:14 | 显示全部楼层
支持楼主搞起来!

使用特权

评论回复
xaorry| | 2019-1-25 07:57 | 显示全部楼层
非常期待。。

使用特权

评论回复
Li-ion| | 2019-1-25 08:25 | 显示全部楼层

感兴趣,期待!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

113

帖子

3

粉丝