2837xd代码生成模块学习(3)——IIC、eCAN、SCI、Watchdog、eCAP模块
模块学习
- 1 IIC 模块
- 1.1 模型功能
- 2 eCAN模块
- 2.1 实验结果
- 3 SCI模块
- 3.1 实验结果
- 4 看门狗模块
- 5 eCAP模块
- 5.1 APWM模式
- 5.2 eCAP模式
模型链接: 链接
1 IIC 模块
1.1 模型功能
实现向地址0x50的从机写入数据(100 ,1),然后检测当写入数据发生变化时,就开始从(从机地址为0x50)的空间读取刚刚写入的数据。
可以看到上图中主要分为三大部分:1.全局变量的定义。2.写入数据。3.读取数据。
1.全局变量的定义使用的是Data Store Memory模块,与之对应的还有Data Store Write和Data Store Read模块用来读写开辟的空间,其Data Store Memory中设置如下:
2.写入数据子模块如下图,这里使用的是Enable Subsystem,与Trigger Subsystem的不同在于Enable Subsystem是电平触发而Trigger Subsystem是边沿触发。这里就是将数据和地址进行拼接然后给Transmit模块进行发送。
3.读取数据模块是发送给设备地址,然后do…while循环中等待I2caRegs.I2CFFTX.all标志准备好(TXFFST中会显示接收到数据的长度),然后使能接收模块进行接收数据,之后将数据存储在全局变量A和B中
do…while模块中情形:
2 eCAN模块
eCAN模块分为接收模块和发送模块,接收模块参数如下(目前进入接收中断服务函数执行,还有点问题。):
eCAN接收模块自带一个函数触发执行的接口,在搭建模型中,我接入了一个LED翻转的子模块。即当接收到消息后,LED会进行翻转。
eCAN发送模块参数如下,因为CAN的数据帧最大是8个字节长度,所以一定要注意给他的数据最大是一个无符号64位的数据。
这里构建了八字节发送和四字节发送两中数据发送的端口。这里要注意一下,需要修改Constant模块的输出类型。
之后需要在Configuration Parameters 中对eCAN_A进行相关的设置:
2.1 实验结果
这里使用的是硬件使用的是USB转CAN,软件是CANTest上位机进行的测试,可以看到发送ID为0x01的数据,dsp接收后LED进行翻转。然后观测数据是存在大端/小端存储的现象的这一点需要注意。串口调试助手中也可以清晰的看到数据格式,起始标准+数据长度+ID+数据的格式。
3 SCI模块
中断函数是SCIA的中断服务号:9.1。内部如下
这个实现了SCI接收中断,将发送的数据进行返回。
SCI模块也有接收和发送两个模块:接收模块配置:
发送模块配置:
之后需要在Configuration Parameters 中对SCI_A进行相关的设置:
3.1 实验结果
可以看到发送的数据可以正常返回。
4 看门狗模块
看门狗模块在实际程序中可以有效的防止程序跑飞。在Simulink中需要首先在Configuration Parameters中进行相关的设置,下图中的周期就是看门狗的溢出时间(即若在此时间内没有进行喂狗操作,则会复位整个系统)。
对应的在Simulink库文件中存在,Watchdog模块(用来喂狗)这里采用-1的意思是与仿真步长时间一样。在这里也可以设置喂狗时间,但是一定要注意这个喂狗时间必须小于上述在Target hardware resources中设置的时间,这样才能喂狗正常。
5 eCAP模块
eCAP模式是输入捕获模块,可以用来进行测试信号周期等信息。另外也可以用来作为APWM模式输出PWM波。
如上图,在Configuration Parameters中可以设置eCAP模式和APWM模型的管脚。
5.1 APWM模式
在选项卡中进行相应的设置即可。
实验结果:
5.2 eCAP模式
选项卡进行如下的设置即可,此时模块拥有一个输出接口TS,若按图中所示设置,第一次捕获上升沿,第二次捕获下降沿,第三次捕获上升沿。即就可以算出方波信号的占空比。那么输出直接利用DeMux模块可以分别得到三个时刻的计数器数组,数组乘以TCLK即得到时间。
2837xd代码生成模块学习(3)——IIC、eCAN、SCI、Watchdog、eCAP模块相关推荐
- 2837xd代码生成模块学习(2)——ADC、ePWM模块、Timer0
2837xd代码生成模块学习(2)--ADC.ePWM模块.Timer0 1 ADC模块 2 Timer0中断 3 ePWM模块配置 模型链接:链接 1 ADC模块 模型结构: 以上结构完成了经过AD ...
- Python模块学习:glob 文件路径查找
文章转载自<伯乐在线>原文出处: Darkbull Python模块学习:glob 文件路径查找 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用w ...
- Chapter007-FPGA学习之IIC总线EEPROM读取
IIC总线是嵌入式领域较为重要的器件间通信总线,同样,FPGA也能通过模块的形式实现IIC的功能,其原理和STM32的模拟IIC总线一致,就是控制每个时间点的SCL.SDA总线电平. IIC总线需要对 ...
- 蓝桥杯模块学习17——AT24C02存储器(深夜学习——单片机)
一.硬件电路: 1.引脚功能: (1)A0-A2:决定不同设备的地址码: (2)WP:写保护 二.通讯方式(IIC协议) 通讯方式与PCF8591相同,可参考以下文章: 蓝桥杯模块学习16--PCF8 ...
- 【五一特刊】FPGA零基础学习:IIC协议驱动设计
本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的"傻瓜式"讲解,让电子.信息.通信类专业学生.初入职场小白及打算进阶提升的职 ...
- Maven学习总结(八)——使用Maven构建多模块项目
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(八)--使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分 ...
- 【从零学习OpenCV 4】了解OpenCV的模块架构
本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...
- python 的日志logging模块学习
2019独角兽企业重金招聘Python工程师标准>>> python 的日志logging模块学习 分类: python 2011-08-02 23:51 8338人阅读 评论(0) ...
- Linux 内核安全模块学习总结
Linux安全模块(LSM) LSM是Linux Secrity Module的简称,即linux安全模块.其是一种轻量级通用访 问控制框架,适合于多种访问控制模型在它上面以内核可加载模块的形实现.用 ...
- python中configparser_python中confIgparser模块学习
python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...
最新文章
- CSS样式:background-position word-wrap是控制换行的。
- 大一java期末考笔试_大学java期末考试试题和答案
- 乐高无线服务器必须有房主,乐高无限成就有哪些-乐高无限成就大全_手心游戏...
- ASCII, GB2312, GBK, Unicode, UTF8之间的区别和联系
- Mybatis-Spring扫描路径有重叠导致Invalid bound statement(not found)问题
- 系统分析师和系统架构设计师的主要区别是什么?
- Origin 2017 给曲线加标记符号
- android 监听飞行模式,如何在Android上检测飞行模式?
- HRZ学英语(类似尺取)
- 京东商家下单未付款?订单催付教程
- 保存图片到相册并打开微信扫一扫
- 最佳影片被指奥斯卡最差 奈飞进军电影业引发不满
- 济宁中考计算机考试试题,济宁市初中信息技术考试模拟题-1.doc
- 学历有点低,怎么破?
- 【Linux】Linux 基础开发工具(yum、vim、gcc/g++、gdb、make/makefile、git)
- 《C++ Primer》学习笔记
- Error: Your CLT does not support macOS 11.6问题处理
- 本地搜索神器,秒速定位文件-Everything
- 【VBS脚本教程1】:写一个说话的语音程序
- Springboot+vue预约上门维修服务系统
热门文章
- 计算机快捷键英语,计算机快捷键(国外英语资料).doc
- 严肃讨论:如何自给自足获取自主学习磁力种子?
- 济南新旧动能转换起步区(济南先行区)Echarts图json文件
- 【金融财经】金融市场一周简报(2017-09-22)
- 西游记中牛魔王的雄厚实力和家业地盘
- 离谱!2019年诺奖得主大翻车!被曝54篇论文涉嫌造假,刚撤回4篇PNAS
- Ubuntu 20 / 21 - KDE 配置Nvidia 独立显卡
- 免费压缩视频大小最佳方法?
- 是非人生 — 一个菜鸟程序员的5年职场路 第24节
- 从零开始的MySQL数据库三部曲(二、MySQL数据库的创库创表增删改查篇)