SWM190系列应用

news2024/10/7 9:25:38

一、SWM190系列IO端口应用

1.1、SWM19SCBT6 B0端口引起的漏电流
SWM19S的IAP升级必须上拉B0,但B0会漏电,B0接高对方不止需要改版还会增加大概50ua的功耗。由于芯片内置的ROMCode默认B0脚切下拉。所以说接高电平会漏电。 在APP应用中,测试了直接关掉B0下拉后整个板子功耗稳定。  
1.2、SWM190系列的IO口单一引脚的电流、位带功能
注意:SWM90的IO口 单一引脚的拉电流和灌电流是12mA,超过该电流会引起复位。
          SWM190系列B0,A2,A3,C0,C1会漏电。如果不用这五个脚进浅睡眠190功耗是50uA,如果使用了这五个脚 中的其中一个,或者是接高。就会导致功耗上升到90uA。 漏电是因为这五个脚在ROMCode中开启了下拉,导致如果使用就会漏电。目前基于最小系统板测发现关闭下拉就不会再漏电。但并没有单独用芯片测试过。
SWM190 GPIO支持位带功能,原子级操作GPIO,不会被ISR打断。
1.3、SWM190系列的功能引脚
注意:SWM190系列的引脚复用的功能是固定的。
      SWM190系列中,SWM19S引出PORTB PIN0~15,可以用于模拟8080时序
1.4、SWM190系列的PB端口的操作应用
现象:客户使用19S,需要用到一次性操作PB0~PB7,但是PB0~PB7不能在翻转过程中不能插入拉低的工作,就是不能加入 GPIOB->ODR &= ~(0xFF);
分析&解决:为确保PB8~PB15的IO状态不能改变,不能轻易使用GPIOB->ODR = ,可以先读取PB组的状态,然后在处理低8位数据的方式操作,后面就把操作改成了GPIOB->ODR= ((GPIOB->IDR) & 0xFF00 )| (uint16_t)Data;Data取值保证在0x00~0xFF即可。
1.5、关于CAN模块
注意:SWM190系列 没有CAN功能模块。
1.6、SWD端口做为GPIO 应用时,需进行如下切换
正常切换 SWD端口为GPIO口。如下:
*((volatile uint32_t *)0x40000190) = 0;//切换SWD端口必须加上,未在固件库中开放给用户
           设置对应SWD端口为GPIO。
如要恢复SWD端口功能:
     *((volatile uint32_t *)0x40000190) = 1;//切换SWD端口必须加上,未在固件库中开放给用户
           设置对应SWD端口



SWM190系列ISP功能应

2.1、板级设计中ISP引脚的处理
注意:板级设计必须留出ISP引脚,防止调试过程中芯片锁死后或不正常工作后,SWD不能访问,可以通过ISP擦除恢复状态。
如果产品开发过程中有应用Userboot功能,ISP功能将失效,只能通过SWD方式进行程序的擦写。所以,在调试过程中,初始化完成系统时钟后,预留5s以上的延时,以免在Userboot程序 或 APP程序调试过程中,锁死SWD导致无法连接下载烧写的情况。因为,上电时SWD功能对应的IO端口默认为SWD功能。
       另外,Userboot功能应用中,ISP端口必须外接上拉。
预留5S的原因,这里主要是在调试过程中使用。就是在应用中如不小先将 SWD 端口切换重置其它端口应用时,就没有办法再用SWD端口进行link 连接。 而芯片上电时的默认状态 SWD 功能, 所以加上5S 的延时 是为了在5S 延时之前,SWD 端口保留 默认状态时 还可以进行SWD 的link连接。
2.2、SWM190系列的ISP方式应用
注意:ISP引脚为B0,VCC,GND是UART-RX、UART-TX 下载引脚。
SWM19SCBT6的UART-RX - - > E5,UART-RX - - > E7。
其它型号UART-RX - - > A0,UART-RX - - > A1


SWM190系列的DMA应用

3.1、SWM190系列,外设支持DMA。支持SPI、UART、ADC、内部FLASH到SRAM.
3.2、现象:        SWM19S在使用串口出现过2卡死和DMA搬运卡死的现象,经过跟踪发现,主要问题是图片显示的DMA发送是通过DMA轮询实现的,串口2的中断会打断DMA轮询,导致DMA传输过程中少传输一个数据,会导致DMA传输标志位没变化,卡死在while循环
SWM19SCBT6驱动MPU I80 LCD 显示,刷图出现死循环现象。应用DMA 以1bit 方式搬运SpiFlash数据进行刷屏显示,同时应用了串口2--62500bps。刷图应用5~8分钟不等 出现DMA搬运数据一直不能进入完成状态的中断,即程序函数“SPI_FLASH_LCDFastRead_1Bit” 中 “ while (spi_dma_finish == 0) //等待 DMA 搬运完成 ”一直在等待DMA搬运完成的判断,程序陷入死循环。         
分析:跟踪分析,发现不开启串口2中断,刷图没有问题,即DMA可以完成数据搬运的过程。初步判读串口2与DMA搬运之间有冲突。 SAE协助分析,建议采用 “SimplUART_Interrupt_TXDone” 方式,在例程工程中同步客户应用功能,和客户同步测试,虽有所改善,但时间长后同样会出现“程序陷入死循环”现象。 明显建议在 “SPI_FLASH_LCDFastRead_1Bit” 函数中 要先打开接收DMA通道,再打开发送DMA通道,即:
“ //先接收再发送,避免数据遗漏
DMA->CH[DMA_CH1].CR |= (1 << DMA_CR_RXEN_Pos); //开启接收通道
DMA->CH[DMA_CH0].CR |= (1 << DMA_CR_RXEN_Pos); //开启发送通道 ”
同时,在“DMA_Handler” 函数 中
“ SPI_PORT_W25X->CTRL &= ~(1 << SPI_CTRL_DMATXEN_Pos);
SPI_PORT_W25X->CTRL &= ~(1 << SPI_CTRL_DMARXEN_Pos); ”
提供以上处理方式给客户同步进行测试,暂没有出现死循环现象。 客户应用中又需再添加串口1---38400bps 中断,客户端测试还是出现有死循环现象。 按客户的应用,例程中再添加串口1--38400bps中断,进行测试没有出现死循环现象。林泽浩协助分析客户的程序,发现客户的程序中还是 要先打开发送DMA通道,再打开接收DMA通道,告知客户进行修正后老化测试,未再出现死循环的现象。
注意: DMA 通道搬运SpiFlash数据的应用,要先开DMA接收通道,再打开DMA发送通道,避免数据的遗漏 出现DMA搬运数据数量 与 设置中的数量不一样(当应用中,没有多种中断功能应用时,可能不会出现数据遗漏,应用功能复杂后,如客户应用了2路串口中断,可能就出现数据的遗漏的情况。) , 引起DMA 搬运数据一直在等待数量的完整性 的现象。 同时,在DMA完成搬运数据后,要释放通过DMA写FIFO的控制。


SWM190系列的串口应用

4.1、注意:SWM190系列串口波特率的计数器增加了小数部分计算的寄存器,波特率的准确率有提高。

4.2、UART TxDone中断 –2021.5.25
现象:客户反映SWM190 发送中断TXDOIF有异常,字节没发送完的过程中,中断就发生了。影响客户在RS485上的功能实现。
分析&解决:测试后发现这是SWM19S的硬件BUG,测试SWM190 UART TXDone中断,经测试当数据还有一个字节未发送时TXDone中断就会触发。目前让客户应用中,在TXDone中断后用软件或硬件延时一会儿,等UART发送完。或者可以触发TXDone之后,设置一个定时器,让定时器1个字节时间后发生中断。


SWM190系列的FLASH操作

5.1、擦写注意:内部FLASH必须以4K为单位擦除,写入地址必须能被0x1000整除。
5.2、上电复位现象:SWM190上电复位后不能正常工作。
分析&解决:由于SWM190的Flash ROM是叠封Flash,如果上电复位缓慢,芯片会无法正常启动Flash,看到的现象是芯片没有正常运行。实际上是因为未能从内部Flash正常读取程序导致的。
有两种解决办法:1)、修改软件,即启动文件中Qual命令参数表,改为普通单线SPI通讯,这样通讯正常,但会加长程序读取时间。     2)、修改硬件,调整复位电路或加复位芯片,加快上电的复位时间,保证芯片供电稳定在2.49V以上,这样190和叠封的FLASH同时上电,就不会存在问题。
5.3、反馈19S擦除FLASH偶尔会出问题,擦除和读取之前加上cache_reset问题解决。    (摘杨顺仁跟进记录 2021-10-18)



SWM190系列的ADC应用

6.1、注意:SWM190系列 带两路ADC,SWM19SCBT6型号仅支持一路ADC。
SWM190的12bit ADC阻抗在近似无穷大
6.2、SWM19SCBT6  ADC触发模式应用  
现象:SWM19S ADC触发模式切换的问题,森威这边需要ADC可以分别做 “外部信号触发+DMA传输” 和 “软件触发+轮询” 两种方式来回切换。为了解决这个问题,目前切换成软件触发只能用ADC连续模式采样,才能避免采样值有偏差的问题,但是连续采样无法等待到EOC标志置1。  该问题复现后,尝试用取消DMA搬运使能和DMA FIFO使能,软件触发的连续采样依旧无法等待到EOC标志置位1。
解决:绕过SW软件触发 连续触发EOC无法置位的问题,使用单次模式软件触发ADC采样,并且采样前先把ADC的FIFO读空,避免出通道串数据的现象。而且客户测试过程中发现会有可能会导致ADC无法外部脉冲触发采样,后续客户用NVIC_SystemReset()无法解决,由于NVIC复位仅仅复位内核,需要把对应模块复位才能工作正常。
6.3、ADC采集应用,多次初始化产生的问题   
现    象:使用SWM19SCB过程中,ADC的采样存在超时现象,未收到转换完成标志。
分析解决:排查过程中,发现代码在ADC采集的逻辑上,存在风险,因为每次采集某个通道,主逻辑会调用ADC的硬件初始化函数,并配置通道,然后进行软件触发采集,并等待采集完成然后返回值给到主逻辑,而同时存在一个定时器中断的一个逻辑中,也做了ADC采集,且通道号与主逻辑的不同;也就是存在两个不同线程,对ADC模块进行配置通道后采集数据;最后把中断逻辑的采集功能屏蔽后,问题解决;



SWM190系列的时钟、睡眠功能应用

7.1、注意:SWM190系列支持RTC,但不支持外部给RTC供电。
       SWM90系列的主频最高是60Mhz,可以超频,设计余量是64Mhz。过高的超频,不能保证稳定性问题和一致性问题,而且超频后电流上升,有明显温升。
7.2、SWM190系列SLEEP功能应用   (摘自刘智创 支持记录22.01.12)
SLEEP功能需要切换到内部RC时钟,同时需要关闭PLL。


SWM190系列看门狗失效的现象

8.1、看门狗喂养周期
现象:在应用过程中,喂狗动作在进行,但是程序被卡死。客户反馈例程工程中的喂狗是在WDT中断中进行的动作,但是常规程序已卡死,没有起到看门狗的作用。
分析: 

注意:两次喂看门狗之间的时间间隔需要长2个WDT时钟周期。如:WDT时钟为32Khz,每个时钟周期30us,两个时钟周期即60us。
8.2、SWM19SCBT7的WDT复位异常         
现     象: 在使用SWM19SCBT7 的WDT 复位异常,重复进入 WDT_Init 设置超时阈值时,如果当前计数器值越过期望设置的阈值,将触发此问题。
分析及解决:编写测试程序可复现异常现象,伪代码如下:WDT_Init(rst_period_1)/Start -> delay -> WDT_Init(rst_period_2)/Start -> while (1);,调小rst_period_1与rst_period_2可减弱/避免此现象的发生,定位问题点来自于 WDT Init 设置 rst_period 时触发,在设置 rst_period 前加入喂狗语句即可解决。

注意:对于19S的WDT驱动库而言,已在2023/7/11日更新解决此问题,如有客户复现此现象,可更新标准外设库版本以解决;而对于SWM全系列的 WDT 驱动库,不排除也有此问题,如遇现象与此问题类似,可参照本事项解决。



SWM190系列的SPI应用

9.1、读写Spi-Flash 外设
注意:SWM190系列SPI支持2分频,支持半双工30MHz,四线SPI仅支持读FLASH
9.2、SWM19SCBT6 驱动XMC SpiFlash            
现象: SPI FLASH clk的时序兼容问题,客户更换华邦FLASH测试出来的结果是,华邦的flash没有问题,XMC的flash有问题,XMC的flash clk引脚手摸或触碰都不行。并且和客户的测试现场做了反复对照。与客户测试的重复上电无关,与clk引脚有关,目前的处理是上拉10K电阻,和对地并22pf可以,有效减少读取错误的现象,目前让客户调整相同的阻容,同步测试看看结果。
解决:目前的处理是上拉10K电阻,和对地并33pf可以,有效减少读取错误的现象。
9.3、SWM190 SPI方式驱动SD-TF应用  (摘自尹福臣、刘智创周报 2021.10.18)
协助松山电子分析SWM19S插入SD卡会导致重启的问题,多次做测试,不同的插入方式下有容易复位,读取波形,和拆开卡套模拟,测试电源电压没有明显变化。示波器测TF卡VCC纹波有500mV,经过VCC和RST波形抓取,发现VCC有10us的压降到2.0V左右,后续在SD卡座VCC和GND之间加106电容即可解决,排查得出是硬件Layout的问题,以及当前的layout本身因为VCC线路问题导致的压降。
9.4、针对具有QSPI功能的SPI-NORFLASH,如需要使用4线数据为(4BIT)方式进行读操作,则需要将QE位使能,再开启4BIT的都操作指令后进行读取。 如下图所示。
如没有开启QE位,则用4BIT进行读取的数据会有误,导致程序会判断SPI-NORFLASH的错误,如ID,格式错误等。     部分型号NORFLSH的QE位是出厂固定为1的,不能进行写0操作,具体要查看SPI-NORFLASH的数据手册。

 


SWM190中断优先级设置

SWM190 的中断优先级,采用Cortex-M的中断优先级设置函数 NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority), 优先级别 是 0~3,0的级别最高,默认都是0。 中断号参照下图中 SWM190.h 文件中的中断号排列。
如果有同时有两个中断发送, 按下图的序号来进行相应处理。    -- 2021.7.8   


十一SWM190系列PWM应用

12.1、周期的调整 –2021.5.25
注意:在应用PWM功能过程中,如需要对PWM的频率进行调整,需要向关闭对应的PWM模块,进行频率配置后,再打开对应的PWM模块。如果不关闭对应的PWM模块,直接设置周期,PWM模块输出为高电平或低电平。
如需要实现PWM实时的调整,则可以应用 PWM的新周期开始中断功能,在中断中设置新的PWM 周期,可以实现实时的PWM 周期调整。
SWM201、SWM341系列则可以直接设置PWM周期,不需要先关闭PWM模块。


十二SWM19SCBT6驱动TFTLCD应用

12.1、可参阅 “SWM19SCBT7-50驱动TFT-LCD应用和注意事项20220106.pdf”
12.2、驱动TFTLCD应用EMI处理         --Liuzc  2023-6-24
现      象:精科睿(SWM190RB)的EMI测试环节,客户在150Mhz,180Mhz,210Mhz有频点干扰.
分析与解决:通过屏蔽Spiflash进行排查,发现干扰来自于30Mhz的PLCK信号上,目前串磁珠可以解决问题。


十三SWM19SCBT6烧录应用

13.1、SWM190系列烧录程序下载成功后,读取Flash内的数据与源固件对比有差异
现      象:SWM19SCBT7应用在温控器项目,使用Synwit-PRG /J-Flash烧录程序后读取数据与源固件均不一致,差异之处均为同一处,且Synwit-PRG打开任意数据文件均会自动添加该处关键字。
分析及解决:此现象评估为Userboot和Flash启动的一些关键字,不影响程序的正常烧录、执行,但容易给用户造成误解,解释时言之有理即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1684506.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言】strstr函数的使用和模拟

前言 今天给大家带来一个字符串函数&#xff0c;strstr()的使用介绍和模拟实现。 模拟实现这个函数&#xff0c;可以帮助我们更深刻地理解这个函数的功能和提高解决字符串相关问题的能力&#xff0c;有兴趣的话就请往下看吧。 strstr函数介绍 函数功能&#xff1a; strstr函…

CentOS 服务器系统常用命令

本文系统centos 8.5 1 w 显示当前登录到系统的用户信息,比如IP &#xff0c;执行程序等 2 who 用于显示当前登录到系统的用户列表 3 last 显示最近登录到系统的用户列表. 4 df -h 查看磁盘信息 5 fdisk -l 查看机器所挂硬盘个数及分区情况. 6 passwd 修改密码 7 find …

AWS容器之Amazon ECS

Amazon Elastic Container Service&#xff08;Amazon ECS&#xff09;是亚马逊提供的一种完全托管的容器编排服务&#xff0c;用于在云中运行、扩展和管理Docker容器化的应用程序。可以理解为Docker在云中对应的服务就是ECS。

RPC原理技术

RPC原理技术 背景介绍起源组件实现工作原理 背景 本文内容大多基于网上其他参考文章及资料整理后所得&#xff0c;并非原创&#xff0c;目的是为了需要时方便查看。 介绍 RPC&#xff0c;Remote Procedure Call&#xff0c;远程过程调用&#xff0c;允许像调用本地方法一样调…

VLAN创建及配置

V-- 虚拟 LAN ---局域网 ---地理覆盖范围较小的网络 MAN ---城域网 WAN ---广域网 VLAN ---虚拟局域网 --- 交换机和路由器协同工作后&#xff0c;将原先的一个广播域&#xff0c;逻辑上切分为多个 第一步:创建VLAN [Huawei]display vlan---查看VLAN信息 VID -- VLAN ID ----…

专为汽车内容打造的智能剪辑解决方案

汽车内容创作已成为越来越多车主和汽车爱好者热衷的活动。然而&#xff0c;如何高效、便捷地将行车途中的精彩瞬间转化为高质量的视频作品&#xff0c;一直是困扰着广大用户的一大难题。美摄科技凭借其深厚的视频处理技术和智能分析能力&#xff0c;推出了专为汽车内容记录而生…

C#Csharp,SharpPcap网络抓包程序及源码(适合网络分析直接使用或源码二次开发)

目录 1.程序简介2.程序截图3.程序源码 1.程序简介 C#Csharp,SharpPcap网络抓包程序及源码&#xff08;适合网络分析直接使用或源码二次开发&#xff09; 2.程序截图 3.程序源码 https://download.csdn.net/download/xzzteach/89325817

【Unity学习笔记】第十七 Quaternion 中 LookRotation、Lerp、Slerp、RotateTowards等方法辨析与验证

转载请注明出处: https://blog.csdn.net/weixin_44013533/article/details/138909256 作者&#xff1a;CSDN|Ringleader| 目录 Quaternion API 速览FromToRotation在Transform中的应用LookRotation 中upwards取Vector3.up和 transform.up的区别旋转时如何保持Y轴不变&#xff…

软管的高速非接触外径测量方案!单双轴测径仪多种类型!

一、传统测量方式的局限 在软管外径的测量领域&#xff0c;传统方式往往面临多重挑战&#xff1a; 1、挤压变形&#xff1a;传统的测量方式可能导致软管因挤压而变形&#xff0c;进而影响测量数据的准确性。 2、人为误差&#xff1a;测量结果常因人为因素而有所差异&#xff0c…

文本转语音软件-TTSMaker

一、TTSMaker介绍 TTSMaker&#xff08;马克配音&#xff09;是一款免费的文本转语音工具&#xff0c;提供语音合成服务&#xff0c;支持多种语言&#xff0c;包括中文、英语、日语、韩语、法语、德语、西班牙语、阿拉伯语等50多种语言&#xff0c;以及超过300种语音风格。 可…

春秋云境CVE-2023-50564

简介 Pluck-CMS v4.7.18 中的 /inc/modules_install.php 组件&#xff0c;攻击者可以通过上传一个精心制作的 ZIP 文件来执行任意代码。 正文 1.进入靶场 2.弱口令进入 admin123 3.找上传点 4.将木马打包&#xff0c;上传一句话木马 5.蚁剑连接6.得到flag

前端 CSS 经典:filter 滤镜

前言&#xff1a;什么叫滤镜呢&#xff0c;就是把元素里的像素点通过一套算法转换成新的像素点&#xff0c;这就叫滤镜。而算法有 drop-shadow、blur、contrast、grayscale、hue-rotate 等。我们可以通过这些算法实现一些常见的 css 样式。 1. drop-shadow 图片阴影 可以用来…

程序包org.springframework.boot不存在

springBoot项目启动报错 程序包org.springframework.boot不存在 1、检查依赖 首先检查pom文件判断依赖是否存在 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>2.4.5…

基于微信小程序的校园捐赠系统的设计与实现

校园捐赠系统是一种便捷的平台&#xff0c;为校园内的各种慈善活动提供支持和便利。通过该系统&#xff0c;学生、教职员工和校友可以方便地进行捐赠&#xff0c;并了解到相关的项目信息和捐助情况。本文将介绍一个基于Java后端和MySQL数据库的校园捐赠系统的设计与实现。 技术…

OFDM 802.11a的FPGA实现(二十一)发射主控模块MCU(含代码)

目录 1.前言 2.主控逻辑 3.Matlab 4.verilog 5.ModelSim 6.ModelSim仿真结构与Matlab自动化对比 完整工程链接&#xff08;含verilog和Matlab代码&#xff09;&#xff1a; https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzkxNjM0NDk2Nw&actiongetalbum&album…

MySql:多表设计-关联查询

目录 多表设计 代码 运行 数据库设计范式 设计三范式 1、第一范式&#xff1a; 2、第二范式&#xff1a; 3、第三范式&#xff1a; 多表设计_关联查询 外键 外键约束 代码 运行 注意&#xff1a; 应用 代码 运行 代码 运行 关联查询 含义&#xff1a; …

<项目> 云备份

目录 一、简单认识 二、实现目标 三、服务端程序负责功能及功能模块划分 四、客户端程序负责功能及功能模块划分 五、环境搭建 &#xff08;一&#xff09;gcc 7.3 &#xff08;二&#xff09;安装jsoncpp库 &#xff08;三&#xff09;下载bundle数据压缩库 &#xf…

通义千问AI免费批量写文章

简数采集器支持调用阿里通义千问AI大模型API接口&#xff0c;对采集的数据进行研究分析&#xff0c;内容创作等。 通义千问AI快速使用方法&#xff08;不用编程对接&#xff09; 目录 1. 注册申请通义千问API 2. 简数对接通义千问AI 3. 设置通义千问AI指令 4. 通义千问AI…

微软Edge

微软Edge浏览器概述 功能介绍 微软Edge是一款基于Chromium开源项目的网页浏览器&#xff0c;旨在提供更快的网页加载速度、更高的安全性和更好的用户体验。它支持多种操作系统&#xff0c;包括Windows、macOS、Android和iOS&#xff0c;能够满足不同用户的需求。Edge浏览器拥…

【论文极速读】 LLava: 指令跟随的多模态大语言模型

【论文极速读】 LLava: 指令跟随的多模态大语言模型 FesianXu 20240331 at Tencent WeChat Search Team 前言 如何将已预训练好的大规模语言模型&#xff08;LLM&#xff09;和多模态模型&#xff08;如CLIP&#xff09;进行融合&#xff0c;形成一个多模态大语言模型&#xf…