ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU
打印

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

[复制链接]
5413|101
跳转到指定楼层
楼主
本帖最后由 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, 下载次数: 17

评论

21ic小喇叭 2019-1-23 17:59 回复TA
期待分享技术贴 
沙发
| 2019-1-22 11:55 | 只看该作者
不错;
玩玩是可以的

使用特权

评论回复
板凳
| 2019-1-22 16:13 | 只看该作者
可以做成视频教程,比文章更容易接受

使用特权

评论回复
地板
| 2019-1-22 19:40 | 只看该作者
坐等更新,一起学习一下。

使用特权

评论回复
5
| 2019-1-22 21:52 | 只看该作者
非常感兴趣

使用特权

评论回复
6
| 2019-1-23 00:31 | 只看该作者

使用特权

评论回复
7
| 2019-1-23 09:24 | 只看该作者
留名

使用特权

评论回复
8
| 2019-1-23 09:54 | 只看该作者
建议做成视频形式,更容易接受

使用特权

评论回复
9
| 2019-1-23 20:22 | 只看该作者
强势关注

使用特权

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

使用特权

评论回复
11
| 2019-1-24 07:02 | 只看该作者
期待教程

使用特权

评论回复
12
| 2019-1-24 10:14 | 只看该作者
感兴趣,期待!!!

使用特权

评论回复
13
| 2019-1-24 11:55 | 只看该作者
W5500只有8个Socket,你还嫌弃407的10个Socket会出问题?

使用特权

评论回复
14
| 2019-1-24 14:25 | 只看该作者
别用W5500,用CH395Q。联系我QQ1829492196,我给你提供样品

使用特权

评论回复
15
| 2019-1-24 19:56 | 只看该作者
说的容易

使用特权

评论回复
16
 楼主 | 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%的丢包率,不细节了这种问题。

使用特权

评论回复
17
| 2019-1-24 22:12 | 只看该作者
关注楼主更新

使用特权

评论回复
18
| 2019-1-24 23:14 | 只看该作者
支持楼主搞起来!

使用特权

评论回复
19
| 2019-1-25 07:57 | 只看该作者
非常期待。。

使用特权

评论回复
20
| 2019-1-25 08:25 | 只看该作者

感兴趣,期待!

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表