查看: 10744|回复: 21

用SPI构建STM32F1和 F302-NUCLEO的双机处理系统

  [复制链接]
  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2014-9-2 07:42:08 | 显示全部楼层 |阅读模式
    分享到:
          
         在ST社区申请到F302-
    NUCLEO开发板一块,抽了个时间开始认真感受一下,发现NUCLEO板子带的资源太少,整个板子就是一个核心板,除了两个LED和一个按钮,没有其他外设,好在它是M4内核的,带FPU单元,在实现复杂算法处理方面非常实用!此次申请该板子,也是抱着这种目的,毕竟前期ST推出的F3主流型号是F303VC T6,有100PIN,价格还是太高。在一个复杂的控制系统中,采用STM32F103 VCT6或者ZET6再搭配一颗STM32F302或者32引脚的F3,是一个不错的选择!可以专心让F1做控制,F1引脚有100-144基本满足外设要求;F3专门做算法处理, 32引脚就可以满足外部数据采集及算法处理,而且两者频率同为72MHZ.
          在考虑STM32F1F302-NUCLEO通信时,先暂时考虑SPI总线方式,因为UARTI2C速度都太慢,采用并行总线的方式应用起来还不太稳定,后期再做测试。在这里就分享一个实验成功了的SPI总线双机通信!
          在测试中,让F1作为主机,F302-NUCLEO作为从机,SPI总线中,CS引脚都采用内部软件控制,主机CS引脚内部上拉到VCC,从机CS引脚下拉到GND,这样,可以省略一个IO线!连接方式如下:
          
                      1.jpg
                
         测试命令如下:通过F1的四个按键,分别发送0X01 0X02 0X030X04字符,F3-NUCLEO板子收到字符后,将特定字符打印到串口中。其中,从机通过SPI中断方式接受主机数据。
         在主机端,为了测试方便,需要实现LED/KEY/UART/SPI等模块的底层驱动配置,这个都在附件工程中!在从机端,为了实现命令打印和测试,也需要实现LED/KEY/UART/SPI模块的配置,对于F3-NUCLEO,测试了一个按键和串口,效果如下:
                         
                            2.jpg
         
         代码如下:           
                            3.jpg
                         
                            4.jpg
                            
         
         
         确定串口和SPI驱动无误后,将两个板子进行连接进行了测试。测试效果:
                           
                          8.jpg
         
         
    代码部分:     
       
                          9.jpg
    在测试F3-NUCLEO板子过程中,因为电脑问题,板子自带的ST-LINK-V2-1无法使用,一直装不上驱动,虚拟串口和U盘也不能显示,只好采用外部ST-LINK进行程序下载了。另外,电脑没有网络权限,无法使用在线编译功能,还是用MDK方式编程!下面是测试图片:
                          10.jpg



    附件是两个工程文件

                          F1-SPI-主.rar (291.14 KB, 下载次数: 92)
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-4-18 08:38
  • 签到天数: 110 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2014-9-2 07:51:05 | 显示全部楼层
    好文章
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-26 22:31
  • 签到天数: 102 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2014-9-3 09:39:52 | 显示全部楼层
    不粗的实用案例 .但是如果用iic 或者 usart也不见得慢吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-9-3 10:39:38 | 显示全部楼层
    harvardx 发表于 2014-9-3 09:39
    不粗的实用案例 .但是如果用iic 或者 usart也不见得慢吧

    你可以试一下,IIC采用硬件方式,最高1MHZ,  UART 根据波特率公式,最高理论是4.5MHZ,
    而SPI 最高是18MHZ
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-26 22:31
  • 签到天数: 102 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2014-9-3 12:39:09 | 显示全部楼层
    了解 都上M 就不说了 .哈哈
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-14 10:29
  • 签到天数: 59 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2014-9-3 21:22:10 | 显示全部楼层
    MARK ,有想法,可以考虑做高低速设备分开处理
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-14 10:29
  • 签到天数: 59 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2014-9-3 21:23:38 | 显示全部楼层
    MARK ,有想法,可以考虑做高低速设备分开处理
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-24 16:41
  • 签到天数: 709 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2014-9-4 16:32:39 | 显示全部楼层
    感觉炫富啊   
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-9-4 21:26:24 | 显示全部楼层
    本帖最后由 fengye5340-272571 于 2014-9-5 10:19 编辑
    outstanding1573 发表于 2014-9-4 16:32
    感觉炫富啊

    呵呵,这才几个板子呢,离富还早呢,不过目前手中的ST板子确实有两位数
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-18 11:14
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2014-9-5 15:05:52 | 显示全部楼层
    学习了,手里倒是有好几块ST的板子,一直没有用起来,回头试试看。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-29 05:46 , Processed in 0.211133 second(s), 34 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.